Você está na página 1de 6

Sistemas Monoprogramveis / Monotarefa

Os primeiros sistemas operacionais eram tipicamente voltados para a execuo de um


nico programa. Qualquer outra aplicao, para ser executada, deveria aguardar o trmino
do programa corrente. Os sistemas monoprogramveis, como vieram a ser conhecidos, se
caracterizam por permitir que o processador, a memria e os perifricos permaneam
exclusivamente dedicados execuo de um nico programa.
Neste tipo de sistema, enquanto um programa aguarda por um evento, como a digitao
de um dado, o processador permanece ocioso, sem realizar qualquer tipo de
processamento. A memria subutilizada, caso o programa no a preencha totalmente e
os perifricos, como discos e impressoras, esto dedicados a um nico usurio, nem
sempre utilizados de forma integral.
Comparados a outros sistemas, os sistemas monoprogramveis ou monotarefa so de
simples implementao, no existindo muita preocupao com problemas decorrentes do
compartilhamento de recursos, como memria, processador e dispositivos de E/S.

Sistemas Multiprogramveis / Multitarefa


Os sistemas multiprogramveis ou multitarefa so uma evoluo dos sistemas
monoprogramveis.
Neste tipo de sistema, por exemplo, enquanto um programa espera por uma operao de
leitura ou gravao em disco, outros programas podem estar sendo processados neste
mesmo intervalo de tempo. Nesse caso, podemos observar o compartilhamento da
memria e do processador. O sistema operacional se preocupa em gerenciar o acesso
concorrente aos seus diversos recursos, como memria, processador e perifricos, de
forma ordenad e protegida, entre os diversos programas.
A principal vantagem dos sistemas multiprogramveis a reduo de custos em funo da
possibilidade de compartilhamento dos diversos recursos entre as diferentes aplicaes.
Alm disso, sistemas multiprogramveis possibilitam na mdia a reduo total do tempo de
execuo das aplicaes. Apesar de mais eficientes que os monoprogramveis, so de
implementao muito mais complexa.
A partir do nmero de usurios que interagem com o sistema operacional, podemos
classificar os sistemas multiprogramveis como monousurio ou multiusurio.
Sistemas multiprogramveis monousurio so encontrados em computadores pessoais e
estaes de trabalho, onde h apenas um nico usurio interagindo com o sistema. Neste
caso, existe a possibilidade de execuo de diversas tarefas ao mesmo tempo, como a
edio de um texto, uma impresso e o acesso Internet.

Sistemas multiprogramveis multiusurio so ambientes interativos que possibilitam a


diversos usurios conectarem-se ao sistema simultaneamente.
Os sistemas multiprogramveis ou multitarefa podem ser classificados pela forma com que
suas aplicaes so gerenciadas, podendo ser divididos em sistemas batch, de tempo
compartilhado ou de tempo real. Um sistema operacional pode suportar um ou mais
desses tipos de processamento, dependendo de sua implementao.

Sistemas Batch
Os sistemas batch foram os primeiros tipos de sistemas operacionais multiprogramveis a
serem implementados na dcada de 1960. Os programas, tambm chamados de jobs,
eram submetidos para execuo atravs de cartes perfurados e armazenados em disco
ou fita, onde aguardavam para ser processados. Posteriormente, em funo da
disponibilidade de espao na memria principal, os jobs eram executados, produzindo uma
sada em disco ou fita.
O processamento batch tem a caracterstica de no exigir a interao do usurio com a
aplicao. Todas as entradas e sadas de dados da aplicao so implementadas por
algum tipo de memria secundria, geralmente arquivos em disco. Alguns exemplos de
aplicaes originalmente processadas em batch so programas envolvendo clculos
numricos, compilaes, ordenaes, backups e todos aqueles onde no necessria a
interao com o usurio.
Esses sistemas, quando bem projetados, podem ser bastante eficientes, devido melhor
utilizao do processador, entretanto, podem oferecer tempos de resposta longos.
Atualmente, os sistemas operacionais implementam ou simulam o processamento batch,
no existindo sistemas exclusivamente dedicados a este tipo de processamento.

Sistemas de Tempo Compartilhado


