quarta-feira, 2 de abril de 2014

Sistemas Operacionais Para Redes De Computadores

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 20

Objetivo: Conhecer o funcionamento dos sistemas operacionais para redes de computadores e as principais características que esses sistemas devem possuir.

1. Introdução

Sistemas Operacionais de Rede são responsáveis por gerenciar de maneira eficiente os computadores pertencentes a uma determinada rede, bem como os usuários que utilizam os computadores e dispositivos que estão disponíveis. Esses sistemas geralmente são utilizados em Redes Locais (rede de computadores localizados em uma mesma sala, até alguns andares de um edifício), mas podem ser utilizados também em Redes Amplas, Metropolitanas e até Redes Globais.

Para prover o gerenciamento adequado dos computadores, usuários e dispositivos conectados à rede, os sistemas operacionais devem possuir funcionalidades especiais, além das normalmente encontradas em um sistema operacional comum. Dentre as funções especiais, destacam-se:

Suporte à protocolos de comunicação em rede, como: TCP/IP, IPX, NetBIOS;
Mecanismos de Segurança: controle de acesso à rede através da autenticação e autorização de usuários e sistemas externos;
Gerenciamento de Arquivos distribuídos: permitir acesso aos arquivos pertencentes à rede de maneira transparente (e segura);
Gerenciamento de Dispositivos distribuídos: tratamento similar ao gerenciamento de arquivos;
Gerenciamento de Usuários: controlar os usuários que fazem uso dos computadores pertencentes à rede.

Existem vários sistemas que fornecem recursos que permitem a operação em redes de computadores, os mais conhecidos são: Unix (Linux, AIX, BSD), MS-Windows 2000, Novell Netware, Sun Solaris, e alguns outros. Além desses sistemas, existem alguns com funções dedicadas para operarem em uma rede de computadores, como é o caso do Cisco IOS e Plan9.

A principal característica que um sistema operacional de rede deve possuir é garantir o controle no acesso aos recursos, provendo um ambiente seguro aos usuários que utilizarão a rede. Esse controle é garantido não apenas através da utilização de algumas ferramentas como autenticação de usuários, mas através de políticas administrativas: verificação dos usuários que estão utilizando a rede regularmente, definição de regras para acesso aos dispositivos (por exemplo: os usuários serão divididos em grupos, e cada grupo terá acesso a um conjunto de dispositivos conectados a rede).

2. Sistemas de Rede Especializados

Os sistemas de rede dedicados desempenham primariamente uma determinada função. O sistema Cisco IOS foi criado para atuar em roteadores da empresa Cisco e foi desenvolvido para ser utilizado como roteador e comutador de rede e gerenciador de telecomunicação. O Cisco IOS é um sistema multitarefa, operado através de uma interface de linha de comando, isso significa que para o usuário realizar alguma tarefa no sistema Cisco IOS deverá digitar o comando que representa a tarefa. Os comandos que podem ser utilizados por um usuário do sistema dependerão da caracterização do usuário no sistema. Os usuários podem pertencer a 15 níveis diferentes, cada nível representa uma classe de comandos. Usuários de níveis inferiores só conseguem executar tarefas do seu respectivo nível e os dos níveis superiores conseguem executar as tarefas do seu nível e todas as tarefas de níveis abaixo do seu.

O sistema Plan9 é um Sistema Operacional Distribuído, utilizado principalmente para fins de pesquisa. Ele é desenvolvido pela empresa AT&T, a mesma que criou o Unix (o próprio Plan9 é derivado do Unix). A principal característica do Plan9 é a representação de todos os recursos do computador em um sistema de arquivos. O objetivo no desenvolvimento do Plan9 é de criar um sistema operacional que permitisse a utilização de qualquer tipo de máquina na rede. O Plan9 atuaria como um gerenciador dos recursos da rede e os sistemas locais em cada computador utilizariam os recursos disponíveis no sistema de arquivos do Plan9.

3. Sistemas Operacionais que acessam redes

Deve-se fazer uma distinção entre um sistema operacional de rede e um sistema operacional que acesse uma rede de computadores. Um sistema operacional de rede fará o gerenciamento da rede de computadores e dos recursos disponíveis na rede, exemplos de sistemas operacionais de rede são o MS-Windows 2000 e Linux.

Já um sistema operacional que acessa uma rede, não irá gerenciar a rede. Ele utilizará os recursos disponíveis na rede. Exemplos de sistemas dessa categoria são: MS-Windows XP, MacOS X, BeOS, entre outros. Para estes sistemas, questões como o controle dos usuários que podem ou não acessar a rede não são considerados. Se o usuário que está utilizando o sistema operacional local pode ou não acessar, é uma verificação a ser feita pelo sistema operacional da rede.

Interface Com O Usuário

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 19

Objetivo: Aprender as características das interfaces existentes que permitem a interação entre o usuário e o computador, para a realização das diversas tarefas.

1. Introdução

A Interação entre o usuário e o computador é alvo de estudos desde o início da era da Informática. Abrange estudos na área da Ciência da Computação, Desenho, Pscicologia, entre outras. Essa interação é realizada através da Interface com o Usuário. A interface abrange os programas e equipamento, pois o próprio teclado é uma interface para operação do computador.

O principal objetivo da interface com o usuário é permitir a interação entre o usuário e o computador, mais precisamente, permitir que o usuário possa utilizar a máquina para realizar as tarefas de maneira simplificada e eficiente.

Atualmente as interfaces de usuário utilizam gráficos para simbolizar operações e organizar as funções, sendo utilizada em praticamente todos os sistemas operacionais modernos.

2. Interface Gráfica para o Usuário

As interfaces gráficas criam um ambiente de interação com usuário através de figuras, indicadores e elementos gráficos. As figuras são chamadas de ícones, e representam uma ação a ser realizada ou um dispositivo a ser utilizado. Geralmente os ícones possuem uma legenda, para facilitar o entendimento de sua representação. Os indicadores geralmente são utilizados para representar o andamento de alguma operação como a barra de progressão e os elementos gráficos são controles auxiliares, como setas, botões, entre outros.

