Anda di halaman 1dari 16

Como o SO Controla o Hardware

INTRODUO

Sistema Operacional o programa responsvel pelo funcionamento da mquina. graas a ele que todos os componentes de hardware se comunicam. Oferece ainda as funes bsicas de operao de um computador. Saber mexer em um computador requer conhecer no mnimo, as funes operacionais bsicas. o primeiro programa a ocupar a memria quando o computador ligado e com ele que o usurio trava o primeiro contato. Alm de ser um interface para o usurio poder se comunicar e operar o computador, os sistemas operacionais modernos ainda possuem uma srie de tarefas que ocorrem internamente sem o conhecimento do usurio. Cabe dizer que o SO no apenas um programa e sim um conjunto de diversos programas que se comunicam entre si e cada um com um tarefa especfica. Por exemplo: para que cada hardware (dispositivo) acoplado ao computador possa se comunicar com este, so necessrio os "programas controladores de dispositivos" conhecidos como drivers. Resumidamente, como a coisa funciona : o monitor est ligado na placa de vdeo. Esta por sua vez est espetada na placa-me. O driver fica responsvel em enviar as informaes que devero ser exibidas no monitor, definir o esquema de cores, etc. Outro exemplo: quando voc mexe o mouse o seu driver que interpreta os movimentos e comunica ao ncleo do sistema operacional que ento executa a ao apropriada, enviando para o vdeo (atravs do driver de vdeo) a nova posio. O sistema operacional quem coordena todas as tarefas: que programa pode usar a CPU e quando; que programa dever ser carregado na memria a partir do disco rgico (HD); que dados sero enviados para impressora; etc.

SISTEMAS OPERACIONAIS O Sistema Operacional um software que proporciona uma plataforma de servios de menor nvel compartilhados por vrios aplicativos que recorrem ao sistema operacional continuamente

para as tarefas mais comuns (enviar dados ao monitor, atualizar arquivos em disco, receber entradas a partir do teclado e do mouse, ...) que suportam seu processamento.

Comunicao com o Hardware O propsito de qualquer sistema operacional separar os usurios e programadores do hardware. muito mais sensato escrever um conjunto nico de rotinas, coloc-las no sistema operacional, e permitir que usurios e programadores as chamem, do que obrigar cada um a reproduzir aquela lgica cada vez que for necessrio ter acesso ao hardware.

O Sistema de Controle de Entrada/Sada O nico modo de se ler um programa ou um conjunto de dados de um disco para a memria principal enviar ao drive uma srie de comandos primitivos, solicitando busca e leitura do contedo de um ou mais setores. O que se quer so os dados, os detalhes primitivos de hardware, juntamente com o modo de acess-los, so problemas do computador. quando o SO entra em cena. A maioria contm um sistema de controle de entrada/sada (IOCS), que gera os comandos primitivos necessrios. O sistema de controle de E/S comunica-se tambm com outros perifricos do computador. Cada dispositivo controlado por seu prprio conjunto de comandos primitivos. Os programas aplicativos emitem pedidos lgicos para iniciarem uma entrada ou uma sada. O sistema de controle de entrada/sada recebe esses pedidos e gera os comandos primitivos necessrios para controlar fisicamente esses dispositivos perifricos. O estabelecimento de comunicaes com um dispositivo externo envolve mais do que apenas a gerao de comandos primitivos. Assim, sempre que dois componentes do hardware se comunicam, devem Ter seus sinais eletrnicos cuidadosamente sincronizados. Essa sincronizao envolve a troca de um conjunto predeterminado de sinais, chamado protocolo. O sistema de controle de entrada/sada aceita solicitaes lgicas de E/S enviadas por um programa aplicativo, que realiza quantas operaes fsicas de E/S forem necessrias para se obterem os dados solicitados, seleciona ou combina os dados fsicos para formar um registro lgico, e devolve esse registro ao programa aplicativo. Nem todos os sistemas operacionais trabalham com registros. Alguns deles encaram os dados em disco como simples cadeias de bytes. Em lugar de pedir registros lgicos pelos seus nmeros relativos de registro, o programa solicita uma quantidade de bytes a partir de um endereo relativo de byte, e introduz naquela cadeia de bytes a estrutura desejada. O sistema de controle de E/S do SO aceita as solicitaes lgicas de E/S, realiza as operaes fsicas de E/S necessrias para execut-las, e converte posies relativas de bytes, e comprimentos em endereos especficos de trilha e setor.

O Sistema de Arquivos

Como o sistema sabe onde comea um determinado arquivo? A localizao de cada arquivo de um disco pode ser encontrada pesquisando-se o diretrio do disco, tarefa que executada pelo sistema de arquivos. O processador de comandos interpreta o comando e transfere o controle para o mdulo de carregamento de programas. Este mdulo ativa o sistema de arquivos, que l o diretrio. Como o diretrio de um disco est sempre armazenando no mesmo setor ou setores, o sistema de arquivos sabe onde encontr-los. O sistema de arquivos responsvel, tambm, pela alocao de espao em disco. Teoricamente, quando um arquivo criado, seus dados so armazenados em uma srie de setores consecutivos, mas, uma vez que muitos arquivos diferentes compartilham o mesmo disco, isto nem sempre possvel. Um aspecto que pode provocar confuso a diferena entre o sistema de arquivos e o sistema de E/S. Geralmente, o IOCS o mdulo que se comunica diretamente com os dispositivos perifricos em nvel de primitivas. O sistema de arquivos, por seu lado, desempenha funes lgicas, como gerenciamento do diretrio e a alocao de espao em disco. O sistema de arquivos usa o IOCS para ler e gravar o diretrio, a tabela de alocao do disco, e os setores de dados.

