Você está na página 1de 31

Caracterizao de

sistemas
operacionais

Principal software instalado no computador responsvel pela interao entre


hardware e os softwares, tambm responsvel pela manipulao de arquivos,
sendo as suas principais operaes de arquivo o armazenamento, a criao, a
cpia, a remoo e a atribuio.

Primeira Gerao de Computadores.


O ENIAC (Eletronic Numerical Integrator and Computer) foi o primeiro
computador digital de propsito geral. Criado para realizao de clculos balsticos
sua estrutura possua 18 mil vlvulas, 10 mil capacitores, 70 mil resistores e pesava
30 toneladas e em operao consumia cerca de 140 KW/h.

Segunda Gerao de Computadores.


A criao do transistor e das memrias magnticas contribui para o enorme
avano dos computadores da poca. O transistor permitiu o aumento da
velocidade e da confiabilidade do processamento.
Com o surgimento das primeiras linguagens de programao, como o Assembly e
Fortran, os programas deixaram de ser feitos diretamente no hardware.

Inicialmente, os programas passaram a ser perfurados em cartes que


submetidos a uma leitora, eram gravados em um afila de entrada. A fita, ento,
era lida pelo computador que executava um programa de cada vez, gravando o
resultado do processamento em uma fita de sada, eram lida e impressa. Esse
tipo de processamento em lote deu se o nome de batch.
Terceira Gerao de Computadores.
Atravs dos circuitos integrados (CIs) e posteriormente dos
microprocessadores foi possvel viabilizar e difundir o uso de sistemas
computacionais por empresas, devido a diminuio de seus custos de aquisio.
Alm disso, houve grande aumento do poder de processamento e diminuio no
tamanho dos equipamentos. Com base nessa nova tecnologia a IBM lanou em
1964 a Srie 360. Esse lanamento causou uma revoluo na indstria de
informtica, pois, introduzia uma linha (famlia) de computadores pequena,
poderosa e principalmente compatvel. Na mesma poca, a DEC lanou a linha
PDP-8, tambm revolucionria, pois, apresentava uma linha de computadores de
porte pequeno e baixo custo, se comparada aos mainframes ate ento
comercializados, criando um novo mercado, o de minicomputadores.

Os sistemas operacionais, mesmo implementando o processamento batch e a


multiprogramao ainda estavam limitados aos processamentos que no exigiam
comunicao com o usurio. Para permitir a interao rpida entre o usurio e o
computador, foram adicionados terminais de vdeo e teclado (interao on-line).
Outro fato importante nessa fase foi o surgimento do sistema operacional Unix
(1969).Concebido inicialmente em um minicomputador PDP-7, baseado no sistema
MULTICS (Multiplexed Information and Computing Service), o Unix foi depois
rescrito em uma linguagem de alto nvel (linguagem C), tornando-se conhecido por
sua portabilidade.
Quarta Gerao de Computadores.
A integrao em larga escala (Large Scale Integration-LSI) e a integrao em muito
larga escala (Very Large Scale Integration-VLSI) levaram adiante o projeto de
miniaturizao e barateamento dos equipamentos. Os mini e
superminicomputadores se firmaram no mercado e os microcomputadores
ganharam um grande impulso.
Nesse quadro surgiram os microcomputadores PC (Personal Computer) de 16
bits da
IBM e o sistema operacional DOS (Disk Operation System), criando a filosofia dos
computadores pessoais.

As redes distribudas (Wide Area Network- WANs) se difundiram por todo o


mundo, permitindo o acesso a outros sistemas de computao independentemente
de estado, de pas e, at mesmo de fabricante. Nesse contexto so desenvolvidos
inmeros protocolos de rede, alguns proprietrios, como o DECnet da DEC e o
SNA (System Network Architecture) da IBM e outros de domnio pblico, como o
TCP/IP e o CCITT X.25. Surgem as primeiras redes locais (Local Area Network
LANs) interligando pequenas reas. Os softwares de rede passaram a estar
intimamente relacionados ao sistema operacional e surgem os sistemas operacionais
de rede.
Quinta Fase (1991- )
Grandes avanos em termos de hardware, software e telecomunicaes podem ser
esperados at o final deste sculo. Essas mudanas so conseqncia da evoluo
das aplicaes que necessitam cada vez mais de capacidade de processamento e
armazenamento de dados. Sistemas especialistas, sistemas multimdia, banco de
dados distribudos, inteligncia artificial e redes neurais so apenas alguns exemplos
da necessidade cada vez maior.
A dcada de 90 foi definitiva para a consolidao dos sistemas operacionais
baseados em interfaces grficas. Novas interfaces homem-mquina esto sendo
utilizadas, como linguagens naturais, sons e imagens, fazendo essa comunicao mais
inteligente, simples e eficiente.

