Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Operacionais
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
Sistemas Operacionais
Sistemas Operacionais
Usurio 1
Usurio 2
Usurio 3
...
Usurio n
Compilador
Editor de texto
Browser
Quake
Sistema operacional
Hardware
Sistemas Operacionais
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
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
Aplicativos
Utilitrios Sistema Operacional Hardware
Sistemas Operacionais
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
Sistemas Operacionais
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
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
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
Multiprogramao
Requisio E/S
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 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 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 Operacionais
21
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
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
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 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