You are on page 1of 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 caracterizam-se 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.

You might also like