Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
sistemas
operacionais
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.
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.
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).
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.
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.