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

Preview:

Citation preview

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

Recommended