Professional Documents
Culture Documents
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
Antes de iniciarmos os estudos de Sistemas operacionais necessrio apresentar uma introduo do funcionamento bsico de um computador e seus respectivos componentes.
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
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
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
preo
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.
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
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.
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.