Abstrao de recursos.
Acessar os recursos de hardware de um sistema de computao pode ser uma
tarefa complexa, devido s caractersticas especficas de cada dispositivo fsico e a
complexidade de suas interfaces.
Ao tornar os aplicativos independentes do hardware definindo uma interface
abstrata de acesso a um dispositivo de hardware o sistema operacional desacopla o
hardware dos aplicativos e permite que ambos evoluam de forma mais autnoma.
Por exemplo, o cdigo de um editor de textos no deve ser dependente da
tecnologia de discos rgidos utilizada no sistema.
Gerncia de recursos
Os programas aplicativos usam o hardware para atingir seus objetivos: ler e
armazenar dados, editar e imprimir documentos, navegar na Internet, tocar msica
e etc. Em um sistema com vrias atividades simultneas podem surgir conflitos no
uso do hardware quando dois ou mais aplicativos precisam dos mesmos recursos.
Cabe ao sistema operacional definir polticas para gerenciar o uso dos recursos de
hardware pelos aplicativos e resolver eventuais disputas e conflitos.
Assim um sistema operacional visa abstrair o acesso e gerenciar os recursos de
hardware provendo aos aplicativos um ambiente de execuo abstrato no qual o
acesso aos recursos se faz atravs de interfaces simples, independentes das
caractersticas e detalhes de baixo nvel e quais os conflitos no uso do hardware
so minimizados.

Tipos de sistemas operacionais


Os sistemas operacionais podem ser classificados segundo diversos parmetros e
perspectivas, como tamanho, velocidade, suporte a recursos especficos, acesso
rede, etc. A seguir so apresentados alguns tipos de sistemas operacionais usuais
(muitos sistemas operacionais se encaixam bem em mais de uma das categorias
apresentadas).
Batch (de lote)
Os sistemas operacionais mais antigos trabalhavam por lote, ou seja, todos os
programas a executar eram colocados em uma fila, com seus dados e demais
informaes para a execuo.
De rede
Um sistema operacional de rede deve possuir suporte operao em rede, ou
seja, a capacidade de oferecer s aplicaes locais recursos que estejam
localizados em outros computadores da rede, como arquivos e impressoras. Ele
tambm deve disponibilizar seus recursos locais aos demais computadores, de
forma controlada. A maioria dos sistemas operacionais atuais oferece esse tipo de
funcionalidade.

Distribudo
Em um sistema operacional distribudo, os recursos de cada mquina esto
disponveis globalmente, de forma transparente aos usurios. Ao lanar uma
aplicao, o usurio interage com sua janela, mas no sabe onde ela est executando
ou armazenando seus arquivos: o sistema quem decide, de forma transparente. Os
sistemas operacionais distribudos j existem h tempos (Amoeba e Clouds, por
exemplo), mas ainda no so uma realidade de mercado.
Multi-usurio
Um sistema operacional multi-usurio deve suportar a identificao do dono de
cada recurso dentro do sistema (arquivos, processos, reas de memria, conexes
de rede) e impor regras de controle de acesso para impedir o uso desses recursos
por usurios no autorizados. Essa funcionalidade fundamental para a segurana
dos sistemas operacionais de rede e distribudos. Grande parte dos sistemas atuais
so multi-usurios.
Desktop
Um sistema operacional de mesa voltado ao atendimento do usurio domstico
e corporativo para a realizao de atividades corriqueiras, como edio de textos e
grficos, navegao na Internet e reproduo de mdias simples. Sua principais
caractersticas so a interface grfica, o suporte interatividade e a operao em
rede. Exemplos de sistemas desktop so o Windows XP, MacOS X e Linux.

Servidor
Um sistema operacional servidor deve permitir a gesto eficiente de grandes
quantidades de recursos (disco, memria, processadores).
Embutido
Um sistema operacional dito embutido (embedded) quando construdo para
operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia.
Tempo real
Ao contrrio da concepo usual, um sistema operacional de tempo real no
precisa ser necessariamente ultra-rpido; sua caracterstica essencial ter um
comportamento temporal previsvel (ou seja, seu tempo de resposta deve ser
conhecido no melhor e pior caso de operao).
Exemplos de sistemas de tempo real incluemoQNX, RT-Linux e VxWorks. Muitos
sistemas embutidos tm caractersticas de tempo real, e vice-versa.
Arquiteturas de Sistemas Operacionais
Embora a definio de nveis de privilgio imponha uma estruturao mnima a um
sistema operacional, as mltiplas partes que compem o sistema podem ser
organizadas de diversas formas, separando suas funcionalidades e modularizando
seu projeto. Nesta seo sero apresentadas as arquiteturas mais populares para a
organizao de sistemas operacionais.