Os sistemas operacionais MS-Windows, MacOS X, Linux, entre outros, também oferecem a opção de interação por meio de comandos. Um detalhe existente entre os usuários do Linux: alguns preferem a utilização de interface por comando em vez de utilizarem a interface gráfica.

O primeiro sistema operacional que obteve sucesso na utilização de uma interface gráfica foi desenvolvido em 1981 pela empresa Xerox. A interface recebeu o nome de PARC User Interface (a sigla PARC significa Palo Alto Research Center, nome da unidade da Xerox que desenvolveu a interface). Esta interface é bem rudimentar em comparação com as atuais interfaces, mas em sua época causou uma verdadeira revolução na maneira como os computadores passaram a ser utilizados.

Em seguida, a empresa Apple lançou seu primeiro computador com sistema operacional de interface gráfica, o Apple Lisa, que não chegou a ser muito utilizado, mas o segundo computador lançado pela Apple, o Macintosh, é considerado por muitos como o principal exemplo de sistema com interface gráfica. Desde então, várias empresas lançaram sistemas com interface gráfica, a Microsoft lança o MS-Windows em 1985, os sistemas Unix também passam a utilizar a interface gráfica X-Window na década de 1980, a IBM lança um sistema com interface gráfica chamado IBM OS/2, e vários outros sistemas são lançados.

3. Projeto de Interface com o Usuário

O Projeto da Interface com o Usuário é atualmente uma das principais áreas no desenvolvimento dos sistemas operacionais (e aplicativos em geral). O objetivo dos projetistas é desenvolver uma interface que seja de fácil utilização e de grande abrangência e eficiência. A interface deve ser de fácil utilização, pois o objetivo de qualquer interface para o computador é permitir que o usuário utilize os recursos disponíveis no mesmo para realizar seu trabalho (sem que haja mais trabalho para operar o computador). A abrangência da interface é importante, pois ela deve permitir que todos os recursos do computador sejam acessíveis. E a eficiência também deve ser considerada porque não seria útil ter uma interface que não respondesse aos comandos do usuário de forma que comprometesse a realização dos trabalhos no computador.

Para permitir que o usuário interaja com o computador, as interfaces possuem uma série de elementos: Janelas, Botões, Ícones, Menus, Indicadores, entre outros. Esses elementos devem estar organizados de maneira harmônica, para permitirem uma boa visualização para o usuário. As janelas são utilizadas para delimitar o programa em execução, e os outros controles são utilizados para permitir acesso às funções do programa. Geralmente os sistemas operacionais são caracterizados por uma interface gráfica padrão, mas a maioria dos sistemas modernos permite que a interface com o usuário seja personalizada.

Nos primeiros computadores que possuíam um sistema operacional com interface gráfica, os elementos disponíveis eram bem simples, por causa das características dos computadores da época, em 1985 a maioria possuía algumas centenas de kilobytes de memória, os processadores raramente tinham uma velocidade superior a 10MHz e os monitores exibiam apenas uma cor (verde, cinza ou laranja), alguns poucos exibiam 16 cores, além de terem uma resolução muito pequena, alguns chegavam a 320x200 e os melhores 512x424.

Atualmente, os computadores contam com processadores rápidos, e capacidades gráficas muito superiores, facilmente encontram-se computadores que possuem um processador de 2.000 MHz e monitores com resolução de 1024x768 com capacidade para exibir milhões de cores, além de centenas de megabytes de memória RAM.

4. Interface Gráfica 3D

Recentemente começaram a ser utilizadas nos sistemas operacionais MS-Windows e Linux, interfaces gráficas com elementos em 3ª Dimensão. Este recurso é visível na operação de alternância entre aplicativos, mas poderá ser utilizado em vários elementos da interface gráfica.

Linux Ext

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 18

Objetivo: Conhecer o sistema de arquivos utilizado no Linux, aprender as suas características e entender o seu modo de funcionamento.

1. Introdução

Durante o desenvolvimento inicial do Linux, entre os anos de 1991 e 1992, foi utilizado um sistema de arquivos chamado ext1. Nesse período o Linux era praticamente utilizado apenas pelos programadores. Em 1993 foi desenvolvida uma versão do sistema de arquivos própria para o Linux, que já podia ser instalado e utilizado por vários usuários, essa versão recebeu o nome de Linux Extended File System Version 2, ou ext2.

Características gerais do padrão ext2:

Tamanho Máximo do disco-rígido: 4 Terabytes;
Tamanho da Unidade Básica de Informação: 4 KB;
Tamanho Máximo do nome do arquivo: 255 letras (ASCII);
Maior Data dos arquivos: 18/01/2038.

De maneira semelhante ao NTFS, o tamanho padrão da unidade básica de informação nos discos ext2 atualmente é de 4 KB, podendo variar entre 512 bytes e 4 KB dependendo do espaço disponível no disco.
O padrão ext2 ainda é bastante utilizado, mas já possui um sucessor, denominado ext3, desenvolvido em 2001. A diferença básica entre os padrões ext2 e ext3 é a seguinte: o ext3 possui um mecanismo especializado chamado Journaling que é utilizado para otimizar o desempenho nas operações de busca de arquivos, e proteção contra falhas no sistemas (queda de energia durante a gravação de um arquivo).

Um novo padrão foi desenvolvido em 2006, denominado ext4, apresentando um aumento no tamanho máximo do disco de 1 Exabyte, além de melhorias no desempenho geral do sistema de arquivos.

2. Tratamento dos Arquivos

No ext2 os arquivos são tratados de maneira diferente do tratamento feito no NTFS. As informações sobre o arquivo são explicitamente separadas dos dados do arquivo. Basicamente, a estrutura de arquivos do padrão ext2 se divide em: Inodes e Blocos de Dados.

Os Inodes armazenam as propriedades dos arquivos, como tamanho, o usuário que o criou, o grupo do usuário, data de criação, entre outras. Um arquivo pode ter mais de um Inode, pois cada Inode está associado a um Bloco de Dados.

