Você está na página 1de 26

11

Sistemas Operacionais

Rmulo Silva de Oliveira Alexandre da Silva Carissimi Simo Sirineo Toscani

Introduo
O que se espera de um sistema de computao? Execuo de programas de usurios Permitir a soluo de problemas Sistema operacional um programa colocado entre o hardware do computador e os programas dos usurios de forma a atingir esses dois objetivos

Programas Sistema Operacional


Hardware

Sistemas Operacionais

Componentes genricos de um sistema computacional (1)


Hardware Recursos bsicos (memria, dispositivos de E/S, CPU). Sistema operacional Controla e coordena o uso do hardware entre vrios programas aplicativos e usurios. Programas aplicativos e de sistema Define como os recursos de hardware so empregados na soluo de um problema (compiladores, jogos, banco de dados,...) Usurios Pessoas, mquinas, outros computadores,...

Sistemas Operacionais

Componentes genricos de um sistema computacional (2)

Usurio 1

Usurio 2

Usurio 3

...

Usurio n

Compilador

Editor de texto

Browser

Quake

Sistema operacional

Hardware

Sistemas Operacionais

Sistema operacional: conceito

Sistema operacional Um programa que controla a execuo de programas aplicativos Interface entre aplicativos e o hardware Duas formas de ver um sistema operacional: Alocador de recursos Programa de controle

Sistemas Operacionais

Objetivos do sistema operacional

Tornar mais conveniente a utilizao de um computador Esconder detalhes internos de funcionamento Tornar mais eficiente a utilizao de um computador Gerenciamento justo dos recursos do sistema Facilitar a evoluo do sistema (desenvolvimento, teste e atualizao de novas facilidades)

Sistemas Operacionais

Sistema operacional: interface entre usurio/computador

Usurio final

Programador
Aplicativos Utilitrios Sistema Operacional Hardware Projetista sistema operacional

Sistemas Operacionais

Servios oferecidos pelo sistema operacional (1)

Criao de programas Editores, depuradores, compiladores Execuo dos programas Carga de programas em memria Acesso a dispositivos de E/S Controle de acesso a arquivos Acesso a recursos de sistema Proteo entre usurios

Sistemas Operacionais

Servios oferecidos pelo sistema operacional (2)


Contabilidade Estatsticas Monitorao de desempenho Sinalizar upgrades necessrios hardware (memria, disco, etc) Tarifao de usurios Deteco de erros Erros de hardware e.g.: erros de memria, falha em dispositivos de E/S, etc... Erros de programao e.g.: overflow, acesso no autorizado a posies de memria, etc... Aplicao solicita recursos que o sistema operacional no pode alocar (segurana, falta do recurso, etc)

Sistemas Operacionais

As diferentes imagens de um sistema operacional


Sistema operacional na viso do usurio: Imagem que um usurio tem do sistema Interface oferecida ao usurio para ter acesso a recursos do sistema Chamadas de sistema Programas de sistema Sistema operacional na viso de projeto Organizao interna do sistema operacional Mecanismos empregados para gerenciar recursos do sistema

Sistemas Operacionais

10

Chamadas de sistema
Forma que programas solicitam servios ao sistema operacional Anlogo a sub-rotinas Transferem controle para o sistema operacional invs de transferir para outro ponto do programa o ncleo (kernel) do sistema operacional que implementa as chamadas de sistema Existem chamadas de sistema associadas a gerncia do processador, de memria, arquivos e de entrada/sada Variao: micro-kernel Servios bsicos so implementados pelo micro-kernel kernel implementa demais servios empregando esses servios bsicos

Sistemas Operacionais

11

Programas de sistema

Programas executados fora do kernel (utilitrios) Implementam tarefas bsicas: Muitas vezes confundidos com o prprio sistema operacional e.g. compiladores, assemblers, ligadores, etc. Interpretador de comandos Ativado sempre que o sistema operacional inicia uma sesso de trabalho e.g.: bash, tsch, sh, etc... Interface grfico de usurio (GUI) e.g.: Famlia windows, MacOs, etc...

Sistemas Operacionais

12

Histrico de sistemas operacionais

Primrdios: Sistema operacional inexistente Usurio o programador e o operador da mquina Alocao do recurso computador feito por planilha Evoluo foi motivada por: Melhor utilizao de recursos Avanos tecnolgicos (novos tipos de hardware) Adio de novos servios

Sistemas Operacionais

13

Sistemas em lote (batch)

Introduo de operadores profissionais Usurio no era mais o operador da mquina Job Programa a ser compilado e executado, acompanhado dos dados de execuo (cartes perfurados) Jobs so organizados em lote (batch) Necessidades semelhantes (e.g. mesmo compilador) Passagem entre diferentes jobs continua sendo manual

Sistemas Operacionais

14