Alocao de Memria O sistema operacional um conjunto de mdulos que, entre outras coisas, carrega programas e presta-lhes suporte enquanto esto sendo executados. Em geral, as primeiras centenas de bytes da memria so reservadas para o armazenamento das informaes do sistema operacional. A seguir vem o sistema de controle de entrada/sada, o sistema de arquivos e o processador de comandos. A memria restante chamada de memria transiente. Alguns mdulos do sistema operacional, como os que controlam a E/S, do suporte direto aos programas aplicativos durante sua execuo, e, portanto, precisam ser residentes. Outros, como o mdulo que formata discos, so usados apenas ocasionalmente e, por isso, podem ser transientes. Os mdulos transientes residem em disco e so lidos para a memria quando se tornam necessrios. Como o espao de memria principal limitado, aconselhvel manter como residente apenas a lgica essencial. O carregamento de programas aplicativos nem sempre um processo fcil como pode parecer, tendo em vista que o espao necessrio para aloc-los pode variar durante a sua execuo. Como exemplo, alguns programas fazem uso de estruturas de overlay. Tendo em vista que a quantidade de memria exigida por um programa pode variar durante a execuo, o sistema operacional mantm uma tabela de espao livre. Quando o programa emite uma solicitao de encadeamento ou de overlay, o console passa ao sistema operacional, que examina a sua tabela de memria livre, determina se h espao suficiente para comportar o novo mdulo, aloca o espao, e l o mdulo para a memria. Em seguida o sistema operacional devolve o controle ao programa aplicativo.

Interrupes

Como tudo que o computador deve fazer converge para a CPU, existe um trfego intenso de instrues que entram e saem do chip em que ela est, ou seja, o microprocessador. Assim, alm de termos acessos que ora funcionam como entradas ora como sadas, temos um sistema muito bem organizado de controle de seu funcionamento. Ocorre que a CPU poderia receber solicitaes para fazer duas coisas ao mesmo tempo e isso no possvel. O usurio poderia tentar digitar alguma coisa ao mesmo tempo que seu Modem tentasse transferir dados para o monitor ou coisa parecida. O que existe no microprocessador uma organizao de acesso atravs de interrupes (IRQ). Cada dispositivo recebe uma senha ou um nmero que indica sua prioridade de acesso CPU, ou seja, um nmero de IRQ (Interuption Request) que permite que a CPU saiba quem tem prioridade no atendimento, caso haja vrias solicitaes de acesso ao mesmo tempo. Logo, se o teclado tiver uma IRQ 1 e tentar acessar a CPU ao mesmo tempo que a porta paralela LPT1 em que est ligada a impressora e que tem uma atribuio de IRQ 7, ele ser atendido primeiro.

Carregamento O carregamento e execuo de um programa iniciam-se com um comando que lido e interpretado pelo sistema operacional. Naturalmente o sistema operacional colocado na memria. Entretanto uma grande parte dos computadores possuem a memria principal voltil RAM, que perde seu contedo a cada vez que a mquina desligada , desta forma toda vez que o computador inicializado devemos carregar o sistema operacional. Normalmente o sistema operacional armazenado em discos e copiado para a RAM, esta tarefa executado pelo BOOT normalmente armazenado nos dois primeiros setores do disco, que ser ou no lido automaticamente pelo Hardware, sempre que o micro for inicializado. O Boot no passa de algumas instrues que so necessrias para executar a leitura do restante do sistema operacional e a partir da o usurio poder digitar os comandos para carregar um programa.

Medidas de Eficincia. Alm de servir como interface entre o hardware e software, um sistema operacional tambm gerencia os recursos do computador, garantindo que sejam utilizados de forma eficiente. Embora o aspecto da eficincia seja menos importante em microcomputadores do que em mquinas de grande porte, existem algumas tcnicas de gerenciamento de recursos desses ltimos que so comum aos sistemas de monousurios.

Disparidade

