SlideShare ist ein Scribd-Unternehmen logo
1 von 23
ANHANGUERA – 2016.1
PROGRAMAÇÃO CONCORRENTE
AULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA
Prof. Thomás da Costa
thomascosta@aedu.com
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
É um programa que controla as funcionalidades de um determinado hardware
e executa um conjunto de softwares de acordo com o seu objetivo. Provê uma
interface intuitiva para um determinado nível de usuário.
Sistema Operacional
O que é?:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Controlar recursos de hardware:
• CPU.
• Memória.
• E/S.
• Controlar recursos de software:
• Sistemas de Arquivos.
• Processos.
• Execução dos programas.
• Gerenciar os recursos da melhor forma possível.
• Controle de usuários.
• Possuem um Kernel.
Sistemas Operacionais
Objetivos:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• São complexos.
• Multiprogramação.
• Possuem processos.
• Executa vários programas simultâneos.
• Processamento rápido mostra a impressão de execução ao mesmo tempo.
• Sincronização entre processos.
• Memória Virtual (Parece que a memória não tem fim !!!)
• Embarcados.
• Virtualizados.
Sistemas Operacionais
Dias atuais:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Em nossa disciplina, vamos estudar uma API de alto nível que utiliza de
recursos do Sistema Operacional para trabalhar com vários processos
simultâneos. Neste conjunto de API, possuímos funcionalidades para controlar
os processos, iniciar, parar e sincroniza-los.
Detalhes:
SISTEMAS OPERACIONAIS
Sistemas Operacionais
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
SISTEMAS OPERACIONAIS
Sistemas Operacionais
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Originalmente criado para dispositivos embarcados.
• Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike
Sheridan and Patrick Naughton.
• Denominada inicialmente de Oak.
• Desenvolvido por James Gosling na Sun Microsystems em 1995.
• Em 1996 foi lançado a primeira versão do JDK 1.0.
• Premissas da Linguagem:
• Sem ponteiros (todos ficamos felizes).
• Independente de plataforma.
• Recurso de garbage collector.
• Alta confiabilidade.
• Bytecodes.
Histórico
Origens:
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Tem como principal funcionalidade executar os bytecodes gerado a partir dos
códigos Java, tornando a linguagem independente de plataforma. Além disso a
JVM possui outras responsabilidades:
• Gerenciamento de memória.
• Controle de threads.
• Comunicação com o Sistema Operacional e acessar métodos nativos.
• Pode executar outras linguagens além do Java como Groovy, Jython e JRuby.
JVM
Java Virtual Machine:
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Java Platform Standard Edition 7
Fonte: http://docs.oracle.com/javase/7/docs/index.html
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Funcionamento de um programa Java.
• Variáveis.
• Condicionais.
• Laços.
• Vetores.
• String.
• Não vamos entrar em detalhes na Orientação a Objetos.
• Precisamos conhecer somente como instanciar uma classe para a nossa
disciplina.
• E... Conhecer Lógica de Programação !!!
Java
O que vamos ver na revisão:
A TECNOLOGIA JAVA
Vamos começar !!!
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Exemplo 01
package edu.anhanguera.poo.aula03;
public class Exemplo01 {
public static void main(String[] args) {
System.out.println("Olá Pessoal. Tudo Bem?");
}
}
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo02 {
public static void main(String[] args) {
// É uma forma de criar comentários em linha.
System.out.println("Imprimindo na saida do console");
System.err.println("Imprimindo na saida de erro do console");
System.out.print("Está forma não pula linha");
System.err.format("Saida %s formatada", new String("é"));
System.out.format("Esta %s também é formatada", new String("saida"));
// O método abaixo possui o conceito de varargs
System.out.format("%s formatada %s vários %s",
new String("Saida"),
new String("com"),
new String("paramêtros"));
}
}
Exemplo 02
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo03 {
public static void main(String[] args) {
int varInt;
double varDouble;
float varFloat;
long varLong;
boolean varBoolean;
byte varByte;
short varShort;
varInt = 2015;
varDouble = 768.35;
varFloat = 3.14159265f;
varLong = 250000000l;
varBoolean = true;
varByte = 8;
varShort = 3;
System.out.println("int: " + varInt);
System.out.println("double: " + varDouble);
System.out.println("float: " + varFloat);
System.out.println("long: " + varLong);
System.out.println("boolean: " + varBoolean);
System.out.println("byte: " + varByte);
System.out.println("short: " + varShort);
}
}
Exemplo 03
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo04 {
public static void main(String[] args) {
double media = 0;
double notaB1 = 5;
double notaB2 = 6;
media = (notaB1 * 0.4) + (notaB2 * 0.6);
if (media >= 6) {
System.out.println("Aprovado");
} else {
System.out.println("Reprovado");
}
System.out.println(media >= 6 ? "Aprovado" : "Reprovado");
}
}
Exemplo 04
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo05 {
public static void main(String[] args) {
boolean ligar = true;
if (ligar)
System.out.println("Ligado");
if (!ligar)
System.out.println("Desligado");
float soma;
float operador1 = 788.00f;
float operador2 = 3.58f;
soma = operador1 + operador2;
if (soma == 791.58f) {
System.out.println("Resultado da soma é " + soma);
}
}
}
Exemplo 05
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo06 {
public static void main(String[] args) {
String nomeGuerreiro = "Blackwall";
String nomeMago = new String("Solas");
System.out.println("Guerreiro:" + nomeGuerreiro);
System.out.println("Mago:" + nomeMago);
System.out.println("Tamanho:" + nomeGuerreiro.length());
System.out.println("Tamanho:" + nomeMago.length());
if (!nomeGuerreiro.equals(nomeMago)) {
System.out.println("Os nomes são diferentes.");
} else {
System.out.println("Os nomes são iguais.");
}
nomeGuerreiro = nomeGuerreiro.toUpperCase();
nomeMago = nomeMago.toLowerCase();
System.out.println("Guerreiro:" + nomeGuerreiro);
System.out.println("Mago:" + nomeMago);
}
}
Exemplo 06
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo07 {
public static void main(String[] args) {
char linguagem[] = { 'J', 'a', 'v', 'a' };
String java = "";
for (int i=0;i<=linguagem.length-1;i++) {
java += linguagem[i];
}
System.out.println("Linguagem " + java);
int notas[] = new int[2];
notas[0] = 6;
notas[1] = 7;
int i=0;
while (i <= notas.length-1) {
System.out.println("Nota " + (i + 1) + ":" + notas[i]);
i++;
}
boolean ligado = true;
do {
System.out.println("Ligado");
ligado = false;
} while (ligado);
}
}
Exemplo 07
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo08 {
public static void main(String[] args) {
Integer varInt = 2015;
Double varDouble = 768.35;
Float varFloat = 3.14159265f;
Long varLong = 250000000l;
Boolean varBoolean = true;
Byte varByte = 8;
Short varShort = 3;
System.out.println("int: " + varInt);
System.out.println("double: " + varDouble);
System.out.println("float: " + varFloat);
System.out.println("long: " + varLong);
System.out.println("boolean: " + varBoolean);
System.out.println("byte: " + varByte);
System.out.println("short: " + varShort);
String valor = "100";
varInt = Integer.parseInt(valor);
System.out.println("Valor convertido:" + valor);
}
}
Exemplo 08
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
import java.util.Scanner;
public class Exemplo09 {
public static void main(String[] args) {
double notaB1;
double notaB2;
double media;
Scanner scanner = new Scanner(System.in);
System.out.println("Digite a nota da B1:");
notaB1 = scanner.nextDouble();
System.out.println("Digite a média:");
media = scanner.nextDouble();
notaB2 = (media - (notaB1*0.4)) / 0.6;
System.out.println("Nota necessária para aprovação:" + notaB2);
scanner.close();
}
}
Exemplo 09
Obrigado !!!
ANHANGUERA – 2016.1

