Você está na página 1de 38

Sistemas Operacionais

1. Viso geral e evoluo dos SOs

Texto base: captulo 2 Operating Systems: Internals and Design Principles W. Stallings

IC - UFF

Sistema Operacional?

Um programa que controla a execuo dos programas de aplicao Uma interface entre o usurio e o h/w Um programa que mascara os detalhes do h/w Duas vises: gerenciador de recursos e mquina virtual

IC - UFF

SO como mquina virtual


usurio
programador projetista do SO

Aplicativos
Utilitrios

Sistema Operacional
Mquina fsica
IC - UFF

Mquina virtual: servios


Criao de programas Execuo de programas Acesso a dispositivos de E/S Acesso controlado a arquivos Acesso ao sistema Deteco e correo de erros Contabilidade

IC - UFF

Mquina virtual: servios

Criao de programas

SO oferece facilidades: editores e depuradores tipicamente estes servios no so parte do SO e sim dos utilitrios contudo, so acessveis atravs do SO

IC - UFF

Mquina virtual: servios

Execuo de programas

carregamento do programa em memria arquivos e dispositivos de E/S devem ser iniciados outros recursos devem ser preparados SO gerencia estas aes para o usurio

IC - UFF

Mquina virtual: servios

Acesso a dispositivos de E/S

cada dispositivo tem seu prprio conjunto de instrues ou sinais de controle SO esconde estas aes e usurio s executa leituras e escritas

IC - UFF

Mquina virtual: servios

Acesso controlado a arquivos

usurio no se preocupa coma natureza do dispositivo de E/S (disco, fita, ...) usurio no se preocupa com formato do arquivo no dispositivo mecanismos de proteo em caso de mltiplos usurios

IC - UFF

Mquina virtual: servios

Acesso ao sistema

SO controla acesso ao sistema como um todo e a recursos especficos em particular i.e., proteo contra acesso no autorizado i.e., resoluo de conflitos em caso de disputa

IC - UFF

Mquina virtual: servios

Deteco e correo de erros


erros de h/w: memria, dispositivos, ... erros de s/w: estouro aritmtico, acesso proibido a certas posies de memria correo da situao com mnimo de impacto no sistema

IC - UFF

Mquina virtual: servios

Contabilidade

coleta de estatsticas monitoramento de desempenho uso: melhoria de desempenho, melhorias futuras tarifao em um sistema multiusurio

IC - UFF

SO: gerenciador de recursos


Sistema computacional
(ncleo do) SO controlador de E/S controlador de E/S controlador de E/S memria processador
IC - UFF

Dispositivos de E/S

programas e dados

processador

Sistema operacional

um programa! Direciona o processador no uso dos recursos do sistema e sobre o momento de executar outros programas SO libera o processador para que outros programas possam executar

IC - UFF

Evoluo de um SO

Um SO deve evoluir ao longo do tempo para:

receber novos tipos de hardware (e.g., novo terminal grfico) atender novos servios (e.g., sistema de janelas) reparar defeitos

IC - UFF

Monitores

Software que controla a execuo de outros programas SO de lote (batch): jobs (tarefas) so carregados juntos Monitor residente em memria principal Utilitrios so carregados medida da necessidade

IC - UFF

Monitor: mapa de memria


processamento de interrupo controladores de dispositivos

Monitor (residente)
seqenciamento de tarefas interpretador de linguagem de controle programas do usurio
IC - UFF

JCL: job control language

Tipo especial de linguagem de programao Direciona o monitor:


IC - UFF

que compilador usar que dados usar que dispositivos montar ...

JCL: exemplo
$JOB $FTN ... $LOAD $RUN ... $END
IC - UFF

instrues Fortran

dados

Caractersticas de h/w desejveis

Proteo de memria

no permitir que a rea ocupada pelo monitor seja alterada


prevenir um job de monopolizar o sistema ocorrncia de interrupo quando o tempo termina

Temporizao

IC - UFF

Caractersticas de h/w desejveis

Instrues privilegiadas

executadas somente pelo monitor, e.g., instrues de E/S ocorrncia de interrupo caso o programa do usurio tente uma dessas instrues flexibilidade para controlar programas do usurio