Os Blocos de Dados representam os dados fisicamente gravados no disco. Dependendo de como está a distribuição dos dados no disco, o arquivo possuirá um ou mais blocos de dados gravados. O ext2 irá priorizar a gravação de um bloco contínuo de dados, para minimizar as operações de leitura e gravação das informações, otimizando o desempenho do sistema de arquivos.

Esse modelo de tratamento dos arquivos está sendo mantido nos padrões ext3 e ext4. Sendo adicionado neles o mecanismo de Journaling, que consiste na utilização de uma estrutura de dados semelhante a Árvore-B+, e utilização de Meta-Dados para representar os arquivos. O Journaling não é uma adaptação do mecanismo utilizado no NTFS, pois ele foi criado pela IBM em 1990 e é utilizado em vários sistemas operacionais. O mais provável é que a Microsoft tenha adaptado o Journaling no NTFS.

No padrão ext4 uma nova funcionalidade foi adicionada, chamada de Alocação Dinâmica de Inodes. Essa funcionalidade garante espaço adicional para os arquivos durante as etapas de gravação e atualização dos mesmos, reservando espaço adicional no disco-rígido, evitando assim que os dados fiquem fragmentados.
Em todas as versões do padrão ext os arquivos são organizados em uma tabela chamada: Tabela Descritiva de Grupos, que contém a lista de arquivos e as listas de Inodes associadas a cada arquivo.

3. Compatibilidade com outros Sistemas Operacionais

O sistema de arquivos ext2, e ext3, podem ser acessados a partir de outros sistemas operacionais através de utilitários disponíveis para cada sistema, como por exemplo:

MacOS X: pode-se instalar o utilitário “ext2 driver”, permitindo que discos ext2 sejam manipular diretamente pelo MacOS X;

MS-Windows Server: também possui um utilitário chamado ext2fsd que também permitirá aos sistemas MS-Windows 2000 e MS-Windows 2003 manipularem diretamente discos ext2 ou ext3;

Explore2fs: este programa está disponível para praticamente todas as versões do sistema MS-Windows posteriores ao MS-Windows 95. Tem um funcionamento semelhante ao Windows Explorer, permitindo manipular arquivos em discos ext2 ou ext3.

Em todos esses casos, os utilitários e programas, não garantem a total compatibilidade e integridade dos dados acessados. Esses programas foram feitos por desenvolvedores independentes, não tendo garantias na sua utilização, mas até hoje nenhum dano sério foi identificado ou divulgado. Como o padrão ext4 é recente, e ainda está em desenvolvimento, não existe um programa.

4. Características Gerais

Atualmente o padrão ext3 possui as seguintes características:

Definição Padrão dos atributos de um arquivo: os atributos que um arquivo possui definem a maneira como será acessado. Tais atributos podem ser definidos de acordo com o diretório em que o arquivo está armazenado, não havendo necessidade de se modificar os atributos depois de criá-lo;

Definição Padrão do “Grupo de Usuário” a um diretório: um diretório pode ser definido para permitir que apenas um determinado Grupo de Usuários tenha acesso de gravação. Outros usuários de outros grupos podem ler os arquivos (se for permitido pelo atributo do arquivo), mas não poderão gravar arquivos no mesmo diretório;

Definição do tamanho da Unidade Básica de Informação na criação do arquivo: quando o arquivo é gravado no disco-rígido, ocupará uma determinada quantidade de unidades básicas de informação. No padrão etx3 o tamanho da unidade básica de um arquivo pode ser especificado de acordo com o tamanho do arquivo. Arquivos grandes podem ser definidos com unidades de informação grandes, e arquivos pequenos com unidades de informação menores;

Checagem da integridade do sistema de arquivos: em determinados momentos, definidos previamente pelo usuário, o padrão ext3 irá realizar a checagem da integridade dos dados armazenados na Tabela Descritiva de Grupos, verificando se não existe falha no sistema. Esta checagem é realizada por um programa utilitário chamado tune2fs;

Um atributo especial no arquivo pode ser definido para que o conteúdo do arquivo armazenado fisicamente no disco-rígido seja destruído ao se apagar o arquivo da Tabela Descritiva de Grupos. O ext3 irá gravar dados aleatórios no espaço físico onde se encontrava o arquivo, esta propriedade é bastante útil, pois evita que outras pessoas acessem os dados de uma empresa diretamente no disco-rígido através de um “extrator de dados”.

O sistema operacional MacOS X, por ser derivado de um sistema semelhante ao Unix, possui atualmente um sistema de arquivos semelhante ao ext3, chamado HFS+. O padrão HFS+ é a junção do padrão HFS utilizado nos sistemas MacOS 8 e MacOS 9 com o padrão ext3.

Sistema De Arquivos NTFS

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 17

Objetivo: Conhecer o funcionamento do sistema de arquivos NTFS introduzido no Windows NT em 1993.

1. Introdução

O sistema de arquivos NTFS é o sistema padrão nos Sistemas Operacionais MS-Windows Server. O padrão NTFS foi introduzido em 1993 no sistema operacional MS-Windows NT, destinado aos computadores servidores, que a partir da versão 5 passou a ser denominado MS-Windows Server (houve uma versão destinada a computadores de escritório, pretendendo substituir o MS-Windows 3 em 1993, mas não houve adesão suficiente por parte dos usuários, sendo abandonada no ano 2000 e substituída pelo MS-Windows XP).

A Microsoft, criadora do Windows, optou por utilizar o padrão NTFS no sistema Windows NT (Server), pois possui várias vantagens em relação ao padrão FAT utilizado no Windows para computadores pessoais. Essas vantagens incluem maior aproveitamento do espaço disponível nos discos-rígidos, melhor desempenho nas operações de gravação/leitura dos dados, utilização de estruturas de dados avançadas para representar os arquivos contidos no disco, mecanismos de criptografia dos dados e outras.

Algumas características de armazenamento do padrão NTFS são:

Tamanho Máximo do disco-rígido: 264 bytes = 2 Exabytes.
Tamanho da Unidade Básica de Informação: 4 KB.
Tamanho Máximo do nome do arquivo: 255 letras (Unicode).
Maior Data dos arquivos: 28/05/60056 (sessenta mil anos).

