Vous êtes sur la page 1sur 24

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO SUDESTE DE

MINAS CAMPUS DE JUIZ DE FORA

ISO INTRODUO AOS SISTEMAS OPERACIONAIS


WINDOWS

JUIZ DE FORA, 21 DE NOVEMBRO DE 2011

Sumrio

Capa.........................................................................................................................1

Sumrio....................................................................................................................2

Histria ................................................................................................................................. 3

Caractersticas internas ..................................................................................................... 4

Tipo de Sistema Operacional: Multiusurio e Multitarefa............................................. 4

Estrutura do Sistema Operacional ................................................................................... 5

Processos ............................................................................................................................ 7

Arquitetura de camadas .................................................................................................. 11

Proteo de memria....................................................................................................... 12

Gerncia de Memria ...................................................................................................... 12

Gerncia de Memria Virtual (VMM) ............................................................................. 14

Sistemas de arquivos ....................................................................................................... 16

Particularidades ................................................................................................................ 19

Modo Real, Modo Protegido e modo Virtual 8086 ...................................................... 19

Arquitetura de Sistemas de 32 bits ................................................................................ 19

Componentes de Arquitetura .......................................................................................... 20

Registro .............................................................................................................................. 22

Nveis de Privilgio ........................................................................................................... 22

Componentes .................................................................................................................... 23

Bibliografia. ........................................................................................................................ 23

Nome dos Alunos...................................................................................................24

Histria
A Microsoft comeou o desenvolvimento de um Gerenciador de Interface (nomeado de
Microsoft Windows) em setembro de 1981. Com isso tornou-se possvel utilizao do mouse
em um ambiente de telas grficas chamadas de janelas. Foi responsvel pela popularizao da
interface grfica dos computadores.
Com a chegada da interface grfica, tudo mudou. O Windows no foi inovador, foi uma
cpia de um sistema desenvolvido pela Apple, que, por sua vez, foi uma melhoria do sistema
da Xerox. A dupla Steve Jobs e Steve Wozniak criaram o Lisa, sistema operacional baseado na
interface grfica da Xerox.
Bill Gates estava, na poca, trabalhando para a Apple, e se aproveitando de Steve Jobs,
conseguiu exemplares do novo computador, o Lisa. Com isto Bill Gates, que j havia formado
uma nova empresa (Microsoft), trabalhou em cima do Lisa, criando o Windows, com algumas
melhorias em relao ao sistema de Jobs.
O primeiro Windows era uma juno do sistema operacional MS-DOS com a interface
grfica. A verso NT do Windows foi o primeiro sistema operacional da Microsoft a abandonar
o MS-DOS.
Com a evoluo do sistema operacional Windows, foram criadas vrias verses,
algumas voltadas para o usurio domestico e pessoal, outras para o uso profissional.

As verses para uso domstico foram desenvolvidas com programao de baixo nvel,
sem grandes preocupaes de segurana o que o tornavam eficientes, mas poucos estveis e
seguro. Com as verses para uso profissional, a Microsoft comeou a desenvolver do zero,
outro tipo de sistema operativo que passou a ser conhecido por NT (New Tecnology), este
novo sistema mantm a interface grfica de sucesso, compatvel com os anteriores ao nvel
binrio, mas no seu interior totalmente diferente j que implementa os conceitos necessrios
a um sistema operativo seguro.
1 Uso domstico e pessoal: Windons 1.0, Windows 2.0, Windows 3.0, Windows 3.1, Windows
3.11, Windows 95, Windows 98 e Windows ME;
2 Uso profissional: Windows NT 3.5x, Windows NT 4.0, Windows 2000, Windows XP,
Windows Vista.
A ltima verso do Windows atualmente o Windows Seven. Esta nova verso muito
inovadora, e aproveita melhor a capacidade da mquina, comparativamente ao seu antecessor
(Windows Vista). Atualmente o Windows o sistema operacional mais usado, e o programa
mais copiado no mundo.

Caractersticas internas
Cada Windows possui caractersticas prprias de funcionamento interno. Podemos citar
algumas, por exemplo:

Historia;

Tipo do Sistema Operacional: Mono tarefa e Multitarefa;

Estrutura do Sistema Operacional;

Processos;

Gerncia de memria;

Gerenciador de maquina virtual;

Gerenciador da mquina virtual (VMN);

Sistema de Arquivos;

Memria virtual;

Modo Real, Modo Protegido e Modo Virtual 8086;

Arquitetura de Sistemas de 32 bits;

Componentes da Arquitetura;

Nveis de privilgio;

Componentes;

Tipo de Sistema Operacional: Multiusurio e Multitarefa

Multiusurio

Um sistema operacional dito monousurio quando ele permite que apenas um usurio
trabalhe por vez no sistema, por exemplo: DOS, Windows 3.x, Windows 9x, Windows ME.
Em contrapartida um sistema operacional dito Multiusurio quando ele permite mais de
um usurio trabalhar no sistema ao mesmo tempo, por exemplo, o Windows NT, Windows 2000
e Windows XP.

Multitarefa

Multitarefa a capacidade de executar vrias tarefas concorrentemente. Na verdade elas


no so executadas exatamente ao mesmo tempo, mas so atendidas por tempo suficiente
para que todos os processos se sintam como assim fosse.
Todos os processadores a partir do 386 fazem multitarefa automaticamente quando esto
em modo protegido. Para isto, no entanto, necessrio que cada aplicativo esteja protegido na
em memria, ou seja, isolado em sua prpria rea na memria.
O Windows 3.x no protege seus aplicativos em memria. Para o processador, h uma
nica rea sendo utilizada pelo Windows e seus aplicativos; no h diviso. Logo conclumos
que no pode existir multitarefa nesse ambiente. Como o processador no poderia comandar a
multitarefa (j que os programas no estavam protegidos em memria), a soluo encontrada

