Você está na página 1de 11

ATPS

Cincia da Computao

Sistemas operacionais
Noturno

Nome
Hugo Cunha
Jefferson Quintanilha
Luiz Vitor Mendona
Thelmo Vieira Junior
Carlos Eduardo
Daniel Golalves da Silva
Phelipp Nascimento

Anhanguera
Niteri, 2015

RA
7632735177
7627553823
7249609373
7093563345
1581976573
1568109304

Relatrio 01: Tipos de Sistemas Operacionais.


1.1 Sistemas operacionais para servidores;
O Windows Server 2012 oferece aos usurios acesso flexvel a dados e aplicaes, simplifica o
gerenciamento alm de uma infraestrutura de nuvem, dinmica e multi locatria que permite a
conexo segura entre locais fsicos e que a TI atenda s necessidades do negcio de maneira rpida
e eficiente, sendo acessvel para empresas de grande e pequeno porte.
Servidores com Linux tem uma longevidade maior capas de funcionar anos sem falha alguma, alm
de ter uma segurana maior e quase nunca sofrer ataques de vrus e malware. Alm de no exigir
computadores muito potentes para funcionar, se tornando ideal para empresas de mdio e pequeno
porte.
1.2 Sistemas operacionais para estaes de trabalho;
Para os computadores que sero a estao de trabalho o ideal usar o Linux, pois o Sistema
Operacional mais estvel que encontramos hoje em dia e tambm muito seguro, sendo bom para
empresas pois correro menos riscos. O Sistema Linus tambm ideal para empresas de baixo e
pequeno porte pois seu custo acessvel, e tambm por se tratar de estao de trabalho o Linux se
torna o mais simples para os usurios.
1.3 Sistemas operacionais para smartphones e tablets;
Para smartphones temos o sistema Android um sistema aberto e livre traz com sigo uma grande
quantidade de recursos, pode ser adquirido com um custo bem reduzido comparado com outros
sistemas. Podendo encontrar grande funcionalidades uteis acesso rpido a internet, Navegador Gps
sendo de grande utilidade para os usurios.
Em tablets o IOS o melhor sistema, sendo simples intuitivo sendo facilmente manuseado pelo
usurio, contando com uma grande variedade de aplicativos. Sendo muito seguro e ideal para
grandes empresas, pois seu custo no to acessvel quando outros sistemas inferiores.
Relatrio 02: Gerenciamento de Processos e Threads
2.1 Poltica de Gerenciamento de Processador
Os processos e as threads;
Os chamados processos so mdulos executveis, os quais contm linhas de cdigo para que a
execuo do programa seja realizada apropriadamente. Isso quer dizer que o processo uma lista de
instrues, a qual informa ao processador que passos devem ser executados e em quais momentos
isso acontece.
Os processadores trabalham muito bem com os processos, mas a execuo de muitos processos
simultaneamente acarreta na lentido da CPU. Isso ocorre porque, mesmo um processador tendo
dois ou mais ncleos, existe um limite para ele.
Uma CPU com dois ncleos, por exemplo, pode trabalhar com dois processos simultaneamente. No
entanto, se voc pressionar as teclas Ctrl + Shift + Esc, vai verificar que o sistema operacional
trabalha com dezenas de processos ao mesmo tempo. No entanto, tudo parece rodar perfeitamente
na sua tela.
O processador consegue trabalhar com todos os aplicativos e apresentar resultados satisfatrios
devido velocidade de processamento. Sendo assim, parece que os processos so executados
simultaneamente.
A princpio, a presena de mltiplos ncleos era suficiente para a maioria dos usurios. Todavia, a
evoluo dos softwares e dos componentes de hardware requisitou uma diviso ainda melhor das
tarefas. As linhas de instrues dos processos adquiriram caractersticas nicas, que possibilitaram
separ-las para execues em diferentes ncleos.
Essas linhas de instrues ficaram conhecidas como threads, mas muita gente preferiu traduzir a
palavra thread para tarefa. A questo que o nome em si no faz diferena, visto que, de certa
maneira, uma linha de instruo uma tarefa que o processador dever realizar.
WINDOWS SERVER 2008
O Windows Server 2008 tem como objetivo no gerenciamento de processos definir proteo e vrias
outras funes no servidor, no console podemos ativar e desativar recursos e programas. No
ambiente do gerenciamento de processos podemos gerenciar e identificar o servidor e as
informaes do sistema, nele aparecem status do servidor, problemas nas configuraes de funes

do servidor e outras funes instalados no sistema. Resumindo de forma clara e objetiva nada mais
gerenciar os processos e no caso do Windows server est mais relacionado a processo do servidor,
uma interface grfica para acompanhar todos os processos em aberto.
Caractersticas:
Visualizar e fazer alteraes nas funes e recursos do servidor instalados.
Executar tarefas de gerenciamento associadas ao ciclo de vida operacional do servidor, como
iniciar ou interromper servios e gerenciar contas de usurios locais.
Executar tarefas de gerenciamento associadas ao ciclo de vida operacional das funes
instaladas no servidor.
Acompanhar o status do servidor, verificar se a eventos crticos e analisar e solucionar falhas
ou problemas de configurao.