Sistemas monolticos
Em um sistema monoltico, todos os componentes do ncleo operam em modo ncleo e
se inter-relacionam conforme suas necessidades, sem restries de acesso entre si, pois o
cdigo no nvel ncleo tem acesso pleno a todos os recursos e reas de memria.

A grande vantagem dessa arquitetura seu desempenho: qualquer componente


do ncleo pode acessar os demais componentes, toda a memria ou mesmo
dispositivos perifricos diretamente, pois no h barreiras impedindo esse acesso.
A interao direta entre componentes tambm leva a sistemas mais compactos.
A arquitetura monoltica foi a primeira forma de organizar os sistemas
operacionais; sistemas UNIX antigos e oMS-DOS seguiam esse modelo.
Atualmente, apenas sistemas operacionais embutidos usam essa arquitetura,
devido s limitaes do hardware sobre o qual executam.
O ncleo do Linux nasceu monoltico, mas vem sendo paulatinamente
estruturado e modularizado desde a verso 2.0 (embora boa parte de seu cdigo
ainda permanea no nvel de ncleo).
Sistema em Camadas
Uma forma mais elegante de estruturar um sistema operacional faz uso da noo
de camadas: a camada mais baixa realiza a interface como hardware, enquanto as
camadas intermedirias provem nveis de abstrao e gerncia cada vez mais
sofisticados. Por fim, a camada superior define a interface do ncleo para as
aplicaes (as chamadas de sistema).

Sistemas micro-ncleo.
Uma outra possibilidade de estruturao consiste em retirar do ncleo todo o
cdigo de alto nvel (normalmente associado s polticas de gerncia de
recursos), deixando no ncleo somente o cdigo de baixo nvel necessrio para
interagir como hardware e criar as abstraes fundamentais (como a noo de
atividade).
Por fazer os ncleos de sistema ficarem menores, essa abordagem foi
denominada micro-ncleo (ou -kernel).

Em um sistema micro-ncleo, as interaes entre componentes e aplicaes so


feitas atravs de trocas de mensagens. Assim, se uma aplicao deseja abrir um
arquivo no disco rgido, envia uma mensagem para o gerente de arquivos que, por
sua vez, se comunica com o gerente de dispositivos para obter os blocos de dados
relativos ao arquivo desejado.
Mquinas virtuais
Em um computador real uma camada de software de baixo nvel (por exemplo, a
BIOS dos sistemas PC) fornece acesso aos vrios recursos do hardware para o
sistema operacional que os disponibiliza de forma abstrata s aplicaes. Quando o
sistema operacional acessa os dispositivos de hardware ele faz uso dos drivers
respectivos que interagem diretamente com a memria e os dispositivos da mquina.
Uma mquina virtual definida como uma duplicata eficiente e isolada de uma
mquina real. A funcionalidade e o nvel de abstrao de uma mquina virtual se
encontra entre uma mquina real e um emulador, na medida em que abstrai somente
os recursos de hardware e de controle usados pelas aplicaes.
Existem basicamente duas abordagens para a construo de sistemas de mquinas
virtuais: o tipo I, onde o monitor de mquinas virtuais implementado entre o
hardware e os sistemas convidados, e o tipo I, onde o monitor implementado
como um processo de um sistema operacional real subjacente, denominado sistema
anfitrio ou sistema hospedeiro. Ambas as abordagens esto ilustradas na figura
abaixo, Como exemplos de sistemas de tipo I podem ser citados o VM Ware ESX
Server e o Xen; para o tipo I podem ser citados o VM Ware Workstation, o MS
Virtual PC e o User-Mode Linux.

Como o sistema operacional convidado e o ambiente de execuo na


mquina virtual so idnticos ao da mquina real, possvel usar os softwares
j construdos para a mquina real dentro das mquinas virtuais. Essa
transparncia evita ter de construir novas aplicaes ou adaptar as j
existentes.

Gerenciamento de Memria
Tem como objetivo fornecer a cada aplicao uma rea de memria prpria,
independente e isolada das demais aplicaes e inclusive do ncleo do sistema. O
isolamento das reas de memria das aplicaes melhora a estabilidade e
segurana do sistema como um todo, pois impede aplicaes com erros (ou
aplicaes maliciosas) de interferir no funcionamento das demais aplicaes.
Alm disso, caso a memria RAM existente seja insuficiente para as aplicaes, o
sistema operacional pode aument-la de forma transparente s aplicaes,
usando o espao disponvel em um meio de armazenamento secundrio (como
um disco rgido). Uma importante abstrao construda pela gerncia de
memria a noo de memria virtual, que desvincula os endereos de memria
vistos por cada aplicao dos endereos acessados pelo processador na memria
RAM. Com isso, uma aplicao pode ser carregada em qualquer posio livre da
memria, sem que seu programador tenha de se preocupar com os endereos
de memria onde ela ir executar.