O tamanho da unidade básica de informação de 4 KB é utilizado em discos com mais de 2 GB de espaço disponível, como todos os computadores utilizados atualmente que executam o Windows Server ou Windows XP possuem muito mais que 2 GB, pode-se dizer que 4 KB é o tamanho padrão da unidade básica de informação. O menor tamanho da unidade básica é 512 bytes, utilizado apenas em discos com até 512 MB.

2. Tratamento dos Arquivos

No NTFS todo o conteúdo do arquivo, incluindo o nome, data de criação, permissões de acesso, é armazenado como sendo um Meta-Dado. Os arquivos são armazenados em uma estrutura denominada Tabela Mestre de Arquivos, e a estrutura de dados que o NTFS utiliza para organizar os arquivos é a Árvore B+, que mesmo sendo muito complexa para ser desenvolvida, fornece um ótimo desempenho nas operações de busca dos arquivos.

A Tabela Mestre contém as informações sobre cada arquivo e diretório em um disco NTFS. É nessa tabela que ficam armazenadas as informações referentes ao nome do arquivo, sua localização, tamanho e permissões de escrita, leitura e execução. Uma característica importante da Tabela Mestre é sua capacidade de minimizar a fragmentação dos arquivos. Cada Unidade Básica de Informação pode conter 4 registros da Tabela Mestre.

O padrão NTFS possui um tipo especial de arquivo denominado Meta-Arquivo, que é utilizado para auxiliar a organização dos Meta-Dados, que são os arquivos do usuário. Os Meta-Arquivos armazenam informações referentes a Cópias de Segurança, Dados do Sistema, Dados Temporários das alterações dos arquivos, Alocação do Espaço Livre, Partes do Disco com defeito, Informações de Segurança e Informações sobre a utilização do disco.

3. Arquivos Residentes e Não-Residentes

No NTFS foi utilizada uma estratégia para o armazenamento de arquivos pequenos que não comprometesse a utilização otimizada do espaço de armazenamento no disco: os dados dos arquivos pequenos são armazenados na própria Tabela Mestre, quando é possível fazer desse modo. Esse tipo de gravação é denominada Gravação Residente e os arquivos são Arquivos Residentes.

Essa estratégia é utilizada quando o arquivo possui menos de 800 bytes de informação (um arquivo de configuração pode ter algumas dezenas de bytes apenas). Dessa forma, arquivos residentes não ocupam “espaço de armazenamento” no disco. Como a Tabela Mestre está no disco, o arquivo em si também ficará armazenado no espaço de armazenamento do disco, mas sem ocupar uma Unidade Básica de Informação por completo, evitando armazenar 800 bytes e desperdiçar 3200 bytes. Arquivos criptografados ou comprimidos não são armazenados de forma residente.

Os arquivos com mais de 800 bytes, ou criptografados ou comprimidos, serão armazenados no espaço de armazenamento do disco, ocupando quantas Unidades Básicas forem necessárias. Os arquivos armazenados desta maneira são denominados Arquivos Não- Residentes.

4. Compatibilidade com outros Sistemas Operacionais

A Microsoft mantém em segredo os detalhes internos de funcionamento e organização do padrão NTFS, mas alguns desenvolvedores independentes conseguiram acessar discos NTFS a partir de outros sistemas, como o Linux, MacOS X, MS-DOS entre outros.

No Linux pode-se operar discos NTFS sem o auxílio de utilitários extras desde a versão 2.2 do Linux kernel, mas apenas para a leitura das informações. A gravação só pode ser feita através de utilitários como o NTFSMount. Mas mesmo nesses casos os desenvolvedores informam que pode haver perda de dados no disco, inclusive do disco inteiro, dependendo da maneira como os dados forem acessados.

Mesmo a utilização de redes com versões diferentes do Windows instaladas nos computadores pode danificar as informações gravadas no disco NTFS, pois cada versão nova do MS-Windows NT, e posteriormente MS-Windows Server e MS-Windows XP, possui características novas. Isso faz com que o MS-Windows 2000 não reconheça completamente as características do NTFS presentes no MS-Windows 2003.

O sistema operacional MacOS X 10.3, e posteriores, oferecem suporte à leitura do disco NTFS com segurança da integridade da unidade de disco. Um utilitário chamado NTFS-3G permite a leitura e gravação, mas sem garantia de integridade do disco.

O MS-Windows NT desde o lançamento oferece suporte aos padrões FAT16, e com o lançamento do padrão FAT32 no MS-Windows 95, este também passou a ser utilizado no MS-Windows NT 4 em 1996. A Microsoft oferece um utilitário para realizar a conversão dos discos com padrão FAT16 e FAT32, presentes no Windows 3 e Windows 95/98, modificando- os para o padrão NTFS. Mas não oferece nenhum utilitário para fazer a operação inversa.

5. Características Gerais

O NTFS desenvolvido para o MS-Windows Server 2003, e também utilizado no MS-Windows Vista, possui as seguintes características:

Nome Alternativo do Arquivo: pode-se associar um segundo nome para um arquivo, e fornecer permissões de acesso diferentes para cada nome. Isto pode ser útil quando se deseja proteger um arquivo de acesso indevido, um dos nomes fica visível aos usuários apenas para leituras, e o outro nome fica invisível, mas permite a leitura e gravação. Mas se o arquivo for copiado para um disco FAT32, o segundo nome será perdido;

Cota de Armazenamento: pode-se definir uma cota de utilização do espaço de armazenamento do disco para cada usuário, limitando a quantidade de dados que se pode gravar no disco. As cotas são utilizadas geralmente em computadores que serão utilizados como servidores de arquivos, dividindo o espaço em disco de maneira equalizada entre os usuários;

Pontos de Montagem: semelhantes aos sistemas Unix, podendo-se associar uma nova unidade de disco a uma determinada pasta/diretório dentro do disco atual;

Ponto de Junção: propriedade semelhante ao Ponto de Montagem, a diferença nesse caso é que não será criada uma nova unidade de disco, mas o conteúdo de duas pastas será exibido em conjunto, por exemplo, se for criada uma ligação de junção entre “C:\Trabalho” e “D:\discos\segurança”, a pasta “D:\discos\segurança” passaráa ser utilizada como uma pasta pertencente à “C:\Trabalho”;

