A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais"— Transcrição da apresentação:

1 Sistemas Operacionais
Aulas 17-18

2 AGENDA Discos, Partições e Volumes Formatação Física e Lógica
Sistemas de Arquivos FAT NTFS XFS EXT3 RAISER

3 DISCOS, PARTIÇÕES E VOLUMES
Discos são os dispositivos físicos instalados e reconhecidos pela BIOS e SO. Partições: são subdivisões feitas em cada disco físico. Cada partição pode conter um sistema de arquivos diferente. Consequentemente, vários sistemas operacionais podem ser instalados na mesma unidade de disco. Volumes: são partições ou conjunto de partições prontas para armazenamento de dados.

4 Particionamento Para particionar (dividir) o disco rígido em uma ou mais partes é necessário o uso de um programa de particionamento. Os programas mais conhecidos para particionamento de discos Linux: fdisk, cfdisk e o Disk Druid. No Windows: Fdisk e assistente de instalação

5 FORMATAÇÃO FÍSICA Os discos magnéticos do HD são um terreno inexplorado, uma mata virgem sem qualquer organização. Para que os dados possam ser armazenados e lidos de forma organizada, é necessário que o HD seja previamente formatado. Formatação física: os discos são divididos em trilhas, setores e cilindro e são gravadas as marcações servo, que permitem que a placa lógica posicione corretamente as cabeças de leitura. Nos HDs atuais, a formatação física é feita em fábrica, durante a fabricação dos discos. O processo envolve o uso de máquinas especiais e, apenas para garantir, restrições são adicionadas no firmware do drive, para que a placa lógica seja realmente impedida de fazer qualquer modificação nas áreas reservadas. Graças a isso, é impossível reformatar fisicamente um drive atual, independentemente do software usado.

6 FORMATAÇÃO LÓGICA Após a instalação física do dispositivo no computador, uma formatação lógica é efetuada nesse dispositivo, determinando a maneira que os dados são gravados e recuperados e as propriedades desses conjuntos de dados. Essas opções estão relacionadas à segurança de acesso e metadados, tais como: tamanho em bytes, hora de criação e modificação, tipo do arquivo e diversas outras propriedades que qualificam um arquivo. Segundo WIRZENIUS (1998), durante a formatação pode-se encontrar blocos ruins no disco, chamados de blocos defeituosos (bad blocks) ou setores defeituosos (bad sectors). Esses blocos defeituosos são marcados pelo sistema operacional como não utilizáveis. A presença de muitos blocos defeituosos indica a possibilidade de falha no dispositivo e recomenda-se sua troca. O processo de formatação apaga de modo irremediável os dados, caso existam, em uma partição. Isso ocorre porque uma nova estrutura lógica é gravada no disco para a partição destruindo a existente. Observa-se que o disco rígido normalmente é subdividido em regiões independentes denominadas partições.

7 FORMATAÇÃO LÓGICA Em seguida, temos a formatação lógica, que adiciona as estruturas utilizadas pelo sistema operacional. Ao contrário da formatação física, ela é feita via software e pode ser refeita quantas vezes você quiser. Risco: ao reformatar o HD, você perde o acesso aos dados armazenados, embora ainda seja possível recuperá-los usando as ferramentas apropriadas, como veremos mais adiante. Define-se o sistema de arquivos: FAT16, que utilizamos em cartões de memória, até sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avançados.

8 FORMATAÇÃO NO LINUX Nos Linux a formatação pode ser realizada pelo utilitário mkfs (make file system). Esse comando constrói um sistema de arquivos do tipo especificado pelo administrador e que seja suportado pelo Linux. Caso o tipo não seja especificado é usado o EXT3. A sintaxe para o comando é: mkfs -t <type> /dev/<dispositivo> Onde <type> é um tipo de sistema de arquivos válido e <dispositivo> é a partição que se deseja formatar. Por exemplo: # mkfs -t ext3 /dev/hda3 Criará uma partição do tipo EXT3 na terceira partição primária (a3) de um disco tipo IDE (hd).