Instalar ou remover o funes, servios de funo e recursos usando uma linha de comando
do Windows (usurio avanado).
UBUNTU 12.10
No sistema operacional Ubuntu teremos o monitor de processos, ele dispem dos mesmos
recursos que o gerenciador de processos do Windows, de forma que ele deve estar instalado
no sistema. Podem existir outros programas com a mesma finalidade.
Caractersticas:
Interface linha de comando para avanados;
Recursos do seu computador na forma de um grfico;
Monitoramento do uso da CPU

Respostas-Gerncia de Processos;
Laboratrio com o Simulador SOsim

Atividade 1: Criao de processos


c) Questo terica para responder com a ajuda do simulador
Com base na observao do comportamento do processo criado, identifique se o processo
I/Obound ou CPU-bound? Justifique a resposta.
Resposta: O processo criado do tipo CPU-bound, pois o mesmo alterna entre os estados de pronto
e de execuo. Processos do tipo I/O bound ficam constantemente em estado de espera.
Atividade 2: Tipos de Processos
c) Questo terica para responder com a ajuda do simulador.
Analise os efeitos gerados no caso de reduo do tempo gasto na operao de E/S pelo processo
I/O-bound.
Resposta: Com a reduo do tempo gasto na operao de E/S pelo processo de I/O-bound os
tempos de UCP sero os mesmos entre os dois processos criados. Neste caso temos o processo do
tipo CPU-bound mudando de contexto entre os estados Pronto/Execuo e o processo I/Obound
mudando de contexto entre os estados Pronto/Execuo/Espera.
Atividade 3: PCB
c) Questo terica para responder com a ajuda do simulador
Identifique quais informaes do PCB so estticas ou dinmicas e quais fazem parte do contexto de
software e do contexto de hardware.
Resposta: Com relao as informaes observadas no PCB, so estticas: Prioridade, Tempo de
Criao e Frames. So informaes dinmicas do PCB: Estado, Tempo de UCP e PC. Quanto ao
contexto de software fazem parte: Prioridade, Estado, Tempo de Criao e Tempo de UCP. No
contexto de hardware esto: Frames e PC.
Atividade 4: Estatsticas
c) Questo terica para responder com a ajuda do simulador
Observe que em alguns momentos existem processos no estado de pronto porm nenhum em estado
de execuo. Explique o porqu dessa situao.

Resposta: Essa situao descrita em sistemas operacionais como troca de contexto para outro
processo, isso assegura que a CPU no monopolizada por um processo somente.
Atividade 5: Log de Execuo dos Processos
c) Questo terica para responder com a ajuda do simulador
Analise comparativamente a concorrncia de dois processos CPU-bound executando em dois
sistemas operacionais que se diferenciam apenas pelo valor da fatia de tempo.
Resposta: Analisando dois processos do tipo CPU-bound com a faixa de tempo mnima para
execuo durante 10 segundos, tem-se o primeiro processo que utiliza 02 segundos de execuo, o
segundo processo que utiliza 03 segundos para execuo enquanto a troca de contexto consome 05
segundos.
Ao aumentar a fatia de tempo de CPU para 10s durante 20s no total, cada um dos processos foi
executado durante 09 segundos, sendo que foi gasto apenas 2s para troca de contexto.
Desta forma, fica claro que quanto maior a quantia de tempo destinada a execuo de um processo
menor ser o tempo gasto na troca de contexto. Na forma inversa, quanto menor a fatia de tempo de
UCP destinado ao processo, maior o tempo gasto na troca de contexto.
Atividade 6: Suspenso e Eliminao de Processos
Ao se eliminar um processo em estado de suspenso, o processo no eliminado imediatamente.
Reproduza essa situao no simulador e explique o porqu da situao.
Resposta: ao colocar um processo no estado de suspenso o mesmo retirado da memria principal
e colocado na memria virtual, desta forma no possvel eliminar um processo que no se encontra
na memria principal. Ao tirar este processo do estado de Suspenso o mesmo carregado
novamente em memria, para a assim poder alternar entre os demais estados.
Responder as questes:
4.1 Quais so as partes que compem um processo?
Um processo formado por trs componentes, estes so: Contexto de hardware, contexto de
software e espao de endereamento.
4.2 O que espao de endereamento de um processo?
a rea de memria pertencente ao processo onde as instrues e os dados do programa so
armazenados para a execuo.
4.3 Como a eliminao de um processo utiliza o mecanismo de sinais?
Quando um processo eliminado, o sistema ativa o sinal associado a esse evento. O processo
somente ser excludo do sistema quando for selecionado para a execuo. Neste caso, possvel
que o processo demore algum perodo de tempo at ser eliminado de fato.
2.2 Gerenciamento de processos
Criao de Processos: Execute o simulador SOsim e identifique as quatro janelas que so abertas
na inicializao. Crie um processo: janela Gerncia de Processos / Criar janela Criao de
Processos /Criar.
Tipos de Processos
Reinicialize o simulador.
Crie um processo do tipo CPU-bound: janela Gerncia de Processos / Criar janela Criao de
Processos / Criar (tipo de processo deve ser CPU-bound). Crie outro processo do tipo I/O-bound:
janela Gerncia de Processos / Cria janela Criao de Processos / Criar (tipo de processo deve ser
I/O-bound).
PCB:
Reinicialize o simulador.
Crie dois novos processos: janela Gerncia de Processos / Criar janela Criao de
Processos / Criar.
Estatsticas:
Reinicialize o simulador.
Ative a janela de Estatsticas em Console SOsim / Janelas / Estatsticas.