Ligação entre Arquivos: similar aos Pontos de Junção, oferecendo a ligação entre arquivos em pastas diferentes;

Gerenciamento Hierárquico do Armazenamento: essa característica é importante para otimizar a utilização das unidades de discos, pois irá organizar os arquivos de acordo com a freqüência de acesso aos mesmos. Os arquivos mais acessados ficarão em locais fisicamente mais fáceis de serem acessados;

Controle de Versão dos Arquivos: as mudanças efetuadas nos arquivos são armazenadas para se manter um histórico das alterações feitas nos arquivos em disco. Desta maneira, é possível restaurar um arquivo à sua condição anterior a uma alteração indevida;

Compressão de Arquivos: os discos NTFS podem armazenar os dados dos arquivos utilizando o algoritmo de compressão LZ77, o mesmo utilizado em arquivos “.ZIP”, economizando espaço de armazenamento no disco-rígido;

Armazenagem Unificada de Arquivos: quando múltiplos arquivos, com o mesmo conteúdo, são armazenados em pastas diferentes, o NTFS irá armazenar apenas uma referência dos arquivos fisicamente no disco, as outras referências serão feitas apenas na Tabela Mestre. Quando um arquivo for modificado, uma nova referência física ao arquivo será feita no disco;

Criptografia do Sistema de Arquivos: Os arquivos e pastas podem ser gravados de maneira a serem acessíveis apenas a partir do disco original, através da criptografia, que é a modificação dos dados originais tornando-os diferentes, incompreensíveis, a qualquer pessoa ou programa que o acesse sem descriptografá-lo, operação esta que é feita pelo próprio NTFS. Se o arquivo for copiado para outro disco, ele não será corretamente lido, pois os dados internos do arquivo estão “ilegíveis”.

Sistema De Arquivos

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 16

Objetivo: Apresentar o funcionamento básico do gerenciamento dos arquivos feito pelo sistema operacional e as características gerais que podem ser encontradas nos sistemas atuais.

1. Introdução

Um sistema de arquivos é o conjunto de regras que definem a maneira como os dados do usuário, programas, informações de configuração, entre outras, serão gravados e gerenciados nos dispositivos de armazenamento acessados pelo computador. Essas informações serão armazenadas fisicamente nos dispositivos, e gerenciadas pelo sistema operacional através de estruturas de dados, que serão a representação lógica das informações.

Um sistema operacional geralmente é caracterizado pelo sistema de arquivos que utiliza, mas um mesmo sistema operacional pode utilizar mais de um sistema de arquivos para gerenciar os do computador.

2. Organização de um Sistema de Arquivos

A maioria dos sistemas de arquivos trabalha organizando os dados em blocos de informação, sendo que o tamanho de cada bloco dependerá de algumas características específicas de cada sistema de arquivos, e do dispositivo de armazenamento utilizado. Um exemplo de utilização de blocos de informação pode ser o seguinte: em um disco-rígido de 40 GB utilizam-se blocos de informação de 4 KB de tamanho, assim o disco é dividido em 10 milhões de blocos de informação.

Os blocos de informação são utilizados, pois todo o controle da informação é feito utilizando- se os blocos como unidade básica de informação. Esse conceito surgiu no início da utilização de computadores, pois a limitação dos computadores impedia um controle mais apurado. O ideal era que cada unidade de informação correspondesse a um byte, se isso fosse feito, seriam necessários 40 bilhões de unidades de informação separadas no disco-rígido de 40 GB (em um computador de 32bits o maior número que pode ser interpretado pelo processador é um pouco maior que quatro bilhões).

Como os computadores trabalham com números binários, os blocos de informação são múltiplos de dois e geralmente abrangem o seguinte intervalo: 512 bytes, 1024 bytes, 2048 bytes, até 65536 bytes, este último praticamente não utilizado nos sistemas operacionais atuais. O primeiro valor de 512 bytes também é raramente utilizado, pois foi desenvolvido para discos-rígidos de pequena capacidade (inferior a 32 MB) e unidades de disquete. Não existe atualmente nenhum sistema que utiliza um bloco de informação inferior a 512 bytes, pois todos os discos-rígidos são divididos em blocos físicos (chamados clusters) de informação de 512 bytes. Os blocos de informação podem ser entendidos como sendo formados por grupos de blocos físicos de dados.

Os dados gravados no sistema recebem o nome de arquivo. Um arquivo pode conter um relatório de trabalho, um desenho, uma música, ou um programa. Cada arquivo possui um conjunto de propriedades que definirão a maneira como a informação dentro dele poderá ser acessada.

3. Propriedades dos Arquivos

Os arquivos possuem uma série de propriedades que são utilizadas para definir a maneira como os dados serão lidos, atualizados, apagados, como será mostrado o arquivo para o usuário, a data em que o arquivo foi criado, dentre outras. As principais propriedades de um arquivo encontradas nos sistemas operacionais atuais são:

Modo de Acesso: esta propriedade define a maneira como o arquivo será acessado, podendo ser basicamente da seguinte forma: o arquivo poderá ou não ser lido, poderá ou não ser escrito, e se for um programa, o programa poderá ou não ser executado;

Modo de Exibição: aqui é definido se o arquivo será exibido ao usuário normalmente, ou se ficará oculto, não sendo exibido;

Data de Criação: quando o arquivo é criado, a data de criação é armazenada;

Data de Alteração: a cada instante que o conteúdo do arquivo for modificado, ficará armazenada a data da alteração. Em sistemas que possuem apenas uma data como propriedade do arquivo, utiliza-se geralmente a data de alteração do arquivo na propriedade Data;

Nome do Arquivo: esta propriedade identifica o arquivo, e é através do nome que se tem acesso ao conteúdo do arquivo;

Extensão do Arquivo: aqui será definido o tipo do arquivo. Esta propriedade geralmente faz a associação do conteúdo de um arquivo com o programa utilizado, por exemplo, um arquivo “relatório de trabalho.doc” possui o nome: “relatório de trabalho” e a “extensão.doc”, que o associa com o programa MS-Word.

