Técnicas Avançadas de Programação

Documentos relacionados
Sistemas operacionais INTRODUÇÃO

Algoritmos e Lógica de Programação Sistemas Operacionais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais. Processos e Threads

Sistemas Distribuídos

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Sistemas Operacionais Aula 3

Estrutura do Sistema Operacional

Sistemas de Computação. Processos e escalonamento

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais. Maria de Fátima de Freitas Bueno Marcílio

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas de Informação. Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Visão Geral

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Resumo: Sistemas Operacionais Abertos

Estruturas de Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Sistemas de Informação. Sistemas Operacionais

SOP - TADS Escalonamento de Processos

SISTEMAS OPERACIONAIS

Introdução aos Sistemas Operativos

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

Sistemas Operacionais. Conceito de Processos

Conceitos básicos e serviços dos Sistemas Operacionais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Sistemas de Informação. Sistemas Operacionais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Fundamentos de Sistemas Operacionais

Concorrência em Processos

Figura 01 Programa e Processo

1B Conceitos Básicos: Indique Verdade/Falso

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Processos. Conceitos Básicos

Sistemas Operacionais

Processos. Conceitos Básicos

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais. Capítulo 5 Processos

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Prof. Kleber R. Rovai

ENADE 2011 SISTEMAS OPERACIONAIS

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Sistemas Operacionais Aula 7

Processos. Adão de Melo Neto

Algoritmos Computacionais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 1 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Davidson Rodrigo Boccardo

Sistemas Operacionais

Sistemas Operacionais

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Sistemas Distribuídos

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Chamadas de Sistema (SYSCALL)

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais

Curso: Redes de Computadores

Questões de Múltipla escolha

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES. Cristina Boeres,

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

Transcrição:

Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos Meirelles da Silva Aula 01 pg. 1/35

Sumário Sumário 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 2/35

Sumário Sumário 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 2/35

Sumário Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 1 Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 3/35

Objetivo Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia Objetivo da disciplina: Oferecer uma visão geral de programação avançada utilizando a linguagem C e JAVA e suas tecnologias derivadas na área de Telecomunicações. Prof. João Marcos Meirelles da Silva Aula 01 pg. 4/35

Sumário Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 1 Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 5/35

Informações Gerais Sobre a Disciplina Informações sobre a avaliação Objetivo da Disciplina Avaliação Ementa Bibliografia A avaliação do curso se dará da seguinte forma: 2 Listas de Esercícios (L 1 e L 2 ) 1 Projeto (P) 1 Prova Final (Verificação Suplementar) M = (L 1 + L 2 + P) 3 Prof. João Marcos Meirelles da Silva Aula 01 pg. 6/35

Informações Gerais Sobre a Disciplina Informações sobre a avaliação Objetivo da Disciplina Avaliação Ementa Bibliografia Condições Se M 6 Aprovado Se 4 M < 6 VS. Se M < 4 Reprovado. OBS: Os alunos que fizerem a VS deverão alcançar a nota mínima de 6,0 para serem aprovados. Freqüência mínima das aulas: 75% Prof. João Marcos Meirelles da Silva Aula 01 pg. 7/35

Sumário Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 1 Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 8/35

Ementa Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia Introdução aos Sistema Distribuídos Processos Concorrentes Processos Leves (threads) Sincronização de Processos Comunicação entre Processos Sockets Remote Procedure Calls (RPC) Prof. João Marcos Meirelles da Silva Aula 01 pg. 9/35

Ementa Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia Programação Estruturada Programação Orientada à Objetos Modelagem de Software usando UML Introdução à Linguagem JAVA Programação Concorrente em JAVA Redes, Internet e sockets Comunicações Seguras Gerência de Redes e Aplicações Prof. João Marcos Meirelles da Silva Aula 01 pg. 10/35

Sumário Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 1 Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 11/35

Informações Gerais Sobre a Disciplina Objetivo da Disciplina Avaliação Ementa Bibliografia Bibliografia Figure: Livros adotados para a disciplina. Prof. João Marcos Meirelles da Silva Aula 01 pg. 12/35

Sumário Informações Gerais Sobre a Disciplina 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 13/35

Informações Gerais Sobre a Disciplina Programa, processo e Job Programa Um programa é um conjunto de instruções de máquina que visam realizar alguma função útil a um usuário. Prof. João Marcos Meirelles da Silva Aula 01 pg. 14/35

Informações Gerais Sobre a Disciplina Programa, processo e Job Processo Um processo é um pouco mais que um programa pois inclui também [1]: Espaço de endereçamento (contém o programa executável, os dados do programa e sua pilha); Conjunto de registradores (incluindo o Program Counter); stack pointer; demais informações necessárias para execução. Prof. João Marcos Meirelles da Silva Aula 01 pg. 15/35

Sumário Informações Gerais Sobre a Disciplina 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 16/35

Antigamente... Informações Gerais Sobre a Disciplina Não havia Sistemas Operacionais Os aplicativos (programas) tinham de cuidar de tudo (literalmente); O programador tinha que ter um alto grau de conhecimento da máquina onde o programa seria compilado e executado; A execução do programa em outra máquina (que não fosse idêntica), muitas vezes necessitava de ajustes no programa e uma recompilação; Não havia o conceito de portabilidade de software, nem o de reusabilidade; E a confiabilidade? Prof. João Marcos Meirelles da Silva Aula 01 pg. 17/35

Atualmente... Informações Gerais Sobre a Disciplina Os Sistemas Operacionais gerenciam bem os recursos disponíveis na máquina...... oferecem serviços aos usuários (sejam programas ou pessoas), e......retiram um ônus grande sobre o programador - a do conhecimento de baixo nível da máquina; 1 Programar ficou mais fácil; 2 Já é possível pensar na tal da portabilidade; 3 Mais fácil criar programas de maior confiabilidade. Prof. João Marcos Meirelles da Silva Aula 01 pg. 18/35

