COMPONENTES BÁSICOS DO
COMPUTADOR
Carlos Recalde Zarate Jr





Um computador típico possui três
componentes básicos:
a Unidade Central de Processamento
(UCP ou CPU, como é mais conhecida);
a Memória Principal e
um sistema de Entrada e Saída;
Armazenamento;
Processador


A CPU exerce o controle do computador, sendo
responsável pela busca (fetching) das instruções
(as quais estão em seqüência), pela sua
decodificação (ou interpretação) e execução.
A busca e a decodificação das instruções são
realizadas pela Unidade de Controle, enquanto
que a execução fica ao encargo da Unidade
Operativa. A unidade operativa, por sua vez , é
composta pela Unidade Lógica e Aritmética e por
um conjunto de Registradores de uso genérico.
Memória

A Memória Principal armazena as instruções e os
dados a serem processados pela CPU.
Dispositivos de entrada e saída



O Sistema de Entrada e Saída (I/O - Input/Output system,
em inglês) têm como função conectar o computador ao meio
externo, a fim de torná-lo verdadeiramente útil ao ser
humano.
Este sistema é composto por um meio físico de conexão
chamado barramento (bus) e um conjunto de dispositivos de
entrada e saída, chamados periféricos.
Os periféricos geralmente são sistemas mistos, do tipo
eletromecânicos, que permitem ao ser humano entrar com os
dados ou obter ou visualizar os resultados.


Exemplos de periféricos são teclado, vídeo,
impressora, mouse, unidades de disco flexível
(disquetes), unidades de disco rígido (winchester),
unidades de fita magnética,modem, placa de som,
scanner, vídeo touch-screen, plotter etc.
Alguns periféricos permitem somente a entrada de
dados (e.g., teclado), outros só permitem a saída
(e.g., vídeo e impressora) e outros permitem tanto a
entrada como a saída (e.g., unidades de discos
magnéticos e unidades de fitas magnéticas).

Associado a cada periférico existente num
computador, há um circuito específico de
controle de interface de E/S (I/O interface
processor), cuja função é adaptar os sinais
gerados pelo periférico conforme as
necessidades do computador
Armazenamento em disco
Dispositivo de armazenamento super
rápido Gigabyte - GC RAMDISK - i-RAM

I-RAM funciona como um disco rígido SATA de
regular a teoricamente 1,5 Gb/ s taxa de
transferência de dados. utilizando módulos de
memória DDR, i-RAM é equipado com quatro 184-pin
DIMM slots que aceitará qualquer DDR DIMM e
suportam até 4GB.Acima de tudo, o grande
problema de dados perdidos após o desligamento é
resolvido por i-RAM da bateria backup que é
cobrado pelo seu sistema on the fly.i-RAM é o
dispositivo de armazenamento mais rápido que você
nunca imaginou.
HD sem disco
Dispositivo de armazenamento mais
rápido do mundo - Fusion-io ioDrive


O ioDrive é uma placa de armazenamento PCI Express que usa memória
flash NAND e atinge taxas de gravação de 368 MB/s e de leitura de 473
MB/s. Em outras palavras, ela é muito, muito rápida.
Para se ter uma idéia, isso é quase duas vezes mais do que a velocidade
de leitura e aproximadamente cinco vezes mais do que a de gravação do
SSD da Intel , que já é rápido.
O ioDrive usa a mesma memória flash NAND de um SSD, mas como ele se
conecta a um barramento PCI Express (em vez de SATA) e funciona apenas
com sistemas 64-bit, pode alcançar velocidades extremamente altas. E, sim,
estamos falando de megaBYTEs, não megaBITs.
Por enquanto é coisa apenas para empresas – a versão de 80 GB sai por
US$ 3.000; a de 320 GB, por US$ 14.400. Caso lhe interesse, o
TweakTown publicou um longo artigo sobre o dispositivo.