9 Sistema de Arquivos É criado durante a "formatação" da partição de disco (quando se usa o comando mkfs.ext3). Após a formatação toda a estrutura para leitura/gravação de arquivos e diretórios pelo sistema operacional estará pronta para ser usada. Normalmente este passo é feito durante a instalação de sua distribuição GNU/Linux. Cada sistema de arquivos tem uma característica em particular mas seu propósito é o mesmo: Oferecer ao sistema operacional a estrutura necessária para ler/gravar os arquivos/diretórios.

10 Características e Tipos de SA
Ext2 - Usado em partições Linux Nativas para o armazenamento de arquivos. É identificado pelo código 83. Seu tamanho deve ser o suficiente para acomodar todo os arquivos e programas que deseja instalar no GNU/Linux (você encontra isto no manual de sua distribuição). Ext3 - Este sistema de arquivos possui melhorias em relação ao ext2, como destaque o recurso de jornaling. Ele também é identificado pelo tipo 83 e totalmente compatível com o ext2 em estrutura. O journal mantém um log de todas as operações no sistema de arquivos, caso aconteça uma queda de energia elétrica (ou qualquer outra anormalidade que interrompa o funcionamento do sistema), o fsck verifica o sistema de arquivos no ponto em que estava quando houve a interrupção, evitando a demora para checar todo um sistema de arquivos (que pode levar minutos em sistemas de arquivos muito grandes). Swap - Usado em partições Linux Swap para oferecer memória virtual ao sistema. Note que é altamente recomendado o uso de uma partição Swap no sistema (principalmente se você tiver menos que 16MB de memória RAM). Este tipo de partição é identificado pelo código 82. proc - Sistema de arquivos do kernel FAT12 - Usado em disquetes no DOS FAT16 - Usado no DOS e oferece suporte até discos de 2GB FAT32 - Também usado no DOS e oferece suporte a discos de até 2 Terabytes

11 O sistema de arquivos FAT
FAT é a sigla para File Allocation Table (ou tabela de alocação de arquivos). O primeiro FAT surgiu em 1977, para funcionar com a primeira versão do DOS. Trata-se de um sistema que funciona através de uma espécie de tabela que contém indicações para onde estão as informações de cada arquivo.

12 Exemplo FAT: Quando um arquivo é salvo num disquete por, o FAT divide a área do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vários blocos, mas eles não precisam estar numa seqüência. Os blocos de determinados arquivos podem estar em várias posições diferentes. Daí a necessidade de uma tabela para indicar cada bloco.

13 Funcionamento do sistema FAT
Formatação física: Este processo, divide os discos em trilhas (uma espécie de caminho circular) e setores (subdivisões de cada trilha, com geralmente 512 bytes). Um conjunto de trilhas recebe o nome de cilindro. A formatação física já vem de fábrica e pode ser alterada se o usuário quiser dividir o disco em partições. Formatação lógica: depois deve-se fazer uma formatação lógica, que nada mais é do que "instalar" o sistema de arquivos no dispositivo de armazenamento. O sistema de arquivos FAT não trabalha diretamente com cada setor, mas sim com um grupo de setores. Esse grupo é chamado de cluster (ou unidade de alocação). Exemplo: um disco com setor de 512 bytes, tiver 5 KB de tamanho, ele terá 10 setores e 5 clusters, se cada cluster ocupar dois setores. Sendo assim, quando o FAT precisar acessar um determinado setor, primeiro ele descobre em qual cluster ele se encontra. É válido citar que tanto o FAT quanto o FAT32 trabalham de acordo com este princípio.

14 Tamanho de cluster O sistema FAT exige que cada cluster do disco seja usado somente para um único arquivo, ou seja, num mesmo cluster, não pode haver informações sobre mais de um arquivo. Problema: desperdício. Exemplo 1: Um disquete com um arquivo de 5 KB. Imaginemos que este disquete tenha 8 KB de espaço e dois clusters de 4 KB. Um cluster ocuparia 4 KB do arquivo, enquanto o outro cluster ocuparia apenas 1 KB. Como o cluster só pode trabalhar com um arquivo, haveria desperdício de 3 KB.

15 Exemplo 2: Imaginemos que este disquete tenha 8 KB de espaço distribuídos em 4 clusters de 2 KB. 3 clusters seriam usados, sendo que um ainda apresentaria desperdício de 1 KB. Sobra um cluster com 2 KB, que pode ser usado por outro arquivo.

