Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 – Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa • Voltados tipicamente para a execução de um único programa. • Qualquer outra aplicação, para ser executada, deveria aguardar o término do programa corrente. • Neste tipo de sistema, o processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa. Sistemas Monoprogramáveis / Monotarefa • Era muito clara a desvantagem deste tipo de sistema: • devido à limitação de tarefas (uma de cada vez), o que provocava um grande desperdício de recursos de hardware. Sistemas Multiprogramáveis / Multitarefa • Neste tipo de sistema os recursos computacionais são compartilhados entre os diversos usuários e aplicações: • enquanto um programa espera por um evento, outros programas podem estar processando neste mesmo intervalo de tempo. Sistemas Multiprogramáveis / Multitarefa • Neste caso, podemos observar o compartilhamento da memória e do processador. • O sistema operacional se incumbe de gerenciar o acesso concorrente aos seus diversos recursos, como: • processador, memória e periféricos, de forma ordenada e protegida, entre os diversos programas. Sistemas Multiprogramáveis / Multitarefa • As vantagens do uso deste tipo de sistema são: • a redução do tempo de resposta das aplicações. • além dos custos reduzidos devido ao compartilhamento dos recursos do sistema entre as diferentes aplicações. Interrupção e Exceção • Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio forçado no seu fluxo normal de execução. • Esses eventos são conhecidos como interrupção ou exceção, e podem ser resultado de: • sinalizações de algum dispositivo de hardware externo ao ambiente memória/processador. Interrupção e Exceção Interrupção e Exceção • As interrupções podem ser geradas: • Pelo programa do usuário (entrada de dados pela console ou teclado) • Pelo hardware (operações de E/S) • Pelo sistema operacional (ao término da fatia de tempo do processador destinada ao programa) • As interrupções sempre são tratadas pelo Sistema Operacional. Interrupção e Exceção • A exceção é um evento semelhante à interrupção, pois também de fato interrompe um programa. • A principal diferença é que a exceção é o resultado da execução de uma instrução dentro do próprio programa, como a divisão por zero ou a ocorrência de um overflow (estouro de capacidade de um campo) numa operação aritmética. Interrupção e Exceção • Na maioria das vezes, a exceção provoca um erro fatal no sistema, causando o término anormal do programa. • Isto se deve ao fato de que a exceção é melhor tratada dentro do próprio programa, com instruções escritas pelo programador. Buffer • A técnica de buffering consiste na utilização de uma área em memória principal, denominada buffer, criada e mantida pelo Sistema Operacional • possui a finalidade de auxiliar a transferência de dados entre dispositivos de E/S e a memória. Buffer • O buffer permite minimizar a disparidade de velocidade entre o processador e os dispositivos de E/S, e tem como objetivo principal: • manter tanto os dispositivos de E/S como o processador ocupados a maior parte do tempo. Buffer • A unidade de transferência do mecanismo de buffering é o registro. • O buffer deve permitir o armazenamento de vários registros, • de forma que o processador tenha à sua disposição dados suficientes para processar sem ter que interromper o programa a cada leitura/gravação no dispositivo de E/S. Spool • A técnica de spooling foi criada inicialmente para auxiliar a submissão de processos ao sistema, sendo os processos gravados em fita para posterior leitura e execução. •Com o aparecimento dos terminais para acesso ao sistema, esta técnica teve sua função adaptada para armazenar o resultado da impressão dos programas em execução. Spool • Isto é conseguido através da criação e manutenção, pelo Sistema Operacional de uma grande área em disco, com a finalidade de simular uma impressora. • Desta forma, todos os usuários e seus programas imprimem, na verdade, para este arquivo em disco, liberando a associação dos dispositivos de impressão diretamente aos programas que estão executando. Reentrância • É comum, em sistemas multiprogramáveis, vários usuários utilizarem os mesmos aplicativos simultaneamente, como editores de texto, compiladores e outros utilitários. • Nesta situação, se cada usuário que utilizasse um destes aplicativos trouxesse o código executável para a memória... • haveria então diversas cópias de um mesmo programa ocupando espaço na memória, o que causaria um grande desperdício de espaço. Reentrância • Reentrância é a capacidade de um código executável (código reentrante) ser compartilhado por vários usuários, exigindo apenas uma cópia do programa em memória. • A reentrância permite que cada usuário esteja executando um trecho diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário. Reentrância • Objetivo geral: promover o uso mais eficiente da memória e um desempenho maior do sistema. Segurança e Proteção do Sistema • Considerando-se que diversos usuários estão compartilhando os mesmos recursos, como: • memória, processador e dispositivos de E/S • Faz-se então necessário existir mecanismos de proteção para garantir a confiabilidade e a integridade dos dados e programas dos usuários, além do próprio sistema operacional. Segurança e Proteção do Sistema • Como vários programas ocupam a memória principal simultaneamente, cada usuário possui uma área reservada onde seus programas e dados são armazenados durante o processamento. • O sistema operacional deve possuir mecanismos de proteção a essas áreas, de forma a preservar as informações nela contidas. Segurança e Proteção do Sistema • Caso um programa tente acessar uma posição de memória fora de sua área, um erro indicando a violação de acesso deve ocorrer • Sendo responsabilidade do sistema operacional o controle eficiente do compartilhamento dos recursos e a sincronização da comunicação, evitando problemas de consistência. Segurança e Proteção do Sistema • Todo o controle da segurança do sistema é implementado pelo sistema operacional, a partir de mecanismos como: • grupos de usuários • perfis de usuários e • direitos de acesso. Segurança e Proteção do Sistema • A proteção começa geralmente no procedimento de login, quando o usuário faz a conexão inicial no sistema. • Proteção as áreas alocadas de memória • Disco • Até mesmo o uso do processador Operações de Entrada e Saída • As operações de E/S no computador funcionam de três formas básicas: • por programa • por interrupção • por acesso direto a memória (DMA) Operações de Entrada e Saída • O canal de E/S funciona então como uma interface entre os controladores e a CPU. Dúvidas, sugestões ou questionamentos ??? “Podemos vencer pela fé, pela habilidade, talvez pela sorte, mas nunca sem trabalho...” E-mail : [email protected]