Silberschatz, Abraham et. al., Fundamentos de Sistemas Operacionais,LTC, 2010;
Tanenbaum, Andrew S., Sistemas Operacionais Modernos 3a Ed, Pearson Prentice Hall, 2010; Nutt, Gary. Operating Systems: a modern perspctive, Addison Wesley, 2002;
William Stallings, Operating Systems internals and design principles, Prentice Hall, 2008.
Agenda
1. Arquitetura de SOs?
I. Monolítico II. Hierárquico
III. Orientado a máquina virtual IV. Orientado a redes
V. Distribuído
1. Multi e monousuário
2. Multi e monoprogramável 3. Multi e monoprocessável 4. Multi e monotarefa
Classificações funcionais dos SOs
• Multi e monousuário
i. Mono - Somente você pode utilizar o equipamento. ii. Multi - Você e os seus amigos ao “mesmo tempo” • Multi e monoprogramável
i. Mono – Apenas o seu programa executa na máquina
ii. Multi – Vários programas executando ao “mesmo tempo” • Multi e monoprocessável
i. Apenas um processo executa na máquina
ii. Vários processos executam na máquina (+ de 1 Processador) • Multi e monotarefa (Relaciona-se com quantidade de programas)
i. Mono – Apenas uma tarefa de cada vez ii. Multi – Várias tarefas de cada vez
Tipos de SOs
O sistema operacional monolítico designa o modelo em que o sistema
operacional é codificado por via de uma coleção de procedimentos, onde é
permitido a qualquer um deles em
qualquer parte do programa "chamar"
outro ”procedimento”, mas como se
todos estivessem em um único programa.
Tipos de SOs
O sistema operacional hierárquico ou Sistema Operacional em Camadas: um termo que designa os modelos de
sistemas operacionais montados sobre uma hierarquia de camadas.
A camada 0 : Processador A camada 1: Memória.
A camada 2: Comunicação entre o console do operador e cada processo. A camada 3: Entrada e saída.
Tipos de SOs
O sistema operacional baseado em mensagens e orientado a redes: um termo que designa os modelos de
sistemas operacionais que permitem a comunicação entre seus módulos e entre outros sistemas operacionais por meio de mensagens.
Tipos de SOs
O sistema operacional baseado em máquinas virtuais: termo que designa os modelos de sistemas operacionais que permitem a construção de várias máquinas em uma única máquina real. Por meio de recursos de hardware e software o SO é capaz de criar vários sistemas computacionais em um único sistema
O poder preemptivo do SO
Sistema Operacional com Multitarefa Preemptiva
“O sistema operacional mantém uma lista dos processos (ou programas) que estão sendo executados. Quando cada processo entra na máquina ele é colocado na lista e é iniciado, além de receber do sistema operacional uma prioridade para utilizar os recursos computacionais.”
Na multítarefa preemptiva, o sistema operacional pode interromper o processo que está em execução a “qualquer momento” escalonando o processador para um dos outros processos da lista, utilizando para a
escolha do processo aquele que tem maior prioridade de execução e está pronto para utilizar os recursos computacionais.
TIME-SHARING – Compartilhamento de Recursos
“SISTEMAS MULTIUSUÁRIO (TIME-SHARING) - Quando os usuários utilizam o computador por meio de terminais (vídeo/teclado) que exigem LOGIN e que enquanto seus
programas executam eles estão em constante interação com seus programas. Também chamado de sistemas ONLINE. “
O sistema operacional multiusuário permite que mais de um
usuário acesse o computador ao “mesmo tempo”. É evidente que, para tanto, o sistema operacional multiusuário também tem de ser multitarefa.
Para cada usuário o SO aloca uma fatia de tempo do processador
(Timeslice) e parte da memória principal. Não só o processador e memória, mas também periféricos (discos, impressoras), são
compartilhados de alguma maneira.
O controle de prioridade é realizado pelo sistema operacional.
Como a capacidade de processamento de tarefas é grande em um pequeno período de tempo tem-se a impressão do sistema ser
dedicado somente a um usuário. Sua implementação é complexa.
Multiprocessáveis - Vários processadores ou núcleos
Sistemas com Múltiplos Processadores. Com duas ou mais
(Processadores) CPUs interligadas, trabalhando todos como se um único processador estivesse em funcionamento.
Naturalmente ocorre um aumento da capacidade computacional. Em função da forma de comunicação entre os processadores (as UCP’s) e do grau de compartilhamento de memória e dos
dispositivos de entrada e saída, define-se os sistemas operacionais em fortemente acoplados ou fracamente acoplados.
Vários processadores ou núcleos
Sistemas Fortemente Acoplados
Dois ou mais processadores compartilhando uma memória e são controlados por um úncio sistema operacional.
Sistemas fortemente acoplados ASSIMÉTRICOS– Um dos Processadores é 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.
Multiprocessamento é a capacidade de um sistema operacional executar
simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de vários recursos, sendo o principal o compartilhamento de tempo de uso do
Sistemas Assimétricos
Também conhecido com Mestre/escravo. Somente um
processador (o mestre), pode executar serviços do
sistema operacional e ele controla os demais
processadores.
Sempre que um processador escravo precisar realizar
uma operação de entrada/saída, por exemplo, terá que
requisitar o serviço ao processador mestre.
Se o processador mestre falhar deixa todo o sistema
incapaz de continuar o processamento.
Sistemas Simétricos
Todos os processadores realizam as mesmas funções.
Os processadores/processos 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 possívies problemas.
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.
Multiprocessáveis Fracamente Acoplados
Sistemas Fracamente Acoplados
São dois ou mais sistemas de computação interligados, sendo que
cada sistema possui o seu próprio sistema operacional, gerenciando os seus próprios recursos, como processador, memória e
Outra visão de um Sistema Computacional
Sistemas Fracamente Acoplados
Com avanço das telecomunicações e da tecnologia de redes, surgiu um novo modelo de computação, chamado modelo de redes de
computadores, onde se conectam os computadores das empresas
(servidores) os pessoais e “individuais” (estações de trabalho).
Em uma rede cada sistema independente é chamado de nó, sendo ele um servidor ou estação, desde que com capacidade de
processamento própria e que esteja interligado por meio de linhas de comunicação.
Sistema Operacional de Rede
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
Um Sistema Distribuído
Sistemas Operacionais Distribuídos
Cada nó (sistema distribuído ou estação) possui seus recursos, seu próprio sistema operacional, memória, processador e dispositivos. Geralmente os sistemas operacionais são idênticos. E trabalham como um sistema único e centralizado.
A grande vantagem desse sistema é a possibilidade do
balanceamento de cargas e sua capacidade de superar problemas com cada um dos nós.