Nos sistemas operacionais mais avançados, que utilizam critérios para diferenciar os usuários que utilizam o computador, os arquivos podem ter algumas propriedades que irão armazenar informações sobre o usuário que criou o arquivo, e o modo de acesso que os outros usuários terão ao arquivo. O conjunto completo de propriedades que um arquivo possuirá dependerá diretamente do sistema de arquivos utilizado pelo sistema operacional.

4. Organização dos Arquivos

Os arquivos ficam armazenados no disco-rígido e para facilitar o gerenciamento dos arquivos, várias técnicas são empregadas, as principais são: a separação dos arquivos em Diretórios, e a utilização de uma Tabela de Arquivos.

Um diretório é um mecanismo de organização dos arquivos. Os arquivos são, sob um aspecto lógico-computacional, organizados primariamente em diretórios. Os diretórios podem ser criados e removidos pelo usuário, e por meio deles, o usuário consegue realizar a separação dos arquivos a partir de critérios definidos previamente. Alguns sistemas operacionais, durante a instalação do sistema no computador, criam alguns diretórios iniciais, que são utilizados para organizar os arquivos do próprio sistema operacional, e também para auxiliar o usuário apresentando uma pré-organização que poderá ou não ser seguida. Os diretórios recebem vários nomes, entre eles: pastas e caminhos. No MS-Windows XP, a pasta “Meus Documentos” na área de trabalho, corresponde ao diretório: “C:\Documents and Settings\<usuário>\Meus documentos”.

A Tabela de Arquivos é um outro mecanismo utilizado pelos sistemas operacionais para organizar os arquivos, mas nesse caso a organização pretendida é para o tratamento dos dados fisicamente gravados no disco-rígido. Graças à utilização dessa tabela, os arquivos podem ser encontrados e editados sem que haja necessidade de mecanismos complexos ou demorados para se realizar esse trabalho. Na Tabela de arquivos ficarão armazenadas basicamente as seguintes informações: um identificador do arquivo (geralmente sendo o caminho do arquivo que inclui o diretório completo e o nome do arquivo, mais um número de identificação único para cada arquivo), e o número do primeiro bloco físico de dados no disco-rígido.

5. Nomeação dos Arquivos e Diretórios

Os sistemas de arquivos atualmente utilizados nos sistemas operacionais permitem a criação de arquivos e diretórios com nomes de até 255 caracteres. Mas no início, esse número era bem inferior. Na década de 1980 era comum o uso do MS-DOS, e este sistema permitia a criação de arquivos com no máximo 11 caracteres (8 caracteres no nome + 3 caracteres de extensão).

Um detalhe importante na nomeação dos arquivos e diretórios é o cuidado que se deve ter para não utilizar nenhum caractere especial, pois alguns são utilizados para auxiliar a organização, exibição e administração dos arquivos, como por exemplo, os caracteres: “/”, “?”, “$”, etc. Estes dependem do sistema de arquivos, que depende do sistema operacional. Por exemplo, nos sistemas Unix, se um arquivo começa com o caractere “.”, indica que o arquivo ficará oculto, e se começa com “~” significa que é uma cópia de segurança.

O sistema MS-Windows 95 ao ser lançado permitiu a utilização de nomes de arquivos com 255 caracteres, mas teve que ser feito com uma Tabela de Arquivos especial, pois deveria ser compatível com o sistema MS-DOS e MS-Windows 3. Quando o arquivo era visualizado a partir do MS-Windows 95 o nome era exibido corretamente, mas quando era visto no MS- DOS ou MS-Windows 3 o nome era exibido no formato “8.3” caracteres.

6. Metadados dos Arquivos

Existe um grupo de informações que são armazenadas na Tabela de Arquivos, chamada de Meta-dados. Essas informações podem ser por exemplo: o tamanho em bytes dos dados do arquivo, o formato do conteúdo, a data de criação, data de modificação, nome do usuário que criou, propriedades do modo de acesso, resumo do conteúdo do arquivo, e várias outras informações (dependendo do sistema operacional).
As informações contidas nos meta-dados são úteis para o sistema operacional oferecer algumas funções adicionais ao usuário, como por exemplo, se o usuário precisar acessar os arquivos que uma determinada pessoa criou em uma certa data, o sistema operacional deverá possuir essas informações para poder dar a resposta correta ao usuário.

7. Classificação dos Sistemas de Arquivos:

Os sistemas de arquivos podem ser classificados em dois tipos básicos:

Sistemas de Disco: uma unidade de armazenamento não-volátil (disco-rígido, CD-R, flashdrive) é utilizada para guardar os arquivos e seus dados. A Tabela de Arquivos geralmente fica armazenada na própria unidade de armazenamento onde se encontram os arquivos referenciados por ela. Exemplos de sistemas de arquivo em disco são: FAT32, NTFS, HFS, ext2, ext3, isso 9660, etc.

Sistemas de Arquivo em Rede: Um sistema de arquivo em rede é um sistema em que o gerenciamento e armazenagem dos arquivos de um computador é feito em um outro computador conectado à rede, que permite o acesso aos dados de maneira transparente, como se estivessem no próprio computador do usuário. O sistema mais utilizado é o NFS.

Gerenciamento De Dispositivos

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 15

Objetivo: Aprender os princípios básicos do gerenciamento de dispositivos realizados pelos sistemas operacionais.

1. Introdução

Para gerenciar dispositivos conectados ao computador, tais como: teclado, mouse, monitor, impressora, entre outros, o sistema operacional deve primeiramente ter a capacidade de acessar o dispositivo e enviar comandos e informações ao mesmo. Para realizar essa tarefa, os sistemas operacionais recebem um conjunto de instruções específicos para o tratamento dos dispositivos, esse conjunto de instruções é chamado de Driver de Dispositivo. Cada dispositivo possui um driver específico, e cada driver é criado pela empresa que criou o dispositivo. A empresa Epson desenvolve os drivers para as impressoras Epson Stylus CX que ela fabrica e a empresa Hewlett-Packard desenvolve os drivers para as impressoras HP DeskJet, sendo que os drivers para as Epson Stylus não funcionarão para gerenciar as impressoras HP DeskJet.