16 Algumas diferenças entre FAT e FAT32
O sistema FAT (ou FAT16) consegue trabalhar com clusters. Esse número é obtido elevando o número 2 a 16 (daí a terminologia FAT16). Mas, na verdade, o sistema FAT16 usa apenas clusters por disco (ou partição). O tamanho do cluster deve obedecer também uma potência de 2: 2 KB, 4 KB, 8 KB, 16 KB e 32 KB, ou seja, não é possível ter cluster de 5 KB, 7 KB, etc. O tamanho dos clusters no sistema FAT também é uma potência de 2. O limite máximo de tamanho para uma partição em FAT16 é de 2 GB (correspondente a 2 elevado a 16). O sistema de arquivos FAT32 (seu nome se deve ao mesmo motivo que no FAT32), o tamanho dos clusters é determinado através da relação entre os comandos FDISK e FORMAT, apesar de que é possível determinar o tamanho do cluster do FAT32 também por programas de terceiros, com o Partition Magic (não é possível ter clusters de diferentes tamanhos). O tamanho máximo da partição em FAT32 é de 2 TB.

17 NTFS NTFS é a sigla para New Technology File System. Desde a época do DOS, a Microsoft vinha utilizando o sistema de arquivos FAT, que foi sofrendo variações ao longo do tempo, de acordo com o lançamento de seus sistemas operacionais. No entanto, o FAT apresenta algumas limitações, principalmente no quesito segurança. Por causa disso, a Microsoft lançou o sistema de arquivos NTFS, usado inicialmente em versões do Windows para servidores.

18 XFS O XFS é um sistema de arquivos inicialmente desenvolvido pela Silicon Graphics, Inc. para o seu sistema operacional IRIX. Posteriormente teve seu código fonte liberado e foi adaptado para funcionar no Linux.

19 História do XFS A SGI usava, no seu sistema operacional IRIX, o sistema de arquivos EFS (Extent File System), o qual era baseado no FFS (Fast File System) de Berkeley (criado por Marshall McKusick [McKusick, 2004]). O EFS usava alocação por extensões, em vez da alocação por blocos do FFS. As principais limitações do EFS eram: limite de 8 GiB para o volume, arquivos com tamanho máximo de 2 GiB, taxa de transferência menor que a disponibilizada pelo hardware. Isso no início da década de Assim, o XFS foi projetado para substituir o EFS, visando escalabilidade e suporte a arquivos grandes. [SWEENEY et al, 1996]

20 Historia XFS Em outubro de 1993 foram publicados alguns artigos descrevendo o projeto para um novo sistema de arquivos [ANDERSON et al, 1993; DOUCETTE, 1993] — o nome do projeto era xFS. O XFS foi disponibilizado em dezembro de no IRIX 5.3 [ELLIS e RAITHEL, 1994]. Em outubro de 1999, no 3rd annual Atlanta Linux Showcase, Mostek et al apresentaram um trabalho mostrando como adaptar o XFS para o Linux [MOSTEK, 1999]. Em maio de 2001 foi lançada a versão 1.0 para Linux, por meio de patches. Finalmente, foi incorporado ao kernel , em fevereiro de

21 O sistema de arquivos EXT3
O sistema de arquivos EXT3 é uma evolução do sistema de arquivos EXT2, que foi originalmente desenvolvido por Stephen Tweedie, Rémy Card e Theodore Ts'o e outros para a Red Hat. O EXT3 possui uma vantagem significativa sobre todos os outros sistemas atuais, que é a sua total compatibilidade com o sistema de arquivos EXT2. O EXT3 é praticamente um EXT2 acrescido das propriedades de "journal". Conseqüentemente, pode empregar todas as aplicações existentes desenvolvidas para manipular o sistema de arquivos EXT2, bem como permitir uma migração para EXT3 sem grande esforço. Essa ampla base de usuários faz parecer que o EXT2 é o sistema de arquivos padrão do GNU/Linux. Tal afirmação não é de todo correta, já que o GNU/Linux reconhece os sistemas de arquivos através de uma funcionalidade incorporada ao kernel denominada VFS (Virtual File System). Não existe realmente um sistema de arquivos considerado padrão e sim o mais adotado pelos usuários. O SO Linux pode reconhecer mais de vinte sistemas de arquivos em diferentes níveis de funcionalidade. Entre eles estão alguns que são proprietários e outros que são populares em diversas plataformas. Parte dessas características ainda é experimenta,l não estando totalmente funcionais. O padrão EXT3 pode ser assim compreendido, conforme NEMETH et al (2004):