Os sistemas de tempo compartilhado (time-sharing) permitem que diversos programas
sejam executados a partir da diviso do tempo do processador em pequenos intervalos,
denominados fatia de tempo (time-slice). Caso a fatia de tempo no seja suficiente para a
concluso do programa, ele interrompido pelo sistema operacional e substitudo por um
outro, enquanto fica aguardando por uma nova fatia de tempo. O sistema cria para cada
usurio um ambiente de trabalho prprio, dando a impresso de que todo o sistema est
dedicado exclusivamente a ele.
Geralmente, sistemas de tempo compartilhado permitem a interao dos usurios com o
sistema, atravs de terminais que incluem vdeo, teclado e mouse. Esses sistemas
possuem uma linguagem de controle que permite ao usurio comunicar-se diretamente
com o sistema operacional, atravs de comandos. Desta forma, possvel verificar

arquivos armazenados em disco ou cancelar a execuo de um programa. O sistema,


normalmente, responde em poucos segundos maioria desses comandos. Devido a esse
tipo de interao, os sistemas de tempo compartilhado tambm ficaram conhecidos como
sistemas on-line.
A maioria das aplicaes comerciais atualmente processada em sistemas de tempo
compartilhado, pois elas oferecem tempos de respostas razoveis a seus usurios e
custos mais baixos, em funo da utilizao compartilhada dos diversos recursos do
sistema.

Sistemas de Tempo Real


Os sistemas de tempo real (real-time) so implementados de forma semelhante aos
sistemas de tempo compartilhado. O que caracteriza a diferena entre os dois tipos de
sistemas o tempo exigido no processamento das aplicaes. Enquanto em sistemas de
tempo compartilhado o tempo de processamento pode variar sem comprometer as
aplicaes em execuo, nos sistemas de tempo real os tempos de processamento devem
estar dentro de limites rgidos, que devem ser obedecidos, caso contrrio, podero ocorrer
problemas irreparveis.
Nos sistemas de tempo real no existe a idia de fatia de tempo, implementada nos
sistemas de tempo compartilhado. Um programa utiliza o processador o tempo que for
necessrio ou at que aparea outro mais prioritrio. A importncia ou prioridade de
execuo de um programa definida pela prpria aplicao e no pelo sistema
operacional.
Esses sistemas, normalmente, esto presentes em aplicaes de controle de processos,
como no monitoramento de refinarias de petrleo, controle de trfego areo, de usinas
termoeltricas e nucleares, ou em qualquer aplicao onde o tempo de processamento
fator fundamental.

Sistemas com Mltiplos Processadores


Os sistemas com mltiplos processadores caracterizam-se por possuir duas ou mais UCPs
interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema permitir que
vrios programas sejam executados ao mesmo tempo ou que um mesmo programa seja
subdividido em partes, para serem executadas simultaneamente em mais de um
processador.
Com mltiplos processadores, foi possvel a criao de sistemas computacionais voltados,
principalmente, para processamento cientfico, aplicado, por exemplo, no desenvolvimento
aeroespacial, prospeco de petrleo, simulaes, processamento de imagens e CAD. A

princpio, qualquer aplicao que faa uso intensivo da UCP ser beneficiada pelo
acrscimo de processadores ao sistema. A evoluo desses sistemas deve-se, em grande
parte, ao elevado custo de desenvolvimento de processadores de alto desempenho.
Os conceitos aplicados ao projeto de sistemas com mltiplos processadores incorporam os
mesmos princpios bsicos e benefcios apresentados na multiprogramao, alm de
outras caractersticas e vantagens especficas como escalabilidade, disponibilidade e
balanceamento de carga.
Escalabilidade a capacidade de ampliar o poder computacional do sistema, apenas
adicionando novos processadores. Em ambientes com um nico processador, caso haja
problemas de desempenho, seria necessrio substituir todo o sistema por uma outra
configurao com maior poder de processamento. Com a possibilidade de mltiplos
processadores, basta acrescentar novos processadores configurao.
Disponibilidade a capacidade de manter o sistema em operao, mesmo em casos de
falhas. Neste caso, se um dos processadores falhar, os demais podem assumir suas
funes de maneira transparente aos usurios e suas aplicaes, embora com menor
capacidade de computao.
Balanceamento de carga a possibilidade de distribuir o processamento entre os diversos
processadores da configurao, a partir da carga de trabalho de cada processador,
melhorando, assim, o desempenho do sistema como um todo.
Um fator-chave no desenvolvimento de sistemas operacionais com mltiplos
processadores a forma de comunicao entre as UCPs e o grau de compartilhamento da
memria e dos dispositivos de entrada e sada. Em funo desses fatores, podemos
classificar os sistemas com mltiplos processadores em fortemente acoplados ou
fracamente acoplados.

Sistemas Fortemente Acoplados


