Você está na página 1de 7

Conceitos de Sistemas Operacionais

Romildo Martins Bezerra IFBA/DTEE


Computao e Processamento de Dados

Conceitos de Sistemas Operacionais ............................................................ Arquitetura Conceitual de um Computador ................................................... Processadores ................................................................................... Memria Principal............................................................................... Memria Cache .................................................................................. Memria Secundria ............................................................................ Dispositivos de Entrada e Sada ............................................................... Apresentando os componentes dentro de um computador .................................. Conceitos de Sistemas Operacionais ............................................................ Sistemas Operacionais Atuais .................................................................... Linux .............................................................................................. Windows .......................................................................................... Bibliografia .........................................................................................

1 2 2 4 4 5 6 6 6 7 7 7 7

As notas de aulas so referncias para estudo. Portanto no devem ser adotadas como material didtico absoluto! Verso 0.3 10/03/2010

Romildo Martins Bezerra

Antes de iniciarmos os estudos de Sistemas operacionais necessrio apresentar uma introduo do funcionamento bsico de um computador e seus respectivos componentes.

Arquitetura Conceitual de um Computador


Os primeiros passos para que a arquitetura dos computadores fosse similar que conhecemos hoje foram dados pelo pesquisador Von Neumann. Especialista em cincias exatas e o matemtico mais eminente do mundo na poca, Neumann projetou o IAS, computador onde os dados eram representados de forma digital, com programao mais rpida e flexvel, visto que no seu projeto, programas e dados eram inseridos de forma binria na memria. Esse projeto pioneiro com o conceito de programa armazenado transformou o IAS na famosa mquina de Von Neummann. A concepo utilizada at hoje nos computadores e composta basicamente de 3 componentes (figura 01): CPU (unidade central de processamento) composto de uma unidade de controle (UC), unidade lgico-aritmtica (ULA) e registradores; Memria Principal, onde os programas esto armazenados (veremos detalhes a seguir); Dispositivos de E/S, responsveis em transferir dados de dentro fora do computador

Pontos Importantes: No projeto, o computador s trabalhava com nmeros inteiros. Neumann acreditava que qualquer matemtico poderia tratar ponto flutuante Utilizao do conceito de programas armazenados Execuo seqencial de instrues Funcionamento busca/decodificao/execuo

Atualmente os computadores (a maior parte deles) utilizam uma arquitetura composta dos seguintes componentes vistos na figura 01.
Memria Principal endereo CPU Registradores PC ULA dados/instrues

Unidade de Controle

Dispositivos E/S

Figura 01 Modelo Conceitual dos computadores atuais, baseados no IAS de Von Neumann Processadores Correspondem ao crebro do computador, pois o responsvel em executar todas as tarefas referentes busca/execuo dos programas e dados. Para modularizar seu funcionamento, ser apresentado o modelo didtico com as seguintes componentes: ULA (Unidade Lgico-Aritmtica) realiza um conjunto de operaes aritmticas e lgicas necessrias execuo das instrues

Romildo Martins Bezerra

UC (Unidade de Controle) busca de instrues da memria, de acordo com a necessidade da instruo a ser processada. Registradores Pequenos espaos de memria que o processador trabalha executando as instrues. Geralmente possuem o mesmo tamanho e tem velocidade muito alta. Destacam-se: o PC Contador de Programa, cujo nome no reflete sua funo, que indicar a prxima instruo a ser executada na memria. o IR Registrador de instrues, que indica a prxima instruo a ser executada. Memria Cache Atualmente para melhorar o desempenho, os processadores atuais possuem uma memria de altssima velocidade (quando comparada a memria RAM ou disco rgido) para arquivar os dados de maior utilizao, evitando acessos constantes memria. Veremos mais detalhes no decorrer desta apostila.

Conforme vimos anteriormente, a seqncia de funcionamento segue a proposta do modelo de Von Neumann, busca-decodificao-execuo. O processo de busca da instruo (fetch) transfere a instruo da posio da memria (indicada pelo registrador PC) para a CPU. A decodificao responsabilidade da unidade de controle, que aps decodificao gerencia os passos para execuo a ser feita pela ALU.
Unidade de busca Unidade de decodificao Unidade de execuo

