21 sistema de arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um...
TRANSCRIPT
INTRODUÇÃO À TECNOLOGIA DA
INFORMAÇÃOSISTEMA DE ARQUIVOS
PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• SISTEMA DE ARQUIVOS
Professor Carlos Muniz [email protected] 2
Um sistema de arquivos é um conjunto de estruturas lógicas e derotinas, que permitem ao sistema operacional controlar o acesso aodisco rígido. Diferentes sistemas operacionais usam diferentessistemas de arquivos. Conforme cresce a capacidade dos discos eaumenta o volume de arquivos e acessos, esta tarefa torna-se maise mais complicada, exigindo o uso de sistemas de arquivos cadavez mais complexos e robustos. Existem diversos sistemas dearquivos diferentes, que vão desde sistemas simples como o FAT16,que utilizamos em cartões de memória, até sistemas como o NTFS,EXT3 e ReiserFS, que incorporam recursos muito mais avançados.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• SISTEMA DE ARQUIVOS
Professor Carlos Muniz [email protected] 3
No mundo Windows, temos apenas três sistemas de arquivos:FAT16, FAT32 e NTFS. O FAT16 é o mais antigo, usado desdeos tempos do MS-DOS, enquanto o NTFS é o mais complexo eatual. Apesar disso, temos uma variedade muito grande desistemas de arquivos diferentes no Linux (e outros sistemas Unix),que incluem o EXT2, EXT3, ReiserFS, XFS, JFS e muitos outros.Para quem usa apenas o Windows, estes sistemas podemparecer exóticos, mas eles são velhos conhecidos de quemtrabalha com servidores, já que neles o Linux é que é o sistemamais popular.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DEFINIÇÃO DE ARQUIVO
Professor Carlos Muniz [email protected] 4
Em informática, um arquivo é um conjunto de dados que serelacionam de alguma forma, ou seja, juntos descrevem umainformação ou conjunto de informações. Em função da natureza doscomputadores, arquivos são sempre formados por dados digitais,organizados seguindo algum tipo de estrutura (ou formato). Arquivospodem representar informações das mais diversas naturezas comoimagens, áudio, texto, instruções para processadores, etc. podendoinclusive representar uma combinação desses tipos, como por exemploum vídeo que contém informações gráficas (a imagem), sonoras (oáudio)e textuais (a legenda).
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DEFINIÇÃO DE ARQUIVO
Professor Carlos Muniz [email protected] 5
Cada arquivo precisa de uma identificação. Do ponto de vista deum computador, arquivos são geralmente identificados por números(como os inodes). Do ponto de vista do usuário de um computador,um arquivo é quase sempre representado por um nome. Ocomputador guarda associações entre os nomes e os números parapoder transformar o primeiro no segundo sempre que necessário.Como um sistema computacional costuma lidar com milhares dearquivos, é comum que vários arquivos sejam agrupados emconjuntos maiores, seguindo alguma organização que facilite arecuperação de arquivos por parte dos usuários.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• EXTENSÕES DE NOMES
Professor Carlos Muniz [email protected] 6
Nomes de arquivos são sequências de caracteres queidentificam um arquivo, mas lembre-se que alguns caracteressão especiais. No sistema operacional MS DOS, nomes dearquivos eram limitados a oito caracteres mais uma extensão detrês caracteres. O ponto era um caracter especial que separavao nome (propriamente dito) da extensão. A extensão era usadapara identificar o tipo de arquivo, ou seja, a organização dosdados num arquivo. Assim o arquivo aed1.txt era um arquivochamado aed1 cujas informações estavam organizadas naforma de texto puro.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• EXTENSÕES DE NOMES
Professor Carlos Muniz [email protected] 7
• As extensões de nomes não determinam o tipo de arquivo,apenas sugerem. Um arquivo que termina com .jpg pode ser umarquivo executável.
• Existe uma convenção em Linux de que arquivos cujo nomecomeça com um ponto são arquivos ocultos (geralmentearquivos de configuração que os programas preferem manterlonge da vista dos usuários).
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• EXTENSÕES DE NOMES
Professor Carlos Muniz [email protected] 8
• Existe uma convenção no Windows de que extensões"conhecidas" são escondidas do usuário. A intenção é evitarque o usuário as altere, o que traria erros para os programasque determinam o tipo de arquivo pela extensão do seu nome(comuns no Windows). Essa política traz muito mais problemaspara os usuários que entendem de informática do que trazvantagens. Aprenda a configurar o Windows Explorer paraque ele não esconda as extensões.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• RECOMENDAÇÕES PARA NOMES DE ARQUIVOS
Professor Carlos Muniz [email protected] 9
Para evitar problemas com nomes de arquivos, é recomendável:• não usar espaços nos nomes de arquivos ou diretórios: espaço
são separadores, por isso um nome com espaço éfrequentemente interpretado como vários nomes;
• não usar caracteres acentuados nos nomes: caracteresacentuados são representados por números diferentes nos váriossistemas de codificação;
• não usar letras maiúsculas: em vários sistemas de arquivos daMicroSoft, as letras maiúsculas são consideradas equivalentes àssuas correspondentes minúsculas, mas em outros sistemas dearquivos não são.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DEFINIÇÃO DE DIRETÓRIO
Professor Carlos Muniz [email protected] 10
Um diretório é uma subdivisão lógica de um sistema de arquivos, quepermite o agrupamento de arquivos que se relacionam de algumaforma. Diretórios são frequentemente chamados de pastas em funçãode uma analogia presente nos sistemas Windows que maisrecentemente foi adotada por diversos outros sistemas.A divisão proporcionada por um diretório é lógica, no sentido quenão existe necessariamente uma divisão física das informaçõesrelativas a um diretório. Alguns sistemas como o Linux, permiteminclusive que um arquivo possa ser identificado por mais de um nome,que podem inclusive ser parte de diretórios diferentes num mesmosistema de arquivos.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• ORGANIZAÇÃO HIERÁRQUICA DE UM SISTEMA DE ARQUIVOS
Professor Carlos Muniz [email protected] 11
Um sistema computacional costuma lidar com milhares dearquivos. Assim é normal que existam centenas de diretóriospara organizar esses arquivos. Assim, os próprios diretórios sãotambém organizados em grupos, numa estrutura hierárquica,facilitando a recuperação de diretórios por usuários.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• ORGANIZAÇÃO HIERÁRQUICA DE UM SISTEMA DE ARQUIVOS
Professor Carlos Muniz [email protected] 12
Organização hierárquica significa que diretórios também sãoorganizados em conjuntos por meio de outros diretórios. Assimpodemos dizer que um diretório é um conjunto de arquivos ediretórios. Dessa forma, diretórios podem ser chamados desubdiretórios quando se faz referência aos diretórios que oscontém.Essa organização hierárquica exige um ponto de partida; umdiretório fixo a partir do qual todos os outros podem seridentificados. Esse ponto de partida é chamado de diretórioraiz.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• REFERÊNCIAS A ARQUIVOS
Professor Carlos Muniz [email protected] 13
Voltando ao problema da identificação de arquivos por partedos usuários, a organização hierárquica implica que os arquivosnão serão necessariamente identificáveis por seus nomes pura esimplesmente, mas sim por seus nomes combinados com os nomesdos diretórios que os contém. Um sistema computacional podeter vários arquivos chamados notas, cada qual num diretóriodiferente.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• NOMES COMPLETOS
Professor Carlos Muniz [email protected] 14
A combinação nome do arquivo mais nome dos diretórios que ocontém é conhecida por nome completo. Um nome completo é umaidentificação única de um arquivo num sistema computacional. Ésomente através de nomes completos que os arquivos podem seridentificados.
Em Linux um nome completo deve começar com a barra, como em/home/alunos/fulano/programas/aed1/alomundo.pas. A barrainicial identifica o diretório raiz.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• NOMES COMPLETOS
Professor Carlos Muniz [email protected] 15
Em Windows, os sistemas de arquivos contém um outro tipo desubdivisão, os drives. Cada drive contém um diretório raiz, quecontém subdiretórios e arquivos. Drives são identificados por umaúnica letra seguida do sinal de dois pontos. Assim, um exemplo denome completo no Windows é algo comoZ:\programas\aed1\alomundo.pas.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• SEPARADORES ('/' E '\')
Professor Carlos Muniz [email protected] 16
Na seção anterior podemos notar que nomes de arquivos e diretóriossão combinados por caracteres especiais. Especiais no sentido de quenão devem (e em geral simplesmente não podem) ser usados emnomes comuns, pois têm a função de combinar nomes de arquivos ediretórios para formar nomes completos. Esses caracteres especiaispodem ser entendidos como separadores que identificam as váriaspartes de um nome completo.Podemos notar que o Windows usa o caracter \ (barra invertida)enquanto que o Linux (e a maioria dos outros sistemas operacionas)usam o caracter / (barra) como separador.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• SEPARADORES ('/' E '\')
Professor Carlos Muniz [email protected] 17
O arquivo/home/alunos/fulano/programas/aed1/alomundo.pas é entãoum arquivo chamado alomundo.pas que fica num diretóriochamado aed1 que fica num diretório chamado programas,que fica num diretório chamado fulano, que fica num diretóriochamado alunos, que fica num diretório chamado home que ficano diretório raiz.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DIRETÓRIO CORRENTE
Professor Carlos Muniz [email protected] 18
Diretório corrente é uma referência, usada para transformarnomes relativos em nomes completos, permitindo a identificaçãode um arquivo. Cada programa tem o seu diretório corrente.Vários programas sendo executados ao mesmo tempo podemter diretórios correntes distintos.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DIRETÓRIO CORRENTE
Professor Carlos Muniz [email protected] 19
Quando a parte inicial de um nome é omitida (nome relativo), oprograma que deseja recuperar o arquivo em questão adiciona odiretório corrente ao nome. Desta forma, o arquivo/home/alunos/fulano/programas/aed1/alomundo.pas pode seridentificado, por exemplo, pelo nomeprogramas/aed1/alomundo.pas, desde que o diretório corrente seja/home/alunos/fulano. Se o diretório corrente for outro, o nomerelativo programas/aed1/alomundo.pas pode identificar um outroarquivo (talvez o/home/alunos/beltrano/programas/aed1/alomundo.pas) ou podeidentificar nenhum.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DIRETÓRIO CORRENTE
Professor Carlos Muniz [email protected] 20
A predominância dos programas com interface gráfica faz comque hoje em dia, nomes de arquivos sejam frequentementedefinidos através de cliques no mouse, da seguinte forma: Oprograma abre uma janela conhecida como "diálogo de abrir(ou salvar) arquivo", em que aparece o conteúdo do diretóriocorrente (diretórios ou pastas contidos no diretório corrente). Ousuário então clica em um desses elementos, alterando odiretório corrente e recomeçando o processo caso o elementoselecionado seja um diretório ou terminando o processo pelaseleção de um nome de arquivo.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DIRETÓRIO CORRENTE
Professor Carlos Muniz [email protected] 21
Os diálogos de abrir arquivos podem incluir formas de escrevero nome desejado (especialmente no caso de programas paraLinux). O nome pode ser escrito de forma completa ou deforma relativa ao diretório corrente, que é apresentado pelajanela. Escrever um nome relativo (em oposição a clicar várioselementos) pode ser uma forma mais eficiente de identificar umarquivo. Aprenda a usar esse recurso.No caso do Windows, o uso de drives, cria a necessidade doconceito do drive corrente, análogo ao do diretório corrente.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• DIRETÓRIO CORRENTE
Professor Carlos Muniz [email protected] 22
Os diálogos de abrir arquivos podem incluir formas de escrevero nome desejado (especialmente no caso de programas paraLinux). O nome pode ser escrito de forma completa ou deforma relativa ao diretório corrente, que é apresentado pelajanela. Escrever um nome relativo (em oposição a clicar várioselementos) pode ser uma forma mais eficiente de identificar umarquivo. Aprenda a usar esse recurso.No caso do Windows, o uso de drives, cria a necessidade doconceito do drive corrente, análogo ao do diretório corrente.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• PATH (CAMINHO)
Professor Carlos Muniz [email protected] 23
O sistema de completar nomes de arquivos por meio dodiretório corrente não é muito eficiente para nomes de arquivosque são programas executáveis.Isso porque é comum que na organização hierárquica de umsistema de arquivos, os arquivos que contém programasexecutáveis fiquem separados dos arquivos que contém dadosa serem usados por esses programas.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• PATH (CAMINHO)
Professor Carlos Muniz [email protected] 24
Os nomes de arquivos que são programas executáveis podemser completados de uma outra forma: o PATH. Path (caminho emInglês) é uma lista de diretórios usada para completar nomesde programas. O path, ao contrário do diretório corrente, éuma configuração do computador, não necessita ser alteradaconstantemente (os programas do seu computador não sãoalterados toda hora) e, a não ser que seja alterado duranteuma sessão de uso do computador, é igual para todos osprogramas.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• PATH (CAMINHO)
Professor Carlos Muniz [email protected] 25
No Linux, existem restrições ao uso do diretório corrente paracompletar nomes de programas executáveis. Isso porque usar odiretório corrente cria problemas de segurança (ajuda aenganar um usuário, fazendo com que ele execute umprograma achando que está executando outro). O diretóriocorrente é usado para completar somente nomes que comecempela identificação de diretórios. Vamos supor que você acaboude criar um programa executável chamado somador, ou maisprecisamente, (...)
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• PATH (CAMINHO)
Professor Carlos Muniz [email protected] 26
(...)/home/alunos/fulano/programas/aed1/somador. Se vocêmandar executar o arquivo somador, tendo como diretóriocorrente o diretório /home/alunos/fulano/programas/aed1, oarquivo não será executado (a restrição de segurança impedeque o nome seja completado). Porém, se você mandar executaro arquivo aed1/somador (que é um nome relativo começandocom um diretório), tendo como diretório corrente o diretório/home/alunos/fulano/programas, o arquivo será executado.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• PATH (CAMINHO)
Professor Carlos Muniz [email protected] 27
Em geral, a configuração do PATH num computador só énecessária durante a instalação de um programa. Se vocêencontrar um computador da UFLA em que o PATH está malconfigurado, dificultando a execução dos programas instalados,solicite a correção para o pessoal responsável.
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• NOMES ESPECIAIS
Professor Carlos Muniz [email protected] 28
Existem dois nomes especiais (no sentido em que seu uso éreservado) de diretórios. O diretório '.' (ponto) é sempre umareferência ao diretório corrente. O diretório '..' (ponto ponto) ésempre uma referência ao diretório imediatamente superior (nahierarquia de diretórios) ao diretório corrente.Esses nomes especiais são úteis em diversas ocasiões, porexemplo:
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO
SISTEMA DE ARQUIVOS
• NOMES ESPECIAIS
Professor Carlos Muniz [email protected] 29
• Para contornar a restrição de segurança (não completarnomes de programas com o diretório corrente a não ser queo nome comece por um diretório) do Linux. Mande executar./somador ao invés de somador.
• Para contornar a questão do nome padrão em ligaçõesHTML (./ ao invés de index.html).
Os sistemas da família Unix têm um outro nome especial muitoútil. É o ~ (til). Ele é uma referência ao diretório home.Diretório home é um diretório num sistema de arquivos queserve para uso pessoal de um determinado usuário.