Você está na página 1de 4

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II

SISTEMAS MULTIPROGRAMADOS

Alunos: Kemuel Rocha, Matheus Figueredo, Matheus Geovane


Data: 21/06/2019
Sistemas Multiprogramados/multitarefa
Este tipo de sistema operacional é uma evolução dos sistemas operacionais
monoprogramados/monotarefa. Enquanto os sistemas operacionais mono
programados/mono tarefa permitiam apenas a execução de um único
programa, uma única tarefa, os sistemas multiprogramados/multitarefas
permitem que vários programas sejam executados compartilhando os recursos
do computador tais como discos, impressora, memória e processador.
Neste sistema enquanto um programa espera uma entrada de dados pelo
usuário um outro programa pode estar sendo processado no mesmo intervalo
de tempo. Neste caso tanto a memória quanto o processador são
compartilhados e o sistema operacional deve gerenciar e controlar este
compartilhamento dos recursos de forma segura e protegida. Como existem
vários programas sendo executados, várias tarefas, é função do sistema
operacional garantir que um programa não afete o outro, permitindo a
execução das tarefas de forma independente umas das outras.
Por permitir o compartilhamento dos recursos pelas várias tarefas sendo
executadas este tipo de sistema operacional possibilita a redução de custos em
hardware. Entretanto, os sistemas multiprogramados/multitarefa são de
implementação muito mais complexa, por ser necessário o gerenciamento e
controle de todas as tarefas em execução e do compartilhamento dos recursos
entre as tarefas.
Classificação dos sistemas multiprogramados/multitarefa
Os sistemas multiprogramados podem ser classificados de duas formas:
- Pelo número de usuários que interage com o sistema operacional;
- Pela forma como as tarefas são gerenciadas;
Número de usuários:
os sistemas multiprogramados podem ser: monousuário ou multiusuário. Os
sistemas multiprogramados monousuário são usados em computadores
pessoais e estações de trabalho onde um usuário pode realizar várias tarefas
como acessar a internet, enviar um e-mail e editar um documento. Os sistemas
multiprogramados multiusuários são sistemas acessados por vários usuários
que interagem com o sistema operacional realizando várias tarefas. É o caso
de sistemas UNIX em minicomputadores e super minicomputadores.
Com relação a forma como as tarefas são gerenciadas:
- Sistemas Bach
- Sistemas de Tempo compartilhado ( Time-Sharing )
- Sistemas de Tempo real ( real time ).
Um sistema operacional multiprogramado pode suportar uma ou mais formas
de gerenciamento de tarefa.
Sistemas multiprogramados Bach
Foram os primeiros sistemas operacionais multiprogramados e foram utilizados
nos anos 60. Neste tipo de sistema os programas, chamados de Jobs, eram
armazenados em cartões perfurados. O processamento era feito através de
lotes de Jobs enfileirados e processados de forma sequencial, ou seja, um Job
só era processado quando Job a sua frente terminava todo seu
processamento.
Cada Job era responsável por uma única função, como por exemplo o cálculo
do salário dos funcionários. Dessa forma, os Jobs eram divididos em blocos de
tarefas necessárias para o cálculo dos salários que, ao serem processadas,
geravam o resultado final.
Um dos objetivos do sistema Batch era reduzir o tempo de setup, tempo entre o
fim do processamento de um programa e o início do próximo. Como os Jobs
eram colocados enfileirados, após o fim de um Job, o segundo programa era
automaticamente iniciado, sem a necessidade da troca manual. Com isso, o
sistema Batch não tinha essa interatividade com o usuário.
Sistemas multiprogramados de tempo compartilhado
Permitem a execução de várias tarefas pela divisão de tempo do uso do
processador em pequenos intervalos de tempo denominados fatia de tempo (
time slice ). Os programas em execução se alternam no uso do processador,
cada programa em execução fazendo uso de sua fatia de tempo. Desta forma,
o tempo de uso do processador é compartilhado pelas várias tarefas em
execução pelo sistema operacional. Por este motivo. estes sistemas também
são chamados de sistemas time-sharing.
Quando um programa termina seu intervalo de tempo de uso do processador
ele é interrompido pelo sistema operacional, sendo substituído por outro
programa e fica aguardando um novo intervalo de tempo para ter sua execução
reiniciada do ponto onde foi interrompido.
Este tipo de sistema permite a interação dos usuários com as aplicações
através de monitor, teclado e mouse. O sistema operacional possui uma
linguagem de comandos que são usados pelo usuário para interagir com o
sistema operacional. Os comandos são digitados em uma interface de linha de
comandos ou em uma interface gráfica com o uso de mouse. Por permitir a
interação entre o usuário com as aplicações, estes sistemas também são
conhecidos por sistemas online.
Observação: Atualmente todos os sistemas operacionais fazem uso de
interface gráfica para interação com o usuário, porém a interface de linha de
comandos também está presente em todos os sistemas operacionais. É muito
importante conhecer a linguagem de comandos de um sistema operacional e
fazer uso da interface de linha de comandos.
Sistemas multiprogramados de tempo real
Permitem a execução de várias tarefas de acordo com a prioridade de
execução de cada tarefa. A diferença entre os sistemas de tempo real e os
sistemas de tempo compartilhado é que nos sistemas de tempo compartilhado
o tempo de resposta pode variar um pouco sem no entanto comprometer a
execução das tarefas, enquanto que nos sistemas de tempo real o tempo de
resposta é rigidamente controlado e devem estar dentro de limites de tempo
definidos que devem ser obedecidos caso contrário podem ocorrer problemas
irreparáveis as aplicações. Costuma-se dizer que estes sistemas tem tempo de
resposta quase instantâneo por isso são conhecidos por sistemas de tempo
real.
Em sistemas de tempo real não existe fatia de tempo para as tarefas em
execução. O mecanismo utilizado para o compartilhamento do processador é a
prioridade. Uma tarefa permanece em execução pelo processador o tempo que
for necessário, até que outra tarefa com maior prioridade seja iniciada. A
prioridade de execução das tarefas é determinada pela aplicação e não pelo
sistema operacional.
Estes sistemas são usados para aplicações críticas como controle de
refinarias, controle de tráfego aéreo, sistemas de defesa, usinas termoelétricas,
usinas nucleares, etc. Nestes sistemas o tempo de resposta é crítico para o
controle de operações. Por isso são usados sistemas de tempo real.

Você também pode gostar