Transcript SO 1

SISTEMAS OPERACIONAIS
EMENTA
Funções e estrutura de sistemas
operacionais. Processos:
conceitos básicos; comunicação
e sincronização; escalonamento.
Gerência de memória: partições
fixas e variáveis; realocação,
memória virtual; swapping;
sistemas de arquivos.
OBJETIVOS
Compreender e utilizar os conceitos
de sistemas operacionais, com
ênfase na comunicação entre os
processos e gerência de memória,
visando discutir os problemas e
soluções decorrentes.
A Evolução dos Sistemas
Operacionais
Sistemas operacionais são programas que
controlam todos os recursos do
computador e fornecem a base para o
desenvolvimento dos programas de
aplicação. É um gerenciador de recursos,
responsável pela gerência do processador,
pela gerência de memória, pela gerência
de arquivos, pela gerência dos dispositivos
de entrada e saída e pelos mecanismos de
acesso aos dados.
Os sistemas operacionais virtualizam todos
os recursos de hardware que gerenciam,
criando uma máquina virtual. Por
exemplo, os usuários tratam com
arquivos, que são entidades lógicas
gerenciadas pelo sistema operacional.
Uma operação de escrita em um arquivo
será traduzida pelo sistema operacional
em uma operação de gravação de dados
no periférico, completamente transparente
ao usuário.
Monoprogramação e Multiprogramação
Nos sistemas operacionais
monoprogramados existe um único
programa de usuário em execução. Nos
multiprogramados existem vários
programas de usuário em execução
simultânea. A figura a seguir mostra a
organização de um sistema operacional
monoprogramado. É formado por cinco
componentes lógicos:

Tratador de Interrupções: software do SO
responsável pelo tratamento das interrupções
(Uma interrupção é
um evento externo que causa o processador parar a execução do programa corrente e desviar a execução para um bloco de código
chamado rotina de interrupção (normalmente são decorrentes de operações de E/S). Ao terminar o tratamento de interrupção o controle
retorna ao programa interrompido exatamente no mesmo estado em que estava quando ocorreu a interrupção.);

Drivers dos dispositivos: responsáveis pela
execução das operações de entrada e saída.
Existe um driver para cada classe de periférico;

Gerenciador de Arquivos: responsável pela
implementação do sistema de arquivos,
permitindo ao usuário o armazenamento e a
recuperação de informações.

Seqüenciador de programas: módulo que,
ao término da execução de um programa,
faz com que o sistema passe a executar
um novo programa;

Programas de usuários: representa o
programa em execução. Existe um único
programa de usuário na memória. Ao
término da execução, um outro programa
será carregado pelo seqüenciador de
programas e passará a ser executado.
Sistema Operacional Monoprogramado
Gerenciador de Arquivos
Tratador de Interrupções
Seqüênciador de Programas
Programas de Usuários
Driver dos Dispositivos
Um sistema operacional multiprogramado suporta
a execução de múltiplos programas de usuários,
em paralelo. Em sua organização possui
Tratador de Interrupções, Drivers dos
dispositivos, um gerenciador de memória, um
gerenciador de processos que possui um
escalonador, responsável pela seleção e
disparo de programas, por um gerenciador de
arquivos, por um seqüenciador de programas e
pelos programas de usuários em execução.
Num sistema multiprogramado o tempo do
processador é distribuído entre os programas
em execução.
Cada programa executa por um certo
tempo, ou até que solicite uma operação
de entrada e saída, ou até que necessite
esperar a ocorrência de algum outro
evento. Nestes casos, o sistema
operacional executa a rotina de
tratamento referente ao pedido do
processo e, após isso, um novo processo
é selecionado e passa a ser executado. A
figura a seguir mostra esquematicamente
os componentes de um sistema
operacional multiprogramado.
Sistema Operacional Multiprogramado
Programas de usuários
Seqüenciador de programas
Gerenciador de arquivos
Gerenciador de processos
Gerenciador de memória
Drivers dos dispositivos
Tratadores de interrupção
Evolução dos Sistemas Operacionais
Os primeiros sistemas eram totalmente manuais,
com usuários altamente especializados e com um
esquema de marcação de horas para utilização.
Os usuários eram também os pesquisadores que
trabalhavam no desenvolvimento dos
equipamentos, e que possuíam um grande
conhecimento do hardware, o que lhes permitia
usar o computador. Estas 10 máquinas não
possuíam sistema operacional e era necessário
programar diretamente o hardware. A figura a
seguir apresentada a seguir ilustra esses
primeiros ambientes computacionais.