Figura 02 Estgios do funcionamento dos computadores De forma detalhada, a execuo de programas num processador utiliza a seqncia de passos buca-decodica-executa, da seguinte forma: 1. Busca a prxima instruo da memria para o registrador de instruo 2. Atualiza o contador de programa para que ele aponte para a instruo seguinte 3. Determina o tipo de instruo 4. Se a instruo utiliza dados na memria, determina localizao 5. Busca os dados, se houver algum, para os registradores internos da CPU 6. Executa a instruo 7. Armazena os dados em locais apropriados 8. Volta para o passo 1 Vamos analisar novamente a figura 02 e imaginemos que um computador vai executar diferentes operaes simples (soma, por exemplo). Seria interessante se ele pudesse fazer parte das instrues em paralelo de forma a otimizar sua utilizao, sendo pelos menos duas tarefas executadas no mesmo tempo. Isso pode ser feito de duas formas: Paralelismo a nvel de instrues A diviso das instrues em partes menores sendo essas executadas em um hardware especfico. (lembrem-se do exemplo da soma dado em sala!)
[ E1 ] Unidade de busca de instruo [ E2 ] Unidade de decodificao de instruo [ E3 ] Unidade de busca de operando [ E4 ] Unidade de execuo de instruo [ E5 ] Unidade de escrita

Figura 03 Computador clssico de cinco estgios

Romildo Martins Bezerra

E1 E2 E3 E4 E5

P1

P2 P1

P3 P2 P1

P4 P3 P2 P1

P5 P4 P3 P2 P1

P6 P5 P4 P3 P2

P7 P6 P5 P4 P3

P8 P7 P6 P5 P4

tempo

Figura 04 Exemplo de paralelismo a nvel de instrues em cinco estgios Paralelismo a nvel de processador A idia projetar computadores com mais de um processador que podem estar organizados de forma matricial, vetorial, compartilhando barramento com memria compartilhada ou no. Este estudo no corresponde ao objetivo desta disciplina.

Memria Principal A memria principal uma das partes essenciais para o funcionamento do computador, uma vez que nela que os programas e dados so executados. O que se esperar da memria? Tamanho infinito, ultra-rpida (no atrase o processador) e barata (afinal ningum quer gastar dinheiro!). possvel conciliar isso? Isso ser discutido mais tarde. A memria organizada atravs de clulas, unidades elementares de memria, que compem segmentos (pedaos alocados por um programa que podem conter mais de uma clula). Vamos imaginar uma memria de 1Megabyte (220 bytes = 1024*1024) com clulas de 32 bits (22 bytes), retemos ento: Total de Clulas= Total de memria /Tamanho da clula = 220 bytes/22 bytes = 218 clulas Ou seja teramos 218 clulas a serem endereadas. Vamos supor agora que o sistema operacional precisa de 26 bytes para executar uma determinada instruo (IX) de um programa em Pascal (compilador de alto nvel). O sistema operacional ficar responsvel em alocar segmentos de memria (contnuos ou no) para que esta informao possa ser trabalhada pelo processador. Vazio
199

IY
200

IX
201

IX
202

IX
203

IX
204

IX
205

IX
206

IX
207

Vazio
208

Figura 05 Dados da instruo X (IX) alocados continuamente na memria Que problemas vocs enxergam que o SO ter com este particionamento da memria? Controle da fragmentao Falta de espaos Movimentao constante Memria Cache Devido a uma diferena histria entre processadores e memrias, o processador acaba esperando (apenas por definio!) ciclos de clock at que a memria entregue (aloque) sua requisio. Algumas tcnicas para melhorar esta soluo podem ser utilizadas, destacamos aqui a utilizao de memrias cache. Os projetistas de HW construram uma memria mais rpida capaz de operar na velocidade dos processadores, mas devido ao seu custo elevado (fruto de aumento do tamanho do processador) necessrio restringir o tamanho da memria cache. Esta apresentao segue o conceito de hierarquia de memria, onde quanto mais rpido a memria, menor ser seu tamanho (devido ao custo de fabricao). 4

Romildo Martins Bezerra

preo

cache principal velocidade discos rgidos unidades de fita

Figura 06 Conceito de Hierarquia de memria O problema agora que ficamos com dois mundos: Memria ultra-rpida e pequena (muitas trocas ocorreriam) Memria mais lenta e bem maior Para se ter uma idia, diversos processadores atuais trabalham com velocidades superiores a 3.0GHz (3 bilhes de ciclos por segundo) e possui cache interna (L1) de 512Kbytes, enquanto a memria RAM trabalha a 333Mhz e tem tamanho de 256MB, sendo assim 512 vezes maior e 9 vezes mais lenta. Como no possvel trabalhar com apenas uma delas, a proposta a seguinte:
Processador Cache Memria RAM 256MB

