Escolar Documentos
Profissional Documentos
Cultura Documentos
As notas de aulas são referências para estudo. Portanto não devem ser adotadas como material didático absoluto!
Versão 0.3 – 10/03/2010
Romildo Martins Bezerra
• CPU (unidade central de processamento) composto de uma unidade de controle (UC), unidade
lógico-aritmética (ULA) e registradores;
• Memória Principal, onde os programas estão armazenados (veremos detalhes a seguir);
• Dispositivos de E/S, responsáveis em transferir dados de dentrofora do computador
Pontos Importantes:
Atualmente os computadores (a maior parte deles) utilizam uma arquitetura composta dos
seguintes componentes vistos na figura 01.
Memória Principal
endereço dados/instruções
CPU
Registradores ULA
PC
Unidade de Controle
Dispositivos E/S
Figura 01 – Modelo Conceitual dos computadores atuais, baseados no IAS de Von Neumann
Processadores
Correspondem ao cérebro do computador, pois é o responsável em executar todas as tarefas
referentes à busca/execução dos programas e dados. Para modularizar seu funcionamento, será
apresentado o modelo didático com as seguintes componentes:
2
Romildo Martins Bezerra
• Memória Cache – Atualmente para melhorar o desempenho, os processadores atuais possuem uma
memória de altíssima velocidade (quando comparada a memória RAM ou disco rígido) para
arquivar os dados de maior utilização, evitando acessos constantes à memória. Veremos mais
detalhes no decorrer desta apostila.
Vamos analisar novamente a figura 02 e imaginemos que um computador vai executar diferentes
operações simples (soma, por exemplo). Seria interessante se ele pudesse fazer parte das instruções em
paralelo de forma a otimizar sua utilização, sendo pelos menos duas tarefas executadas no mesmo tempo.
Isso pode ser feito de duas formas:
• Paralelismo a nível de instruções – A divisão das instruções em partes menores sendo essas
executadas em um hardware específico. (lembrem-se do exemplo da soma dado em sala!)
[ E1 ] [ E2 ] [ E3 ] [ E4 ] [ E5 ]
Unidade de Unidade de Unidade de Unidade de Unidade
busca de decodificação busca de execução de de escrita
instrução de instrução operando instrução
3
Romildo Martins Bezerra
E1 P1 P2 P3 P4 P5 P6 P7 P8
E2 P1 P2 P3 P4 P5 P6 P7
E3 P1 P2 P3 P4 P5 P6
E4 P1 P2 P3 P4 P5
E5 P1 P2 P3 P4
tempo 1 2 3 4 5 6 7 8
Memória Principal
A memória principal é uma das partes essenciais para o funcionamento do computador, uma vez
que é nela que os programas e dados são executados. O que se esperar da memória? Tamanho infinito,
ultra-rápida (não atrase o processador) e barata (afinal ninguém quer gastar dinheiro!). É possível
conciliar isso? Isso será discutido mais tarde.
A memória é organizada através de células, unidades elementares de memória, que compõem
segmentos (pedaços alocados por um programa que podem conter mais de uma célula). Vamos imaginar
uma memória de 1Megabyte (220 bytes = 1024*1024) com células de 32 bits (22 bytes), retemos então:
Ou seja teríamos 218 células a serem endereçadas. Vamos supor agora que o sistema operacional
precisa de 26 bytes para executar uma determinada instrução (IX) de um programa em Pascal (compilador
de alto nível). O sistema operacional ficará responsável em alocar segmentos de memória (contínuos ou
não) para que esta informação possa ser trabalhada pelo processador.
Vazio IY IX IX IX IX IX IX IX Vazio
199 200 201 202 203 204 205 206 207 208
Que problemas vocês enxergam que o SO terá com este particionamento da memória?
• Controle da fragmentação
• Falta de espaços
• Movimentação constante
Memória Cache
Devido a uma diferença história entre processadores e memórias, o processador acaba esperando
(apenas por definição!) ciclos de clock até que a memória entregue (aloque) sua requisição. Algumas
técnicas para melhorar esta solução podem ser utilizadas, destacamos aqui a utilização de memórias
cache.
Os projetistas de HW construíram uma memória mais rápida capaz de operar na velocidade dos
processadores, mas devido ao seu custo elevado (fruto de aumento do tamanho do processador) é
necessário restringir o tamanho da memória cache. Esta apresentação segue o conceito de hierarquia de
memória, onde quanto mais rápido a memória, menor será seu tamanho (devido ao custo de fabricação).
4
Romildo Martins Bezerra
cache
preço
principal
discos rígidos
velocidade
unidades de fita
Para se ter uma idéia, diversos processadores atuais trabalham com velocidades superiores a
3.0GHz (3 bilhões de ciclos por segundo) e possui cache interna (L1) de 512Kbytes, enquanto a memória
RAM trabalha a 333Mhz e tem tamanho de 256MB, sendo assim 512 vezes maior e 9 vezes mais lenta. Como
não é possível trabalhar com apenas uma delas, a proposta é a seguinte:
Cache 256MB
Esta memória ultra-rápida, cache, deve ser sempre as informações mais requisitadas pelo
processador, e este terá que sempre consultar a cache antes de perguntar memória principal. Mas como
“adivinhar” que parte da memória será utilizada? Como calcular se o tempo médio de acesso com a cache
tornará o sistema mais eficiente? Cálculos matemáticos e algoritmos complexos são desenvolvidos no
projeto de cada arquitetura. Para os mais interessados pesquisem o principio da localidade, base teórica
para o funcionamento de sistemas com utilização intensiva de cache.
Memória Secundária
“Por maior que seja a memória principal, ela será sempre pequena.” Tanenbaum em Organização
Estruturada de Computadores, página 40. Apesar de a afirmação parecer (e é!) forte demais, não é
possível enxergar uma estrutura computacional moderna sem a utilização de memória secundária. Do
mesmo modo que a cahe é muito mais rápida que a memória principal, essa é muito mais rápida que a
memória secundária. Aqui serão explicados apenas os discos magnéticos, vistos que o foco é apresentar
uma introdução para sistemas operacionais. A composição básica de um disco magnético é vista abaixo.
Nota-se que esta composição mecânica dos discos não pode superar, em velocidade, o método
digital dos semicondutores utilizados na memória RAM e memória cache.
5
Romildo Martins Bezerra
6
Romildo Martins Bezerra
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 preços
diferenciados para cada versão, embora haja uma enorme quantidade de cópias ilegais instaladas, porque
ele é o sistema operacional mais copiado do mundo. Apesar do sistema ser conhecido pelas suas falhas
críticas na segurança e como plataforma de vírus de computador e programas-espiões (spywares), o
impacto deste sistema no mundo atual é simplesmente incalculável devido ao enorme número de cópias
instaladas. Conhecimentos mínimos desse sistema, do seu funcionamento, da sua história e do seu
contexto são, na visão de muitos, indispensáveis, mesmo para os leigos em informática.
Os primeiros Windows, como o 1.0, 2.0 e 3.x, só são compatíveis em partições 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 lançado com o Windows NT, a tecnologia
NTFS é agora o padrão de facto para esta classe. Com a convergência de ambos sistemas, o Windows XP
passou também a preferir este formato.
A principal linguagem de programação usada para se escrever o código-fonte das várias versões do
Windows é a linguagem C++. Até à versão 3.11, o sistema rodava em 16 bits, daí em diante, em 32 bits. As
últimas versões (como o XP, o 2003 e o futuro Windows Vista (nome de código 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., Organização Estruturada de Computadores, 5ª Edição, 2006.
[2] TANENBAUM, A. Sistemas Operacionais Modernos. 2ª Edição 2006.
[3] TOSCANI, S.; OLIVEIRA, R.; CARISSIMI, A. Sistemas operacionais. 3ª Edição Sagra Luzzatto, 2004.
7