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]
Download

Sistemas Operacionais