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 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 : roberto.franciscatto@gmail.com