Sistema Operacional ATPS 1ª Etapa

16
ATPS Ciência da Computação Sistemas operacionais Noturno Nome RA Hugo Cunha 7632735177 Jefferson Quintanilha 7627553823 Luiz Vitor Mendonça 7249609373

description

1ª Etapa da Atps de sistema operacional

Transcript of Sistema Operacional ATPS 1ª Etapa

ATPS

Cincia da Computao

Sistemas operacionaisNoturno

NomeRA

Hugo Cunha7632735177

Jefferson Quintanilha7627553823

Luiz Vitor Mendona7249609373

Thelmo Vieira Junior

Carlos Eduardo7093563345

Daniel Golalves da Silva1581976573

Phelipp Nascimento 1568109304

AnhangueraNiteri, 2015Relatrio 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 / CriarLog 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 liber-las 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.