Monitor residente
Evoluo: Sequenciamento automtico de jobs, transferindo o controle de um job a outro Primeiro sistema operacional (rudimentar) Monitor residente: Programa que fica permanentemente em memria Execuo inicial Controle transferido para o job Cartes de controle Quando o job termina, o controle retorna ao monitor Centraliza as rotinas de acesso a perifricos disponibilizando aos programas de usurio

Sistemas Operacionais

15

Sistema batch multiprogramados (multitarefa)


Monitor residente permite a execuo de apenas um programa a cada vez Desperdcio de tempo de CPU com operaes de E/S Evoluo: Manter diversos programas na memria ao mesmo tempo Enquanto um programa realiza E/S, outro pode ser executado

Desperdcio CPU CPU E/S Requisio E/S Trmino E/S tempo


Sistemas Operacionais

Multiprogramao

Requisio E/S

Trmino E/S tempo


16

Multiprogramao

Manter mais de um programa em execuo simultaneamente Duas inovaes de hardware possibilitaram o surgimento da multiprogramao Interrupes Sinalizao de eventos Discos magnticos Acesso randmico a diferentes jobs (programas) no disco Melhor desempenho em acessos de leitura e escrita

Sistemas Operacionais

17

Sistemas timesharing

Tipo de multiprogramao Usurios possuem um terminal Interao com o programa em execuo Iluso de possuir a mquina dedicada a execuo de seu programa Diviso do tempo de processamento entre usurios Tempo de resposta importante

Sistemas Operacionais

18

Sistemas monousurio e multiusurio

Sistemas monousurio Projetados para serem usados por um nico usurio e.g.: MS-DOS, Windows 3.x, Windows 9x, Millenium Sistemas multiusurio Projetados para suportar vrias sesses de usurios em um computador e.g.: Windows NT (2000), UNIX

Sistemas Operacionais

19

Sistemas multitarefa e monotarefa

Sistemas monotarefa Capazes de executar apenas uma tarefa de cada vez e.g.: MS-DOS Sistemas multitarefas: Capazes de executar vrias tarefas simultaneamente Existem dois tipos de sistemas multitarefa: No preemptivo (cooperativo) e.g.: Windows 3.x, Windows9x (aplicativos 16 bits) Preemptivo e.g.: Windows NT, OS/2, UNIX, Windows9x (aplicativos 32 bits)

Sistemas Operacionais

20

Sistemas distribudos (1)


Distribuir a realizao de uma tarefa entre vrios computadores Sistema distribudo: Conjunto de computadores autnomos interconectados de forma a possibilitar a execuo de um servio Existncia de vrias mquinas transparente Software fornece uma viso nica do sistema Palavra-chave: transparncia A distributed system is one in which the failure of a computer you didnt even know existed can render your own computer unusable Leslie Lamport.

Sistemas Operacionais

21

Sistemas distribudos (2)

Sistemas fracamente acoplados (loosely coupled system) Mquinas independentes Cada mquina possui seu prprio sistema operacional Comunicao feita atravs de troca de mensagens entre processos Vantagens Compartilhamento de recursos Balanceamento de carga Aumento da confiabilidade

Sistemas Operacionais

22

Sistemas paralelos (1)

Mquinas multiprocessadoras possuem mais de um processador Sistemas fortemente acoplados (tightly coupled system) Processadores compartilham mmoria e relgio comuns Comunicao realizada atravs da memria Vantagens: Aumento de throughput (nmero de processos executados) Aspectos econmicos Aumento de confiabilidade Graceful degradation Sistemas fail-soft

Sistemas Operacionais

23

Sistemas paralelos (2)

Symmetric multiprocessing (SMP) Cada processador executa uma cpia idntica do sistema operacional Vrios processos podem ser executados em paralelo sem perda de desempenho para o sistema A maioria dos sistemas operacionais atuais suportam SMP atravs do conceito de multithreading Asymmetric multiprocessing Cada processador executa uma tarefa especfica: e.g.: processador mestre para alocao de tarefas a escravos

Sistemas Operacionais

24

Sistemas de tempo real


Empregado para o controle de procedimentos que devem responder dentro de um certo intervalo de tempo e.g.: experimentos cientficos, tratamento de imagens mdicas, controle de processos, etc. Noo de tempo real dependente da aplicao Milisegundos, minuto, horas, etc. Dois tipos: Hard real time Tarefas crticas so completadas dentro de um intervalo de tempo Soft real time Tarefa crtica tem maior prioridade que as demais

Sistemas Operacionais

25

Leituras complementares

R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Bookman, 2010. Captulo 1 A. Silberchatz, P. Galvin, P. Gagne; Applied Operating System Concepts. Addison-Wesley, 2000, (1a edio). Captulo 1 W. Stallings; Operating Systems. (4th edition). Prentice Hall, 2001. Captulo 2

Sistemas Operacionais

26