Crie dois novos processos: janela Gerncia de Processos / Criar janela Criao de
Processos / Criar
Log de Execuo dos Processos:
Reinicialize o simulador.
Ative a janela de Log em Console SOsim / Janelas / Log.
Crie dois novos processos do tipo CPU-bound: janela Gerncia de Processos / Cria janela
Criao de Processos / Criar (tipo de processo deve ser CPU-bound).
Suspenso e Eliminao de Processos:
Reinicialize o simulador.
Crie dois novos processos: janela Gerncia de Processos / Cria janela Criao de
Processos / Criar.
2.3 Softwares Instalados:
Primeiro fizemos download do aplicativo, Avast Free, e iniciamos a instalao. Informe lngua que
preferi, lembrando que existe a opo portugus do Brasil.
O Avast est em parceria com a Google, por esse motivo a instalao vai oferecer uma atalho para
instalao do Chrome, porm fica a escolha de quem estiver instalando.
Concluindo a instalao o aplicativo informar clique em terminar e pronto.
Agora vamos instalar o WINRAR 3.93, um software de compactao, como
Winzip, porm ele abrange vrios tipos de arquivo, como o prprio Winzip, ICO, EXE, etc. Ele j
informa uma pasta de instalao padro, porm possvel alterar clicando no boto Procurar.
Escolha os tipos de arquivos que o WinRar ser associado.
Aqui temos opes de saber mais sobre o WinRar, clicando nos botes. No boto Concludo o
sistema de instalao fecha e solicita reinicializao do Sistema Operacional.
Por ltimo vamos instalar o Microsoft Office Professional 2003. De cara ele j solicita a chave do
produto.
Como na instalao do Windows ele solicita o nome do usurio e a organizao, porm se j tiver
informado na instalao do Windows ele vai assumir o que j foi cadastrado.
obrigado aceitar o contrato da licena ou no instalar.
Existem quatro tipos de instalao:
* Instalao Tpica: Instalam os programas mais utilizados, Word, Excel, Power Point, Outlook,
Publisher, Access, InfoPath;
* Instalao Completa: Instala todos os produtos do Officer 2003;
* Instalao Mnima: Instala apenas o Word, Excel e Power Point;
* Instalao Personalizada: Instala apenas o que voc selecionar.
No nosso caso utilizamos a instalao tpica.
Confira os produtos que sero instalados.
Acompanhe o processo de instalao.
Mensagem de instalao concluda.
2.4 Sistemas de Gerenciamento de Processos
Clicando com o boto direito do mouse a barra de tarefa, selecione a opo Iniciar Gerenciamento de
Tarefas do Windows 7 Profissional. Verso 6.1.
Relao das tarefas que esto sendo executadas.
Na guia de processo podemos identificar os processos que esto ativos, o nome do usurio que
iniciou o mesmo, a coluna CPU mostra o consumo do processador referente a cada processo.
Na coluna Memria visualizamos o consumo da memria e na coluna Descrio temos um resumo do
aplicativo.
Na parte inferior temos a opo de Mostrar processos de todos os usurios ou apenas o usurio
logado, caso seja desmarcado. Podemos Finalizar o Processo que est selecionado.
Na guia servios podemos analisar o status dos servios e PID de cada um. Temos tambm a opo
do boto Servios... que abre o gerenciado de servios do Windows.
Na guia Desempenho temos o grfico do consumo de cada ncleo do processador e do consumo da
memria.
Na parte inferior podemos identificar um breve resumo referente Memria Fsica, Memria Usada
pelo Kernel (MB) e o Sistema.