Figura 07 Memria Cache alocada no processador Outra proposta seria coloc-la na placa-me (Chamado de cache L2). Esta memria ultra-rpida, cache, deve ser sempre as informaes mais requisitadas pelo processador, e este ter que sempre consultar a cache antes de perguntar memria principal. Mas como adivinhar que parte da memria ser utilizada? Como calcular se o tempo mdio de acesso com a cache tornar o sistema mais eficiente? Clculos matemticos e algoritmos complexos so desenvolvidos no projeto de cada arquitetura. Para os mais interessados pesquisem o principio da localidade, base terica para o funcionamento de sistemas com utilizao intensiva de cache. Memria Secundria Por maior que seja a memria principal, ela ser sempre pequena. Tanenbaum em Organizao Estruturada de Computadores, pgina 40. Apesar de a afirmao parecer (e !) forte demais, no possvel enxergar uma estrutura computacional moderna sem a utilizao de memria secundria. Do mesmo modo que a cahe muito mais rpida que a memria principal, essa muito mais rpida que a memria secundria. Aqui sero explicados apenas os discos magnticos, vistos que o foco apresentar uma introduo para sistemas operacionais. A composio bsica de um disco magntico vista abaixo.

Figura 08 Esquema Bsico do disco Nota-se que esta composio mecnica dos discos no pode superar, em velocidade, o mtodo digital dos semicondutores utilizados na memria RAM e memria cache.

Romildo Martins Bezerra

Dispositivos de Entrada e Sada Antes de serem tratados os dispositivos de E/S importante salientar que a transferncia de dados entre processador, memria principal, memria secundria (discos rgidos, flexveis e ticos) feita atravs dos barramentos. Cada dispositivo de entrada e sada composto de uma controladora e do dispositivo propriamente dito. Esta controladora d acesso ao barramento do computador sem que haja uma interveno o processador executando um acesso direto memria (DMA). E quando esta transferncia de dados transmitida, a controladora fora uma interrupo, fazendo com qu o processador suspenda o processo em execuo a fim de rodar um procedimento para verificar possveis erros de transferncia de dados, este procedimento denominado rotina do tratamento de interrupo. J que o barramento acessado por todos os dispositivos, o que aconteceria se dois ou mais dispositivos brigarem pelo acesso ao barramento? Nos projetos dos computadores atuais est presente um dispositivo que executa esta seleo chamada de arbitro do barramento. A prioridade geralmente dos discos magnticos, uma vez que as paradas sucessivas podem ocasionar perda de dados.
Atualmente estas controladoras esto presentes dentro da placa-me HD Monitor Teclado

Processador

Memria

Controladora HD

Controladora Vdeo

Controladora

Figura 09 Modelo conceitual detalhado

Apresentando os componentes dentro de um computador


Esta aula no ter apostila. Corresponder a uma aula prtica com apresentao de hardware.

Conceitos de Sistemas Operacionais


O sistema computacional moderno algo complexo devido a quantidade de dispositivos envolvidos. Desenvolver programas que mantenham o controle destes componentes de forma otimizada impactaria na lentido para novos softwares. Da surge o sistema operacional, cujo trabalho gerenciar esses componentes e fornecer aos programas de usurios uma interface simples de acesso ao hardware. Sistema Operacional um conjunto de ferramentas necessrias para que um computador possa ser utilizado de forma adequada, pois consiste de intermedirio entre o aplicativo e a camada fsica do hardware. Este conjunto constitudo por um Kernel, ou ncleo, e um conjunto de software bsicos, que executam operaes simples, mas que juntos fazem uma grande diferena. O sistema operacional uma camada de software colocada entre o hardware e software do computador, com o objetivo de facilitar as atividades dos desenvolvedores e usurios de software, uma vez que no precisam fazer acesso direto ao dispositivo, fornecendo uma interface mais amigvel e intuitiva. Tipos de servios: Acesso aos perifricos Utilizao simples de recursos pelo usurio Manipulao de dados (arquivos e diretrios) Controle de recursos compartilhados Para isso, ele deve ser responsvel pela: Gerncia do processador, tambm conhecida como gerncia de processos, seu objetivo visa distribuir de forma justa o processamento evitando o monoplio do processador e respeitando a prioridade dos usurios e aplicaes.
Software Sistema operacional Hardware