O fato de que um computador esteja executando um programa no significa que esteja sendo usado de forma eficiente. Antes de mais nada, existe uma enorme disparidade de velocidade entre o computador e seus perifricos. Imaginamos um programa que l um setor do disco e executa 100 instrues, e grava um setor neste disco. Nosso computador capaz de executar 1 milho de instrues por segundo e, portanto, as 100 instrues gastam apenas 0,0001 segundo do tempo do processador. Um disco de alta velocidade pode procurar e acessar um determinado setor em poucos milisegundos, se utilizarmos qualquer tcnica que reduza significativamente o nmero das operaes fsicas de E/S melhorar de forma significativa o a eficincia do sistema. Uma soluo para este problema o emprego de Buffer Mltiplos. Escalonamento Os usurios de microcomputadores tendem a interessar-se por aplicaes especficas, com editores de texto, planilhas ou desenvolvimento de programas. Entretanto, muitos sistemas comerciais pequenos executam grande variedade de programas, processando folhas de pagamento, atualizando inventrios, gerando relatrios contbeis etc. Em tais computadores, a transio de um tipo de servio para outro pode ser problemtica. Antes que qualquer programa possa ser executado, os discos tm que ser selecionados, a impressora precisa ser abastecida com os formulrios adequados, e as outras tarefas de preparao devem ser completadas, e tudo isso toma tempo. Uma conseqncia do tempo perdido pode ser a necessidade de pagamentos extras ao operador, e uma outra seria a subutilizao de um equipamento relativamente caro - O Computador. Como soluo parcial deste problema, temos o escalonamento. Como exemplo, vamos considerar quatro programas com exigncias diferentes em termos de formulrios. A execuo desses servios na ordem indicada significar quatro trocas de papel. Se, no entanto agruparmos os programas com exigncias semelhantes, o mesmo servio poder ser feito com uma nica troca de formulrios, com significativa reduo tanto de tempo quanto no preparo do tempo total despendido. Nem todas as combinaes de programas so to bvias, mas uma boa idia agrupar tarefas similares para aproveitar as vantagens de preparao comuns. O escalonamento permite, ainda, que um operador providencie antecipadamente as necessidades de um programa B, enquanto o programa A estiver sendo executado.

Outros Mtodos de Poupar Tempo de Execuo A preparao no o nico motivo de desperdcio de tempo no uso de um computador. Considere, por exemplo, a compilao. Aps um programa ter seus erros depurados, a compilao, que a converso da linguagem de programao em linguagem de mquina, produz sempre os mesmos resultados. Seria prefervel armazenar o mdulo objeto em disco, para depois carreg-lo e executa-lo. Muitos programas processam um grande volume de dados, gastando bastante tempo nesta atividade. Quanto mais longo for esse processo, maio e o risco de que um problema eltrico, um erro de dados, ou alguma outra falha, venha a interromper a execuo. Freqentemente, a nica maneira de recuperar os resultados executar novamente o programa, o que significa um bvio desperdcio de tempo do computador e do usurio. Esse problema pode ser minimizado pelo emprego de pontos de verificao( checkpoints ).

A idia bsica gravar um resultado intermedirio do programa na memria secundria a intervalos regulares - digamos, a cada 10 minutos, muitas vezes todo o programa gravado. Se houver ocorrido um erro, o programa, reinicializado a partir do ltimo ponto de verificao.

Sistemas Operacionais DOS - surgiu no final de 1981 com o lanamento do primeiro micro IBM PC. Desenvolvido pela Microsoft. Com duas fachadas : o PC DOS que comercializado pela IBM junto com seus equipamentos, e o MS-DOS que tem sua comercializao feita por meio da Microsoft. Desde o seu lanamento teve 6 verses e cinco atualizaes de menor porte. Ambiente Windows - O Windows foi desenvolvido pela Microsoft. uma sistema operacional multitarefa preenptiva e plug and play que aproveita melhor os recursos das mquinas de 386 para cima. O Windows 95 tem uma arquitetura de 32 bits, essa caracterstica o modo de endereamento a memria em blocos de 32 bits, agilizando o processamento do programa que esta sendo executado.

O hardware representa o equipamento fsico: monitor, teclado, discos, processador, memria e outros dispositivos. O software representa o conjunto de programas, que o hardware executa, com determinado fim. O software de um computador pode ser de dois tipos:

Programas de sistema ou Sistema operacional = que gerenciam a operao do computador;

Programas de aplicao = programas feitos pelos usurios para a soluo de seus problemas. O sistema operacional o programa de sistema mais fundamental, pois ele controla todos os recursos do computador e fornece a base sobre a qual os programas de aplicao podem ser escritos. O sistema operacional uma camada de software colocada em cima do hardware de modo a esconder as complexidades inerentes a este mesmo hardware, como pode ser visto na figura abaixo.

As principais tarefas de um sistema operacional so as seguintes:

gerenciamento de memria; controle de processos;

gerenciamento de sistemas de arquivos; controle de I/O (entrada e sada)

Estas tarefas so realizadas atravs de um conjunto de instrues fornecido pelo sistema operacional. Estas instrues so denominadas de "system calls" (chamadas do sistema) as quais so responsveis pela interface com o programa do usurio, e formam o que conhecido como o "kernel" do sistema operacional. O sistema operacional controla o hardware de computao, maneja recursos do sistema, faz programas em respostas aos comandos do usurios, e supervisiona a interao entre o sistema e seus usurios. O sistema operacional tambm base dentro da qual as aplicaes de software - como, processamento de palavras, planilhas e programas diversos - so desenvolvidos e executados. Quando um computador ligado, o sistema operacional carregado na memria fsica, composta pelo disco rgido e por uma srie de chips RAM (Memria de Acesso Randmico). A principal caractersticas destes chips que eles podem ser carregados e descarregados na medida em que um programa vai sendo executado. J as memrias ROM (Memria Apenas para Leitura) possuem contedo fixo (tal como a BIOS). Faz-se distino entre memria bsica (aonde rodam programas de base DOS) e memria estendida, aonde rodam o Windows e outros programas. Fala-se tambm de memria expandida (uma espcie de memria adicional para armazenamento de dados) e memria virtual (memria extra que se obtm dividindo-se um programa em partes), em oposio memria fsica. Assim, pode-se rodar um programa de dimenses maiores que a memria fsica (at 4 Gigabytes no Windows). preciso ter em mente que a memria seletiva, ou seja, dados, cdigos executveis, valores de variveis, mensagens, etc., so alocados em lugares diferentes. O Windows um sistema operacional multitarefa. Como tal, ele pode rodar dois ou mais programas simultaneamente. Tecnicamente falando, isso no significa que os programas rodem