Note que o consumo de memria est alto e voltando a guia processo identificamos que existe dois
processos chamados chrome.exe *32 que esto consumindo uma boa parte do total.
Na guia Rede temos o grfico de cada conexo ativa e seu respectivo consumo.
Na guia Usurio temo o status dos usurio conectados e logo a baixo podemos desconectar ou
efetuar o logoff do mesmo selecionado.
Notamos que em todas as guias temo esse roda p informando a quantidade de processos ativos,
consumo da CPU em % e o consumo da Memria Fsica em %.
Todas essas funes tm a finalidade de gerenciar os processos e consumos do sistema operacional
e seus aplicativos.
Relatrio 03: Gerenciamento de Memria
3.1 Tcnica de Gerenciamento de Memria:
Linux: O administrador de memria fsica principal no Linux o alocador de pginas. Esse processo
responsvel por alocar e liberar pginas fsicas, sendo capaz de alocar grupos de pginas
contguas. O alocador de pginas usa um algoritmo de alocao de regies vizinhas, que combina
unidades de alocao adjacentes em uma nica unidade. Cada regio de memria que pode ser
alocada possui uma regio adjacente correspondente, ou vizinha. Sempre que duas regies vizinhas
so liberadas, elas so combinadas para formar uma regio maior. Essa regio maior tambm tem
uma vizinha, com a qual pode ser combinada para formar uma regio livre ainda maior. Como
alternativa, quando no existir uma regio de memria disponvel pequena para satisfazer a uma
requisio de uma pequena poro de memria, uma regio maior de memria subdividida em duas
vizinhas. O sistema utiliza listas ligadas para reas disponveis de cada tamanho permitido. No Linux,
o menor tamanho de rea que pode ser alocada usando esse mecanismo corresponde ao de uma
nica pgina fsica.
As alocaes de memria no ncleo do Linux ocorrem estaticamente, por rotinas de controle que
reservam uma rea contgua de memria no momento da carga do sistema, ou dinamicamente, pelo
controlador de pginas. Entretanto, as funes do ncleo no precisam usar o alocador de pginas
para reservar memria. Existem vrios outros subsistemas de gerenciamento de memria
especializados, que usam o controlador de pginas subjacente para gerenciar seu prprio espao de
memria. Os subsistemas de memria mais importantes so o sistema de memria virtual, o sistema
de alocao de reas de memria de tamanho varivel, kmalloc, e o sistema de alocao de espao
nas duas memrias cache de dados persistentes do ncleo: a memria cache de reas de
armazenamento temporrio e a memria cache de pginas.
Muitos componentes do Linux precisam alocar espao a pginas inteiras, mas freqentemente pode
ser necessrio alocar blocos menores de memria. O ncleo oferece um subsistema adicional para a
alocao de reas de memria de tamanho varivel, sem tamanho previamente definido, podendo ser
de apenas alguns bytes, em vez de uma pgina inteira. Esse servio, fornecido pela rotina kmalloc,
anloga rotina malloc da linguagem C, aloca blocos a pginas inteiras, sob demanda, mas
subdivide esses blocos em partes menores. O ncleo armazena dados sobre os blocos em uso pelo
sistema kmalloc, em listas que contm, cada uma, apenas blocos que foram subdivididos em partes
de um tamanho especifico. A alocao de memria envolve selecionar a lista apropriada e retirar a
primeira rea disponvel dessa lista, ou alocar espao a uma pgina e subdividi-lo.
Tanto o controlador de pginas, quanto o kmalloc, no podem ser interrompidos. Uma rotina que
deseje alocar uma rea de memria informa a prioridade da sua requisio rotina de alocao.
Rotinas de interrupo utilizam uma prioridade atmica, que garante que a requisio seja satisfeita
ou que falhe imediatamente, caso no exista mais memria disponvel. Em contraposio, para uma
requisio de memria de um processo comum de usurio, uma rea de memria livre procurada,
sendo o processo bloqueado at que uma rea de memria se torne disponvel. A prioridade de
alocao tambm pode ser usada para especificar a requisio de memria de acesso direto (DMA).
Esse recurso usado em algumas arquiteturas, como em PCs, onde certas requisies de DMA no
podem ser realizadas sobre qualquer bloco da memria fsica.
As regies de memria solicitadas pelo sistema kmalloc ficam alocadas at que sejam explicitamente
liberadas. O sistema kmalloc no pode transferir essas regies de uma posio para outra ou liberlas em resposta a uma diminuio do espao livre em memria.