Nos sistemas fortemente acoplados (tightly coupled) existem vrios processadores
compartilhando uma nica memria fsica (shared memory) e dispositivos de
entrada/sada sendo gerenciados por apenas um sistema operacional. Em funo desta
caractersticas, os sistemas fortemente acoplados tambm so conhecidos como
multiprocessadores.
Os sistemas fortemente acoplados podem ser divididos em SMP (Symmetric
Multiprocessors) e NUMA (Non-Uniform Memory Access). Os sistemas SMP caracterizamse pelo tempo uniforme de acesso memria principal, pelos diversos processadores. Os
sistemas NUMA apresentam diversos conjuntos, reunindo processadores e memria
principal, sendo que cada conjunto conectado aos outros atravs de uma rede de
interconexo. O tempo de acesso memria pelos processadores varia em funo da sua
localizao fsica.

Nos sistemas SMP e NUMA todos os processadores tm as mesmas funes.


Inicialmente, os sistemas com mltiplos processadores estavam limitados aos sistemas de
grande porte, restritos ao ambiente universitrio e s grandes corporaes. Com a
evoluo dos computadores pessoais e das estaes de trabalho, os sistemas multitarefa
evoluram para permitir a existncia de vrios processadores no modelo simtrico.
Atualmente, a grande maioria dos sistemas operacionais, como o UNIX e o Windows,
implementa esta funcionalidade.

Sistemas Fracamente Acoplados


Os sistemas fracamente acoplados (loosely coupled) caracterizam-se por possuir dois ou
mais sistemas computacionais conectados atravs de linhas de comunicao. Cada
sistema funciona de forma independente, possuindo seu prprio sistema operacional e
gerenciando seus prprios recursos, como UCP, memria e dispositivos de entrada/sada.
Em funo destas caractersticas, os sistemas fracamente acoplados tambm so
conhecidos como multicomputadores. Neste modelo, cada sistema computacional tambm
pode ser formado por um ou mais processadores.
At meados da dcada de 1980, as aplicaes eram tipicamente centralizadas em
sistemas de grande porte, com um ou mais processadores. Neste tipo de configurao, os
usurios utilizam terminais no inteligentes conectados a linhas seriais dedicadas ou linhas
telefnicas pblicas para a comunicao interativa com esses sistemas. No modelo
centralizado, os terminais no tem capacidade de processamento. Sempre que um usurio
deseja alguma tarefa, o pedido encaminhado ao sistema, que realiza o processamento e
retorna uma resposta, utilizando as linhas de comunicao.
Com a evoluo dos computadores pessoais e das estaes de trabalho, juntamente com
o avano das telecomunicaes e da tecnologia de redes, surgiu um novo modelo de
computao, chamado modelo de rede de computadores. Em uma rede existem dois ou
mais sistemas independentes (hosts), interligados atravs de linhas de comunicao, que
oferecem algum tipo de servio aos demais. Neste modelo, a informao deixa de ser
centralizada em poucos sistemas de grande porte e passa a ser distribuda pelos diversos
sistemas da rede.
Com base no grau de integrao dos hosts da rede, podemos dividir os sistemas
fracamente acoplados em sistemas operacionais de rede e sistemas distribudos. A grande
diferena entre os dois modelos a capacidade do sistema operacional em criar uma
imagem nica dos servios disponibilizados pela rede.

Os Sistemas Operacionais de Rede (SOR) permitem que um host compartilhe seus


recursos, como uma impressora ou diretrio, com os demais hosts da rede. Um exemplo
deste tipo de sistema so as redes locais, onde uma estao pode oferecer servios de
arquivos e impresso para as demais estaes da rede, dentre outros servios.
Enquanto nos SORs os usurios tm o conhecimento dos hosts e seus servios, nos
sistemas distribudos o sistema operacional esconde os detalhes dos hosts individuais e
passa a trat-los como um conjunto nico, como se fosse um sistema fortemente
acoplado. Os sistemas distribudos permitem, por exemplo, que uma aplicao seja
dividida em partes e que cada parte seja executada por hosts diferentes da rede de
computadores. Para o usurio e suas aplicaes como se no existisse a rede de
computadores, mas sim, um nico sistema centralizado.
Outro exemplo de sistemas distribudos so os clusters. Em um cluster existem dois ou
mais servidores ligados, normalmente, por algum tipo de conexo de alto desempenho. O
usurio no conhece os nomes dos membros do cluster e no sabe quantos so. Quando
ele precisa de algum servio, basta solicitar ao cluster para obt-lo. Atualmente, sistemas
em cluster so utilizados para servios de bancos de dados e Web, garantindo alta
disponibilidade, escalabilidade e balanceamento de carga soluo.

Você também pode gostar