em paralelo: o sistema operacional alterna entre eles numa velocidade tal que, do ponto de vista do usurio, eles parecem rodar ao mesmo tempo. Alm disso, o Windows permite a execuo de multitarefa baseada em Threads (canais) - uma unidade de cdigo executvel qual pode ser alocado espao extra. Outros sistemas operacionais, tal como o Unix, adotam outro tipo de sistema - o sistema de parties - isso conseguido atravs da diviso do disco rgido em partes, ou seja, os programas no operam em segundo plano. J o Windows, embora adote "endereamento plano de memria", tambm pode simular um sistema destes e comporta um mecanismo dinmico de gerenciamento da memria: isso lhe permite otimizar o espao livre em disco. Alis, "endereamento plano" significa que o sistema adota um tipo de memria linear, virtual, no qual a diviso de memria independe da memria fsica (e, consequentemente, da distribuio de elementos de hardware). Um complexo sistema de gerenciamento da memria virtual substitui o velho sistema de parties com vantagem. Partindo da utilizao do gerenciador de programas (Windows Explorer), que o sistema se organiza hierarquicamente em unidades (Drives), pastas, arquivos, documentos, etc. Costumeiramente, as duas primeiras unidades se referem ao Drive de disco flexvel (disquetes); a terceira unidade (raiz C) refere-se ao disco rgido e outras unidades podem referir-se a diversos elementos como, por exemplo, o Drive de rede. Observe que isso pode ser mudado e que, portanto, esta ordem pode variar de computador para computador. Alm disso, um programa qualquer pode dispor quer de uma interface de chamadas quer de interface grfica. Quando voc opera o sistema a partir de linhas de comando, isso uma interface de chamadas (tal como o Prompt do MS-DOS). Quando voc opera a partir de elementos grficos, tais como janelas e botes de comando, isso uma interface grfica. O Windows, fundamentalmente, dispe de uma interface grfica, porm possvel ativ-lo atravs de uma linha de comando: o comando Iniciar/Executar da barra de tarefas. Antigamente, os Sistemas Operacionais visavam somente gerenciar uma das operaes mais complexas de Entrada/ Sada: a comunicao com vrias unidades de disco. Mas o Sistema Operacional rapidamente transformou-se numa ponte completa entre o PC e o programa executado nele. O Sistema Operacional cria uma plataforma comum a todos os programas utilizados. O Sistema Operacional fornece ferramentas para gerenciar todas as tarefas que voc deseja executar fora do aplicativo - apagar e copiar arquivos, ver a lista dos arquivos contidos no disco e executar uma srie de comandos em um arquivo de lote (batch file). O Sistema Operacional no trabalha isolado. Ele depende no somente da cooperao de outros programas mas da combinao sem conflitos com o BIOS.

BIOS O BIOS a parte do sistema operacional que cuida das coisas bsicas que lidam diretamente com os circuitos da mquina. Como uma figura mitolgica um ente hbrido, meio hardware meio software. Uma parte gravada em ROM: o ROM-BIOS ou BIOS permanente, fornecido pelo fabricante e incrustrado na placa me do micro. O restante vem em disco - o mstico arquivo oculto Io.Sys do MS/DOS ou o mais prosaico Ibmbio.Com do IBM/DOS - fornecido juntamente com o sistema operacional. A natureza hbrida do BIOS se deve justamente sua funo de integrar a mquina com os programas. A parte permanente perfaz servios que dependem somente dos circuitos internos, que variam com o fabricante. Coisas ligadas apenas ao hardware, como transformar o toque numa tecla na exibio de um caractere no vdeo, ler um bit numa porta serial, ajustar o relgio ou pesquisar a lista de equipamentos instalados. A parte que vem em disco tambm acessa a mquina diretamente, porm de uma forma dependente do DOS - que por sua vez usa o BIOS para grande parte de suas funes. Como