Os outros trs subsistemas principais de memria que realizam um gerenciamento prprio de blocos
de memria fsica so fortemente relacionados entre si. Esses sistemas gerenciam o uso da memria
cache de reas de armazenamento temporrio, da memria cache de pginas e da memria virtual. A
memria cache de reas de armazenamento temporrio a principal memria cache do ncleo para
dispositivos de E/S baseada em blocos; alm disso constitui o principal mecanismo por meio do qual
as operaes de E/S sobre esses dispositivos so realizadas. A memria cache de pginas armazena
pginas inteiras de dados de arquivos e no restrita apenas aos dispositivos que fazem E/S usando
blocos. Ela tambm pode ser usada para armazenar dados transmitidos por meio da rede e
utilizada tanto pelos sistemas de arquivos originais do Linux, que usam discos, quanto pelo sistema
de arquivos de rede NES. O sistema de memria virtual gerencia o espao de endereamento de
cada processo.
Esses trs sistemas de memria interagem entre si. A leitura de uma pgina de dados para a
memria cache de pginas usa a memria cache de reas de armazenamento temporrio. As
pginas da memria cache de pginas podem tambm usar o sistema de memria virtual, caso um
processo tenha mapeado o arquivo correspondente no seu espao de endereamento. O ncleo usa
um contador de referncias a cada pgina na memria fsica para que as pginas compartilhadas por
dois ou mais desses subsistemas possam ser liberadas, quando elas no estiverem mais sendo
usadas em nenhum deles.
Windows: Normalmente, o Windows (e outros sistemas operacionais) possui algumas limitaes ao
trabalhar com a memria RAM. Em tese, as verses 32 bits do sistema da Microsoft no reconhecem
mais do que 4 GB de memria RAM instalada na mquina. Isso se deve ao fato de que cada
endereo fsico e virtual de memria armazenado pelo sistema deve possuir 32 bits. Com a
converso para nmeros binrios, esse nmero exato de bits faz com que ele no possa atribuir
endereos para mais do que 4 GB.
Alm disso, parte da memria precisa estar reservada para processos de hardware, ento o sistema
no pode dedicar toda ela aos endereos virtuais. J os sistemas de 64 bits, como era de se esperar,
possuem suporte para uma quantidade maior de RAM, pois possibilitam que os endereos virtuais
sejam registrados em blocos de informao com o dobro de tamanho.
Mas a histria no acaba por aqui. Tambm existe uma questo de mercado. O Windows 7, de
acordo com o site da Microsoft, tem suporte para PAE, funcionalidade de alguns processadores que
permite ao Windows 32bits acessar mais de 4 GB de RAM, podendo chegar a trabalhar com at 128
GB de memria fsica.
Porm, esse suporte para PAE no vem habilitado por padro no Windows 7. A razo principal deve
ser a compatibilidade, j que para usar o PAE, o usurio no precisa apenas do sistema operacional
certo. Ele depende tambm que outros softwares importantes do sistema tenham suporte a essa
funo, como os drivers. Sem falar do hardware instalado na mquina, j que nem todos os
processadores possuem esse recurso.
3.2 Tcnica de Gerenciamento de Memria Virtual:
Linux: O sistema de memria virtual do Linux responsvel pelo uso do espao de endereamento
de cada processo. Esse sistema aloca espao de memria virtual sob demanda e gerencia a
transferncia de pginas entre o disco e a memria, quando necessrio. No Linux, o administrador de
memria virtual usa duas vises do espao de endereamento de um processo: como um conjunto de
regies separadas e como um conjunto de pginas.
A primeira dessas vises do espao de endereamento a viso lgica, que descreve as instrues
recebidas pelo sistema de memria virtual relativas organizao do espao de endereamento.
Nessa viso, o espao de endereamento consiste em regies separadas, cada qual consistindo em
um espao contguo de pginas. Essa regio descrita, internamente, por uma nica estrutura
vrn_area_struct, que define as propriedades dessa regio, incluindo os direitos de acesso do
processo para realizar operaes de leitura, escrita e execuo nessa regio, assim como dados
relativos aos arquivos associados regio. As regies de cada espao de endereamento so
organizadas em uma rvore binria balanceada, para possibilitar uma pesquisa eficiente por uma
regio correspondente a um endereo virtual.