22 O sistema de arquivos EXT3
O sistema de arquivos ext3 é basicamente o sistema de arquivos ext2 com recursos de Journaling. Talvez, essa seja a razão de seu uso amplo: ele é totalmente compatível com ext2 (que foi um sistema de arquivos muito usado), o que nenhum outro sistema de arquivos baseado em Journaling é. O ext3 passou a ser efetivamente suportado pelo kernel do Linux a partir da versão Conseqüentemente, todas as distribuições Linux lançadas com esse kernel ou superior, tem suporte padrão para ext3. No ext3, o código de Journaling usa uma camada chamada "Journaling Block Device" (JBD).

23 A JBD A JBD foi criada com o propósito de implementar Journal em qualquer tipo de dispositivo com base em blocos de dados. Por exemplo, o código ext3 informa e "pede autorização" à JDB para efetuar as mudanças, antes de modificar/adicionar qualquer dado no disco. Sendo assim, é o JDB que verdadeiramente "gerencia" o Journal. A JDB funciona como uma entidade independente, permitindo que não só o ext3 a use, mas também outros sistemas de arquivos. A JDB utiliza um método diferente de outros Journalings para recuperação de informações. Ao invés de armazenar as informações em bytes que depois devem ser implementados, a JDB grava os próprios blocos modificados do sistema de arquivos. Assim, o ext3 também armazena "réplicas" completas dos blocos modificados em memória para rastrear as operações que ficaram pendentes. A desvantagem desta forma de trabalho é que o Journal acaba sendo maior. No entanto, o ext3 não precisa lidar com a complexidade dos Journalings que trabalham gravando bytes.

24 Journaling - Origem Origem
Erros e corrompimento do sistema de arquivos Os sistemas de arquivos para Linux já sofreram muitos tipos de tratamentos e reescrita de código para eliminar o corrompimento causado por aplicações ou pelo próprio kernel. No entanto, eliminar o corrompimento de dados em arquivos causados, por exemplo, pela queda de energia ou pelo desligamento incorreto por parte do usuário, sempre foi uma tarefa praticamente impossível. Quando o sistema é desligado incorretamente o bit do cabeçalho do sistema de arquivos não é ajustado. A solução foi fazer com que, no próximo processo de carregamento do Linux, seja verificado se o cabeçalho está com o bit de cabeçalho setado para indicar que o sistema de arquivos está consistente e não manipulável. Caso não esteja, a ferrramenta "fsck" verifica o sistema na busca de erros. O fsck consegue prover resultados satisfatórios, mas a correção de erros pode levar muito tempo, algo inaceitável em aplicações críticas. Além disso, se o desligamento incorreto do computador ocorreu quando dados estavam sendo gravados no disco, o fsck não conseguirá completar esses processos, ocasionando a perda das informações que estavam sendo gravadas.

25 Diante desses problemas, foi apresentada uma solução viável:
a utilização de sistemas de arquivos com a tecnologia "Journaling", que possuem a capacidade de acompanhar as mudanças que serão feitas no sistema de arquivos (por exemplo, gravações/atualizações de dados) antes que realmente sejam feitas. Essas informações que o Journaling captura são então armazenadas em uma parte separada do sistema de arquivos, denominada "Journal" (mas também conhecida por "registros de log"). Quando as informações são armazenadas no Journal, o sistema de arquivos aplica as mudanças registradas nele e então, remove as informações do Journal.

26 Journaling – SA que usam
Sistema de arquivos ext3 Existem vários sistemas de arquivos disponíveis com a tecnologia Journaling, como o: XFS, desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado com código aberto, o ReiserFS, desenvolvido especialmente para Linux, JFS, desenvolvido originalmente pela IBM mas também liberado com código aberto, e o mais conhecido deles: o ext3, desenvolvido pelo Dr. Stephen Tweedie juntamente com outros colaboradores, na Red Hat,