ligada maneira pela qual o sistema operacional acessa a mquina, ela integra esse sistema e por isso fornecida com ele. Dizer que o BIOS trabalha desde o exato momento em que ligamos a mquina no uma imagem retrica, mas a pura expresso da verdade: ele o responsvel pelo POST, Power On Self Test, ou autoteste de partida: aquela coisa chata que o micro teimosamente insiste em fazer toda vez que ligado, nos informando que os tantos Kbytes de memria esto OK, nosso disco rgido do tipo que j sabemos e tudo o mais. Mas no pense que isso uma reles demonstrao de exibicionismo barato ou mera gentileza para nos informar aquilo que j sabemos. Na verdade ele s pe aquelas mensagens na tela para nos distrair enquanto celeremente vasculha o interior da mquina para se informar, verificando se no nos aproveitamos de sua impotncia enquanto desligado para solertemente trocar ou acrescentar algum dispositivo. E testa tudo o que encontra - da as luzes de todos os drives se acenderem durante o POST. Depois do POST, a inicializao. Como ser hbrido que , o BIOS se sente pouco vontade, indagando reaganeanamente onde estaria o resto dele mesmo - a parte que est em disco. Como lida somente com o hardware, no sabe o que um "arquivo". Coisas assim complexas ficam para seu irmo mais sbio, o DOS. Mas, diligente, sabe muito bem o que um disco, uma trilha e at mesmo um setor. E, rapidamente, tenta carregar na memria o primeiro setor da trilha zero do disco que est no drive A. Se no acha l o que procura, tenta o drive C. E qual o objetivo desta sfrega busca ? O "boot sector", ou setor de carga. Todo disco que contm o sistema operacional tem um programinha gravado nesse setor, que carregado na memria pelo BIOS permanente e executado imediatamente. No espere demais de um programa que cabe em um setor: ele apenas carrega um arquivo do disco e passa o controle para ele. Adivinhou que arquivo esse ? Parabns: o "resto" do BIOS, o Io.Sys (ou Ibmbio.Com). Incidentalmente, no reclame da aparente perda de tempo em procurar o sistema no drive A e s depois no C, onde qualquer ignorante sabe que ele est. No dia em que os perversos deuses dos discos rgidos amaldioarem os primeiros setores de sua winchester, voc vai render homenagens aos sbios que lhe permitiram carregar o sistema a partir do drive A... Depois que completou a si mesmo, sob a aparente calma de uma tela imvel, o BIOS prossegue em sua frentica atividade. Relocando memria, se "ajeita" nas entranhas da mquina, e somente ento carrega o Msdos.Sys (ou Ibmdos.Com), esse sim, o DOS ou Sistema Operacional de Disco. E, obediente, passa o controle para ele. Como seu trabalho de inicializao j terminou, carrega o DOS exatamente em cima do trecho de memria ocupado por suas rotinas destinadas quele fim. Um pungente exemplo de autoimolao para lhe proporcionar mais memria. E da em diante o BIOS pe suas habilidades disposio do DOS e de seus programas at o desligar da mquina. Discreto e invisvel como os velhos mordomos, permanece cuidando das tarefas rotineiras e aparentemente desimportantes de manuteno da mquina. Quase desapercebido, avesso a notoriedades, permite que os louros das grandes realizaes sejam galhardamente colhidos pelo DOS. Que sem o BIOS no seria capaz nem mesmo de acender um msero ponto em sua tela...

Controladores de Vdeo As placas de vdeo dividem-se em comuns, aceleradoras e co-processadas, em ordem de performance. As comuns tem como principais componentes um RAMDAC (Conversor AnalgicoDigital) e o seu chipset (Trident, OAK, Cirrus Logic, etc.). As aceleradoras geralmente so placas com barramentos que permitem melhor performance na transferncia de dados e as co-

processadas tem um microprocessador dedicado para a parte de vdeo deixando o processador principal livre. A frequncia de varredura do monitor controlado pela placa de vdeo. Enquanto um televisor utiliza a frequncia de 60 Hz, as placas de vdeo normalmente redesenham a tela 70 vezes por segundo (70 Hz), apesar da VESA (Video Eletronics Standards Association) recomendar um mnimo de 85 Hz. Abaixo disso, o monitor poder causar problemas oculares aos usurios. Algumas placas mais novas j utilizam uma frequncia de mais de 120 Hz. A mxima resoluo e o nmero mximo de cores que aparecer no monitor depende tambm da placa de vdeo (desde que o monitor seja capaz de exib-las). A memria RAM da placa (denominada memria de vdeo) guarda as informaes de vdeo a serem processadas. Podem ser do tipo DRAM e VRAM. A VRAM mais rpida por ter um tempo de refresh (regravao constante da memria) curto. o tamanho da memria de vdeo que determina a resoluo mxima combinada ao nmero de cores que podem ser utilizadas por vez. Veja a tabela abaixo (resoluo x quantidade de memria x nmero de cores): Resolu o 640x480 800x600 1024x768 1280x102 4 1600x120 0 1800x144 0 SVGA 1MB 16 M 64 K 256 16 SVGA 2MB 16 M 16 M 64 K 256 SVGA 4MB 16 M 16 M 16 M 16 M SVGA 8MB 16 M 16 M 16 M 16 M

256

64 K

16 M

16

256

16 M

Atualmente, qualquer monitor SuperVGA pode exibir 16,7 milhes de cores. Para quem usa o micro com aplicativos tais como editores de texto, planilhas, etc., uma placa com 1 MB de memria atende perfeitamente as necessidades. Porm, se voc pretende trabalhar com aplicativos grficos, tais como imagens 3D, arquivos AVI, edio de imagens, recomendvel pensar em 2 MB, se possivel 4 MB. No mercado, as placas controladoras de vdeo so do padro PCI. Algumas apresentam slots de memria livres para expanso futura.

Controladores de Drive e Winchester Esta placa a que controla o acesso a drives e winchesters. A IDE pode trabalhar no mesmo micro junto com outro tipo de controladora sendo esta na verdade apenas uma interface entre a winchester e a placa-me.

Essas placas denominadas SUPER-IDE ou MULTI-IDE contm geralmente 2 sadas seriais, 1 sada paralela e 1 sada para joystick (para jogos).