Além da dependência direta entre o driver e o dispositivo, existe a dependência direta entre o driver e o sistema operacional, pois um driver feito para ser utilizado pelo MS-Windows não pode ser utilizado pelo MacOS X (e vice-versa).

Os drivers também são criados para permitir ao sistema operacional acessar: conectores USB e Firewire, redes Bluetooth, unidades de CD e DVD. Os drivers são uma peça fundamental para o bom funcionamento do computador, pois os dispositivos conectados nele só serão utilizados se o driver para o dispositivo estiver disponível para o sistema operacional. Se não houver o driver para um dispositivo conectado ao computador, esse dispositivo não poderá ser utilizado, e se for instalado um driver incorreto para um dispositivo, ele não funcionará de maneira adequada.

2. Funcionamento do Driver de Dispositivo

O driver de um dispositivo funcionará como um tradutor de comandos entre o sistema operacional e o equipamento eletrônico. O sistema operacional utilizará as rotinas existentes no driver para poder manipular e gerenciar o equipamento. Por exemplo, se o equipamento for uma impressora, o sistema operacional poderá solicitar ao driver que imprima um determinado texto. O driver passará à impressora o texto a ser impresso e o comando de impressão. Cada nova versão de uma impressora necessita de um novo driver, isso não significa que cada modelo de impressora irá utilizar um driver diferente. Uma mesma versão de impressora pode ser entregue em modelos diferentes, por exemplo: Epson Stylus 5300, Epson Stylus 5500, Epson Stylus 5700, e Epson Stylus 5900.

Os drivers são divididos em duas partes: comandos lógicos e comandos físicos. Os comandos lógicos são acessados pelo sistema operacional e por qualquer programa que utilize o driver para comunicar com o dispositivo. Os comandos lógicos serão utilizados pelo sistema operacional para informar ao driver os comandos que devem ser executados e para transferir dados para o dispositivo. Os comandos físicos são utilizados pelo próprio driver, para executar no dispositivo os comandos lógicos solicitados.

Um exemplo de comando lógico é o seguinte: imprimir o documento “relatório.doc”. Para realizar esse comando lógico, vários comandos físicos devem ser empregados: preparar a impressora pode imprimir o documento, enviar dados do documento “relatório.doc” para a impressora, enviar comando de impressão, esperar resposta de fim da impressão. Quando o dispositivo termina de executar a tarefa solicitada, um aviso é enviado ao driver do dispositivo, que irá interpretar esse aviso como um comando físico e passar ao sistema operacional um comando lógico informando que o dispositivo concluiu a tarefa. No caso da impressora, ao terminar a impressão, um aviso de conclusão é enviado ao driver e passado ao sistema operacional.

Para utilizar o driver, o mesmo deve ser instalado para o sistema operacional. No processo de instalação, o sistema operacional registrará o driver, os dispositivos que podem ser utilizados através dele, a localização das rotinas de operação do dispositivo, entre outras informações. Essa tarefa de instalação, atualmente, é feita de maneira simples e em muitos casos não chega a ser necessária, pois alguns sistemas operacionais já são distribuídos com uma série de drivers pré-instalados, havendo apenas a necessidade de se instalar manualmente o driver para um dispositivo lançado após a aquisição do sistema operacional.

Para gerenciar os dispositivos, os sistemas operacionais contam com gerenciadores específicos: Gerenciador de Impressão, Gerenciador de Disco, Gerenciador de Modem, Gerenciador USB, Gerenciador de Vídeo, entre outros. Cada gerenciador será responsável por realizar a administração e controle da utilização do respectivo dispositivo. O Gerenciador de Impressão irá controlar quais documentos serão enviados para a impressora, quando ela estará disponível para ser utilizada, e várias outras tarefas.

3. Firmware

O Firmware é um circuito eletrônico que possui internamente um pequeno programa. Um circuito de firmware geralmente é utilizado em equipamentos eletrônicos inteligentes, o que inclui vários dispositivos do computador atualmente. Em um dispositivo que possui um firmware, o próprio pode funcionar como driver para o dispositivo. Os fabricantes de dispositivos podem atualizar o firmware do dispositivo para melhorar o desempenho do equipamento e não existe a necessidade de instalação de driver, pois o sistema operacional utilizará diretamente firmware do dispositivo. Para ser utilizado como driver, o firmware deve ser carregado na memória do computador como se fosse um driver, e então utilizado.

Os computadores Macintosh utilizam muito esse conceito. A maioria dos dispositivos disponíveis para essa linha de computadores não possui um driver para ser instalado no sistema MacOS, possuem um firmware para ser utilizado diretamente. A desvantagem nesses sistemas é o maior tempo gasto na inicialização do sistema, pois a cada inicialização, todos os dispositivos devem ter o firmware carregado na memória do computador.

4. Drivers Genéricos

Um grupo especial de drivers são os chamados “Drivers Genéricos”. Esses drivers podem ser utilizados por uma maior variedade de equipamentos eletrônicos, inclusive de fabricantes diferentes. Os drivers genéricos geralmente são feitos para um determinado tipo de dispositivo, por exemplo: driver genérico para impressora matricial. A maioria das impressoras matriciais poderá ser utilizada a partir do driver genérico. A vantagem nesse caso é poder contar com uma maior liberdade para utilizar o dispositivo, mas a desvantagem é de não poder utilizar todos os recursos disponíveis.

5.Dispositivos Plug-and-Play (Ligue-e-Use)

Em 1994 vários fabricantes de dispositivos se uniram para definir um novo conceito na utilização do computador, e na maneira como seria feita a instalação dos drivers de dispositivos. Até essa época, a instalação e utilização de um dispositivo era muito complexa (causada principalmente pelo MS-DOS). Para melhorar e facilitar a interação entre os sistemas operacionais e dispositivos foi criado o modelo Plug-and-Play. Esse modelo define um conjunto de características que os dispositivos irão possuir para facilitar a instalação dos drivers.

