Sumrio
Sumrio.................................................................................................................. 1 INTRODUO..........................................................................................................3 Tipos de Sistemas Operacionais.............................................................................4 Sistemas Monoprogramveis / Monotarefa ........................................................4 Sistemas Multiprogramveis / Multitarefa...........................................................5 Sistemas "Batch"..............................................................................................6 Sistemas "Time Sharing"..................................................................................7 Sistemas de Tempo Real..................................................................................8 Sistemas Mono e Multitarefa............................................................................8 Sistemas com Mltiplos Processadores...............................................................8 Funcionamento do Boot (Inicializao do Sistema Operacional);...........................9
INTRODUO
Consiste de um ou um conjunto de programas que compem o software bsico do computador e cuja finalidade a de executar os programas aplicativos e de servir de interface entre o computador e seus usurios. Um sistema operacional deve atender a trs objetivos principais: a) Convenincia - tornar o uso do computador mais conveniente (fcil). b) Eficincia - tornar eficiente (seguro e justo) o uso e o compartilhamento dos recursos existentes c) Evoluo - possibilitar o constante debug e o desenvolvimento de novas funcionalidades Numa abordagem macro, o sistema operacional pode ser visto como a primeira camada de software acima do hardware do computador que, conforme mostra a figura VI.1 abaixo, se encarrega de suportar e servir de interface entre este e os demais programas aplicativos e utilitrios. Um sistema operacional hoje se constitui de diversos mdulos que se encarregam da comunicao, alocao e gerenciamento de recursos especficos tais como: Processo Memria Arquivos Entrada e Sada Interconexo Alocao da UCP ("Scheduling") Segurana e Interface com o Usurio A interface entre os programas aplicativos (processos) e o sistema operacional realizada atravs de comandos (instrues) de chamada do sistema (assystem calls). Estas chamadas esto geralmente disponveis ao nvel das linguagens assembly e, em geral, so introduzidas nos programas escritos em linguagens de mais alto nvel, pelos respectivos compiladores.
A histria mostra que os sistemas operacionais vm sofrendo constantes modificaes com o passar do tempo. No incio eram relativamente simples, do tipo monousurio e praticamente no oferecia qualquer mecanismo de proteo aos usurios. Com a evoluo do hardware e o surgimento de equipamentos cada vez mais velozes, os sistemas operacionais foram se tornando mais complexos, mais seguros, mais eficientes e mais abrangentes. Diversos tipos de sistemas operacionais podem ser identificados:
monoprogramveis, multiprogramveis, multiprocessveis, sistemas em rede, sistemas distribuidos, sistemas em lote ("batch"), sistemas de tempo compartilhado ("time sharing") e de tempo real.
simultaneamente na memria e concorram pelo uso dos recursos disponveis (apenas um programa detm, num determinado instante, o controle da UCP). So muito mais complexos e eficientes que os sistemas monoprogramveis. Nestes Sistemas, enquanto uma tarefa aguarda a ocorrncia de um evento externo a UCP, esta pode atender outra tarefa qualquer, que esteja em condies de ser executada. O sistema operacional se encarrega de gerenciar o acesso concorrente das diversas tarefas aos diversos recursos, de forma ordenada e protegida. Como pode ser visto na figura 2, o throughput do sistema melhora, isto , o nmero de processos concludos por unidade de tem-po aumenta, embora o tempo de execuo de cada processo possa sofrer uma piora. Compa-rando com a execuo monoprogramvel nota-se que: ta > t1, tb - tx > t2 - t1, tc - ty > t3 - t2, po-rm tc < t3.
Figura 2 - Execuo de 3 tarefas em um sistema multiprogramvel imediato concluir que um sistema multiprogramvel oferece condies de maior eficincia computacional que um sistema monoprogramvel. Um sistema multiprogramvel pode ser dos tipos: lote ("batch"), tempo
compartilhado ("time sharing") ou tempo real ("real time"), sendo que um nico sistema pode suportar um ou mais destes tipos de processamento. Sistemas "Batch" Caracterizam-se pela execuo de programas previamente introduzidos e armazenados no computador. No h interao com o usurio e os programas armazenados vo sendo executados na medida em que haja disponibilidade de recursos.
Figura VI.4 - Sistema "Batch" tpico em cartes Sistemas "Time Sharing" Surgiram com o aparecimento dos terminais de vdeo (terminais "burros") que permitiam ao usurio compartilhar distncia o uso dos recursos do computador. Dessa forma o usurio acessa e interage com o computador tanto na fase de desenvolvimento de suas aplicaes como nas fases de execuo e anlise dos resultados. Os terminais eram chamados "burros" (padro TTY) por serem desprovidos de qualquer capacidade de processamento local, que era todo executado pela UCP do sistema central. Para que cada usurio tenha chances equilibradas de utilizar os recursos, o sistema aloca uma fatia de tempo ("time slice") do processador para cada terminal ativo e os atende num esquema de fila circular. Esgotado o "time slice" de um usurio, ele perde automaticamente o controle da UCP, que passa para o usurio seguinte da fila. Alguns sistemas permite a adoo de nveis de prioridade que altera a sequncia de atendimento da fila ou o tamanho do "time slice" adotado para um usurio. No s o processador compartilhado neste sistema, mas tambm a memria e os perifricos, como discos e impressoras. O sistema cria para o usurio um ambiente de trabalho prprio, dando a impresso de que todo o sistema est dedicado, exclusivamente a ele.
Sistemas de Tempo Real So estrutural e conceitualmente semelhantes aos sistemas multiprogramados, a diferena fundamental est no tempo de resposta exigido na execuo (atendimento) das tarefas. Enquanto nos primeiros o tempo de resposta pode variar sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de resposta geralmente esto dentro de limites rgidos que, se no observados, podem inviabilizar a aplicao ou trazer problemas crticos de funcionamento. Nos sistemas de tempo real no existe a idia de fatia de tempo ("time slice"). Neles um programa mantm o controle da UCP pelo tempo que for necessrio ou at que outro processo de maior prioridade aparea. Sistemas de tempo real so comuns em aplicaes de controle de processos tais como o monitoramento de refinarias de petrleo, de usinas resposta crtico e fundamental. Sistemas Mono e Multitarefa Outra terminologia mais recentemente introduzida no jargo da informtica a de sistemas mono tarefa e multitarefa. O conceito por trs desta terminologia subjetivo onde monotarefa entendido como um sistema monoprogramvel / monousurio, como nos sistemas PC com DOS, e multitarefa como um sistema multiprogramvel / monousurio, como no sistema Linux, onde apenas um usurio faz uso do sistema, porm podendo disparar diversas tarefas concorrentes. termoeltricas e nucleares, controle de trfego areo ou qualquer aplicao onde a fator tempo de
acoplados) ou de mltiplos computadores independentes do tipo sistemas em rede e sistemas distribudos (fracamente acoplados), onde cada um tem seus prprios recursos. Os sistemas multiprocessados permitem que vrios programas sejam executados em paralelo (granularidade grossa), ou que um programa tenha duas ou mais de suas instrues executadas em paralelo (granularidade fina).
VI.8 - Referncias Bibliogrficas Davis, William S., Sistemas Operacionais - Uma Viso Sistemtica, Ed. Campus, 1990. Machado, Francis B. e Maia, Luiz P., Introduo Arquitetura de Sistemas
Stallings, William, Operating Systems,Ed. Acmillan Publishing Company, 1992. Silberschatz, Abraham e Galvin, Peter B., Operating Systems Concepts, Ed. Addison-Wesley Publishing Company, 1994. Tanenbaum, Andrew S., Sistemas Operacionais Modernos, Ed. Campus, 1995.