27 Vantagens do Journaling
Os registros de log são escritos antes que as mudanças efetivamente ocorram no sistema de arquivos e esses registros somente são eliminados quando as mudanças são feitas. Se o computador é indevidamente desligado, o processo de montagem no próximo startup verificará se há mudanças gravadas no Journal "marcadas" como não feitas. Se houver, tais mudanças são então aplicadas ao sistema de arquivos. Isso faz com que os riscos de perda de dados sejam reduzidos drasticamente.

28 Tipos de Journaling no ext3
O ext3 suporta três diferentes modos de trabalho do Journaling. São eles: Journal: grava todas as mudanças em sistema de arquivos. É o mais lento dos três modos, mas é o que possui maior capacidade de evitar perda de dados; Ordered: grava somente mudanças em arquivos metadata (arquivos que guardam informações sobre outros arquivos), mas guarda as atualizações no arquivo de dados antes de fazer as mudanças associadas ao sistema de arquivos. Este Journaling é o padrão nos sistemas de arquivos ext3; Writeback: também só grava mudanças para o sistema de arquivo em metadata, mas utiliza o processo de escrita do sistema de arquivos em uso para gravação. É o mais rápido Journaling ext3, mas o menos confiável. O modo Ordered é o padrão no ext3, mas é possível especificar qual o modo que você deseja usar, através da atualização do arquivo fstab. Por exemplo, pode ser que a linha /dev/hda1/opt tenha sua opção data com o valor ordered. Você pode mudar este valor para writeback ou journal.

29 O sistema de arquivos ReiserFS
Um modo de se organizar os dados é no formato de árvores. Quando organizamos a informação em um computador, a classificamos tipicamente em pilhas (chamadas de nós ou nodes), e há um nome (ponteiro) para cada pilha. Esse ponteiro é usado para encontrar a pilha. Alguns dos nós podem conter ponteiros através dos quais podemos localizar outros ponteiros para outros nós. Uma árvore é uma estrutura organizada que tem algumas propriedades úteis para essa finalidade Assim define-se, segundo Namesys (2004), uma árvore como: Um conjunto de nós organizados em um nó raiz (Root node), e zero ou mais conjuntos adicionais de nós chamados sub-árvores Cada sub-árvore é uma árvore Nenhum nó na árvore aponta ao nó raiz, e há exatamente um ponteiro de nó na árvore que aponta para cada nó da árvore que não seja o nó raiz O nó raiz tem um ponteiro para cada uma das sub-árvores, isto é, um ponteiro para o nó raiz da sub-árvore.

30 REPRESENTAÇÃO DE ÁRVORE DE NÓS
ReiserFS

31 O ReiserFS As árvores balanceadas ("balanced tree") (B*) usadas pelo ReiserFS para organizar o sistema de arquivos são uma versão melhorada de árvores B+, onde não existe uma árvore diferente para cada diretório e sim, cada qual possui uma sub-árvore da principal. O ReiserFS é um sistema de arquivos com suporte a "journaling" concebido por Hans Reiser e mantido pela empresa The Naming System Venture . São seus patrocinadores as empresas SuSE e Linspire. O ReiserFS já é o sistema de arquivos padrão nas distribuições Linux da SuSE, Gentoo e Linspire. O ReiserFS é uma camada semântica com métodos e funções que são referenciados para executar tarefas no sistema de arquivos fazendo o uso de plug-ins que evocam chamadas de sistema para esses métodos e funções. Esse método de acesso trata toda a partição como se fosse uma única tabela de banco de dados contendo diretórios, arquivos e metadados dentro de uma mesma árvore. A implantação dessa característica exigiu que técnicas mais complexas de indexação fossem implementadas no ReiserFS, tornando mais eficientes seus tempos de resposta comparados aos de outros sistemas. ReiserFS usa uma árvore finita (o número de nós é limitado). Outro termo importante para a definição de árvores é o termo Edge. Diferentemente de um ponteiro que é unidirecional, o Edge é bidirecional, ou seja, pode ser seguido de um nó a outro e desse para seu antecessor. Então se pode dizer que Edge não é ponteiro.