Volatilidade
A memria pode ser classificada em funo de sua volatilidade que e a
capacidade de a memria preservar o seu contedo mesmo sem uma fonte de
alimentao estar ativa. As memrias chamadas volteis se caracterizam por
poderem ser lidas ou gravadas, como o tipo RAM (random access memory), que
constitui quase que a totalidade da memria principal de um computador. O
outro tipo, chamado de no voltil, no permite alterar ou apagar seu contedo,
este tipo de memria conhecido como ROM (read-only memory), j vem
prgravado do fabricante, geralmente com algum programa, e seu contedo
preservado mesmo quando a alimentao desligada. Uma variao da ROM e a
EPROM (erasable programmable ROM), onde podemos gravar e regravar a
memria atravs exposio de luz ultravioleta por um dispositivo especial.
Atualmente, uma srie de memrias com diferentes caractersticas, existe para
diversas aplicaes, como a EEPROM, EAROM, EAPROM, NOVRAM entre
outras.

Hierarquia de memrias

Registradores
Os registradores so dispositivos de alta velocidade, localizados fisicamente na
UCP para armazenamento temporrio de dados. O nmero de registradores varia
em funo da arquitetura de cada processador.
Memria Cache
A memria cache e uma memria voltil de alta velocidade. O tempo de acesso a
um dado nela contido e muito menor que se o mesmo estivesse na memria
principal.
Memria Principal
A memria principal, tambm conhecida como memria primria ou real, a parte
do computador onde so armazenados instrues e dados. Ela e composta por
unidades de acesso chamadas de clulas sendo cada clula composta por um
determinado nmero de bits (binary digit). O bit a unidade bsica de memria
podendo assumir o valor 0 ou 1. Atualmente a grande maioria dos computadores
utiliza o byte (8 bits) como tamanho de clula, porm encontramos computadores
de geraes passadas com clulas de 16, 32 e at mesmo 60 bits.

O acesso ao contedo de uma clula e realizado atravs da especificao de um


nmero chamado endereo. O endereo uma referncia nica que podemos fazer
a uma clula de memria. Quando um programa deseja ler ou escrever um dado em
uma clula deve primeiro especificar qual o endereo de memria desejado para
depois realizar a operao.
A especificao do endereo realizada atravs de um registrador denominado
registrador de endereo de memria (memory register address - MAR), atravs do
contedo deste registrador a unidade de controle sabe qual a clula de memria
que ser acessada. Outro registrador usado em operaes com a memria e o
registrador de dados da memria (memory buffer registerMBR), este registrador
utilizado para guardar o contedo de uma ou mais clulas de memria aps uma
operao de leitura ou para guardar o dado que ser transferido para a memria
em uma operao de gravao.

Memria Secundria
A memria secundria e um meio permanente (no voltil) de armazenamento de
programas e dados. Enquanto a memria principal precisa estar sempre energizada
para manter suas informaes, a memria secundria no precise de alimentao.
O acesso a memria secundria e lento, se comparado com o acesso a memria
cache ou principal, porm seu custo e baixo e sua capacidade de armazenamento
e bem superior a da memria principal. Enquanto a unidade de acesso a memria
secundria e da ordem de milissegundos, o acesso a memria principal e de
nanossegundos. Podemos citar, como exemplos de memrias secundrias, o disco
magntico e os dispositivos de armazenamento.
Endereamento Virtual
O endereo virtual estruturado em duas partes, correspondentes pgina virtual
e ao byte dentro da pgina. O virtual page number (VPN) indica a pgina virtual em
que o endereo est contido e o campo de deslocamento indica qual o byte
especificado dentro da pgina.
Swapping
A paginao um procedimento natural do mecanismo de memria virtual. Os
processos esto permanentemente paginando e, para isso, o sistema operacional
deve possuir sempre pginas disponveis na memria principal para serem utilizadas.
Em funo disso, a lista de pginas livres deve sempre possuir uma quantidade
mnima de pginas necessria para a utilizao dos processos.