Weitere ähnliche Inhalte

Was ist angesagt?

Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06thomasdacosta
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02thomasdacosta
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funçõesFellyph Cintra
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exceptionLoiane Groner
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 01
Programação Concorrente - Aula 01Programação Concorrente - Aula 01
Programação Concorrente - Aula 01thomasdacosta
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01thomasdacosta
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamentoSedu
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgRegis Magalhães
 

Was ist angesagt? (20)

Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Java4
Java4Java4
Java4
 
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 01
Programação Concorrente - Aula 01Programação Concorrente - Aula 01
Programação Concorrente - Aula 01
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o Visualg
 

Andere mochten auch

Programação Concorrente - LAB 01
Programação Concorrente - LAB 01Programação Concorrente - LAB 01
Programação Concorrente - LAB 01thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaFabio Moura Pereira
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Cristiano Pires Martins
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Sri Prasanna
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems SHATHAN
 

Andere mochten auch (16)

Monografia - UNISUL
Monografia - UNISULMonografia - UNISUL
Monografia - UNISUL
 
Programação Concorrente - LAB 01
Programação Concorrente - LAB 01Programação Concorrente - LAB 01
Programação Concorrente - LAB 01
 
Thread
ThreadThread
Thread
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e Concorrência
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
 
XML - Parte 4
XML - Parte 4XML - Parte 4
XML - Parte 4
 