32 CONCLUSÕES Em sistemas EXT2 sem journal as falhas e erros são corrigidos com o utilitário fsck. Apesar dos resultados satisfatórios de correção e recuperação desse utilitário, em sistemas de alta disponibilidade o tempo gasto para solucionar inconsistências é um transtorno. Há uma demora para concluir a checagem, já que todos os arquivos são analisados por referências cruzadas. Essa abordagem somente funciona bem para inconsistências comuns. Conclui-se desta forma que o uso de um sistema de arquivos sem journal é atualmente inaceitável para os padrões de disponibilidade e principalmente em relação à questão de segurança dos dados. A abordagem dos sistemas com "journal" economiza bastante tempo e contribui para melhorar o índice de disponibilidade de sistemas críticos que não podem ficar indisponíveis por muito tempo. Essa característica é atendida satisfatoriamente tanto pelo EXT3 quanto pelo ReiserFS.

33 CONCLUSÕES O ext3 é um dos sistemas de arquivos mais utilizados no Linux, tendo como principal "adversário" o filesystem ReiserFS, que também possui recursos de Journaling como uma de suas principais características. Qual é o melhor ? Existem vários testes na internet que tentam responder essa questão. De qualquer forma, as equipes de ambos os sistemas de arquivos se empenham para oferecer os melhores recursos possíveis aos seus usuários. No caso do ext3, por exemplo, já está em desenvolvimento o ext4 (que estava disponível como "experimental" na data de atualização deste artigo), que deverá "entrar em cena" oferecendo melhorias em sua estrutura e suporte a arquivos grandes (com centenas de megabytes), por exemplo.

34 CONCLUSÕES No quesito velocidade de acesso à árvore de diretórios, o ReiserFS é mais rápido que o EXT3 devido aos algoritmos otimizados. Conforme PISZCZ (2004) em seus testes comparativos. Uma das vantagens do ReiserFS sobre o EXT3 é o seu desempenho para lidar com partições que possuem um grande número de arquivos pequenos. Esses arquivos são lidos em apenas uma operação de entrada/saída do disco rígido, sendo esse sistema ideal para esse tipo de aplicação. Isso deve ser levado em conta pelo administrador de sistemas. Mesmo com as características e funcionalidades avançadas do ReiserFS, tais como árvores balanceadas, velocidade de acesso e melhor desempenho com operações de entrada e saída em disco, esse sistema ainda não se encontra em um estágio avançado de desenvolvimento. Isso faz com que o EXT3 ainda seja uma boa opção para servidores de produção, já que é possível realizar a migração para o EXT3 com relativa facilidade, evitando-se a reinstalação de sistemas. O ReiserFS tende a superar o EXT3 após a implementação de novas características na versão Reiser A escolha entre o uso do sistema EXT3 ou do ReiserFS deve ser uma decisão própria do administrador, visto que o desempenho de ambos os sistemas é bastante próximo e específico para cada caso de uso.

35 Bibliografia Referências bibliográficas
BARBOSA, Jorge L. V. Artigo. Disponível em Acesso em Novembro de BARION, Ettore F. R. - Dicas Unicamp - Disponível em Acesso em Novembro de BREVIGLIERI, Rafael Leandro. Sistemas de arquivos. Disponível em Acesso em Novembro de CRANE, Aaron. HowTo-Sistemas de arquivos. Disponível em Acesso em Novembro de EQUIPE P&D em H.A Conectiva - Primeiros passos HA mini-Howto - Disponível em _miniHOWTO.txt Acesso em Novembro de 2004.

36 Bibliografia INFOWESTER. Sistema de Arquivo EXT3. Disponível em Acesso em Novembro de MORIMOTO, Carlos E. Dicas. Disponível em NAMESYS. Conceitos, Definições sobre árvores balanceadas e o ReiserFS. Site oficial do ReiserFS disponível em NEMETH, Evi, et al. Manual Completo do Linux - Guia do Administrador. Tradução de Ariovaldo Griesi. São Paulo: Makron Books, PISZCZ, Justin. Teste comparativo entre sistemas de arquivos com journal. Tradução de Bruno Bellantuono. Disponível em Acesso em Novembro de RIBEIRO, Uirá. Certificação Linux. Rio de Janeiro: Axcel Books, SILVA, Gleydson Mazioli da. Guia FOCA GNU/Linux. Versão Disponível em Acesso em Agosto de WIRZENIUS, Lars, et al. Guia do Administrador de Sistemas Linux. Tradução de Conectiva Informática. São Paulo: Conectiva, 1998.


Carregar ppt "Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google