Microprocessador Um Microprocessador possui funes e instrues especficas para gerenciamento de memria, possibilitando que o Sistema Operacional trabalhe seguramente com vrios programas ao mesmo tempo, atravs de um recurso conhecido como modo protegido. As seis unidades bsicas do Microprocessador obtm os dados e instrues da memria guardando-os em locais onde possam ser facilmente recuperados pelas demais unidades, do sentido a estas instrues, gerenciamnas e devolvem o resultado RAM. Cada passo corresponde s tarefas desempenhadas pela Unidade de Interface do Barramento, pela Unidade de Pr-Busca de Cdigo, Unidade de Decodificao de Instruo, Unidade de Execuo e Unidades de Segmentao e Paginao.

Kernel O Kernel responsvel por controlar o hardware e fornecer as system calls para que os programas tenham acesso aos servios do sistema, como criao e gerncia de processos, gerncia de memria, sistema de arquivos, gerncia de E/S, etc. O Kernel pode ser dividido em duas partes. A parte dependente do hardware consiste nas rotinas de tratamento e interrupes, device drives, parte do gerenciador de memria, ou seja, tudo que normalmente deve ser reescrito quando se est portando um sistema UNIX para uma plataforma. A parte independente do hardware no tem a princpio nenhum vnculo com a plataforma onde est sendo executada, sendo responsvel pelo tratamento das system calls, gerncia de processos, escalonamento, pipes, paginao e swapping, gerncia de arquivos e demais. Parte do sistema operacional residente em memria, o Kernel, comparado com outros sistemas operacionais, oferece um conjunto relativamente pequeno de primitivas, a partir das quais podem ser construdas rotinas de maior complexidade. A estratgia de criar um sistema modular foi muito importante no processo de desenvolvimento do UNIX, pois novos programas utilitrios podem ser facilmente integrados ao sistema, sem que o Kernel tenha que sofrer qualquer tipo de alterao.

Streams Streams um conjunto de funes em C destinado ao desenvolvimento de servios do sistema de comunicao que variam desde processos de protocolos de rede completos at acionadores de dispositivo independentes de hardware. Os STREAMS define interfaces padres para entrada e sada de carter no ncleo do UNIX e entre o ncleo e o restante do sistema. O mecanismo associado constitudo por um conjunto de chamadas de sistema, recursos do ncleo, e rotinas utilitrios que permitem desenvolvimento modular e porttil, e integrao de servios de rede de mais alto desempenho e seus componentes. Ele no depende de qualquer arquitetura de rede especfica, mas fornece um

araboo com interface de usurios consistente e compatvel com a interface de entrada/sada de carter atualmente disponvel. Os componentes bsicos de uma implementao de STREAMS so os mdulos residentes no ncleo que oferecem um conjunto de funes de processamentos e interfaces de servios associados. Esses mdulos podem ser selecionados dinamicamente e interconectados para fornecer qualquer seqncia de processamento racional sem a necessidade de programao do ncleo, assembly, e ligao edio. Podem tambm ser dinamicamente consertados em conexes existentes, no nvel do usurio. O STREAM pode ser usado para criar, usar e desmanter um fluxo (stream), que o processamento e transferncia de dados dplex entre um acionador no espao do ncleo e um processo no espao do usurio.

UNIX O Ncleo do UNIX A arquitetura do sistema operacional do UNIX distribui certas funcionalidades para diferentes componentes. Como ambiente DOS, o ncleo do UNIX o corao do sistema operacional. Ele executa funes chaves como gerenciamento de memria e de processos, e tambm controla o sistema de arquivo hierrquico, para mencionar umas poucas. O ncleo mantm consistncia no sistema de arquivos tratando tudo como arquivo. No UNIX, o ncleo v os arquivos como fluxos de bytes, independentemente de sua origem ou destino. (Os diretrios do sistema de arquivo hierrquico so apenas arquivos comuns que contm informaes especiais). Tambm a segurana, inexistente em sistema DOS (mesmo no OS/2), controlada pelo ncleo. Usurios e processos somente podem acessar dados de acordo com um bem definido conjunto de permisses e regras que o ncleo faz vigorar. Essencialmente, o ncleo um tipo de motor do sistema UNIX. As principais caractersticas do UNIX so: * Controlar a execuo dos programas ou softwares aplicativos; * Gerenciar o uso de um processador; * Gerenciar a memria principal e a memria secundria, tambm chamada SWAP; * Gerenciar o uso dos perifricos.

Acionadores de Dispositivos ( Device Drives)

Outro componente da arquitetura UNIX o acionador de dispositivo. Um acionador de dispositivo um software que possibilita a transmisso de dados entre um dispositivo particular (ou classe de dispositivo) e a memria do computador. Os acionadores de dispositivos so controlados pelo ncleo e, de fato, tornam-se parte do ncleo durante a partida do sistema. Alguns acionadores de dispositivo podem ser acrescentados ao ncleo aps o sistema j estar rodando, e h at mesmo outros que podem ser removidos sem a necessidade de dar nova partida no sistema. Os acionadores de dispositivo do DOS so equivalentes aos acionadores de dispositivos do UNIX, pelo menos conceitualmente. A maneira como os acionadores de dispositivos do UNIX so controlados pelo ncleo e o modo como se comportam so bem diferentes.

