Ivan Takaki Ajimura [email protected] Diagramando Flashcards no Excel.
Sistemas Operacionais Ivan Saraiva Silva Ciência da Computação 2005.1 Aula 1.
Transcript of 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
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
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
Bibliografia
• Sistemas Operacionais Modernos– Andrew S. Tanenbaum
• Sistemas Operacionais– Abrahan Silberschatz, Peter Galvin, Greg
Gagne
• Embedded Software Development with eCos – Anthony J. Massa
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
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
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?
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
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”.
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
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
Conceito de Sistema Operacional
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
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.
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
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
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
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
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
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
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