Sistemas operacionais
48 pág.

Sistemas operacionais


DisciplinaSistemas Operacionais I7.779 materiais168.782 seguidores
Pré-visualização17 páginas
fácil a manutenção cada parte do sistema operacional
Utilização dos recursos de sistemas
Monoprogramação ou monotarefa
Em computação, chama-se monotarefa um sistema operacional que permite a realização de apenas uma tarefa (job)
de cada vez. O processador, memória e periféricos ficam dedicados a um único usuário, e cada tarefa para ser
executada, deve aguardar o encerramento da tarefa atual. Nos sistemas monoprogramados, enquanto uma aplicação
aguarda um evento, o processador pode permanecer ocioso, sem realizar qualquer tipo de processamento, a memória
pode acabar sendo sub-utilizada quando o programa não a utiliza totalmente e os periféricos são dedicados a um
único usuário. Desta forma, os sistemas monoprogramáveis acabam sendo por sua natureza de fácil implementação e
com pouca preocupação com proteção.
Estruturas dos sistemas operacionais 4
Multiprogramação ou multitarefa
Multiprogramação ou Multitarefa é o nome dado à característica de alguns sistemas operacionais de rodar diversas
aplicações simultâneas. Na realidade, na execução multitarefa, o tempo do processador é dividido entre as aplicações
em execução, e a execução das tarefas passa rapidamente de uma para a outra, criando a ilusão de que as aplicações
ocorrem de forma conjunta.
Tipos de Sistemas Operacionais
Sistemas Batch
Os sistemas batch ou sistemas em lote foram os primeiros sistemas multiprogramáveis a serem implementados
(primeira fase da computação), caracterizando-se por programas armazenados em disco ou fita, que uma vez
iniciados, exigem pouca ou nenhuma interação do usuário, processando de forma sequencial e contínua até o fim do
serviço (job), quando então é devolvido o resultado final do processamento. O tempo de execução da tarefa é
conhecido como turnaround.
Sistemas multiprogramados
Nos sistemas monoprogramados o que temos é a existência de um único processo sendo executado de cada vez na
memória. Com a multiprogramação existem vários processos na memória aptos à executar e um em execução. Sem
dúvida, o conceito de multiprogramação é um dos mais importantes nos sistemas operacionais modernos. Se
existirem vários programas carregados na memória ao mesmo tempo, a CPU pode ser compartilhada entre eles,
aumentando a eficiência da máquina e produzindo mais resultados em menos tempo. A idéia por detrás da
multiprogramação é bastante simples. Quando um programa libera a CPU, seja para realizar alguma operação de E/S
ou por outro motivo, ela fica parada. Enquanto espera que o programa volte para executar, a CPU não realiza
nenhum trabalho útil. Para acabar com a ociosidade deste tempo vários programas são mantidos ao mesmo tempo na
memória e o sistema operacional se encarrega de escolher um deles para executar. Assim, sempre que um programa
é interrompido, um outro é escolhido para ser executado em seu lugar. Com isso, a CPU estará durante grande parte
do tempo ocupada processando instruções de programas. Os benefícios da multiprogramação são vários: aumento da
utilização da CPU e da taxa de saída do sistema computacional, isto é, da quantidade de trabalho realizada dentro de
um intervalo de tempo (throughput).
Sistemas de Tempo Compartilhado (Time Sharing)
São sistemas que compartilham o tempo de uso da CPU entre diversos programas. Também conhecido como
time-sharing, consegue executar diversas tarefas simultaneamente, pois existe a divisão do tempo do processador em
pequenos intervalos, denominados fatia de tempo. Caso a tarefa não termine durante a fatia a ela determinada, há
uma interrupção e ela volta para a fila de escalonamento, aguardando novamente sua vez.
Diferente do sistema batch, esse tipo de sistema operacional permite a interação do usuário. Dessa maneira, os
terminais possuem teclado, vídeo e mouse.
Estruturas dos sistemas operacionais 5
Sistemas de Tempo Real
São sistemas no qual o tempo tem uma função essencial. Em geral, um ou mais dispositivos físicos externos ou
computador geram estímulos, e o computador deve reagir apropriadamente a eles dentro de um dado intervalo de
tempo.
Sistemas multiprocessados
Sistemas multiprocessados são sistemas construídos sobre máquinas computacionais que possuem mais de um
processador para propósitos gerais. Entre suas vantagens estão:
\u2022 Maior produção (throughput)
\u2022\u2022 Reconfiguração
\u2022\u2022 Balanceamento
\u2022\u2022 Simetria
Acoplamento-Sistemas multiprocessáveis
Modo de comunicação entre os processadores e o grau de compartilhamento de memória e dos dispositivos de
entrada/saída.
Chamadas ao Sistema
Conhecidas como system calls, são instruções que um programa utiliza para se comunicar com o Sistema
Operacional e acessar seus serviços. O aplicativo "chama" o S.O., requisitando algo.
Gerência de memória
A maioria dos computadores trabalha com o conceito de hierarquia de memória, possuindo uma pequena quantidade
de memória cache, muito rápida, uma quantidade de memória principal (RAM) e uma quantidade muito grande de
memória de armazenamento em disco (HD), considerada lenta. O problema básico para o gerenciamento de memória
é que os programas atuais são muito grandes para rodarem, completamente, na memória cache. O gerenciador de
memória deve ser capaz de controlar parte da memória está em uso (e quais não estão), alocar memória para
processos quando eles necessitam e desalocar quando eles terminam e, principalmente, gerenciar a troca entre a
memória principal e o disco, quando a memória principal é muito pequena para armazenar todos os processos.
Existem dois tipos de memória principal: a memória lógica e a memória física. A memória lógica é aquela
manipulada pelos programas, ela é visível para os programas; sempre que um programa necessita alocar um espaço
na memória esse espaço é alocado em memória lógica. A memória física é a memória implementada pelos circuitos
integrados é nela que os espaços alocados em memória lógica vão realmente residir, portanto a memória física tem
tamanho menor que a memória lógica, geralmente. Para isso é necessário realizar uma tradução de endereços lógicos
para endereços físicos, pois assim um programa que aloca uma memória lógica possa ter de fato uma memória física
alocada para si. Esse processo de tradução de endereços lógicos em endereços físicos é realizado por uma unidade de
gerência de memória chamada MMU (Memory Management Unit).
Gerência de memória 6
Memória lógica x Memória física
Os processos não enxergam a memória física, hardware usado para endereçar os circuitos integrados de memória, e
sim a memória lógica, que é a memória capaz de ser endereçada e acessada pelo conjunto de instruções do
processador, sendo que cada processo possui a sua memória lógica que é independente da memória lógica dos outros
processos. A memória física é implementada pelos circuitos integrados de memória, pela eletrônica do computador.
Ela possui espaço de endereçamento físico que é o conjunto formado por todos os endereços dos circuitos integrados
que formam a memória, normalmente esses endereços são em formato hexadecimal. A memória lógica possui um
espaço de endereçamento lógico, maior que o espaço de endereçamento físico, é formado por todos os endereços
lógicos gerado pelo processo, sendo gerado pela CPU e único por processo.
Como o processo "enxerga" endereço de memória lógico e o hardware "enxerga" endereço de memória físico é
necessário ter a conversão de endereço de memória lógico para endereço de memória físico. Esse mapeamento de
endereço lógico em endereço físico é feito pela MMU, unidade de gerência de memória. Basicamente a MMU que
vai mapear os endereços lógicos gerados pelos processos nos correspondentes endereços físicos que serão enviados
para a memória.
Existem duas formas bem simples de transformação do endereço lógico para o físico:
\u2022\u2022 A MMU verifica se o endereço lógico é maior que o registrador limite inferior e menor que o registrador limite
superior, se sim encaminha o acesso com esse endereço válido,