Sistemas Operacionais 1 Viso geral e evoluo dos




































- Slides: 36
Sistemas Operacionais 1. Visão geral e evolução dos SOs Texto base: capítulo 2 Operating Systems: Internals and Design Principles W. Stallings
Sistema Operacional? Um programa que controla a execução dos programas de aplicação l Uma interface entre o usuário e o h/w l Um programa que mascara os detalhes do h/w Duas visões: gerenciador de recursos e máquina virtual l IC - UFF
SO como máquina virtual usuário projetista do SO programador Aplicativos Utilitários Sistema Operacional Máquina física IC - UFF
Máquina virtual: serviços Criação de programas l Execução de programas l Acesso a dispositivos de E/S l Acesso controlado a arquivos l Acesso ao sistema l Detecção e correção de erros l Contabilidade l IC - UFF
Máquina virtual: serviços l Criação de programas n n n IC - UFF SO oferece facilidades: editores e depuradores tipicamente estes serviços não são parte do SO e sim dos utilitários contudo, são acessíveis através do SO
Máquina virtual: serviços l Execução de programas n n IC - UFF carregamento do programa em memória arquivos e dispositivos de E/S devem ser iniciados outros recursos devem ser preparados SO gerencia estas ações para o usuário
Máquina virtual: serviços l Acesso a dispositivos de E/S n n IC - UFF cada dispositivo tem seu próprio conjunto de instruções ou sinais de controle SO esconde estas ações e usuário só executa leituras e escritas
Máquina virtual: serviços l Acesso controlado a arquivos n n n IC - UFF usuário não se preocupa coma natureza do dispositivo de E/S (disco, fita, . . . ) usuário não se preocupa com formato do arquivo no dispositivo mecanismos de proteção em caso de múltiplos usuários
Máquina virtual: serviços l Acesso ao sistema n n n IC - UFF SO controla acesso ao sistema como um todo e a recursos específicos em particular i. e. , proteção contra acesso não autorizado i. e. , resolução de conflitos em caso de disputa
Máquina virtual: serviços l Detecção e correção de erros n n n IC - UFF erros de h/w: memória, dispositivos, . . . erros de s/w: estouro aritmético, acesso proibido a certas posições de memória correção da situação com mínimo de impacto no sistema
Máquina virtual: serviços l Contabilidade n n IC - UFF coleta de estatísticas monitoramento de desempenho uso: melhoria de desempenho, melhorias futuras tarifação em um sistema multiusuário
SO: gerenciador de recursos Sistema computacional Dispositivos de E/S controlador de E/S (núcleo do) SO controlador de E/S • • • controlador de E/S programas e dados memória processador IC - UFF • • • processador • • •
Sistema operacional É um programa! l Direciona o processador no uso dos recursos do sistema e sobre o momento de executar outros programas l SO libera o processador para que outros programas possam executar l IC - UFF
Evolução de um SO l Um SO deve evoluir ao longo do tempo para: n n n IC - UFF receber novos tipos de hardware (e. g. , novo terminal gráfico) atender novos serviços (e. g. , sistema de janelas) reparar defeitos
Monitores Software que controla a execução de outros programas l SO de lote (batch): jobs (tarefas) são carregados juntos l Monitor é residente em memória principal l Utilitários são carregados à medida da necessidade l IC - UFF
Monitor: mapa de memória processamento de interrupção controladores de dispositivos Monitor (residente) seqüenciamento de tarefas interpretador de linguagem de controle programas do usuário IC - UFF
JCL: job control language Tipo especial de linguagem de programação l Direciona o monitor: l n n IC - UFF que compilador usar que dados usar que dispositivos montar. . .
JCL: exemplo $JOB $FTN. . . $LOAD $RUN. . . $END IC - UFF instruções Fortran dados
Características de h/w desejáveis l Proteção de memória n l não permitir que a área ocupada pelo monitor seja alterada Temporização n n IC - UFF prevenir um job de monopolizar o sistema ocorrência de interrupção quando o tempo termina
Características de h/w desejáveis l Instruções privilegiadas n n l executadas somente pelo monitor, e. g. , instruções de E/S ocorrência de interrupção caso o programa do usuário tente uma dessas instruções Interrupções n IC - UFF flexibilidade para controlar programas do usuário
Multiprogramação l Permite que o processador execute outro programa enquanto um espera por E/S espera exec tempo exec A exec B espera exec A exec B tempo IC - UFF
Vale a pena? l Exemplo: computador com 256 K de memória (só para usuário) IC - UFF
Vejamos. . . utilização da UCP: monoprogramação multiprogramação IC - UFF
Contudo. . . l Necessidade de hardware extra, como: n n l E/S por interrupção ou DMA gerenciamento de memória Necessidade de software extra, como: n n n IC - UFF escalonamento de processos proteção de arquivos sincronização entre processos
Time-sharing Uso de multiprogramação para atendimento de tarefas interativas l UCP é compartilhada l Acesso via terminais l IC - UFF
Principais tópicos Processos l Concorrência l Escalonamento de processos l Gerenciamento de memória l Segurança e proteção l Formas de estruturação l IC - UFF
Processos Mais geral que programa l Consiste em um código executável e seus dados associados, além de um contexto de execução l IC - UFF
Concorrência l Principais problemas: n n n IC - UFF sincronização (e. g. , perda de sinais) exclusão mútua (e. g. , bases de dados) bloqueios (espera infinita)
Escalonamento de processos Como escolher qual processo ocupará o processador? l Alguns critérios: l n n l justeza diferenciação entre classes vazão máxima minimizar tempo de resposta Níveis de escalonamento IC - UFF
Gerenciamento de memória l Requisitos: n n n l Hierarquia de memória Isolação entre processos Demandas dinâmicas Proteção e controle de acesso Armazenamento permanente Solução: memória virtual + sistema de arquivos IC - UFF
Memória virtual? i) visão do usuário processador virtual copy read, write ii) visão do projetista do SO processador mapeamento real de endereços IC - UFF endereço virtual arquivos memória virtual memória perene memória principal endereço de memória física memória auxiliar swapping
Segurança e proteção l Uma grande preocupação hoje em dia. O que está envolvido? n n n IC - UFF controle de acesso: quem pode acessar sistema e dados? controle de fluxo de informação: quem pode receber o que certificação: como saber quem é quem?
Formas de estruturação l SOs cada vez mais complexos. Para estruturar, só a programação modular não é suficiente n n n IC - UFF estruturação em níveis arquitetura em micro-núcleo threads e multithreads
Outras formas l Multiprocessamento simétrico n l SOs distribuídos n l cada processador executa cópia do SO fornece a ilusão de uma única memória principal Sistemas móveis IC - UFF
Outros requisitos l Sistemas de tempo real (TR) n normalmente usados em aplicações dedicadas requisitos temporais bem definidos sistemas TR críticos l n l vale a pena usar memória virtual? sistemas TR não-críticos Consumo de energia IC - UFF
Leitura suplementar Operating Systems Concepts, A. Silberschatz e P. B. Galvin, Addison. Wesley l Modern Operating Systems, A. S. Tanenbaum, Prentice Hall l IC - UFF