Interrupes

IC - UFF

Multiprogramao

Permite que o processador execute outro programa enquanto um espera por E/S
exec espera exec tempo exec A exec B espera exec A exec B tempo

IC - UFF

Vale a pena?

Exemplo: computador com 256K de memria (s para usurio)


tarefa 1 intensiva em UCP 5 min 50K no no no tarefa 2 intensiva em E/S 15 min 100K no sim no tarefa 3 intensiva em E/S 10 min 80K sim no sim

Tipo de tarefa Durao Memria necessria Precisa disco? Precisa terminal? Precisa impressora?
IC - UFF

Vejamos ...
100%

0 0 5 tarefa 1 10 15 tarefa 2 20 25 tarefa 3 30

100%

utilizao da UCP:
0 0 5 10 tarefa 1 tarefa 2 tarefa 3
IC - UFF

15

monoprogramao
multiprogramao

Vejamos ...
Monoprog. Utilizao de UCP Utilizao de memria Utilizao de disco Utilizao de impressora Tempo total Vazo Tempo de resposta Multiprog.

IC - UFF

Vejamos ...
Utilizao de UCP Utilizao de memria Utilizao de disco Utilizao de impressora Tempo total Vazo Tempo de resposta Monoprog. 17% 30% 33% 33% 30 min 6 jobs/h 18 min Multiprog. 33% 67% 67% 67% 15 min 12 jobs/h 10 min

IC - UFF

Contudo ...

Necessidade de hardware extra, como:


E/S por interrupo ou DMA gerenciamento de memria


escalonamento de processos proteo de arquivos sincronizao entre processos

Necessidade de software extra, como:


IC - UFF

Time-sharing

Uso de multiprogramao para atendimento de tarefas interativas UCP compartilhada Acesso via terminais

IC - UFF

Principais tpicos

Processos Concorrncia Escalonamento de processos Gerenciamento de memria Segurana e proteo Formas de estruturao

IC - UFF

Processos

Mais geral que programa Consiste em um cdigo executvel e seus dados associados, alm de um contexto de execuo

IC - UFF

Concorrncia

Principais problemas:

sincronizao (e.g., perda de sinais) excluso mtua (e.g., bases de dados) bloqueios (espera infinita)

IC - UFF

Escalonamento de processos

Como escolher qual processo ocupar o processador? Alguns critrios:


justeza diferenciao entre classes vazo mxima minimizar tempo de resposta

Nveis de escalonamento

IC - UFF

Gerenciamento de memria

Requisitos:

Hierarquia de memria Isolao entre processos Demandas dinmicas Proteo e controle de acesso Armazenamento permanente

Soluo: memria virtual + sistema de arquivos

IC - UFF

Memria virtual?
i) viso do usurio
processador virtual
read, write

memria virtual
copy

arquivos memria perene

ii) viso do projetista do SO processador mapeamento real de endereos


endereo virtual

memria principal
swapping

memria auxiliar

IC - UFF

endereo de memria fsica

Segurana e proteo

Uma grande preocupao hoje em dia. O que est envolvido?

controle de acesso: quem pode acessar sistema e dados? controle de fluxo de informao: quem pode receber o que certificao: como saber quem quem?

IC - UFF

Formas de estruturao

SOs cada vez mais complexos. Para estruturar, s a programao modular no suficiente

estruturao em nveis arquitetura em micro-ncleo threads e multithreads

IC - UFF

Outras formas

Multiprocessamento simtrico

cada processador executa cpia do SO


fornece a iluso de uma nica memria principal

SOs distribudos

Sistemas mveis

IC - UFF

Outros requisitos

Sistemas de tempo real (TR)

normalmente usados em aplicaes dedicadas requisitos temporais bem definidos sistemas TR crticos

vale a pena usar memria virtual?

sistemas TR no-crticos

IC - UFF

Leitura suplementar

Operating Systems Concepts, A. Silberschatz e P.B. Galvin, AddisonWesley Modern Operating Systems, A.S. Tanenbaum, Prentice Hall

IC - UFF