Programação Concorrente - Aula 02

23
ANHANGUERA – 2016.1 PROGRAMAÇÃO CONCORRENTE AULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA Prof. Thomás da Costa [email protected]

Transcript of Programação Concorrente - Aula 02

Page 1: Programação Concorrente - Aula 02

ANHANGUERA – 2016.1

PROGRAMAÇÃO CONCORRENTEAULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA

Prof. Thomás da [email protected]

Page 2: Programação Concorrente - Aula 02

PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa

A TECNOLOGIA JAVA

SISTEMAS OPERACIONAIS

Page 3: Programação Concorrente - Aula 02

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 OperacionalO que é?:

SISTEMAS OPERACIONAIS

Page 4: Programação Concorrente - Aula 02

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 OperacionaisObjetivos:

SISTEMAS OPERACIONAIS

Page 5: Programação Concorrente - Aula 02

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 OperacionaisDias atuais:

SISTEMAS OPERACIONAIS

Page 6: Programação Concorrente - Aula 02

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

Page 7: Programação Concorrente - Aula 02

PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Page 8: Programação Concorrente - Aula 02

PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa

A TECNOLOGIA JAVA

A TECNOLOGIA JAVA

Page 9: Programação Concorrente - Aula 02

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óricoOrigens:

A TECNOLOGIA JAVA

Page 10: Programação Concorrente - Aula 02

PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa

A TECNOLOGIA JAVA

Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/

Page 11: Programação Concorrente - Aula 02

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.

JVMJava Virtual Machine:

A TECNOLOGIA JAVA

Page 12: Programação Concorrente - Aula 02

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

Page 13: Programação Concorrente - Aula 02

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 !!!

JavaO que vamos ver na revisão:

A TECNOLOGIA JAVA

Vamos começar !!!

Page 14: Programação Concorrente - Aula 02

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?");}

 }

Page 15: Programação Concorrente - Aula 02

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 varargsSystem.out.format("%s formatada %s vários %s",

new String("Saida"),

new String("com"),

new String("paramêtros"));

} }

Exemplo 02

Page 16: Programação Concorrente - Aula 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

Page 17: Programação Concorrente - Aula 02

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

Page 18: Programação Concorrente - Aula 02

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

Page 19: Programação Concorrente - Aula 02

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

Page 20: Programação Concorrente - Aula 02

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

Page 21: Programação Concorrente - Aula 02

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

Page 22: Programação Concorrente - Aula 02

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

Page 23: Programação Concorrente - Aula 02

Obrigado !!!

ANHANGUERA – 2016.1