Comunicao Interprocesso no UNIX Em ambientes multitarefa em que vrios processos rodam concorrentemente, mais cedo ou mais tarde tornam-se necessrio fazer com que se comuniquem, especialmente quando mltiplos processos executam todas partes importantes de uma tarefa maior, trabalhando juntos. O enfoque dos mltiplos processos concorrentes mais de se desejar do que o enfoque convencional de programas monolticos (usado no alvorecer dos grandes computadores de grande porte). Programas menores so mais facilmente escritos, mais facilmente mantidos, e mais facilmente depurados. Eles podem tornar-se altamente especializados de modo a reduzir ou eliminar a duplicidade entre mdulos. Um exemplo de processos cooperativos quando um processo servidor se comunica com vrios processos clientes, como acontece nas aplicaes com X Windows. Quando mltiplos processos esto rodando e cooperando uns com os outros, eles precisam compartilhar dados. Por exemplo arquivos podem ser compartilhados entre processos, mas isso pode ser ineficiente medida que aumenta a demanda pelo arquivo. Por essa razo o UNIX system V prov uma variedade de mtodos de comunicao interprocesso. Os mais amplamente usados desses mtodos so os sinais e os dutos (tambm chamados FIFOs).

O Shell do UNIX O shell do UNIX o contato principal para desenvolvedores e usurios j que ele fica ente eles e as partes internas da mquina. O shell uma parte integral do sistema UNIX, projetada para permitir que usurios se comuniquem com ele em termos que possam entender. Ele uma interface muito flexvel, poderosa e programvel projetada para executaras instrues passadas pelo usurio. Essas instrues podem vir ou de um teclado de um terminal, de um roteiro do shell rodando como um processo, ou pode ser chamado atravs de uma chamada de sistema de uma programao de aplicao executando como processo.

Variveis do Ambiente O shell usa um ambiente conceitualmente similar ao ambiente do shell do DOS. O ambiente uma rea da memria que contm uma lista de variveis do shell e seus valores e que criada

para cada usurio quando a sesso aberta. Ela pode ser usada pelo shell ou por processos para obter os valores das variveis do shell, como o percurso par o diretrio base do usurio, informaes par computar a hora a partir do GMT (Greenwich Mean Time), a ID de usurio de algum com sesso em um terminal e muitas outras coisas. H trs tipos de variveis de ambiente: variveis de usurios, variveis do shell e variveis do shell de leitura somente. Essas so as variveis que podem ser declaradas, inicializadas, lidas e modificadas ou diretamente em uma linha de comando ou em um roteiro de shell. Essas variveis so tradicionalmente vistas como variveis do ambiente pela maioria dos usurios, mas, para ser mais preciso, elas so variveis do usurio. As variveis do shell so aquelas declaradas pelo shell do UNIX, mas que podem ser acessadas pelo usurio para leitura e modificao. As variveis do tipo somente leitura do shell tambm so declaradas pelo shell e podem igualmente ser lidas pelo usurio, mas no podem ser modificadas por ele. Isso no deve ser confundido com o recurso de tornar uma varivel do usurio somente de leitura. Um usurio pode criar uma varivel de usurio, inicializ-lo com um valor, torn-la somente de leitura. Uma vez que a varivel tenha sido declarada somente de leitura, o usurio no pode mudar seu valor. As variveis de ambiente podem ser acrescentadas ao ambiente do shell do usurio a qualquer momento, incluindo no arquivo .profile do usurio, no qual os usurios tradicionalmente executam personalizao de seu ambiente inicial.

O Shell uma interface de comandos/programas do usurio com o ncleo do Sistema Operacional e o Hardware. O Linux possui diversos Shell's os quais podem ser trocados quando o usurio bem decidir (ou tiver permisso para isto). Eles permitem inclusive a execuo de programas remotos, possuem diferentes funes e nveis de segurana. Um dos Shell's padro do Linux o "bash" (um dos mais usados!). O Shell pode ser traduzido como um interpretador de comandos. Linux e Unix so Sistemas Operacionais multitarefa, em que o usurio pode ter vrios comandos/programas rodando em um console. O shell permite que comandos/programas rodem tanto em background (segundo plano) como em foreground (primeiro plano), e permite ainda a execuo de consoles virtuais, ou seja, o usurio pode chamar quantos comandos/programas quiser que o shell vai dar conta de interpretar todos eles e tomar as devidas medidas para a sua execuo.Todos os Shells permitem que voc os programe, crie arquivos de scripts com comandos do Sistema Operacional, variveis, outros scrips e diversos outros recursos. A programao no Shell do Linux/Unix pode ser comparada com os seus programas limitados de lote do DOS com extenso .BAT. Controlar os perifricos de seu computador. Isto inclui controlar tudo! Quem controla os perifricos do computador o Sistema Operacional, portanto quando se est dentro de um editor de texto e clica no boto "imprimir", o programa passa o teu texto para o Sistema Operacional e no faz mais nada. O resto do servio pesado com o Sistema Operacional, que determina como sero formatados os seus dados para um formato que o dispositivo de impresso entenda. O Linux pode controlar outras coisas, como seu fax/modem, mouse, scanners, impressoras jato de tinta, laser, matriciais, drives de CD-ROM IDE e SCSI, placas SCSI, placas diversas e uma grande quantidade de perifricos. O Linux est sendo suportado por grandes fabricantes de hardware/software, como IBM, DELL, Corel/Borland, Oracle e diversos outros, o que lhe permite cada vez mais suportar grandes quantidades de perifricos que antes nem eram suportados pelo prprio Unix! Se no fosse pelo Sistema Operacional Linux, muitos perifricos nunca seriam suportados pelo Unix, pois foi o Linux que fez a comunidade internacional despertar novamente para o Unix. Gerenciamento eficiente de memria (RAM, Swap, cache, memria secundria, etc.). O Linux nunca travou desde que foi instalado como servidor de arquivos na rede da empresa que trabalho e isto j vai fazer um ano!!!. Este comportamento de "travar" por mal gerenciamento de memria s acontece com os outros sistemas, se no for gerenciada com cuidado, os aplicativos