XML - Parte 3
XML - Parte 3XML - Parte 3
XML - Parte 3
 
XML - Parte 2
XML - Parte 2XML - Parte 2
XML - Parte 2
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 

Ähnlich wie Programação Concorrente - Aula 02

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de softwarericardophp
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Slides ataques e vulnerabilidades
Slides   ataques e vulnerabilidadesSlides   ataques e vulnerabilidades
Slides ataques e vulnerabilidadescheeshirecat
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e ValidaçãoMarcelo Yamaguti
 
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)Bruno Camara
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionaljamersonlima
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 

Ähnlich wie Programação Concorrente - Aula 02 (20)

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java1
Java1Java1
Java1
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Exploits
ExploitsExploits
Exploits
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Slides ataques e vulnerabilidades
Slides   ataques e vulnerabilidadesSlides   ataques e vulnerabilidades
Slides ataques e vulnerabilidades
 
Cygwin
CygwinCygwin
Cygwin
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Ficha teorica aula_input_reader
Ficha teorica aula_input_readerFicha teorica aula_input_reader
Ficha teorica aula_input_reader
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissional
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
Manual
ManualManual
Manual
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 

Mehr von thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03thomasdacosta
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 

Mehr von thomasdacosta (14)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 

Programação Concorrente - Aula 02

  • 1. ANHANGUERA – 2016.1 PROGRAMAÇÃO CONCORRENTE AULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA Prof. Thomás da Costa thomascosta@aedu.com
  • 2. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA SISTEMAS OPERACIONAIS
  • 3. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa É um programa que controla as funcionalidades de um determinado hardware e executa um conjunto de softwares de acordo com o seu objetivo. Provê uma interface intuitiva para um determinado nível de usuário. Sistema Operacional O que é?: SISTEMAS OPERACIONAIS
  • 4. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Controlar recursos de hardware: • CPU. • Memória. • E/S. • Controlar recursos de software: • Sistemas de Arquivos. • Processos. • Execução dos programas. • Gerenciar os recursos da melhor forma possível. • Controle de usuários. • Possuem um Kernel. Sistemas Operacionais Objetivos: SISTEMAS OPERACIONAIS
  • 5. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • São complexos. • Multiprogramação. • Possuem processos. • Executa vários programas simultâneos. • Processamento rápido mostra a impressão de execução ao mesmo tempo. • Sincronização entre processos. • Memória Virtual (Parece que a memória não tem fim !!!) • Embarcados. • Virtualizados. Sistemas Operacionais Dias atuais: SISTEMAS OPERACIONAIS
  • 6. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Em nossa disciplina, vamos estudar uma API de alto nível que utiliza de recursos do Sistema Operacional para trabalhar com vários processos simultâneos. Neste conjunto de API, possuímos funcionalidades para controlar os processos, iniciar, parar e sincroniza-los. Detalhes: SISTEMAS OPERACIONAIS Sistemas Operacionais
  • 7. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa SISTEMAS OPERACIONAIS Sistemas Operacionais
  • 8. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA A TECNOLOGIA JAVA
  • 9. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Originalmente criado para dispositivos embarcados. • Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike Sheridan and Patrick Naughton. • Denominada inicialmente de Oak. • Desenvolvido por James Gosling na Sun Microsystems em 1995. • Em 1996 foi lançado a primeira versão do JDK 1.0. • Premissas da Linguagem: • Sem ponteiros (todos ficamos felizes). • Independente de plataforma. • Recurso de garbage collector. • Alta confiabilidade. • Bytecodes. Histórico Origens: A TECNOLOGIA JAVA
  • 10. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
  • 11. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Tem como principal funcionalidade executar os bytecodes gerado a partir dos códigos Java, tornando a linguagem independente de plataforma. Além disso a JVM possui outras responsabilidades: • Gerenciamento de memória. • Controle de threads. • Comunicação com o Sistema Operacional e acessar métodos nativos. • Pode executar outras linguagens além do Java como Groovy, Jython e JRuby. JVM Java Virtual Machine: A TECNOLOGIA JAVA
  • 12. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA Java Platform Standard Edition 7 Fonte: http://docs.oracle.com/javase/7/docs/index.html
  • 13. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Funcionamento de um programa Java. • Variáveis. • Condicionais. • Laços. • Vetores. • String. • Não vamos entrar em detalhes na Orientação a Objetos. • Precisamos conhecer somente como instanciar uma classe para a nossa disciplina. • E... Conhecer Lógica de Programação !!! Java O que vamos ver na revisão: A TECNOLOGIA JAVA Vamos começar !!!
  • 14. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Exemplo 01 package edu.anhanguera.poo.aula03; public class Exemplo01 { public static void main(String[] args) { System.out.println("Olá Pessoal. Tudo Bem?"); } }
  • 15. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo02 { public static void main(String[] args) { // É uma forma de criar comentários em linha. System.out.println("Imprimindo na saida do console"); System.err.println("Imprimindo na saida de erro do console"); System.out.print("Está forma não pula linha"); System.err.format("Saida %s formatada", new String("é")); System.out.format("Esta %s também é formatada", new String("saida")); // O método abaixo possui o conceito de varargs System.out.format("%s formatada %s vários %s", new String("Saida"), new String("com"), new String("paramêtros")); } } Exemplo 02
  • 16. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo03 { public static void main(String[] args) { int varInt; double varDouble; float varFloat; long varLong; boolean varBoolean; byte varByte; short varShort; varInt = 2015; varDouble = 768.35; varFloat = 3.14159265f; varLong = 250000000l; varBoolean = true; varByte = 8; varShort = 3; System.out.println("int: " + varInt); System.out.println("double: " + varDouble); System.out.println("float: " + varFloat); System.out.println("long: " + varLong); System.out.println("boolean: " + varBoolean); System.out.println("byte: " + varByte); System.out.println("short: " + varShort); } } Exemplo 03
  • 17. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo04 { public static void main(String[] args) { double media = 0; double notaB1 = 5; double notaB2 = 6; media = (notaB1 * 0.4) + (notaB2 * 0.6); if (media >= 6) { System.out.println("Aprovado"); } else { System.out.println("Reprovado"); } System.out.println(media >= 6 ? "Aprovado" : "Reprovado"); } } Exemplo 04
  • 18. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo05 { public static void main(String[] args) { boolean ligar = true; if (ligar) System.out.println("Ligado"); if (!ligar) System.out.println("Desligado"); float soma; float operador1 = 788.00f; float operador2 = 3.58f; soma = operador1 + operador2; if (soma == 791.58f) { System.out.println("Resultado da soma é " + soma); } } } Exemplo 05
  • 19. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo06 { public static void main(String[] args) { String nomeGuerreiro = "Blackwall"; String nomeMago = new String("Solas"); System.out.println("Guerreiro:" + nomeGuerreiro); System.out.println("Mago:" + nomeMago); System.out.println("Tamanho:" + nomeGuerreiro.length()); System.out.println("Tamanho:" + nomeMago.length()); if (!nomeGuerreiro.equals(nomeMago)) { System.out.println("Os nomes são diferentes."); } else { System.out.println("Os nomes são iguais."); } nomeGuerreiro = nomeGuerreiro.toUpperCase(); nomeMago = nomeMago.toLowerCase(); System.out.println("Guerreiro:" + nomeGuerreiro); System.out.println("Mago:" + nomeMago); } } Exemplo 06
  • 20. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo07 { public static void main(String[] args) { char linguagem[] = { 'J', 'a', 'v', 'a' }; String java = ""; for (int i=0;i<=linguagem.length-1;i++) { java += linguagem[i]; } System.out.println("Linguagem " + java); int notas[] = new int[2]; notas[0] = 6; notas[1] = 7; int i=0; while (i <= notas.length-1) { System.out.println("Nota " + (i + 1) + ":" + notas[i]); i++; } boolean ligado = true; do { System.out.println("Ligado"); ligado = false; } while (ligado); } } Exemplo 07
  • 21. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo08 { public static void main(String[] args) { Integer varInt = 2015; Double varDouble = 768.35; Float varFloat = 3.14159265f; Long varLong = 250000000l; Boolean varBoolean = true; Byte varByte = 8; Short varShort = 3; System.out.println("int: " + varInt); System.out.println("double: " + varDouble); System.out.println("float: " + varFloat); System.out.println("long: " + varLong); System.out.println("boolean: " + varBoolean); System.out.println("byte: " + varByte); System.out.println("short: " + varShort); String valor = "100"; varInt = Integer.parseInt(valor); System.out.println("Valor convertido:" + valor); } } Exemplo 08
  • 22. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; import java.util.Scanner; public class Exemplo09 { public static void main(String[] args) { double notaB1; double notaB2; double media; Scanner scanner = new Scanner(System.in); System.out.println("Digite a nota da B1:"); notaB1 = scanner.nextDouble(); System.out.println("Digite a média:"); media = scanner.nextDouble(); notaB2 = (media - (notaB1*0.4)) / 0.6; System.out.println("Nota necessária para aprovação:" + notaB2); scanner.close(); } } Exemplo 09