Essas características são gravadas no firmware do dispositivo e utilizadas durante a instalação do driver do dispositivo. Antes dos dispositivos Plug-and-Play surgirem, o usuário deveria configurar manualmente o dispositivo, passando ao sistema operacional uma séria de informações: o conector físico na placa-mãe estava o dispositivo, o endereço padrão para acessar o dispositivo, o número de identificação, o número do gerador de interrupções, entre outras.

6. Drivers no MS-Windows e no Linux

Como o driver é dependente dos sistemas operacionais, a sua utilização deve seguir critérios definidos pelos fabricantes dos sistemas operacionais. Estes critérios definem como será feita a interação entre o sistema operacional e os comandos lógicos do driver.

Os drivers para MS-Windows 3 e MS-Windows 95 eram desenvolvidos segundo um modelo definido pela Microsoft chamado VxD, a sigla VxD representa “Virtual X Driver”. Nos sistemas MS-Windows 98, MS-Windows 2000 e MS-Windows XP o modelo utilizado é chamado de “Windows Driver Model” e a principal diferença em relação ao modelo anterior refere-se a melhorias no tratamento de dispositivos Plug-and-Play. Atualmente, no MS-Windows Vista, o modelo para utilização dos drivers de dispositivo é chamado de “Windows Driver Foundation”.

No Linux, os drivers podem ser programas separados, ou podem fazer parte do próprio kernel. Quando os drivers fazem parte do kernel eles são carregados na inicialização do sistema. Os drivers que não fazem parte do kernel são chamados de “Módulos Carregáveis”, e tem a vantagem de poderem ser carregados na memória apenas no momento de utilização do dispositivo.

Memória Segmentada

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 14

Objetivo: Entender como é feita a segmentação da memória, e os resultados obtidos com a utilização de segmentos de memória.

1. Introdução

A Segmentação da Memória consiste na divisão da memória em segmentos de dados. Cada segmento possuirá as seguintes propriedades: a sua localização física na memória, permissão de acesso, tamanho e um identificador. Se um processo possuir permissão para utilizar um segmento, e se o processo solicitar acesso a uma informação dentro do segmento, poderá fazer isso, caso contrário um aviso de erro será passado ao processo (e consequentemente ao usuário).

Além das propriedades citadas, dependendo do sistema operacional, o segmento pode possuir um indicador informando se sua localização está na memória principal ou na memória secundária. Caso esteja na memória secundária, e seja acessado por algum processo, o sistema operacional irá realizar o carregamento do segmento na memória principal para poder acessar as informações contidas nele.

2. Unidade de Gerenciamento da Memória

A segmentação da memória só será possível se houver no computador, dentro do próprio processador ou como um circuito eletrônico independente, uma Unidade de Gerenciamento da Memória (Memory Management Unit, MMU). Esta unidade será responsável por fazer o mapeamento entre os endereços físicos e os endereços dos segmentos de memória. Os processos não acessam diretamente as áreas de memória do computador, em vez disso, cada processo ao ser iniciado será associado a um segmento de memória específico. Quando um processo realiza o acesso a uma determinada área de memória, dentro do seu segmento, a Unidade de Gerenciamento da Memória irá acessar a área física correspondente ao segmento designado ao processo. Para fazer isso, a Unidade deGerenciamento irá executar as seguintes verificações:

O identificador do segmento do processo;
A localização na memória física do segmento, isto é, qual o endereço inicial do segmento na memória;
A localização área de memória acessada pelo processo;
A quantidade de informação solicitada pelo processo.

Se o processo em questão fizer a solicitação corretamente, isto é, solicitar acesso a uma área de memória dentro do seu segmento, a Unidade de Gerenciamento da Memória irá completar essa operação e passar ao processo os dados contidos na área de memória que foi solicitada. Se por acaso o processo fizer uma solicitação que não seja permitida, por exemplo, o processo solicita acesso a uma área de memória dentro do segmento a que pertence, mas que ultrapasse o tamanho do segmento, essa solicitação não será atendida, e um aviso de erro será passado ao processo.

Se na realização do acesso ao segmento, este não se encontrar na memória principal, o sistema operacional irá verificar se o segmento encontra-se armazenado na memória secundária. Encontrando o segmento, o mesmo será carregado na memória principal para que as informações contidas nele possam ser acessadas.

Se um processo tentar acessar uma área de um segmento de memória que oferece permissão para o processo em questão ou se o processo tentar acessar uma área de memória fora do seu segmento, o sistema operacional facilmente conseguirá identificar esse fato, pois cada segmento possui um identificador e a definição da permissão de acesso. Se o segmento permitir o acesso de vários processos diferentes, as informações contidas nele poderão ser acessadas por qualquer processo. Se o segmento permitir o acesso apenas a um processo (quem define o tipo de permissão é o primeiro processo criado associado ao segmento) a informação só poderá ser lida pelo processo que foi inicialmente associado ao segmento. Quando o processo finaliza a sua execução, o segmento de memória é liberado (ou pelo próprio programa ou pelo coletor de lixo do sistema operacional) e assim o segmento fica disponível para ser utilizado por outro processo.

3. Memória Virtual Segmentada

Em alguns sistemas, a memória virtual não utiliza páginas de memória, e sim segmentos de memória. Nesse caso, serão criados com a possibilidade de terem o seu tamanho alterado durante a utilização do computador.

A Unidade de Gerenciamento da Memória deve estar preparada para lidar com essa situação, pois em um determinado momento um processo pode solicitar acesso a uma área inicialmente indevida, mas esta mesma área pode ser adicionada ao segmento posteriormente, permitindo sua utilização.

4. Combinação da Segmentação e Paginação

Nos sistemas IBM System/38 (Mainframes) o gerenciamento da memória é feito utilizando-se a paginação e a segmentação. Cada segmento de memória é dividido em páginas de memória. Nos processadores Intel x86, os segmentos de memória também são divididos em páginas de memória e cada segmento é tratado como sendo uma memória virtual independente. Mas esse recurso só poderá ser utilizado se o sistema operacional em execução no computador permitir que se realize essa distinção, o que não acontece nos dias de hoje.