foi fazer com que os prprios aplicativos a controlassem, criando o termo multitarefa
cooperativa. Nela o sistema cede o controle do processador para o aplicativo e espera
pacientemente que ele o devolva o quanto antes. Isso perigoso, pois muitos aplicativos
simplesmente no devolvem a tempo e provocam lentido na resposta do sistema e at
travamento.
Na poca em que foi criada a multitarefa cooperativa, foi uma excelente soluo para
estender a utilidade do DOS.
O Windows 95 um sistema multitarefa hbrido. Ele utiliza tanto a multitarefa cooperativa
quanto a multitarefa preemptiva. Este esquema de multitarefa do Windows 95 s funciona se
voc estiver executando exclusivamente aplicativos escritos para Windows 95 (aplicativos 32
bits). Basta abrir um nico aplicativo escrito para Windows 3.x (aplicativos 16 bits) que o
esquema de multitarefa passa de preemptiva para cooperativa, transformando o Windows 95
em Windows 3.11 de luxo, no importando a quantidade de aplicativos de 32 bits que estejam
abertos.

Estrutura do Sistema Operacional


O Windows 3.x e o Windows 95 possuem trs ncleos bsicos:

GDI Graphics Device Interface. parte do Windows responsvel pela apresentao


de tudo aquilo que est na tela. Todas as janelas e cones so desenhados pelo GDI.

User Controla a interface do Windows com o usurio, como entrada de comandos e


documentos abertos.

Kernel O ncleo do sistema propriamente dito. o Kernel que controla o acesso


memria, gerencia a memria virtual, controla os aplicativos, gerencia arquivos, etc.

O Ncleo hbrido define um ncleo baseado em microncleo no qual mdulos externos


a ele podem executar operaes em modo protegido, a fim de evitar trocas de contexto
e melhorar o desempenho geral do sistema, porm sendo hbrido, tem a capacidade de
agregar ou desagregar funcionalidades, sem perder desempenho ou estabilidade
presentes na sua estrutura inicial, proporcionais a sua organizao.

No Windows 3.x, estes trs ncleos possuem cdigos de 16 bits, como de supor, e esto
armazenados nos arquivos KRNI. 386.EXE, GDI.EXE e USER.EXE.

O Windows 95 possui estes trs ncleos compilados para o modo protegido de 32 bits,
estando armazenados nos arquivos KERNEL32.DLL, GDI32.DLL e USER32.DLL. Apesar disto
o Windows 95 continua possuindo os trs arquivos contendo o mesmo cdigo de 16 bits
presentes no Windows 3.x. O Windows 95 funciona da seguinte forma: quando um aplicativo
de 32 bits executado, ele utiliza nica e exclusivamente o ncleo 32 bits o Kernel32, o
GDI32 e o USER32. J um aplicativo de 16 bits, porm tem um pequeno problema. Como ele
foi escrito de modo a utilizar os arquivos do ncleo de 16 bits (pois o ncleo de 32 bits no
existia no Windows 3. x), o ncleo de 16 bits do Windows 95 tem que ser especialmente
qualificado. Quando um aplicativo de 16 bits faz uma chamada a uma sub-rotina presente no
ncleo de 16 bits, este redireciona esta chamada ao ncleo de 32 bits. Teoricamente este
processo funcionaria maravilhosamente bem, mas no bem assim. Como a Microsoft decidiu
no compilar totalmente os trs ncleos do Windows 95 para o modo protegido de 32 bits por
causa das exigncias de memria RAM, estes ncleos no possuem todas as sub-rotinas
necessrias para a execuo do Kernel que o ncleo bsico e mais importante, tendo sido
totalmente reescrito para o modo protegido de 32 bits. Quando um programa chama uma subrotina do GDI ou do USER, caso esta sub-rotina no esteja presente no ncleo de 32 bits
porque no foi implementada, o ncleo de 32 bits chama a sub-rotina necessria no ncleo de
16 bits. O problema deste processo claro: mesmo aplicativo de 32 bits uma vez ou outra
utilizaro cdigo de 16 bits, porque o GDI32 e o USER32 no possuem todas as sub-rotinas
necessrias implementadas em modo protegido de 32 bits. O problema maior ainda, pois o
cdigo de 16 bits um tipo de cdigo no-reentrante, ele foi escrito sem se preocupar com
multitarefa. Por este motivo, um cdigo de 16 bits no pode ser simultaneamente por mais de
um programa. Ou seja, tudo para quando o ncleo de 16 bits acessado.
por este motivo, por exemplo, que s vezes quando voc maximiza e minimiza
programas do Windows 95 a janela do programa demora um pouco para ser formada, mesmo
quando estamos trabalhando somente com aplicativos de 32 bits e mesmo com um micro com
dezenas de Mb de memria RAM: o GDI32 (que o ncleo responsvel por desenhar as
janelas) de vez em quando acessa sub-rotinas presentes no ncleo de 16 bits. E neste instante
tudo para, pois o cdigo de 16 bits no pode ser acessado simultaneamente por mais de um
aplicativo. H, no entanto, um detalhe importante: tanto o GDI quanto o USER acessam o
Kernel e vice-versa. Desta forma, o Kernel32 acessa de vez em quando o GDI32 ou o
USER32, sendo que estes dois acessam o Kernel16 (Kernel386.EXE).
As verses a partir do XP e 2003 Server esto preparadas para a tecnologia 64 bits.
Os sistemas de 64 bits no possuem mais suporte para rodar nativamente aplicativos de 16
bits, sendo necessrio uso de emuladores/mquinas virtuais.

Processos
Em sistemas operacionais, o processo um mdulo executvel nico, que corre
concorrentemente com outros mdulos executveis. Por exemplo, em um ambiente multi-tarefa
que suporta processos, um processador de texto, um navegador e um sistema de banco de
dados so processos separados que podem rodar concomitantemente.
Processos podem ser divididos em pedaos para que ele no deixe de responder por
algum motivo externo, onde isto possa atrapalhar a execuo do mesmo, ou para agilizar a
programao e execuo. Quando programas so divididos em threads, podemos ter partes do
processo rodando em paralelo, threads tambm so escalonveis.
Processos so mdulos separados e carregveis, ao contrrio de threads, que no
podem ser carregadas. Mltiplas threads de execuo podem ocorrer dentro de um mesmo
processo. Alm das threads, o processo tambm inclui certos recursos, como arquivos e
alocaes dinmicas de memria.
A comunicao entre processos o grupo de mecanismos que permite aos processos
transferirem informao entre si. A capacidade de um sistema operacional executar
simultaneamente dois ou mais processos chamada multiprocessamento. Se existirem dois ou
mais processos executados em simultneo e disputam o acesso a recursos partilhados,
problemas da concorrncia podem ocorrer. Estes problemas podem ser resolvidos pelo
gerenciamento adequado de mltiplas linhas de execuo ou processos atravs da
sincronizao (multitarefa) ou por outros recursos (como a troca de contexto).
Em geral, os processos so formados pelos seguintes recursos:

Memria, que inclui o cdigo executvel, dados especficos do processo (dados da entra
e sada), uma chamada de pilha (para manter a pilha de subrotinas ativas e/ou outros
eventos, e um heap (alocao dinmica de memria) para manter a computao
intermediria gerada durante o tempo de execuo.

Atributos de segurana, tais como conjunto de permisses para o usurio que criou o
processo, so as operaes permitidas.

Contexto de estado do processador, tal como o contedo dos registradores, memria


fsica de endereamento. O estado normalmente guardado nos registradores quando o
processo est em execuo, e na memria principal caso contrrio.
O sistema operacional mantm a maior parte da informao sobre processos dentro de

estruturas de dados chamadas Bloco de controle de processos (PCB).


Qualquer subconjunto de recursos, mas normalmente ao menos o estado do
processador, pode ser associado com cada um dos processos threads no sistema operacional,
que suporte threads ou processos 'filha'.

O sistema operacional mantm esses processos separados e aloca recursos


necessrios para cada um deles, diminuindo as chances de um processo atrapalhar o outro. O
sistema operacional pode alm disso prover mecanismos para comunicao entre processos,
permitindo assim interao e comportamento mais seguro entre os processos.
Processos so interrompidos e retomados a todo tempo, para que o sistema
operacional possa fazer esse tipo de ao, necessrio a troca de contexto. Para que o
sistema operacional possa interromper um processo e retomar ele mais tarde, ele usa a PCB
(Process Control Block) para guardar todas as informaes que a CPU estava usando naquele
momento e possa consulta-la mais tarde para que retome exatamente no ponto em que foi
interrompido anteriormente.
Um processo formado por trs partes, conhecidas como contexto de hardware, contexto
de software e espao de endereamento, que juntas mantm todas as informaes
necessrias execuo de um programa.

Espao de Endereamento

O espao de endereamento a rea de memria pertencente ao processo onde instrues e


dados do programa so armazenados para execuo. Cada processo possui seu prprio
espao de endereamento, que deve ser devidamente protegido do acesso dos demais
processos.

Contexto de Hardware

O contexto de hardware de um processo armazena o contedo dos registradores gerais da


CPU, alm dos registradores de uso especfico, como contador de instrues (CI), o apontador
da pilha (AP) e o registrador de status (PSW).

Contexto de Software

No contexto de software de um processo so especificados limites e caractersticas dos


recursos que podem ser alocados pelo processo, como o nmero mximo de arquivos abertos
simultaneamente, prioridade de execuo e tamanho do buffer para operaes de E/S.
O contexto de software composto por trs grupos de informaes sobre o processo:
Identificao, Quotas e Privilgios.

Identificao

Cada processo criado pelo sistema recebe uma identificao nica (PID Process
Identification) representada por um nmero. Atravs do PID, o sistema operacional e outros
processos podem fazer referncia a qualquer processo existente. Alguns sistemas, alm do
PID, identificam o processo atravs de um nome. O processo tambm possui a identificao do
usurio ou processo que o criou. Cada usurio possui uma identificao nica no sistema
(UID User Identification), atribuda ao processo no momento de sua criao. A UID permite
implementar um modelo de segurana, onde apenas os objetos (processos, arquivos, reas de
memria, etc) que possuem a mesma UID do usurio podem ser acessados.

Quotas

As quotas so os limites de cada recurso do sistema que um processo pode alocar. Alguns
exemplos de quotas presentes na maioria dos sistemas operacionais so:
Nmero mximo de arquivos abertos simultaneamente;
Tamanho mximo de memria principal e secundria que o processo pode alocar;
Nmero mximo de operaes de E/S pendentes;
Tamanho mximo de buffer para operaes de E/S;
Nmero mximo de processos, subprocessos e threads que podem ser criados.

Privilgios

Os privilgios definem as aes que um processo pode fazer em relao a ele mesmo, aos
demais processos e ao sistema operacional. Privilgios que afetam o sistema so os mais
amplos e poderosos, pois esto relacionados operao e gerncia do ambiente, como a
desativao do sistema, alterao de regras de segurana, criao de outros processos
privilegiados, modificao de parmetros de configurao do sistema, entre outros. A maioria
dos sistemas operacionais disponibiliza uma conta de acesso com todos os privilgios
disponveis, com o propsito de o administrador gerenciar o sistema operacional.

Um processo ativo pode encontrar-se em trs diferentes estados: em Pronto, em Execuo


e em espera.

Pronto

O processo j foi submetido e est pronto para receber a CPU, porm ainda aguarda o
escalonador de processos para ter controle da CPU. Processos que esto esperando E/S no
se aplicam a esse estado.

Execuo

A execuo propriamente dita. O cdigo est sendo processado. Se ocorrer durante a


execuo uma requisio de E/S o processo colocado no estado de espera e outro processo
da fila de prontos poder ento concorrer a CPU.

Espera

o processo que foi colocado na fila de espera de E/S devido ao processador de E/S ser
mais lento que a CPU principal. O processo tornaria a CPU mais escrava dele se no houvesse
esse estado, pois como ele no est concorrendo CPU ao executar um E/S, pode-se ento
coloc-lo no estado de espera para que os demais processos do estado pronto possam
concorrer a CPU.

Memria Virtual
No momento em que desejamos armazenar mais dados do que realmente cabe na
memria RAM, o sistema operacional apresenta a mensagem de erro. Devemos, ento, fechar
um ou mais aplicativos para liberamos memria. Quando o processador est em modo
protegido, podemos fazer com que ele pense que h mais memria RAM instalada do que
realmente existe, fazendo com que o erro de estouro de memria seja menos comum.
O Windows 95,98 e ME se beneficiam de um arquivo especial no seu HD denominado
arquivo de transferncia de memria virtual (ou arquivos de paginao). Atravs da memria
virtual, alguns cdigos de programa e informaes so mantidos na memria RAM, enquanto

10

outras so temporariamente transferidas para a memria virtual. Quando estas informaes


so solicitadas novamente o Windows as transfere de volta para a memria RAM e, se
necessrio, transfere outras informaes para a memria virtual. Esse processo invisvel,
embora voc possa perceber que seu disco esteja trabalhando. O benefcio resultante e que
voc poder executar, de uma s vez mais programas do que seria permitido normalmente
pela memria RAM do seu sistema.
A melhor maneira de voc garantir um alto desempenho de um arquivo de
transferncia certificar-se de que o disco que contm o arquivo de transferncia possui
bastante espao disponvel, de modo que os arquivos de transferncia possam ser expandidos
e reduzidos quando necessrio.
A tcnica de memria virtual nos traz uma soluo, mas tambm nos traz um problema.
Como o HD e muito mais lento que o processador, cada troca comandada no e instantnea.
Quanto menos memria RAM um micro tiver, mais vezes sero necessrias trocas com o disco
rgido. Instalando-se mais memria RAM no micro, menos vezes ocorrer o problema de falta
de memria, conseqentemente menos lento ficar o micro, pois utilizara menos a memria
virtual.

Arquitetura de camadas
Um programa de aplicao em n camadas um aplicativo desenvolvido de forma a ter
vrias camadas lgicas. Cada camada auto-contida o suficiente de forma que a aplicao
pode ser dividida em vrios computadores em uma rede distribuda.
A forma mais comum da arquitetura a aplicao em trs camadas, comumente usada em
aplicaes web, na qual as camadas so: interface com o usurio, lgica do negcio, e banco
de dados.
Cada camada desta arquitetura normalmente mantida em um servidor especfico para
tornar-se mais escalonvel e independente das demais. Com o mesmo objetivo so utilizadas
tecnologias de middleware como, por exemplo, CORBA, Web Services ou RMI.
Esta arquitetura tem como caractersticas:

Baixos custos de disponibilizao;

Baixos custos na mudana da base de dados;

Baixos custos na mudana da lgica de negcios;

Eficiente armazenamento e reutilizao de recursos.

11

Proteo de memria
O processador necessita isolar cada aplicativo em sua prpria memria, para que uma
aplicao no sobreponha rea que outra esteja utilizando. Para isso no ocorrer, o
processador protege, em memria, cada aplicativo carregado. Entretanto, nem todos os
sistemas operacionais utilizam o recurso de proteo de memria.
Fica fcil entender o porqu de travamentos constantes e erros GPF (Falha Geral de
Proteo) que ocorrem freqentemente no Windows 3.x e no Windows 9x. Como esses
sistemas no utilizam ou nem sempre utilizam o recurso de proteo de memria, muito
comum um aplicativo invadir a rea do outro.

Gerncia de Memria
Gerenciamento de memria um complexo campo da cincia da computao e so
constantemente desenvolvidas vrias tcnicas para torn-la mais eficiente. Em sua forma mais
simples, est relacionado em duas tarefas essenciais:

Alocao: Quando o programa requisita um bloco de memria, o gerenciador o


disponibiliza para a alocao;

Fragmentao: Quando um bloco de memria foi alocado, mas os dados no foram


requisitados por um determinado nmero de ciclos ou no h nenhum tipo de
referncia a este bloco pelo programa, esse bloco liberado e pode ser reutilizado
para outra requisio.

A cada dia que passa os programadores necessitam de mais memria e mais programas
rodando simultaneamente para poderem tratar cada vez mais informaes. O tratamento
necessrio da memria utilizada no uma tarefa fcil de ser implementada. Existem vrios
requisitos que devem ser observados para o correto funcionamento, tais como, Segurana,
Isolamento, Performance, entre outros. Para isto a funo de gerenciar a memria passa a ser
do sistema operacional e no mais do aplicativo. Para que uma memria funcione de maneira
correta, necessrio que se tome cuidado com vrios elementos como segurana e
isolamento, e para isso utilizado o gerenciamento de memria. Este desenvolve sua funo a
partir de duas tarefas, a Alocao de Memria e a Fragmentao.
A Alocao pode ser tanto esttica, feita quando o programa compilado, e a dinmica,
adiada at a execuo. A Fragmentao, desperdcio de memria, por sua vez pode ser
interna, sobra na memria reservada ao programa, e externa que acontece quando aps o
termino dos programas so deixadas pequenas lacunas entre as pginas. Para que a
utilizao da memria seja mais vantajosa, utilizada a Paginao, processos virtuais da
memria, aplicados na diviso da memria fsica em parties menores, chamadas de frames.
O conjunto de registradores especiais rpidos chama-se Translation Lookaside Buffer, estes

12

so subdivididos em chave valor que lhe dado em todos os registradores ao mesmo tempo,
e valor.
Existe uma tcnica de gerencia de memria chamada memria virtual, que onde
memrias principais e secundrias juntas criam a iluso de que h muito mais memria, com
isso os programas e suas estruturas de dados no se limitam ao tamanho da memria fsica, e
assumem endereos na memria secundria. O gerenciamento de memria virtual pode
ocasionar vazamento de memria, ou seja, quando determinada quantia de memria
alocada e no liberada mesmo que no sendo utilizada, assim dados perdem a referencia sem
ao menos terem usado memria. O gerenciamento automtico chama-se Garbage collector.
Ele retira os blocos de memria automaticamente. Seus algoritmos so divididos em duas
famlias: a Identificao direta, por contagem de referncia, e a Identificao indireta, por
varrimento.
A alocao de memria est dividida em trs partes:

Alocao Esttica: Deciso tomada quando o programa compilado.

Quando o programa executado o Sistema operacional l o mesmo e cria um processo,


sendo o programa uma noo esttica e o processo o programa em execuo, ele criado em
armazenamento primrio e aps isso recebe um espao na memria. O espao de memria
dividido em varias partes, uma das partes se chama segmentos de memria, que armazena
dados estticos, e outro se chama segmento de cdigo que guarda instrues do programa.
Quando o programa executado o registrador PC apontar para determinado endereo do
segmento de cdigo do processo, que se chama TEXT. Para que se realize a alocao esttica
o compilador deve saber o total de memria que est livre, mandar esta informao para o SO
para que este crie um segmento de dados.

Alocao Dinmica: Deciso adiada at a execuo. (Permite Swapping)

Os objetos alocados dinamicamente podem ser criados e liberados a qualquer momento,


em qualquer ordem, o que difere dos objetos locais das funes, que so criados e destrudos
em uma ordem especfica. Dado isto, preciso organizar a memria para objetos dinmicos de
uma forma que possibilite o gerenciamento do tempo de vida dos objetos por parte do
programador. A memria reservada para objetos dinmica costuma ser chamada de heap,
existem vrias formas de organizar um heap. Em linguagens sem gerenciamento
automtico(linguagem C), da memria dinmica, uma organizao usual do heap uma lista
encadeada de blocos livres, porm este tipo de organizao pode ter problemas devido
fragmentao dos blocos. J em linguagens com gerenciamento automtico de memria
dinmica (Java), a organizao do heap depende da parte do sistema de tempo de execuo
encarregada deste gerenciamento. Este componente normalmente chamado de coletor de
lixo.

13

Alocao Local

Este processo de alocao usado para variveis que so locais a funes e sub-rotinas.
Isso significa que o processo em execuo deve manter acessvel as variveis locais da funo
ou procedimento que est executando no momento. Alm disso, pelas propriedades do escopo
em blocos, tambm devem estar acessveis as variveis de blocos mais externos. Em
linguagens que permitem a definio de funes aninhadas, acessando as variveis de
quaisquer funes definidas externamente funo atualmente em execuo. Como uma
funo pode chamar outras funes, um nmero arbitrrio de funes pode estar no meio de
sua execuo em um determinado momento, mesmo que apenas uma esteja realmente sendo
executada, isso indica que o contexto de vrias funes deve ser mantido enquanto as
mesmas no concluram sua execuo.
Fragmentao o desperdcio de pginas de memria alocadas.
Pode ser de dois tipos: interna e externa.

Fragmentao Interna: Ocorre quando o processo no ocupa inteiramente os blocos de


memria (pginas) reservados para ele. Geralmente acontece pois o tamanho do
processo no um mltiplo do tamanho da pgina de memria, o que acarreta sobra
de espao na ltima pgina alocada.

Fragmentao Externa: Ocorre medida que os programas vo terminando e deixando


lacunas cada vez menores de espaos entre as pginas. Dependendo do tamanho que
precisa ser escrito em memria, estes espaos podem ser pequenos demais para
serem teis, e assim ficam inutilizados.

Estratgias para "atacar" o problema com o algoritmos First-fit, Best-fit, Worst-fit e Next-fit.

Gerncia de Memria Virtual (VMM)


Memria virtual, uma tcnica que usa a memria principal como uma cache para
armazenamento secundrio. Houve duas motivaes principais: permitir o compartilhamento
seguro e eficiente da memria entre vrios programas e remover os transtornos de
programao de uma quantidade pequena e limitada na memria principal.
Um dos componentes mais importantes do Windows 95, o VMM oferece aos programas
um ambiente de mquina virtual, com todas as caractersticas de um computador real (CPU,
memria, dispositivos I/O...). Ele faz isso ou dividindo o tempo dos dispositivos reais ou
simulando caractersticas que no existem. Um exemplo de simulao o caso da memria
virtual, quando o VMM dispe ao programa um ambiente com mais memria disponvel para
alocao do que realmente h na mquina. O gerenciamento de memria no VMM tem duas
partes: um aspecto controla a memria virtual e o outro prov memria extendida para
mquinas virtuais DOS, esse ltimo chamado DPMI (DOS Protected Mode Interface). A

14

qualidade de memria que ser dada aumentos temporrios destas. Gerenciamento de


processos prioridades as Threads no Windows 95 tm mais prioridades, que vo de 0 a 31. A
Prioridade 0 e a mais baixa e de uso exclusivo do sistema. As demais se classificam nos
seguintes grupos: Ocioso (1-6), Normal (5-11), Background (5-9), Foreground (6-11) Em Alta
(11-15), Real Time (16-31).
Podemos observar que algumas faixas de prioridades se sobrepem. Isso permite maior
flexibilidade no escalonamento. possvel, por exemplo, que um processo em background
tenha maior prioridade que um processo foreground, embora isso no haja muito em comum.
Existem dois mecanismos principais para implementao da memria virtual: paginao
e segmentao.

Paginao
No contexto dos sistemas operacionais, a paginao da memria do computador um

processo de virtualizao da memria que consiste na subdiviso da memria fsica em


pequenas parties (frames), para permitir uma utilizao mais eficiente da mesma. A alocao
de memria requisitada por pginas, a menor unidade deste mtodo. Cada pgina
mapeada numa frame de memria atravs de um processo que chama paginao. O sistema
operacional pode estar em base do espao de endereamento, em RAM, ou estar no topo do
espao de endereamento, em ROM, e o restante do sistema mais embaixo, em RAM. O
primeiro modelo foi inicialmente empregado em computadores de grande porte e
minicomputadores (mas no muito usado). O segundo modelo utilizado em alguns
computadores de mo e em sistemas embarcados. O terceiro modelo fez parte dos primeiros
computadores pessoais, nos quais a parte do sistema contida em ROm denominada BIOS.
Quando o sistema organizado dessa maneira, somente um processo pode ser executado a
cada instante. To logo um usurio tecle um comando, o sistema operacional carrega o
programa solicitado do disco na memria e o executa. Quando o processo finaliza, o SO coloca
na tela um caractere de prompt e espera por um novo comando. Ao receber um novo
comando, carregar o novo programa na memria, no espao de endereamento ocupado pelo
programa anterior.

Segmentao

Na segmentao existem vrios espaos de endereamento para cada aplicao (os


segmentos).

Neste

caso,

endereamento

consiste

em

um

par

ordenado

[segmento:deslocamento], onde o deslocamento a posio do byte dentro do segmento.

15

Sistemas de arquivos
Parte do Sistema Operacional responsvel pelo gerenciamento de arquivos (estrutura,
identificao, acesso, utilizao, proteo e implementao).
Quando voc salva os arquivos, seu computador utiliza um sistema de arquivos para
controlar como arquivos e pastas sero armazenadas em seu disco rgido. Um sistema de
arquivos avanado que pode melhorar o desempenho e aumentar o espao disponvel em
disco.
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.
No mundo Windows, temos apenas trs sistemas de arquivos: FAT16, FAT32 e NTFS.
O FAT16 o mais antigo, usado desde os tempos do MS-DOS, enquanto o NTFS o mais
complexo e atual.
FAT (File Allocation Table): Tabela de Alocao de Arquivos. um sistema de arquivos
composto por uma tabela, gravada no prprio disco, que indica quais setores esto disponveis
e quais contm dados de arquivos. atravs do Fat que o Windows sabe onde o arquivo est
localizado dentro de um disco.
O sistema de arquivos Fat32 possui algumas vantagens sobre o Fat16 como, por
exemplo: permitir que os programas sejam abertos mais rapidamente; disponibilizar um maior
espao e um melhor desempenho em disco mais eficiente; permitir que um disco rgido de at
2 TB seja formatado como uma unidade nica eliminando a necessidade de partio do disco
rgido; permitir realocar a pasta raiz e usar copias de backup do Fat, tornando seu computador
menos vulnervel a falhas.
Arquivos so mecanismos de abstrao para armazenar/recuperar dados em disco.
Escondem do usurio os detalhes sobre como a informao est armazenada e como os
discos funcionam na realidade.
Seqncia de bytes

Qualquer significado deve ser imposto pelo programa no nvel do usurio;

Grande flexibilidade;

"Estruturao" delegada aplicao;

Seqncia de registros de mesmo tamanho -- acesso pelo ndice do registro;

Arvores de registros (cada um no necessariamente de mesmo tamanho, e possuindo


um campo-chave em posio fixa do registro -- ordenao por esse campo para

16

facilitar a busca). Seu objetivo localizar o registro possuindo determinada chave (sem
se importar com a posio do registro no arquivo). Usado tipicamente em
computadores de grande porte.

Atributos de arquivos

Atributos alm do nome e dados (a lista exata de atributos depende do SO): proteo: rwx,
senha necessria para abrir arquivo; criador: ID do criador do arquivo; instante de criao;
instante do ltimo acesso; instante da ltima mudana; tamanho; etc.

Diretrios

a organizao do sistema de arquivos. Um diretrio uma tabela com um conjunto de


entradas: uma por arquivo.
Quando um arquivo aberto, seus atributos e endereos de disco so carregados para a
memria. Os prximos acessos para descobrir os endereos dos blocos de dados do arquivo
so feitos na memria.
Ao abrir arquivo, o SO usa o nome do arquivo para localizar a entrada no diretrio. O
diretrio possui toda informao necessria para encontrar os blocos de disco correspondentes
a cada arquivo:

Todos os endereos de disco do arquivo (incio + tamanho: alocao contgua);

Endereo do primeiro bloco de disco (lista ligada, e FAT);

O objetivo dos diretrios mapear nomes arquivos em informaes para localizar os seus
dados.
O sistema de arquivos possui estruturao em forma de rvore genrica.

Os nomes dos arquivos podem ser:

17

Absolutos: a partir da raiz (exemplo: /home/grad/so/abc/x.txt);

Relativos: a partir do diretrio corrente (exemplo: ../x.txt).

Os discos podem possuir vrias parties, cada uma com um Sistema de Arquivos (FS)
diferente.

Bloco de boot: instrues sobre o carregamento do SO;

Superbloco: principais parmetros do FS (exemplo: identificador do tipo de FS -"magic number"; nmero de blocos);

Gerncia de espao livre: mapa de bits ou lista ligada (veja abaixo).

i-nodes: estruturas de dados (uma por arquivo) com todas as informaes do arquivo;

Diretrio raiz do sistema de arquivos.

Demais diretrios e arquivos.

Os Mtodos para associar blocos de disco (de tamanho fixo) a arquivos so:

Alocao Contgua

A alocao contgua consiste em armazenar um arquivo em blocos seqencialmente


dispostos no disco. Neste tipo de alocao, o sistema localiza um arquivo atravs do endereo
do primeiro bloco e da sua extenso em blocos.

Alocao Encadeada

Na alocao encadeada, um arquivo pode ser organizado como um conjunto de blocos


ligados logicamente no disco, independente da sua localizao fsica. Cada bloco deve possuir
um ponteiro para o bloco seguinte do arquivo, e assim sucessivamente.

Alocao Indexada

A alocao indexada soluciona uma das principais limitaes da alocao encadeada, que a
impossibilidade do acesso direto aos blocos dos arquivos. O princpio desta tcnica manter
os ponteiros de todos os blocos do arquivo em uma nica estrutura denominada bloco de
ndice.

Inicialmente, quando um disco formatado, todos os setores esto disponveis.


Quando voc grava arquivos, a Fat vai sendo alterada para indicar os setores e arquivos
utilizados. Devido fragmentao, um arquivo pode estar dividido em vrias seces que esto
espalhadas por todo o disco. Sua Fat mantm a localizao de todos esses pedaos.
Os novos sistemas de impresso de 32 bits, as imagens grficas e outros subsistemas
agilizam tarefas comuns como, por exemplo, a impresso, que e mais rpida tanto em termos
de tempo de retorno ao aplicativo quanto em termos de velocidade de sada da impresso.

18

Particularidades
Modo Real, Modo Protegido e modo Virtual 8086
Processadores acima do 386 possuem dois modos de operao bem distintos: o modo
real e o modo protegido.
No modo real o processador funciona como se fosse um 8086, o processador utilizado
no primeiro PC. Isto significa que ele utilizar instrues de 16 bits e, o que pior, conseguir
acessar somente 1 MB de memria (o DOS por exemplo).
No modo protegido, o processador consegue trabalhar no topo de seu desempenho:
alm de instrues de 32 bits, consegue acessar at 4 Gb de memria, alm de diversos
outros recursos, em especial a multitarefa, a memria virtual e o modo virtual 8086.
Como o modo real incompatvel em software com o modo protegido, seria impossvel
executar diretamente um programa escrito para o modo real mantendo o processador em modo
protegido.
Para que isso no ocorresse, foi criado um modo de operao chamado Virtual 8086.
Podemos abrir quantas sesses Virtual 8086 quisermos, cada uma emular um processador
8086 com um MB de memria. Cada programa que seja executado em uma sesso Virtual
8086 pensar que est sendo executado em um micro 8086 s para ele. Alm disso, cada
sesso destas protegida automaticamente em memria.
O Windows 3.x trabalha em modo protegido, e pode operar com memria virtual e com o
modo Virtual 8086. Como o seu sistema operacional ainda o DOS, no pode utilizar proteo
de memria e, consequentemente, no permite multitarefa. Da veio ideia de escrever um
sistema operacional de modo protegido, que no utilizasse o modo real ou o DOS como base.
A Microsoft dizia que era assim que seria o Windows 95.

Arquitetura de Sistemas de 32 bits


O Windows 95 apresenta uma arquitetura de sistemas de arquivos em camadas,
suportando vrios sistemas de arquivo e fornecendo caminho de modo protegido do aplicativo
at o dispositivo de mdia. Isto resulta um melhor desempenho de I/O de disco e de arquivo
em relao ao Windows 3.x. A nova arquitetura desse sistema apresenta os seguintes
recursos:

Suportes de API Win32 e nome de arquivo longo;

Sistemas de arquivos FAT e CD-ROM de 32 bits;

Cach de sistema dinmica para I/O de arquivo de rede;

Arquitetura aberta para suporte de sistema futuro;

Compatibilidade de driver de dispositivo de disco com o Windows NT.

19

Componentes de Arquitetura
O Gerenciador IFS responsvel por arbitrar o acesso aos dispositivos do sistema de
arquivos, bem como os outros componentes de dispositivo do sistema de arquivos. No
Windows 95 os redirecionadores de rede so implementados tambm como sistemas de
arquivos no IFS para que possam permitir o uso de um nmero ilimitado de redirecionadores
de 32 bits.
Drivers do Sistema de Arquivos: A camada de drivers do sistema de arquivos inclui o
acesso aos dispositivos de crescentar mais suporte de dispositivo de disco e de redirecionador
de rede.
Subsistema de I/O de bloco: O subsistema de I/O de bloco do Windows 95 um
aprimoramento em relao arquitetura de acesso a disco de 32 bits utilizada no Windows 3,
x, para aumentar o desempenho de todo o sistema de arquivos e para permitir discos
baseados na tabela de alocao de arquivos (FAT), acesso aos sistemas de arquivo de CDROM e acesso ao suporte de dispositivo de rede redirecionado. O Windows95 compatvel
com os seguintes sistemas de arquivos:
Driver da FAT de 32 bits (VFAT): O driver VFAT de 32 bits fornece um caminho de
cdigo protegido para a manipulao do sistema de arquivos armazenados em disco. Ele
tambm fornece um desempenho de multitarefa mais suave. O driver de acesso de arquivos de
32 bits melhor em relao ao fornecido no Windows 3.x e compatvel com mais drivers e
dispositivo MS-DOS e controladores de disco rgido. Seus principais benefcios so: o aumento
significativo do desempenho; possui software de cach de disco de modo real; a memria
convencional no utilizada; o aprimoramento da multitarefa quando so acessadas
informaes em disco e o suporte de cach dinmica. O driver VFAT de 32 bits interage com o
subsistema de I/O de bloco para permitir o acesso a disco a um numero maior de dispositivos
do que so suportados pelo Windows 3.x. A combinao do acesso a disco de 32 bits e dos
drivers de acesso a disco de 32 bits resulta um desempenho de I/O de disco e arquivo
sensivelmente melhorado.
Driver do Sistema de Arquivo de CD-ROM de 32 bits (CDFS): Os CDFSs de modo
protegido de 32 bits implementado no Windows95 permitiram o aprimoramento no acesso e
desempenho do CD-ROM em relao ao apresentado no Windows 3.x. O cach do driver
CDFS dinmico, no necessitando de nenhuma configurao ou alocao esttica, por parte
do usurio. Seus principais benefcios: a no utilizao de memria convencional, o aumento
do desempenho em relao ao MS-DOS, o aprimoramento da multitarefa quando so
acessadas informaes no CD-ROM e o suporte de cach dinmico, permitindo um melhor
compromisso entre o fornecimento de memria para rodar aplicativos, servindo como cach de
disco. Os usurios de CD-ROM se beneficiam enormemente do novo CDFS de 32 bits, pois os
seus aplicativos de multimdia rodam mais suavemente e as informaes so lidas mais
rapidamente, provocando um melhor desempenho.

20

Redirecionadores de Rede de 32 bits: Os Redirecionadores so utilizados para a


conexo com o Windows NT e para conectividade com servidores Novell Netware. Alm disso,
possvel o uso das APIs do gerenciador IFS para providenciar um modo claro de suportar
simultaneamente vrios tipos de dispositivo e uma ampla combinao de suportes a
dispositivos. O suporte fornecido pelo subsistema de I/O de bloco possui uma arquitetura
habilitada completamente Plug and Play, possui suporte para drivers de miniporta binrio
compatveis com o Windows NT, possui suporte para drivers de disco rpidos para
compatibilidade retroativa, possui drivers de modo protegido que assumem o controle dos
drivers de disco do MS-DOS quando for seguro faz-lo e possui a capacidade de suportar, por
compatibilidade, drivers de dispositivo de disco de modo real do MS-DOS j existentes.
Suporte Para Nome de Arquivo Longo: O uso de nomes de arquivos longos de at 255
caracteres no Windows 95 supera a conveno 8.3 de nome de arquivo e oferece nomes mais
fceis para o usurio. Os nomes de arquivo 8.3 do MS-DOS so mantidos e controlados pelo
sistema, para oferecer compatibilidade com os aplicativos baseados na Win16 e MS-DOS j
existentes. Mas, quando os usurios migram para aplicativos baseados na Win32, o uso das
convenes de nome de arquivo 8.3 ocultado. Os nomes de arquivos longos so suportados
pela extenso do sistema de arquivo FAT do MS-DOS e pelo uso dos bits e campos
reservados pelo Sistema Operacional, para inserir entradas de diretrio especiais que mantm
a informao de nome de arquivo longo. Como o Windows95 estende a estrutura da FAT, os
nomes de arquivos longos so suportados em disquetes em discos rgidos. Isto significa que,
se um arquivo de um disquete que possui um nome de arquivo longo for visualizado em um
computador que no esteja rodando o Windows95, ser observada apenas a representao
8.3 do nome de arquivo.
Um servidor que esteja executando qualquer edio do Windows NT ou de um arquivo
de Windows95 e de servios de compartilhamento de impressora ir preservar nomes de
arquivos longos. Assim, o nome de arquivo longo ser preservado pelo sistema de arquivo pelo
o fato do servidor utilizar o VFAT para armazenar os dados. importante destacar que existem
alguns programas como os de verificao de vrus, os de utilitrios de reparo de discos, os de
otimizadores de discos e outros, que dependem do sistema de arquivo FAT e podem no ser
capazes de funcionar com o sistema de nomes de arquivos longos. Se isso acontecer,
necessrio certificar-se de quais so os utilitrios de disco que suportam nomes longos de
arquivo. Provavelmente, este utilitrio no capaz de suportar nomes de arquivos longos.
Pode acontecer de um nome longo de arquivo ser destrudo. Isso ocorre quando transferem se
arquivos de/ou sistemas de arquivos que no suportam nomes de arquivos longos, quando
executa se pesquisas de arquivos ou quando usam se determinados utilitrios de disco. Neste
caso, o nome de arquivo no poder ser recuperado. Pode acontecer, tambm, a perda do
nome de arquivo longo depois de o arquivo ser editado em outro computador. Isso acontece
porque os sistemas de arquivos de baixo nvel no suportam as extenses de nomes de
arquivo longos de sistema de arquivos longos de sistema de arquivos FAT.

21

Registro
O registro o depsito central na qual o Windows armazena todos os seus dados de
configurao. A configurao do sistema, do hardware, dos aplicativos e as preferncias dos
usurios ficam armazenadas ali. Ele substitui os diversos arquivos de configurao do DOS e
Windows 3.x, incluindo AUTOEXEC. BAT, CONFIG.SYS, WIN.INI, SYSTEM.INI, entre outros.
Contudo, alguns drivers de modo real de 16 bits podem precisar ser carregados nestes
arquivos, e o Windows mantm esta compatibilidade.
Embora seja encarado como um grande armazm, o Registro na verdade composto
de trs arquivos diferentes:
USER.DAT Guarda informaes especficas de usurios, na forma de perfis;
SYSTEM.DAT ajustes especficos do hardware ou computador ficam neste arquivo;
POLICY.DAT Guarda as System Policies, ou seja, estabelecem as regras e permisses de
todos os usurios com relao a mudanas nos arquivos anteriores.
Quebrar o Registro nestes trs componentes, trs os seguintes benefcios: os
componentes do registro podem estar em lugares fsicos diferentes, espalhados em mais de
um HD ou at mesmo em relaes de rede. Como o Registro pode estar no servidor de rede, o
sistema pode rodar em uma estao de rede implementando suporte ao usurio andarilho. O
gerente de rede pode gerenciar os privilgios dos usurios de uma rede inteira atravs de um
nico arquivo POLICY.DAT. As chaves dinmicas so um novo avano no Registro do
Windows. Elas permitem que dispositivos ou subsistemas registrem um dado dinmico, como
um contador, numa chave do Registro. Como as chaves dinmicas existem na memria, seus
dados podem ser atualizados e acionados rapidamente.
O Registro pode ser editado usando-se a ferramenta Registry Editor. Sob este utilitrio, o
Registro consiste de varias arvores paralelas, e ele pode editar tanto o Registro local, como
remotos. Embora bastante poderoso, o Registry Editor muito rudimentar no projeto e
indicado apenas para o uso pessoal de suporte. Usurios finais podem editar o Registro
indiretamente promovendo alteraes no sistema via Painel de controle.

Nveis de Privilgio
Os processadores Intel 386 em diante tem quatro nveis de privilgios: 0,1,2 e 3. Esses
nveis so representados por anis concntricos. O nvel 0 o mais privilegiado e o nvel 3 o
menos privilegiado. O Windows 95 s utiliza 2 desses nveis: 0 e 3. No anel 0 praticamente
todos os recursos do processador esto disponveis. Esse nvel reservado para componentes
crticos do Sistema Operacional como gerenciamento de memria, paginao e operaes de
baixo nvel. O anel 3 reservado para aplicaes e funes de mais alto nvel do Sistema
Operacional. Quando os programas operam em nvel 3, dado a eles um ambiente virtual,

22

setado pelo Sistema Operacional e que permite isolar os programas (assim e menos provvel
que um programa cause problemas em outros).

Componentes
Os componentes do Windows 95 so divididos em dois grupos de programas, de acordo
com o nvel de privilgio em que operam. Essa separao do Windows em nveis de privilgios
d maior robustez ao sistema. Esses componentes formam a base do Sistema Operacional.
So aos programas DOS pode ser especificada pelo usurio nas propriedades do
Prompt do DOS. O VMW tambm faz escalonamento preemptivo em fatias de tempo. O
algoritmo sofisticado e leva em conta prioridades e responsveis pelo: ambiente de mquina
virtual, gerenciamento de paginao de memria, multitarefa preemptiva, gerenciamento de
configurao, servios de sistema de arquivos e servios de rede. Principais mudanas no anel
0, em relao ao Windows 3.x: suporte a multitarefa preemptiva e mltiplos threads,
subsistema de gerenciamento de arquivos 32 bits protegidos, suporte plug and play.

Bibliografia.
www.hardware.com.br
rfreitasmoreira.sites.uol.com.br/windows.htm
pt.wikipedia.org
Consulta material das aulas.

23

Nome dos Alunos


Renata Matias Santiago
Fernando Ferreira Passe
Flvia Apolinrio Camilo
Felipe Accio De Paiva

24

Vous aimerez peut-être aussi