Figura 10 Localizao lgica do SO

Romildo Martins Bezerra

Gerncia de memria, objetiva fornecer um espao isolado de memria para cada processo de forma que ele se sinta nico na memria. So necessrios recursos (memria virtual paginao e segmentao) para que este objetivo seja cumprido de forma eficiente e atenda todos os processos ativos. Gerncia de dispositivos, objetiva garantir o acesso aos dispositivos de forma mais fcil possvel (drivers) aos usurios, criando modelos que generalizem a utilizao dos dispositivos (lembrar do conceito de bloco no HD). Gerncia de arquivos, uma implementao especfica da gerencia de dispositivos, trabalhando apenas com o processo de armazenamento e acesso aos dados, atualmente atravs de arquivos e diretrios. Gerencia de proteo, definir o acesso harmnico em sistemas de vrios usurios com compartilhamento de recursos, como por exemplo, pastas compartilhadas em rede.

Sistemas Operacionais Atuais


Linux GNU/Linux ou simplesmente Linux, um popular sistema operacional livre, composto pelo ncleo (kernel) Linux e pelas bibliotecas e ferramentas do projeto GNU. um sistema do tipo Unix que implementa o padro POSIX. O Linux hoje funciona em dezenas de plataformas, desde mainframes at um relgio de pulso, passando por vrias arquiteturas: Intel, StrongARM, PowerPC, Alpha etc., com grande penetrao tambm em dispositivos embarcados, como handheld, PVR, vdeo-jogos e centrais de entretenimento etc. O Linux tem um kernel hbrido monoltico. Drivers de dispositivo e extenses do kernel tipicamente rodam com acesso total ao hardware, embora alguns rodem em espao de usurio. Ao contrrio dos kernels monolticos padro, os drivers de dispositivo so facilmente configurados como mdulos, e carregados e descarregados enquanto o sistema est rodando. Tambm ao contrrio de kernels monolticos padro, drivers de dispositivo podem ser pr-inseridos sob certas condies. Essa ltima caracterstica foi adicionada para corrigir o acesso a interrupes de hardware, e para melhorar o suporte a multiprocessamento simtrico. Windows Microsoft Windows um sistema operacional extremamente popular, criado pela Microsoft, empresa fundada por Bill Gates e Paul Allen. O Windows um produto comercial, com preos diferenciados para cada verso, embora haja uma enorme quantidade de cpias ilegais instaladas, porque ele o sistema operacional mais copiado do mundo. Apesar do sistema ser conhecido pelas suas falhas crticas na segurana e como plataforma de vrus de computador e programas-espies (spywares), o impacto deste sistema no mundo atual simplesmente incalculvel devido ao enorme nmero de cpias instaladas. Conhecimentos mnimos desse sistema, do seu funcionamento, da sua histria e do seu contexto so, na viso de muitos, indispensveis, mesmo para os leigos em informtica. Os primeiros Windows, como o 1.0, 2.0 e 3.x, s so compatveis em parties formatadas com o sistema de ficheiros FAT, ou como chamado, FAT16. No salto do 3.1 para o 95B (Windows 95 OSR 2/OSR 2.1), os HD's poderiam ser formatados em FAT32. Inicialmente lanado com o Windows NT, a tecnologia NTFS agora o padro de facto para esta classe. Com a convergncia de ambos sistemas, o Windows XP passou tambm a preferir este formato. A principal linguagem de programao usada para se escrever o cdigo-fonte das vrias verses do Windows a linguagem C++. At verso 3.11, o sistema rodava em 16 bits, da em diante, em 32 bits. As ltimas verses (como o XP, o 2003 e o futuro Windows Vista (nome de cdigo Longhorn) est preparado para a tecnologia 64 bits. Esse sistema dever incluir o sistema de arquivos WinFS, que acabou retirado do Windows Vista.

Bibliografia
[1] TANENBAUM, A., Organizao Estruturada de Computadores, 5 Edio, 2006. [2] TANENBAUM, A. Sistemas Operacionais Modernos. 2 Edio 2006. [3] TOSCANI, S.; OLIVEIRA, R.; CARISSIMI, A. Sistemas operacionais. 3 Edio Sagra Luzzatto, 2004.