podem invadir a rea dos outros sistemas. A verdade que todo Sistema Operacional est sujeito a sofrer erros com problemas de travamento de memria, que podem ser causados por falhas de software, hardware e at falhas humanas. Este assunto bastante amplo e no vale a pena ficar defendendo um ou outro, mas o Linux usa esquemas de proteo de memria entre processos que permitem aos programas executarem sem incomodarem uns aos outros. O administrador possui vrias ferramentas para monitorar essas atividades, inclusive podendo matar processos que esto rodando com problemas. A quantidade de recursos que o Linux/Unix possui para gerenciamento de memria (parties, swap, etc.) bastante grande. Gerenciamento do sistema de arquivos (ext, FAT, HPFS e outros bem como pontos de montagens, etc.). O Linux pode trabalhar com diversos tipos de Sistemas de Arquivos, como, por exemplo, a FAT e VFAT da Microsoft, HPFS do OS/2 da IBM, o ext2 que seu Sistema de arquivos nativo, e diversos outros (mimix, xenix, Netware, Venix, PC/IX, Amoeba...). Gerencimento de multitarefa de forma eficiente. O Linux possui um gerenciamento de multitarefa bastante eficiente. Por exemplo: quando voc formata um disquete, sua mquina no fica travada e voc pode estar recebendo email e escrevendo um texto (como este aqui!). O Linux tem a capacidade de escalonar os processos para a CPU de forma a no prejudicar nenhum, sem contar que as novas verses do Kernel do Linux suportam CPUs com mais de um processador, cluster e outros recursos que fazem da multitarefa um recurso que deve ser explorado com seriedade. Controlar processos rfos, o ciclo de vida dos processos. Isto tem a ver com a caracterstica anterior. Quando um processo iniciado no Linux, um processo pai chamado init assume o controle, controlando todos os processos que esto rodando. Caso ocorra a morte de um processo, o init se encarrega de "enterr-lo". Caso algum processo chame outro processo e o primeiro morra, para que o segundo no fique rfo, o init se encarrega de adot-lo. Init o pai dos processos. Por exemplo, ele o responsvel por enviar um sinal de trmino de execuo e morte a todos os processos quando o sistema entra em fase de desligamento, entre outras atividades.

Controlar as funes de comunicao (infra-estrutura de redes, comunicaes seriais e paralelas). Uma das caractersticas mais importantes do Linux permitir a conexo em rede com mquinas Windows. Isto feito por meio da sute de programas Samba, a qual usa o protocolo NetBIOS sobre TCP/IP. Tambm est disponvel no Linux um emulador de Netware, que permite ao Linux se conectar com redes que esto rodando IPX (o protocolo da Novell).

CONCLUSO Sem um Sistema Operacional (ou S.O.) nenhum hardware torna-se utilizvel pelo usurio. Normalmente este um definido como conjunto de programas que fazem a interface entre o microcomputador e o usurio, ou seja, ele atua mais diretamente com o hardware de seu micro. Alm disso, os S.O. oferecem vrios aplicativos simples para o gerenciamento e manuteno dos dados no HD e disquetes. Os S.O. executam as mais diversas tarefas tais como o controle de entrada e sada (input/output), leitura/escrita em disco ou HD, escrita em monitores e controlar todo uso da memria dividindo-a em vrias partes para cada tipo de aplicao. O sistema operacional mais popular para micros PCs baseado nos processadores Intel o MS DOS (Microsoft Disk Operating System). Alm deste temos o PC DOS (IBM) e o Novell DOS 7 (antigo RD DOS) e so bastante limitados no uso dos atuais microprocessadores de 32 bits.

Outros sistemas operacionais 32 bits esto despontando no mercado. O OS/2 da IBM um S.O. de 32 bits reais assim como o Windows NT e windows 95 ou os derivados do UNIX como o Xenix, Solaris, SCO Unix, etc. Estes S.O. so mais apropriados para os processadores de 32/64 bits atuais e no impem limitaes de memria como o DOS. Alm disso implementam interfaces grficas (GUI), multitarefa real, multiprocessamento simtrico, etc. BIBLIOGRAFIA

Toda nossa pesquisa foi embasada na internet em inmeros sites, aqui esto alguns dos mais importantes: www.cidi.com.br www.tcinet.com.br www.pcmagazine.com.br www.uol.info.com.br www.pcworld.com