Informações Gerais Sobre a Disciplina Mas nem sempre foi assim... 1 Os primeiros Sistemas Operacionais (SO) eram monoprogramáveis, ou seja, um único programa de usuário era executado por vez (inteiramente) processamento em lote (batch); 2 A necessidade de executar mais programas levou à multiprogramação. Prof. João Marcos Meirelles da Silva Aula 01 pg. 19/35

Sumário Informações Gerais Sobre a Disciplina 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 20/35

Informações Gerais Sobre a Disciplina Cada programa é executado em uma fatia de tempo; Eventos podem provocar a troca de controle do processador de um programa para outro programa; O processo de troca de controle do processador entre os diversos programas chama-se escalonamento e o módulo do sistema operacional que realiza este processo é o escalonador. Prof. João Marcos Meirelles da Silva Aula 01 pg. 21/35

Informações Gerais Sobre a Disciplina Figure: Um sistema multiprogramado com três jobs na memória. Prof. João Marcos Meirelles da Silva Aula 01 pg. 22/35

Informações Gerais Sobre a Disciplina Tipos de Escalonamento FIFO (First-In First-Ou) Shortest-Job First Round-Robin Prof. João Marcos Meirelles da Silva Aula 01 pg. 23/35

Informações Gerais Sobre a Disciplina Escalonamento com Prioridades Ideia Cada processo possui uma prioridade associada, e o processo pronto para executar com maior prioridade é quem ganha o processador. Prioridade Dinâmica Para evitar que processos com alta prioridade executem indefinidamente, o escalonador pode baixar a prioridade do processo em execução a cada ciclo de relógio até que ocorra a troca do controle da CPU. Prof. João Marcos Meirelles da Silva Aula 01 pg. 24/35

Informações Gerais Sobre a Disciplina Estados de Execução dos Processos Um processo em execução deixa o controle da CPU nas seguintes situações: Término normal do programa; A entrada de um processo de maior prioridade; A solicitação de um evento ou recurso de sistema; Término da sua fatia de tempo. Prof. João Marcos Meirelles da Silva Aula 01 pg. 25/35

Informações Gerais Sobre a Disciplina Estados de Execução dos Processos Existem 3 estados básicos em que um processo pode alternar: Pronto (Ready) Espera (wait) Execução (Exec) Figure: Estados de execução dos processos. Prof. João Marcos Meirelles da Silva Aula 01 pg. 26/35

Informações Gerais Sobre a Disciplina Estados de Execução dos Processos READY No estado de pronto, o processo está apto a tomar o controle do processador, esperando a sua vez. Prof. João Marcos Meirelles da Silva Aula 01 pg. 27/35

Informações Gerais Sobre a Disciplina Estados de Execução dos Processos WAIT No estado de espera, o processo está aguardando o resultado de alguma operação solicitada que necessitará de muito tempo para ser completada, como leitura/gravação em disco ou interação com o usuário. Prof. João Marcos Meirelles da Silva Aula 01 pg. 28/35

Informações Gerais Sobre a Disciplina Estados de Execução dos Processos EXEC No estado de execução, o processo tem o controle do processador até que sua fatia de tempo termine, outro processo com maior prioridade requisite o processador ou que uma operação demorada seja solicitada. Prof. João Marcos Meirelles da Silva Aula 01 pg. 29/35

Informações Gerais Sobre a Disciplina Kernel dos Sistema Operacionais Monolítico É estruturado em um único arquivo binário, um único processo que executa inteiramente em modo protegido. Possui performance superior na passagem de mensagens, mas é muito pouco flexível. Micro-Kernel Apenas uma pequena parte do núcleo executa em modo protegido para acessar diretamente o hardware, promover comunicação entre processos e gerenciar a memória. O restante do sistema roda em modo usuário. Possui um grande flexibilidade, apesar da performance inferior ao monolítico na passagem de mensagens. Prof. João Marcos Meirelles da Silva Aula 01 pg. 30/35

Informações Gerais Sobre a Disciplina Chamadas de Sistema Definição Os serviços oferecidos pelo sistema operacional são acessíveis aos programas sob a forma de chamadas de sistema. Elas são as interfaces entre os processos em execução e o sistema operacional e geralmente são implementadas com instruções de baixo nível. Prof. João Marcos Meirelles da Silva Aula 01 pg. 31/35

Informações Gerais Sobre a Disciplina Chamadas de Sistema As chamadas de sistemas podem estar relacionadas a: Controle de Processos Manipulação de Arquivos Manipulação de Dispositivos Comunicação Exemplos de chamadas de sistema relacionados a controle de processos: fork, wait, exit, exec, kill, signal e sleep. Prof. João Marcos Meirelles da Silva Aula 01 pg. 32/35

Sumário Informações Gerais Sobre a Disciplina 1 Informações Gerais Sobre a Disciplina 2 Prof. João Marcos Meirelles da Silva Aula 01 pg. 33/35

Informações Gerais Sobre a Disciplina 1 Os sistemas distribuídos podem ser potencialmente mais confiáveis devido à multiplicidade e autonomia de suas partes; 2 Os sistemas distribuídos podem refletir a estrutura organizacional ou geográfica à qual eles servem. Prof. João Marcos Meirelles da Silva Aula 01 pg. 34/35

Referências Informações Gerais Sobre a Disciplina [1] Tanenbaum, A.S., Sistemas Operacionais Modernos, 2a. edição, Pearson Prentice-Hall. Prof. João Marcos Meirelles da Silva Aula 01 pg. 35/35