Gerncia de dispositivos
Cada perifrico do computador possui suas peculiaridades, assim, o procedimento
de interao com uma placa de rede completamente diferente da interao
comum disco rgido SCSI. Todavia, existem muitos problemas e abordagens em
comum para o acesso aos perifricos. Por exemplo, possvel criar uma abstrao
nica para a maioria dos dispositivos de armazenamento como pen-drives, discos
SCSI ou IDE, disquetes e etc, na forma de um vetor de blocos de dados. A funo
da gerncia de dispositivos (tambm conhecida como gerncia de entrada/sada)
implementar a interao com cada dispositivo por meio de drivers e criar
modelos abstratos que permitam agrupar vrios dispositivos distintos sob a
mesma interface de acesso.
Dispositivos de Entrada e Sada
Os dispositivos de entrada e sada (E/S) so utilizados para permitir a
comunicao entre o computador e o mundo externo. Atravs desses dispositivos
a UCP e a memria principal podem se comunicar tanto com usurios quanto
com memrias secundrias, a fim de realizar qualquer tipo de processamento.
Alguns dispositivos servem para a comunicao homem-mquina, como teclados,
monitores de vdeo, impressoras, entre outros. Com o avano no desenvolvimento
de aplicaes de uso cada vez mais geral procura-se aumentar a facilidade de
comunicao entre o usurio e o computador. A implementao de interfaces mais
amigveis permite cada vez mais que

Barramento
A UCP, a memria principal e os dispositivos de E/S so interligados atravs de
linhas de comunicao denominadas barramentos, barras ou vias. Um barramento
(bus) um conjunto de fios paralelos (linhas de transmisso) onde trafegam
informaes, como dados, endereos ou sinais de controle. Ele pode ser
classificado como unidirecional (transmisso em um s sentido) ou bidirecional
(transmisso em ambos os sentidos).
Gerenciamento do processador
A gerncia do processador implementada define a poltica de diviso do tempo
do processador entre os processos dos usurios e do sistema operacional. O
escalonamento de processos realizado por uma rotina de interrupo do
sistema denominada scheduler.
A poltica de escalonamento implementada atravs de prioridades associadas
aos processos, denominadas prioridades base, esta prioridade estabelecida no
momento da criao do processo.
Gerenciamento de arquivos
Esta funcionalidade construda sobre a gerncia de dispositivos e visa criar
arquivos e diretrios, definindo sua interface de acesso e as regras para seu uso.
importante observar que os conceitos abstratos de arquivo e diretrio so to
importantes e difundidos que muitos sistemas operacionais os usam para permitir
o acesso a recursos que nada tem a ver com armazenamento.

Sistemas de arquivos
Um sistema de arquivos um conjunto de estruturas lgicas e de rotinas, que
permitem ao sistema operacional controlar o acesso ao disco rgido. Diferentes
sistemas operacionais usam diferentes sistemas de arquivos. Conforme cresce a
capacidade dos discos e aumenta o volume de arquivos e acessos esta tarefa
torna-se mais e mais complicada, exigindo o uso de sistemas de arquivos cada vez
mais complexos e robustos. Existem diversos sistemas de arquivos diferentes, que
vo desde sistemas simples como o FAT16, que utilizamos em cartes de memria,
at sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais
avanados.
Formatao e formatos.
FAT = File Allocation Table. Num HD armazena a lista dos endereos ocupados
por cada arquivo guardado, permitindo localiza-los. A funo da FAT servir como
um ndice, armazenando informaes sobre cada cluster do disco.
FAT32 = o menos usado FAT, eram usados em verses anteriores do Windows,
inclusive Windows 95, Windows 98 e Windows Millennium Edition. O FAT32 no
possui a segurana oferecida pelo NTFS, por isso se voc possui uma partio ou
volume FAT32 no computador, qualquer usurio com acesso a esse computador
poder ler qualquer arquivo. O FAT32 tambm tem limitaes de tamanho.Voc
no pode criar uma partio FAT32 maior do que 32GB nesta verso do Windows,
e no pode armazenar arquivos maiores do que 4GB em uma partio FAT32.

NTFS = New Tecnology File System. O NTFS um sistema de arquivos mais


antigo do que muitos acreditam. Ele comeou a ser desenvolvido no incio da
dcada de 1990, quando o projeto do Windows NT dava os seus primeiros passos.
NTFS o sistema de arquivos preferencial para esta verso do Windows. Esse
sistema oferece muitas vantagens em relao ao sistema de arquivos FAT32
anterior, incluindo:
A capacidade de recuperar alguns erros de disco automaticamente, o que o FAT32
no faz.
Maior suporte para discos rgidos de maior capacidade.
Mais segurana, pois permite usar permisses e criptografia para restringir o
acesso a determinados arquivos a usurios aprovados.