O ncleo usa uma segunda viso de cada espao de endereamento. Essa viso armazenada nas
tabelas de pginas do processo. As entradas nessa tabela de pginas determinam a posio atual de
cada pgina da memria virtual, esteja ela em disco ou na memria fsica. Essa viso do espao
fsico gerenciada por um conjunto de rotinas, chamadas por tratadores de interrupes de software
do ncleo do sistema, sempre que um processo usa uma pgina que no est presente na tabela de
pginas. Cada vrn_area_struct contm um apontador para uma tabela de rotinas que implementam
as operaes fundamentais de gerenciamento de pginas. Todas as requisies de leitura ou escrita
de pginas no disponveis so eventualmente tratadas por uma rotina apropriada, contida na tabela
vrn_area_struct, de forma que as rotinas centrais de gerenciamento de memria no precisam lidar
com detalhes especficos de cada tipo de regio de memria.
Windows: Na poca do Windows XP os computadores faziam uso constante da memria virtual (ou
arquivo de paginao) para poderem funcionar sem engasgos, j que h uma dcada o preo da
memria RAM no era to atraente quanto hoje. O recurso ainda est presente no Windows 8 para
ajudar as mquinas com pouca memria RAM e outras tarefas. Dos primeiros computadores pessoais
at as mquinas de alto desempenho dos dias atuais tivemos grandes avanos em relao
velocidade e qualidade dos componentes, mas a forma de funcionamento basicamente a mesma,
conhecida como arquitetura de Von Neumann: primeiro l-se os dados do disco rgido na memria
RAM e em seguida ocorre o processamento por parte da CPU, esquema que utilizado tanto pelos
Pentium III quanto Core i7. A memria virtual entra nesse esquema principalmente em duas
situaes: quando a memria RAM no consegue mais segurar todos os programas abertos ou
quando algum programa no est sendo utilizado h algum tempo e por isso pode ser retirado da
memria. Quando dizemos "memria virtual" estamos nos referindo a uma parte do disco rgido (HD)
dedicado a essa tarefa.
Quando acontece alguma das situaes acima, o sistema operacional desloca os processos menos
utilizados da memria RAM e armazena no HD, copiando de volta para a memria RAM quando
necessrio. Isso causa uma considervel perda de desempenho, j que os discos rgidos so
componentes mecnicos extremamente lentos se comparados memria RAM.
3.3 Gerenciamento de Memria:
Linux: No Linux a memria funciona da seguinte maneira, processos que esto em execuo tm
prioridade na memria, quando termina um processo e se tiver espao na memria, ficam resduos
desse processo na memria para uma futura volta desse processo ser mais rpida. Caso essa
memria RAM esteja lotada com processos que esto em execuo, a comea a utilizao da
memria SWAP (troca).
Cada processo do Linux, em uma mquina de 32 bits, dispe de 3GB de espao de endereamento
virtual para si prprio, com 1GB restante reservado para suas tabelas de pginas e outros dados do
ncleo. O 1GB do ncleo no visvel quando o processo executa no modo usurio, mas torna-se
acessvel quando o processo faz uma chamada ao ncleo. O espao de endereamento gerado
quando o processo criado e sobrescrito em uma chamada ao sistema exec.
O espao de endereamento virtual dividido em reas ou regies organizadas em pginas.
Contguas e homogneas. Isso quer dizer que cada rea consiste de uma srie de pginas
consecutivas com proteo e propriedades de paginao idnticas. O segmento de cdigo e os
arquivos mapeados so exemplos de reas. Pode haver vazios no espao de endereamento virtual
entre essas reas. Qualquer referncia memria para um vazio resulta em uma falta de pgina fatal.
O tamanho de pgina fixo.
O Linux usa um esquema de paginao de trs nveis. Embora tenha sido utilizado no processador
Alpha, esse esquema tambm empregado de maneira modificada em todas as arquiteturas. Cada
endereo virtual quebrado em at quatros campos. O campo diretrio usado como ndice do
diretrio global, sendo que existe um privado para cada processo. O valor encontrado um ponteiro
para um dos diretrios intermedirios de pgina, o qual indexado por um campo do endereo virtual.
A entrada selecionada aponta para a tabela de pgina final, a indexada pelo campo pgina do
endereo virtual. A entrada encontrada aponta para a pgina requisitada. No Pentium, que usa
paginao em dois nveis, cada diretrio intermedirio de pgina tem somente uma entrada, de modo
que, efetivamente, a entrada do diretrio global quem escolhe a tabela de pgina a usar.

O Linux gerencia a memria usando o algoritmo companheiro, com a adio de um vetor no qual o
primeiro elemento a cabea de uma lista de blocos com tamanho de uma unidade, o segundo
elemento a cabea de uma lista de blocos com tamanho de duas unidades, o prximo elemento
aponta para blocos de quatro unidades e assim por diante. Dessa maneira qualquer bloco de potncia
de dois pode ser encontrado rapidamente.
Esse algoritmo gera uma considervel fragmentao interna, pois, se voc deseja um bloco de 65
pginas, voc tem de solicitar e obter um bloco de 128 pginas.
Para amenizar esse problema, o Linux tem uma segunda alocao de memria que obtm blocos,
usando o algoritmo companheiro, e depois os retalha (unidades menores) para gerenciar unidades
menores separadamente. Um terceiro alocador de memria tambm utilizado quando a memria
solicitada precisa ser contgua somente no espao virtual, mas no na memria fsica.
Para a proteo existe um gerenciador de memria virtual evitando que processos no modo Kernel e
no modo User se misturem. por meio de um sistema de arquivos que ocorre a gravao e a
recuperao dos dados em um dispositivo de armazenamento em um computador.
O sistema de arquivos independente do hardware e da BIOS, sendo especificado pelo software do
sistema operacional no momento da instalao do sistema ou na configurao de dispositivos de
armazenamento adicionais posteriormente instalao. (AUGUSTO, 2005)
O sistema de arquivos do Linux era inicialmente o sistema de arquivos do Minix. Entretanto, por
causa do limite de 14 caracteres imposto aos nomes de arquivos e do tamanho mximo de 64 MB
para os arquivos, houve prontamente interesse em melhorar o sistema de arquivos. A primeira
melhoria foi o sistema de arquivos Ext, que permitiu nome de arquivos de 255 caracteres e arquivos
de at 2GB. No entanto ele era mais lento que o sistema de arquivos do Minix motivando assim a
continuidade das pesquisas.
Windows: Todo mundo sabe pelo menos duas verdades sobre a memria RAM. Para comear, elas
so indispensveis em qualquer computador. E, alm disso, quanto mais memria instalada na
mquina, melhor ser o desempenho dela.
Mas um fator indispensvel e que pouca gente leva em considerao o gerenciamento de memria
feito pelo sistema operacional (SO). No basta ter muita RAM disponvel em seu computador. O que
torna a RAM realmente til o uso que o SO faz dela. Isso significa que o Windows deve ser capaz
de prever quais dados devem ser priorizados ou esquecidos de acordo com o contexto de uso da
mquina.
Muitos dizem que no, mas a verdade que o Windows faz um bom proveito da memoria fsica.
Podemos dizer que ele sabe, por exemplo, o que deve ser enviado para a memria fsica e o que
deve ser armazenado na virtual. Ao carregar na memria todos os softwares necessrios para o bom
funcionamento do sistema, o Windows respeita algumas regras.
A memria fsica recebe aquilo que o Windows considera essencial, como o prprio sistema
operacional e as aplicaes que o usurio estiver usando no momento. O restante, ou seja, aquilo
que o Windows acredita que no ser usado to urgentemente, fica na memria virtual.
Basicamente, isso explica por que o desempenho do computador melhora quando instalamos novos
pentes de memria no PC. Quanto mais memria fsica disponvel, menos provvel o uso extensivo
da memria virtual.