OCZ apresentou sua nova gama Z-Drive m84 de
dispositivos de armazenamento sólido que usam o
ônibus PCI Express 8x (ainda que como em todos os
PCI Express se poderá montar num superior, como
um PCIe x16).



De acordo que estes dispositivos de armazenamento não são
precisamente muito habituais nos computadores de sobremesa,
mas dão fé do que pode chegar a correr um SSD.Virá em
tamanhos de 256, 512 e 1 TB de armazenamento, todos eles
construídos a partir de celas NAND multinivel, um controlador
RAID integrado e um tempo médio entre falhas de um milhão
de horas, com três anos de garantia.
O dado espetacular é o rendimento: 870 e 780 MB/s em
leitura e escritura respectivamente para os dois modelos
maiores, enquanto o de 256 GB fica nuns “discretos”
750/650 MB/s.
Seu preço não se anunciou ainda, mas baratos não serão, isso
por certo.
CPU




As funções possíveis de serem executadas pela
CPU estão definidas no seu conjunto de
instruções. Um computador típico possui algo entre
50 e 200 instruções distintas. As instruções podem
ser divididas em três grupos, conforme sua
natureza:
instruções de transferência de dados;
instruções de processamento de dados e
instruções de controle.

As instruções de transferência de dados apenas
movem as informações, sem alterar seu conteúdo.
As transferências podem ocorrer dentro da CPU,
entre a CPU e a memória principal, entre algum
periférico e a CPU ou entre algum periférico e a
memória principal.

As instruções de processamento de dados
transformam as informações utilizando os recursos
de hardware disponíveis na unidade operativa da
CPU. Neste grupo encontram-se as instruções
aritméticas, tais como adição, subtração,
multiplicação e incremento, e as instruções lógicas,
tais como adição lógica (ou), multiplicação lógica
(e), complementação (ou inversão) e ou-exclusivo.


As instruções de controle determinam a
seqüência segundo a qual as instruções são
executadas, permitindo que o controle seja
transferido de uma parte do programa para outra,
ou entre diferentes subprogramas.
Exemplos de instruções deste tipo são jump (salto),
chamada de sub-rotina e retorno de sub-rotina.





O que são os componentes Básicos do Computador?
Fale sobre o Processador.
Fale sobre a memória.
Fale sobre o armazenamento em disco.
Fale dos dispositivos de entrada e saída.
SOFTWARE
Sistemas Operacionais

Sistema operacional (português brasileiro) é um
programa ou um conjunto de programas cuja
função é gerenciar os recursos do sistema (definir
qual programa recebe atenção do processador,
gerenciar memória, criar um sistema de arquivos,
etc.), além de fornecer uma interface entre o
computador e o usuário.

É o primeiro programa que a máquina executa no
momento em que é ligada (num processo chamado
de bootstrapping) e, a partir de então, não deixa
de funcionar até que o computador seja desligado.
O sistema operacional reveza sua execução com a
de outros programas, como se estivesse vigiando,
controlando e orquestrando todo o processo
computacional.


Segundo alguns autores (Silberschatz et al, 2005;
Stallings, 2004; Tanenbaum, 1999), existem dois
modos distintos de conceituar um sistema
operacional:
pela perspectiva do usuário ou programador
(visão top-down): é uma abstração do hardware,
fazendo o papel de intermediário entre o
aplicativo (programa) e os componentes físicos do
computador (hardware); ou


numa visão bottom-up, de baixo para cima: é um
gerenciador de recursos, i.e., controla quais
aplicações (processos) podem ser executadas,
quando, que recursos (memória, disco, periféricos)
podem ser utilizados.
A sigla usual para designar esta classe de
programas é SO (em português) ou OS (do
inglês Operating System).
História

