Você está na página 1de 23

Sistemas Operacionais

Ivan Saraiva Silva


Ciência da Computação
2005.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 • Sistemas de arquivos
– Endereços lógicos e – Arquivos
físicos.
– Alocação – Diretórios
– Swapping – Alocação de espaço
– Memória Virtual – Proteção
– Paginação
– Segmentação • Projeto de Sistema
• Gerencia de Dispositivos Operacional
– Device drivers – Natureza do problema
– Dispositivos de E/S. – 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ÇÔES
1. 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 • DEADLOCK
tarefa processos podem
– Criar processos filhos – É uma situação onde
– Comunicar (comunicação dois processos
interprocessos)
competem por
• Interpretador de recursos do sistema e
Comandos (shell) é o
processo que recebe e ficam indefinidamente
trata comandos do bloqueados
usuário
• Processos são
identificados por um PID
e geralmente associados
a um UID
Conceitos de Sistema Operacional