3.4 Sistemas de Gerenciamento de Memria:


Linux: O Linux tem uma forma bastante interessante de gerenciar a memria. O sistema de fato no
necessita de muita memria para sua operao e conforme os programas vo sendo abertos, mais
memria vai sendo alocada de forma mais eficiente. O sistema lida bem em casos de sobras de
memria, utilizando os MBytes livres dos mdulos como cache de disco. Cache de disco so pores
da memria RAM usadas por arquivos e bibliotecas lidos do HD que tm uma maior probabilidade de
serem acessados, uma espcie de Prefetch, o que melhora o desempenho do sistema. fcil
comprovar a eficincia o cache de disco: abra um programa como o Firefox ou o OpenOffice; o
primeiro carregamento demorado, certo? Agora feche o programa e abra-o novamente: levou muito
menos tempo, n? Esse recurso est presente tambm no Windows e no Vista ele foi melhorado. Por
isso no se assuste se no Ksysguard do KDE voc verificar que sua memria RAM estiver quase que
totalmente ocupada, mesmo com poucos programas abertos: o cache de disco que est em ao
usando parte da memria livre que voc dispe.
Alm do Ksysguard, temos o Monitor do sistema no Gnome como programas grficos de
monitoramento dos recursos do sistema. Via terminal temos otop e o free. O top detalha os processos
em execuo alm de outras informaes como o estado dos processos, memria consumida por
cada um, uptime do sistema e recursos de memria. O free (o parmetro -m exibe as informaes em
MBytes) exibe informaes precisas sobre o uso dos recursos de memria do sistema. Vamos ver ele
na prtica, no meu caso tenho 2,25GB de RAM fsica, 2 GB de espao em disco para a partio
SWAP e poucos programas abertos. A distribuio usada o Debian Etch Kernel 2.6.18-4.
No momento que foi tirada esta SS, 591MB de memria fsica estavam sendo utilizados, mas na
verdade eu no tinha 591MB utilizados pelos programas abertos e pelo sistema em geral. 347 MB
estavam sendo cacheados, ou seja, sendo usados para cache de disco (cached) e 51MB estavam
sendo usado para buffers de memria. Fazendo as contas, descontando os buffers e cache do
sistema, a memria utilizada para o uso e manuteno do funcionamento do sistema no momento era
de 193 MB: 591 (memria fsica utilizada) - 398 (buffers + cache) = 193 MB Se eu abrir o Monitor do
sistema do Gnome (um front-end para o comando top), sero reportados 193MB em uso pelo
sistema.
Ao contrrio do Ksysguard, o Monitor do sistema do Gnome reporta a memria em uso, no incluindo
a memria utilizada como cache de disco.
Conforme mais memria requisitada, o sistema passa a abrir mo do cache de disco e passa a
mover arquivos e bibliotecas no usadas h algum tempo da memria RAM para a memria virtual ou
swap, liberando memria fsica para os aplicativos. H um pequeno impasse no uso de memria
SWAP no Linux. O Swap visto com maus olhos por causa do Windows 98, que gerencia a memria
virtual de forma totalmente erradica. No 98, mesmo com memria fsica sobrando o sistema teima em
fazer swap, que feito no arquivo Win386.swp, prejudicando o desempenho, j que a leitura dos
dados da memria SWAP (que feita em um arquivo no HD no caso do Windows) mais morosa do
que a leitura na memria RAM. Era possvel corrigir essa deficincia com a instruo
"ConservativeSwapfileUsage=1" no System.ini, mas mesmo assim o Windows 98 (e Me) pssimo
para gerenciar a memria. Na famlia NT o gerenciamento de memria mais eficiente e o uso do
arquivo de SWAP mais racional, alis no Windows NT4/2000/XP/2003/Vista e 2008 o arquivo de
paginao (pagefile.sys) utilizado tambm para uso interno do sistema, como as informaes de
despejo de memria.
O Linux possui algoritmos refinados que administram o uso de memria SWAP somente quando
necessrio, especialmente no Kernel 2.6. Numa mquina com 512MB ou mais o uso de SWAP no
requisitado o tempo todo, o que no acontece numa mquina com 256 MB. Mesmo assim em
algumas distros fazem o uso do SWAP em mquinas com fartura de memria, mesmo que em
pequena quantidade. No caso dos dados movidos para o SWAP sejam de repente requisitados,
haver uma pequena demora na leitura, pois como j dito, a leitura no HD mais demorada do que o
acesso na memria fsica.
Aqui um trecho de um dos livros do Carlos E. Morimoto que ensina como administrar o uso do SWAP
apenas quando necessrio.
"...Ainda assim (ao usar uma distribuio com o Kernel 2.6), voc pode configurar o comportamento
do sistema em relao memria SWAP atravs de um parmetro do Kernel, definindo atravs do