No início da computação os primeiros sistemas
operacionais eram únicos, pois
cada mainframe vendido necessitava de um sistema
operacional específico. Esse problema era resultado
de arquiteturas diferentes e da linguagem de
máquina utilizada. Após essa fase, iniciou-se a
pesquisa de sistemas operacionais que
automatizassem a troca de tarefas (jobs), pois os
sistemas eram monousuários e tinham cartões
perfurados como entrada (eliminando, assim, o
trabalho de pessoas que eram contratadas apenas
para trocar os cartões perfurados).

O ENIAC foi um exemplo de computador que não
utilizava SO.

Os sistemas operacionais eram geralmente
programados em assembly, até mesmo o Unix em
seu início. Então, Dennis Ritchie (também da Bell)
criou a linguagem C a partir da linguagem B, que
havia sido criada por Thompson. Finalmente,
Thompson e Ritchie reescreveram o Unix em C. O
Unix criou um ecossistema de versões, onde
destacam-se: System V e derivados (HP-UX, AIX);
família BSD (FreeBSD, NetBSD, OpenBSD,
etc.), Linux e até o Mac OS X (que deriva
do Mach e FreeBSD).

Na década de 1970, quando começaram a
aparecer os computadores pessoais, houve a
necessidade de um sistema operacional de
utilização mais fácil. Em 1980, William (Bill)
Gates e seu colega de faculdade, Paul Allen,
fundadores da Microsoft, compram o
sistema QDOS ("Quick and Dirty Operating
System") de Tim Paterson por $50.000, batizam-no
de DOS (Disk Operating System) e vendem licenças
à IBM.

O DOS vendeu muitas cópias, como o sistema
operacional padrão para oscomputadores
pessoais desenvolvidos pela IBM. IBM e Microsoft
fariam, ainda, uma parceria para o
desenvolvimento de um sistema operacional
multitarefa chamado OS/2. Após o fim da breve
parceria, a IBM seguiu sozinha no desenvolvimento
do OS/2.

No começo da década de 1990, um estudante de
computação finlandês postou um comentário
numa lista de discussão da Usenet dizendo que
estava desenvolvendo um núcleo de sistema
operacional e perguntou se alguém gostaria de
auxiliá-lo na tarefa. Este estudante chamavase Linus Torvalds e o primeiro passo em direção ao
tão conhecido Linux foi dado naquele momento.

Sistema operacional em linha de comando.
Visão geral

Um sistema operativo pode ser visto como um
programa de grande complexidade que é
responsável por todo o funcionamento de uma
máquina desde o software a todo hardware
instalado na máquina. Todos os processos de um
computador estão por de trás de uma programação
complexa que comanda todas a funções que um
utilizador impõe à máquina. Existem vários sistemas
operativos; entre eles, os mais utilizados no dia a dia,
normalmente utilizados em computadores domésticos,
são o Windows, Linux e Mac OS X.
Gráfico de Pizza, utilização dos
SOs
Sistemas operacionais modernos


Um sistema computacional moderno consiste em um
ou mais processadores, memória principal, discos,
impressoras, teclado, mouse, monitor, interfaces de
rede e outros dispositivos de entrada e saída.Enfim,
é um sistema complexo.
Um dos Conceitos mais fundamentais dos Sistemas
Operacionais Modernos é a distinção entre o
programa e a atividade de executá - lo. O
programa é apenas um conjunto estático de
diretrizes e sua execução é uma atividade
dinâmica.
Arquitetura de Sistema
Operacional


O Sistema operacional precisa basicamente de três
elementos:
Hardware – um computador digital é constituído
por um conjunto de componentes interligados,
composto por processadores, memória principal,
registradores, terminais, impressoras, discos
magnéticos, alem de outros dispositivos
físicos(hardware).

Esses dispositivos manipulam dados na forma
digital, o que proporciona uma maneira confiável
de representação. Todos os componentes de um
computador são agrupados em três subsistemas
básicos: unidade central de processamento,
memória principal e dispositivos de entrada e
saída.

Software – o hardware por si só, não tem a menor
utilidade. Para torná-lo útil, existe um conjunto de
programas, utilizado como interface entre as
necessidades do usuário e as capacidades do
hardware. A estilização de software adequados as
diversas tarefas e aplicações (conceito de
chamadas) torna o trabalho dos usuários muito mais
simples e eficiente.

Dado - Assim como o software, os dados são
armazenados no hardware na forma de bits. O
sistema deve estar apto a armazenar, localizar e
recuperar um dado específico requisitado por um
programa.
Gerenciamento de processos


O sistema operacional multitarefa é preparado
para dar ao usuário a ilusão que o número de
processos em execução simultânea no computador é
maior que o número de processadores instalados.
Cada processo recebe uma fatia do tempo e a
alternância entre vários processos é tão rápida que
o usuário pensa que sua execução é simultânea.
São utilizados algoritmos para determinar qual
processo será executado em determinado momento
e por quanto tempo.







Os processos podem comunicar-se, isto é conhecido
como IPC (Inter-Process Communication). Os
mecanismos geralmente utilizados são:
sinais;
pipes;
named pipes;
memória compartilhada;
soquetes (sockets);
trocas de mensagens.
Funcionamento





Um sistema operacional possui as seguintes funções:
gerenciamento de processos;
gerenciamento de memória;
sistema de arquivos;
entrada e saída de dados.

O sistema operacional, normalmente, deve
possibilitar o multiprocessamento (SMP ou NUMA).
Neste caso, processos diferentes e threads podem
ser executados em diferentes processadores. Para
essa tarefa, ele deve
ser reentrante e interrompível, o que significa que
pode ser interrompido no meio da execução de
uma tarefa.
Gerenciamento de memória



O sistema operacional tem acesso completo à
memória do sistema e deve permitir que os
processos dos usuários tenham acesso seguro à
memória quando o requisitam.
Vários sistemas operacionais usam memória virtual,
que possui 3 funções básicas:
assegurar que cada processo tenha seu próprio
espaço de endereçamento, começando em zero,
para evitar ou resolver o problema de relocação
(Tanenbaum, 1999);


prover proteção da memória para impedir que um
processo utilize um endereço de memória que não
lhe pertença;
possibilitar que uma aplicação utilize mais memória
do que a fisicamente existente.
Swapping

Dentro de gerenciamento de memoria muitas vezes
não é possível manter todos os processos em
memoria, muitas vezes por não existir memoria
suficiente para alocar aquele processo, para
solucionar esse problema existe um mecanismo
chamado swapping.

A gerencia de memoria reserva uma área do disco
para o seu uso em determinadas situações, um
processo é completamente copiado da memoria
para o disco, este processo é retirado da fila do
processador e mais tarde será novamente copiado
para a memoria e o processo então ficara ativo na
fila novamente. O resultado desse revezamento no
disco é que o sistema operacional consegue
executar mais processos do que caberia em um
mesmo instante na memoria.

Swapping impõe aos programas um grande custo
em termos de tempo de execução, pois é necessário
copiar todo o processo para o disco e mais tarde
copiar novamente todo o processo para a memoria.
Em sistemas onde o usuário interage com o
programa durante sua execução, o mecanismo de
swapping é utilizado em ultimo caso, quando não é
possível manter todos os processos na memoria.
Visto que a queda no desempenho do sistema é
imediatamente sentida pelo usuário.
Sistema de arquivos


A memória principal do computador é volátil, e seu
tamanho é limitado pelo custo do hardware. Assim,
os usuários necessitam de algum método para
armazenar e recuperar informações de modo
permanente.
Um arquivo é um conjunto de bytes, normalmente
armazenado em um dispositivo periférico não
volátil (p.ex., disco), que pode ser lido e gravado
por um ou mais processos.
A Memória Virtual

A memória virtual assemelha-se à memória real,
mas não é igual. Nos sistemas tradicionais, os
programas são carregados inteiramente, a partir
de uma biblioteca, diretamente na memória
principal, ao passo que em sistemas de memória
virtual, é somente partes selecionadas desses
programas são paginadas na memória real, para
serem executadas. Na verdade, ao examinar
programas reais verificou que, em muitos casos, nem
todo o código do programa é executado.

Por exemplo: • Programas freqüentemente incluem
código de tratamento de erro. Como na pratica
esses erros ocorrem raramente, ou não ocorrem,
essa parte do código quase nunca é executada. •
Algumas opções e recursos de programas são
usados raramente. Por exemplo, certas rotinas de
controle da balança de pagamento de programa
instalado nos computadores do governo do Estado
Unidos não têm sido usadas ha anos.
Interface de uso

Os sistemas operacionais fornecem abstração
de hardware para que seus recursos possam ser
usados de maneira correta e padronizada, mas
para ser possível operar um computador, é
necessário fornecer também uma interface para
que o usuário possa desfrutar dos recursos do
sistema. Atualmente existem três tipos de interface:
GUI (graphical user interface) ou interface gráfica,
TUI (text user interface) ou interface textual, e CUI
(command-line user interface) ou interface de linha
de comando.

Sistema operacional com interface gráfica, no caso,
o Linux Ubuntu 10.04 (rodando a
interface GNOME)
GUI (Graphical user interface)

Nesse tipo de interface, o usuário tem a disposição
um ambiente de trabalho composto por menus,
ícones, janelas e outros itens disponíveis. O usuário
interage com esse tipo de interface usando o mouse,
podendo também usar o teclado e teclas de atalho.
É possível fazer todo tipo de tarefa
usandointerface gráfica, como edição de vídeos e
imagens, sendo somente alguns tipos muito
específicos de tarefas que se saem melhor em linha
de comando.

Acrescentar facilidade de uso e agilidade é o
objetivo da GUI, tendo a desvantagem de consumir
muito mais memória que interfaces de linha de
comando. Em sistemas unix-likes, existe a
possibilidade de escolher o gerenciador de janelas
a utilizar, aumentando em muito a liberdade de
escolha do ambiente.
TUI (Text user interface)

Assim como na GUI, a TUI também tem à disposição
um ambiente de trabalho composto por menus,
janelas e botões, porém essas interfaces não têm a
capacidade de reproduzir figuras, salvo as que são
tratadas como caracteres ASCII. Essa interface,
antes da popularização da GUI, tinha um uso
difundido em aplicações baseadas no MS-DOS,
que, aliás, nas versões mais recentes contava com
um gerenciador de programas e arquivos baseado
em TUI (o DOS Shell).

As TUIs, ao contrário das GUIs, não dependem de
um gerenciador de janelas específico para
funcionar, podendo mesmo serem inicializadas a
partir da linha de comando. Atualmente essa
interface é muito rara, praticamente restrita a
sistemas implementados na década de 1980 e
início da década de 1990.
CUI (Command-line user interface)

Além da interface gráfica, existe a interface de
linha de comando, que funciona basicamente com a
digitação de comandos, sendo nesse relativamente
pouco interativa. Os comandos digitados são
interpretados por um interpretador de comandos,
conhecidos também por shells, bastante comuns em
sistemas unix-likes. Um exemplo de interpretador de
comandos seria o Bash.

Usada geralmente por usuários avançados e em
atividades específicas, como gerenciamento remoto,
utiliza poucos recursos de hardware em comparação
a interface gráfica. Nesse tipo de ambiente,
raramente se usa o mouse, embora seja possível
através do uso da biblioteca ncurses no
desenvolvimento dossoftwares.

Aplicativo com interface textual (TUI), rodando no
sistema operacional FreeDOS
Classificações


Em relação ao seu projeto (arquitetura), segundo
Tanenbaum (1999):
Núcleo monolítico ou monobloco: o núcleo consiste
em um único processo executando numa memória
protegida (espaço de núcleo) executando as
principais funções. Ex.: MAC OS
X, OS/2, Windows, Linux, FreeBSD.

Micronúcleo ou modelo cliente-servidor:
o núcleo consiste de funções mínimas (comunicação e
gerenciamento de processos), e outras funções,
como sistemas de arquivos e gerenciamento de
memória, são executadas no espaço do usuário
como serviços; as aplicações (programas) são os
clientes. Ex.: GNU Hurd, Mach.


Sistema em camadas: funções do núcleo irão
executar em camadas distintas, de acordo com seu
nível de privilégio. Ex.: Multics.
Monitor de máquinas virtuais: fornece uma
abstração do hardware para vários sistemas
operacionais. Ex.: VM/370, VMware, Xen.
Quanto ao gerenciamento de processos,
pode-se usar a seguinte classificação:

Monotarefa: pode-se executar apenas um processo
de cada vez Ex.: MS-DOS. Os sistemas monotarefas
permitem que o processador, a memória e os
periféricos fiquem dedicados a um único usuário.
Nesses sistemas, enquanto o programa aguarda
por um evento, como a digitação de um dado, o
processador ficará ocioso, sem realizar qualquer
tarefa útil. A memória é subutilizada caso o
programa não a preencha totalmente, e os
periféricos estão dedicados a um único usuário.

Multitarefa: além do próprio SO, vários processos
de utilizador (tarefas) estão carregados em
memória, sendo que um pode estar ocupando o
processador e outros ficam enfileirados,
aguardando a sua vez. O compartilhamento de
tempo no processador é feito de modo que o
usuário tenha a impressão que vários processos
estão sendo executados simultaneamente.

Cada processo recebe um tempo para ser
executado. Ao final desse tempo, outro processo é
executado. Essa alternância de processos chama-se
escalonamento.
Ex: OS/2, Windows, Linux, FreeBSD e o Mac OS X.
Cabe destacar que processos só podem estar
executando simultaneamente caso o sistema seja
multiprocessado, já que, em que cada instante de
tempo, apenas um processo está em execução em
um processador ou núcleo de processamento (core).

Multiprocessamento: o SO distribui as tarefas entre
dois ou mais processadores. Se os processadores
estiverem na mesma máquina fisica, o sistema é
chamado de Sistema Multiprocessado Fortemente
Acoplado. Caso esteja em máquinas diferentes,
trata-se de um Sistema Multiprocessado Fracamente
Acoplado.

O primeiro (Fortemente Acoplado) se divide em
Simétrico, onde todos os processadores executam a
mesma tarefa e têm acesso a todos os sistemas da
mesma forma, e Assimétrico, em que uma UCP
(Unidade Central de Processamento) é responsável
por controlar as outras (Master/Slave). Os Sistemas
Fracamente Acoplados podem ser Sistemas
Operacionais de Rede ou Sistemas Operacionais
Distribuídos



Quanto à quantidade de usuários que podem
utilizar o sistema concorrentemente:
Monousuário: apenas um usuário por vez (apesar
de poder suportar recursos como troca de usuário).
Ex.: Windows. Esse também pode ser acessado
por terminais e conexão remota.
Multiusuário: vários usuários usam o computador ao
mesmo tempo, seja por diversos terminais, seja
por conexão remota como o SSH. Ex.: Linux, Unix.
Atividades
1.
O que é um SO?
2.
Existem varias citações do SO, leia e escolha uma delas e fale dela.
3.
Fale um pouco da Historia dos SO.
4.
Fale dos nomes dos SO mais conhecidos.
5.
Fale da arquitetura de um SO.
6.
Fale do funcionamento de um SO.
7.
O que é swapping.
8.
O que é memória virtual..
9.
O que é uma interface de uso.
10.
Fale da GUI.
11.
Fale da TUI.
12.
Fale da CUI.
13.
O que é mono tarefa.
14.
O que é multitarefa.
Download

Componentes básicos do computador