21
Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Embed Size (px)

Citation preview

Page 1: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Sistemas Operacionais

Ivan Saraiva Silva

Ciência da Computação

2005.1

Aula 1

Page 2: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Programa da Disciplina

• Introdução– O que é um Sistema Operacional– Funções de um SO– Componentes de um SO– Tipos de SO

• Gerência de Processos– Conceito de processo– Estados de processo– Tipos de processo– Sincronização

• Semáforos, monitores, – Comunicação entre processos– Problemas

• Deadlock,• Starvation

Page 3: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Programa da Disciplina

• Gerência de Memória– Endereços lógicos e

físicos.– Alocação– Swapping– Memória Virtual– Paginação– Segmentação

• Gerencia de Dispositivos– Device drivers– Dispositivos de E/S.

• Sistemas de arquivos– Arquivos– Diretórios– Alocação de espaço– Proteção

• Projeto de Sistema Operacional– Natureza do problema– Interface– Estudos de caso

Page 4: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Bibliografia

• Sistemas Operacionais Modernos– Andrew S. Tanenbaum

• Sistemas Operacionais– Abrahan Silberschatz, Peter Galvin, Greg

Gagne

• Embedded Software Development with eCos – Anthony J. Massa

Page 5: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Avaliação

• Três notas– Primeira Nota: Prova escrita– Segunda Nota: Prova Escrita– Terceira Nota

• Prova escrita – Peso 5• Trabalho prático – Peso 5

• Datas– Primeira Nota: (xx/xx/05)– Segunda Nota: (xx/xx/05)– Terceira Nota

• Prova escrita – (xx/xx/05)• Trabalho prático – (xx/xx/05 – Último dia de entrega

Page 6: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Introdução

• Hardware– Provê recursos para execução de instruções,

manipulação de dados

• Programa de Aplicação– Solução computacional de um problema– Define a utilização dos recursos do sistema

• PROBLEMA– O hardware sozinho não oferece um ambiente de

utilização simples para resolução computacional de problemas

Page 7: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Introdução

• Problema Exemplo– Considere a implementação de um sistema

computacional onde duas entidades (software) produz e consome dados da memória, respectivamente

– Como sincronizar a produção e o consumo de dados?

Page 8: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceito de Sistema Operacional

• Um Sistema Operacional...– ... possibilita o uso eficiente e controlado dos

recursos de hardware– ... implementa políticas e estruturas de

software de modo a assegurar um melhor desempenho do sistema de computação

Page 9: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceito de Sistema Operacional

• DEFINIÇÔES1. conjunto de programas que trabalham de modo

cooperativo com o objetivo de prover uma máquina mais flexível e adequada ao programador do que aquela apresentada pelo hardware

2. A program that controls the execution of application programs

3. An interface between applications and hardware

4. Programa que age como um intermediário entre o usuário de um computador e o hardware deste computador”.

Page 10: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceito de Sistema Operacional

• DEFINIÇÕES– Alocador de Recursos

• Gerencia e aloca recursos aos “usuários”

– Programa de controle• Controla a execução de programas do usuário e

operações de dispositivos de E/S

– Kernel• Programa que executa sempre que um programa

de aplicação não está executando

Page 11: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceito de Sistema Operacional

• Função do Sistema Operacional– Oferecer uma interface simplificada do

sistema computacional para o usuário• Fornece abstrações simplificadas• Exemplo: Arquivos no Windows

– Gerenciar os recursos do hardware• Define, aplica e supervisiona políticas de acesso e

utilização dos recursos• Exemplo: Gerência do espaço de endereçamento

Page 12: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceito de Sistema Operacional

Page 13: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceitos de Sistema Operacional

• CARACTERÍSTICAS DESEJÁVEIS• Eficiência

– Baixo tempo de resposta, pouca ociosidade da UCP e alta taxa de processamento.

• Confiabilidade– Pouca incidência de falhas e exatidão dos dados computados.

• Mantenabilidade– Facilidade de correção ou incorporação de novas características.

• Pequena dimensão– Simplicidade e baixa ocupação da memória

• Concorrência– Capacidade de manutenção de tarefas concorrentes

• Compartilhamento de recursos– Gerencia de recursos de hardware e software compartilhados

Page 14: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceitos de Sistema Operacional

• Núcleo– Responsável pela gerência do processador, tratamento de

interrupções, comunicação e sincronização de processos.• Gerente de Memória

– Responsável pelo controle e alocação de memória aos processos ativos.

• Sistema de E/S– Responsável pelo controle e execução de operações de E/S e

otimização do uso dos periféricos.• Sistema de Arquivos

– Responsável pelo acesso e integridade dos dados residentes na memória secundária.

• Processador de Comandos / Interface com o Usuário– Responsável pela interface conversacional com o usuário.

Page 15: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Tipos de Sistemas Operacionais

• Os vários tipos surgiram da evolução histórica dos sistemas operacionais– Gerações de Sistemas operacionais

• Tipos mais comuns– SO de Computadores de Grande Porte– SO de Servidores– SO de multiprocessadores– SO de Computadores Pessoais– SO de Tempo Real– SO de Embarcados– SO de Cartões Inteligentes

Page 16: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Tipos de Sistemas Operacionais

• SO de Computadores de Grande Porte– O hardware caracteriza-se por grande capacidade de

E/S• Servidores WEB

– As operações caracterizam-se por execução simultânea de muitas tarefas requerendo muita E/S

– Tarefas• Lote• Transações• Tempo Compartilhado

Page 17: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Tipos de Sistemas Operacionais

• SO de Servidores– São “computadores pessoais de grande

porte”• Permitem o compartilhamento de hardware e

software• Prestam serviço a muitos usuários

– Impressão– Arquivo– Mensagens– Web

Page 18: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Tipos de Sistemas Operacionais

• SO de multiprocessadores– Gerenciam múltiplas CPUs

• Podem ser multiprocessadores ou multicomputadores

• A preocupação principal está em:– Sincronização e comunicação de processos

Page 19: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Tipos de Sistemas Operacionais

• SO de Tempo Real– O atendimento ao tempo de resposta é a

principal preocupação• O tempo de resposta pode ser crítico ou não

crítico

• SO de Embarcados– Apresentam restrições quanto ao espaço de

memória ocupado e consumo de potencia– Geralmente também possuem restrição de

tempo

Page 20: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceitos de Sistema Operacional

• PROCESSOS– Processo é uma abstração para um programa em

execução– Processos possuem espaço de endereçamento

próprio contendo (instruções dados e pilha)– Tabela de processos é uma estrutura do SO que

armazena informações sobre o processo– Processos podem estar

• Ativos (em Execução)• Suspensos (Bloqueados)• Prontos

Page 21: Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1

Conceitos de Sistema Operacional

• Para a solução de uma tarefa processos podem– Criar processos filhos– Comunicar (comunicação

interprocessos)• Interpretador de

Comandos (shell) é o processo que recebe e trata comandos do usuário

• Processos são identificados por um PID e geralmente associados a um UID

• DEADLOCK– É uma situação onde

dois processos competem por recursos do sistema e ficam indefinidamente bloqueados