Caracterização dos Sistemas Operacionais

Propaganda
Sistemas Operacionais
Prof. Ms. Márcio Andrey Teixeira
A Caracterização dos Sistemas Operacionais
Prof. Dr. Márcio Andrey Teixeira
Funções do S.O
• Administração de Processos
• Administração da Memória Principal
• Administração do Armazenamento Secundário
• Administração do Sistema de E/S
Prof. Dr. Márcio Andrey Teixeira
Componentes do S.O
• Administração de Arquivos
•
Sistema de Proteção
•
Interconexão – Comunicação
•
Interpretador de Comandos do Sistema
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos
Sistemas Operacionais
Monoprogramáveis/Monotarefas
Como o próprio nome implica, o sistema operacional permite que apenas um
programa (tarefa) seja executado de cada vez (monoprogramável).
Os sistemas monoprogramáveis ou monotarefa se caracterizam por permitir que
o processador, a memória, e os periféricos fiquem dedicados a um único usuário
(monousuário).
Nesses sistemas, enquanto o programa aguarda por um evento, como a
digitação de um dado, o processador ficará ocioso sem realizar qualquer tarefa.
A memória é subutilizada caso o programa não a preencha totalmente.
O tempo de utilização da CPU é de aproximadamente 30%
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Multiprogramáveis/Multitarefa
Multiprogramaveis/Multitarefas – podem ser classificados pela forma com que
suas aplicações são gerenciadas.
Sistemas Multiprogramaveis - Vários programas podem utilizar o mesmo
recurso.
Sistemas de Multitarefas - permite ao usuário editar textos, imprimir arquivos,
ou seja, varias tarefas ao mesmo tempo.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Multiprogramáveis/Multitarefa
Nos sistemas multiprogramáveis o tempo de utilização da CPU sobe para
até 90%.
A memória principal é utilizada de forma mais eficiente, pois existe vários
programas residentes se revezando na utilização do processador.
Prof. Dr. Márcio Andrey Teixeira
A memória principal é dividia em partes para cada programa em execução. Ex:.
O termo multitarefa refere-se à capacidade que um sistema operacional tem de
rodar mais de um programa ao mesmo tempo.
Prof. Dr. Márcio Andrey Teixeira
Multitarefa Preemptiva
Multitarefa Preemptiva
Nesse esquema, o sistema operacional mantém uma lista dos processos (ou
programas) que estão sendo executados. Quando cada processo da lista é
iniciado, ele recebe do sistema operacional uma prioridade.
Na multítarefa preemptiva, o sistema operacional pode interromper o processo
que está em execução e, a qualquer momento, reatribuir o tempo para uma
tarefa com prioridade mais alta. UNIX, OS/2, Windows NT e Windows 95
empregam a multitarefa preemptiva.
Prof. Dr. Márcio Andrey Teixeira
Multitarefa (Monousuário)
Alguns sistemas monousuários proporcionam a multitarefa, ou seja, permitem
que um usuário tenha mais de uma atividade em execução ao mesmo tempo.
Um exemplo típico de um sistema operacional monousuário, multitarefa, é o
Windows 95.
SISTEMAS TIME-SHARING (MULTIUSUÁRIO)
Quando os usuários interagem com o computador através de terminais (on-line)
enquanto seus jobs estão sendo executados, diz-se que eles são "usuários
interativos".
O sistema operacional multiusuário permite que mais de um usuário acesse o
computador ao mesmo tempo. É claro que, para tanto, o sistema operacional
multiusuário também tem de ser multitarefa. Ex:. Unix.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas de Tempo Compartilhado (time-sharing)
Interação dos usuários com o sistema (vídeo, teclado, mouse).
Para cada usuário, o SO aloca uma fatia de tempo do processador
Não só o processador, mas também, memória, periféricos (discos,
impressoras), são compartilhados.
O controle de prioridade é feito pelo sistema operacional. Tem-se a
impressão do sistema ser dedicado somente a um usuário. Sua
implementação é complexa.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas de Tempo Real (time-real)
Tempo de respostas dentro dos limites rígidos.
Programa detém o processador o tempo que for necessário ou até que
apareça outro prioritário.
Presente em aplicações onde o tempo de resposta é fator fundamental. Ex:
refinarias de petróleo, tráfego aéreo, usinas nucleares e de energia.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas com Múltiplos Processadores
Duas ou mais CPUs interligadas, com trabalho em conjunto.
Aumento da capacidade computacional
Em função da forma de comunicação entre as UCP’s e o grau de
compartilhamento de memória e dos dispositivos de entrada e saída
podemos classificar os sistemas em fortemente acoplados ou fracamente
acoplados.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Fortemente Acoplados
Dois ou mais processadores compartilhando uma memória e são
controlados por um sistema operacional.
Sistemas fortemente acoplados Assimétricos – Processador primário
responsável pelos demais processadores (secundários) e pelo
execução do sistema operacional.
Sistemas fortemente acoplados simétricos – todos os processadores tem
as mesmas funções, podendo executar o sistema operacional
independente.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Assimétricos
Mestre/escravo. Somente um processador (mestre), pode executar
serviços do sistema operacional.
Sempre que um processador escravo precisar realizar uma operação de
entrada/saída terá que requisitar o serviço ao processador mestre.
Se o processador mestre falhar todos os outros ficaram incapaz de
continuar o processamento.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Simétricos
Todos os processadores realizam as mesmas funções.
Todos os processadores utilizam a mesma memória e o mesmo S.O.
Quando acontecer de mais de um processador fazer um acesso à mesma
área de memória, fica a cargo do hardware e do S.O. a resolução dos
problemas.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Simétricos
Apenas algumas poucas funções ficam a cargo de um único processador,
como, por exemplo, a inicialização (boot) do sistema.
Paralelismo – o programa é executado por qualquer processador,
inclusive por vários processadores ao mesmo tempo.
Não há problemas de falhas, pois se um processador falhar outro se
encarrega da sua função.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Fracamente Acoplados
Caracterizam-se por possuir dois ou mais sistemas de computação interligados,
sendo que cada sistema possui o seu próprio sistema operacional,
gerenciando os seus recursos, como processador, memória e dispositivos de
entrada e saída.
Sistemas centralizados – os usuários utilizam terminais não inteligentes
conectados a linhas seriais dedicadas ou linhas telefônicas públicas para a
comunicação interativa com estes sistemas.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Fracamente Acoplados
Com a evolução dos computadores pessoais e das estações de trabalho
juntamente com o avanço das telecomunicações e da tecnologia de
redes, surgiu um novo modelo de computação, chamado modelo de
redes de computadores.
Em uma rede existem dois ou mais sistemas independentes, também
chamados de nós, hosts ou estações, com capacidade de
processamento própria e interligada através de linhas de
comunicação.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Operacionais de Rede
Cada nó (sistema distribuído ou estação) possui seu próprio sistema
operacional.
Ele permite a copia remota de arquivos, emulação de terminal, impressão
e gerencia remota, correio eletrônico.
No caso de uma estação sofrer qualquer problema, os demais
componentes da rede podem continuar o processamento
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Sistemas Operacionais Distribuídos
Cada nó (sistema distribuído ou estação) possui seu próprio sistema
operacional, memória, processador e dispositivos.
Geralmente os sistemas operacionais são os mesmos. Tem a impressão
de ter somente um sistema centralizado.
A grande vantagem desse sistema é a possibilidade do balanceamento de
cargas
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Interrupção e Exceção
São intervenções do Sistema Operacional
A interrupção e a exceção podem ser resultado da execução de
instruções do próprio programa, gerado pelo sistema operacional ou
por algum dispositivo de hardware.
O que diferencia interrupção de exceção é o tipo de evento que gera esta
condição.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Interrupção e Exceção
Interrupção é gerada pelo sistema operacional ou por algum dispositivo
físico.
Existem vários tipos diferentes de interrupções
É em função da interrupção que o SO sincroniza a execução de todas as
suas rotinas e dos programas dos usuários
Prof. Dr. Márcio Andrey Teixeira
Interrupção
PROGRAMA
.....................
.....................
......................
.
....................
...............
....................
.....................
......................
......................
.....................
....................
...................
.....................
......................
...
......................
......................
.....................
SALVA REGS.
IDENTIFICA A
ORIGEM DA
INTERRUPÇÃO
OBTÉM O END.
DA ROTINA DE
TRATAMENTO
.............
.............
.............
.............
.............
.............
.............
.............
.............
.............
DO SO
RESTAURA
REGS.
Prof. Dr. Márcio Andrey Teixeira
ROTINA DE
TRATAMENTO
Ciclo de Interrupção
• O processador checa a interrupção;
– Indicado por um sinal de interrupção;
• Se não tem interrupção, busca a próxima instrução;
• Se há interrupção pendente:
– Suspende a execução do programa corrente;
– Salva o contexto do programa;
– Configura o PC para buscar o endereço da rotina que trata a
interrupção;
– Processa a interrupção;
– Restaura o contexto e continua o programa interrompido;
Prof. Dr. Márcio Andrey Teixeira
Múltiplas interrupções
• Desabilitar interrupções;
– O processador irá ignorar futuras interrupções
enquanto
processa uma interrupção;
– As interrupções que permanecem pendentes são checadas depois
que a primeira interrupção tenha sido processada;
– As interrupções são controladas na seqüência em que elas
ocorrem;
• Definição de prioridades;
– Interrupções com baixa prioridade podem ser interrompida por
interrupções de alta prioridade;
– Quando uma interrupção de alta prioridade tenha sido processada,
o processador retorna para a previa interrupção;
Prof. Dr. Márcio Andrey Teixeira
Interrupções seqüenciais
Prof. Dr. Márcio Andrey Teixeira
Interrupções com prioridades
Prof. Dr. Márcio Andrey Teixeira
Exemplo de interrupções
Se tudo estiver configurado corretamente, quando uma tecla é digitada, o teclado
envia um pedido de interrupção para a CPU. Neste caso, a CPU interrompe o
código em execução e chama uma função que fará a leitura da porta 0x60 (a
porta de saída do teclado) para determinar o que o teclado está enviando.
IRQs
As IRQs (Interrupt Request - Requisição de Interrupção) são interrupções
disparadas pelo hardware. Existem 16 no total e são numeradas de 0 a 15.
Quando ocorre uma interrupção de hardware, uma série de eventos é desencadeado.
Para simplificar o processo e aumentar a compatibilidade dos dispositivos nas
diferentes plataformas, quando um dispositivo dispara uma IRQ, ele a dirige para o
PIC (Controlador de interrupções programável). O PIC identifica o número da IRQ e
depois avisa a CPU. A CPU, assim que terminar a instrução corrente, executa o
número da interrupção recebida.
Prof. Dr. Márcio Andrey Teixeira
Características e evolução dos Sistemas
Operacionais
Interrupção e Exceção
Com a evolução dos sistemas operacionais foi introduzido o conceito de
exceção
Exceção é o resultado direto da execução de uma instrução do próprio
programa, ou seja, uma interrupção causada por software.
Existem 15 tipos de exceções na CPU, x86, por exemplo, Erro de divisão
por 0, Overflow, etc.
Prof. Dr. Márcio Andrey Teixeira
Download