arquivo "/proc/sys/vm/swappiness". Este arquivo contm um nmero de 0 a 100, que determina a


predisposio do sistema a usar swap. Um nmero baixo faz com que ele deixe para usar swap
apenas em situaes extremas (configurao adequada a micros com muita RAM), enquanto um
nmero mais alto faz com que ele use mais swap, o que mantm mais memria RAM livre para uso
do cache de disco, melhorando o desempenho em micros com pouca memria.
Se voc tem um micro com 1 GB de RAM e quer que o sistema quase nunca use swap, use:
# echo "20" > /proc/sys/vm/swappiness.
Em micros com 256 MB ou menos, aumentar o uso de swap mantm mais memria disponvel para
abrir novos aplicativos e fazer cache de disco. O programa que est sendo usado no momento e
novos programas abertos ficam mais rpidos mas, em troca, programas minimizados a muito tempo
so movidos para a swap e demoram mais para responder quando reativados. Para aumentar o uso
de swap, use: # echo "80" > /proc/sys/vm/swappiness.
Para tornar a alterao definitiva, adicione o comando em algum arquivo de inicializao do sistema,
como o "/etc/rc.d/rc.local" ou "/etc/init.d/bootmisc.sh. Pessoalmente, recomendo o uso de uma
partio SWAP, mesmo que seja de 512MB para uso em casos de falta de memria, principalmente
para as mquinas usadas em aplicaes pesadas como edio de udio, vdeo e imagem. Claro que
em situaes de fartura, digamos a partir de 1GB, a partio de SWAP pode ter uns 256 a 512MB
reservados. Nos casos de mquinas que possuam menos de 512MB, recomendo o uso de SWAP
com tamanho a partir de 1GB para que o sistema tenha para onde correr no caso de falta de memria
fsica, j que na falta de memria RAM para os aplicativos e a ausncia de uma partio SWAP, o
sistema no ter para onde recorrer e os programas comearo a serem fechados por falta de
memria; na pior das hipteses o travamento do sistema nestas condies inevitvel.
Caso voc tenha se arrependido em no ter criado uma partio SWAP e agora se v numa situao
delicada, possvel criar um arquivo de SWAP na raiz do sistema. Digamos que voc queira 512MB
de memria SWAP, abra um terminal como root e digite:
# dd if=/dev/zero of=/swap bs=1024 count=524288
# mkswap /swap
# swapon /swap
O valor de "count" no precisa ser exato (524288 equivalem a 512MB), poderia ser o valor 500000
(500000 = ~488MB). Esta uma soluo temporria e menos eficiente, j que estamos criando um
arquivo de swap que funciona de forma semelhante ao que encontrado no Windows, embora de
forma mais eficiente. Uma partio SWAP j organizada especificamente para a tarefa de memria
virtual.
Windows: Embora no seja transparente ao usurio, possvel gerenci-la conforme a necessidade.
Para isso, entre no "Painel" de Controle e, em seguida, em "Sistema". No menu do canto esquerdo,
clique em "Configuraes avanadas do sistema".
Na janela que abrir, selecione a aba "Avanado" e na rea "Desempenho" clique em "Configuraes".
Na nova janela que abrir, selecione novamente a aba "Avanado" e na rea "Memria Virtual" clique
em "Alterar".
Depois de tantos menus e submenus, estamos finalmente dentro do gerenciador de memria virtual,
onde possvel escolher o seu tamanho, disco onde est localizado e at mesmo delet-lo (algo que
no recomendamos e que pode causar grandes problemas no Windows). Em nosso computador de
testes o Windows criou automaticamente um arquivo de 2816 MB, mas recomenda utilizar 3434 MB,
ento vamos alterar para esse valor.
Para isso, desmarque a opo "Gerenciar automaticamente o tamanho do arquivo de paginao de
todas as unidades" e, abaixo, selecione a opo "Tamanho personalizado". Inserimos as opes
recomendadas (mnimo de 200 MB e mximo de 3434 MB) e clicamos em "Definir", mas este nmero
pode variar bastante dependendo da configurao da mquina e quantidade de programas abertos.
Para usurios que costumam abrir vrios aplicativos pesados ao mesmo tempo em uma mquina
com pouca memria RAM, aumentar essa quantidade pode melhorar um pouco o desempenho, mas
atribuir um valor muito grande, como 20 GB, no uma boa opo, j que o Windows raramente far
uso de tanto espao. De qualquer forma, um bom quebra-galho quando aumentar a quantidade de
memria RAM no uma opo.

Você também pode gostar