Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistema de arquivos Apresentação Todo usuário de computador, independentemente do sistema operacional utilizado, já interagiu com arquivos, que são um componente fundamental da estruturação de um computador. Alguns exemplos de arquivos são: documentos de texto, imagens, áudios, além daqueles utilizados para instalação e utilização de softwares em geral. Você já olhou, por exemplo, no sistema operacional Windows, a pasta arquivos de programas? Se não olhou ainda, faça esse exercício e verá que todos os programas que você instala em seu computador são baseados em arquivos. Tecnicamente, os arquivos são unidades lógicas de informação, criadas por processos, porém a existência deles independe da execução do processo. Ou seja: os arquivos ainda irão existir quando o processo que os criou for encerrado. Nesta Unidade de Aprendizagem, você irá estudar o sistema de arquivos dos sistemas operacionais Windows e Linux. Além disso, entenderá os conceitos de arquivo e de sistemas de arquivos, bem como aprenderá a reconhecer os componentes de sistemas de arquivos. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir a hierarquia de dados em um computador. • Conceituar arquivo e sistemas de arquivos. • Reconhecer os componentes de sistemas de arquivos.• Desafio Existem vários sistemas de arquivos que podem ser utilizados no momento da formatação de um disco. Alguns exemplos conhecidos são FAT e NTFS. Cada tipo de sistema de arquivo apresenta características próprias que podem impactar a forma de armazenamento, a capacidade e o tipo de arquivo suportado. Considerando esse contexto, elabore um relatório técnico para a sua empresa. No documento, deverão constar o motivo da ocorrência do problema e uma solução para que todo o espaço do pen-drive seja utilizado. Infográfico Diariamente, muitos arquivos são criados e utilizados em um computador. Contudo, um arquivo não é, necessariamente, igual ao outro em relação ao seu tipo e estrutura. O modo como o computador vai ler e interpretar cada arquivo irá depender da forma de armazenamento. No Infográfico a seguir, conheça as principais formas estruturais de arquivos e as características de cada uma delas. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/af36d7d0-dccc-4438-858f-6862688d4245/0179cd3a-0d62-4406-9ca1-5a27c808217c.png Conteúdo do livro A estruturação eficiente dos dados em um computador é essencial para otimizar o acesso a informações, levando em consideração fatores como velocidade, capacidade de armazenamento e custo. A hierarquia de dados desempenha um papel fundamental nesse processo, fornecendo uma estrutura organizada de armazenamento. Os sistemas de arquivos são os alicerces da organização de dados em dispositivos de armazenamento, como discos rígidos, dispositivos flash e unidades ópticas. Eles desempenham um papel fundamental ao permitir que os usuários armazenem, gerenciem e acessem arquivos e pastas de maneira eficiente e organizada. Este capítulo irá explorar os conceitos básicos dos sistemas de arquivos e destacar sua importância no gerenciamento de dados. Compreenderemos como os sistemas de arquivos estruturam as informações e como isso contribui para a eficiência no acesso e manipulação dos dados. Além disso, examinaremos a hierarquia de dados em um computador, analisando os diferentes níveis de armazenamento e comparando seu uso em diversos sistemas operacionais. No capítulo Sistema de arquivos, base teórica desta Unidade de Aprendizagem, você será apresentado a um conjunto de princípios e técnicas fundamentais para o entendimento e a utilização eficaz dos sistemas de arquivos. Ao compreender os aspectos essenciais dessa estrutura, você estará preparado para gerenciar dados de forma mais eficiente, seja em um ambiente pessoal ou em um contexto empresarial. Boa leitura. SISTEMAS OPERACIONAIS OBJETIVOS DE APRENDIZAGEM > Definir a hierarquia de dados em um computador. > Conceituar arquivo e sistemas de arquivos. > Reconhecer os componentes de sistemas de arquivos. Introdução A hierarquia de dados é uma estrutura organizada de armazenamento de da- dos em um computador. É projetada para otimizar o acesso a eles, levando em consideração fatores como velocidade, capacidade de armazenamento e custo. Os sistemas de arquivos são a base da organização de dados em um dispositivo de armazenamento, como discos rígidos, dispositivos flash e unidades ópticas. Permitem que os usuários armazenem, gerenciem e acessem arquivos e pastas de maneira eficiente e organizada. Neste capítulo, você vai estudar os conceitos básicos dos sistemas de arquivos e sua importância no gerenciamento de dados. Além disso, vai ler sobre a hierarquia de dados em um computador, seus diferentes níveis de armazenamento e seu uso em sistemas operacionais. Hierarquia de dados A hierarquia de dados em um sistema operacional refere-se à organização e à estruturação dos dados armazenados e acessados pelo sistema. Essa hierarquia é geralmente composta por diferentes níveis ou camadas, cada uma com características distintas em termos de velocidade, capacidade de armazenamento, volatilidade e acessibilidade (TANENBAUM; BOS, 2015). Sistema de arquivos Victor de Andrade Machado No nível mais baixo da hierarquia de dados, encontramos os registradores, que são pequenas unidades de armazenamento localizadas dentro da Unidade Central de Processamento (CPU). Os registradores são extremamente rápidos, pois estão integrados diretamente ao processador. Eles são usados para armazenar dados temporários e instruções que estão sendo processadas pela CPU (TANENBAUM; BOS, 2015). Acima dos registradores, temos a memória cache, que é um nível inter- mediário de armazenamento de dados. É composta por memória estática de acesso aleatório (SRAM) e é usada para armazenar dados e instruções frequentemente acessados pela CPU. A memória cache é mais rápida do que a memória principal (RAM) e ajuda a reduzir o tempo de acesso à memória principal (TANENBAUM; BOS, 2015). A memória principal (Figura 1), também conhecida como “memória de acesso aleatório” (RAM), é o próximo nível da hierarquia de dados. A RAM é um tipo de memória volátil que armazena dados e instruções que estão sendo usados ativamente pelo sistema operacional e pelos programas em execução. A RAM tem um tempo de acesso mais lento do que a memória cache, mas é capaz de armazenar uma quantidade maior de dados. Figura 1. Memória RAM. Fonte: Pixabay.com/502designs. Sistema de arquivos2 Além da memória principal, temos o armazenamento secundário, que é usado para armazenar dados permanentemente, mesmo quando o computador é desligado. Os dispositivos de armazenamento secundário incluem discos rígidos (HDDs), unidades de estado sólido (SSDs), discos ópticos (como CDs e DVDs) e unidades de fita magnética. O armazenamento secundário tem uma capacidade de armazenamento muito maior do que a memória principal, mas é mais lento em termos de tempo de acesso aos dados (PADOIN, 2012). Hierarquia de dados nos sistemas operacionais Os registradores e a memória cache são amplamente utilizados pelos sistemas operacionais para armazenar dados e instruções frequentemente acessados pela CPU. Os registradores são usados para armazenar valores temporários durante as operações de processamento, enquanto a memória cache armazena dados e instruções recentemente utilizados para reduzir o tempo de acesso à memória principal (TANENBAUM; BOS, 2015). A memória principal é uma parte essencial do sistema operacional, pois é onde são carregados os programas e os dados necessários para a execução do sistema e das aplicações. O sistema operacional, além de gerenciar a alocação de memória, dividindo-a em páginas e controlando as referências a essas páginas, também gerencia a memória virtual, permitindoque programas maiores do que a capacidade física da memória principal sejam executados. Para otimizar o uso da memória principal, ele utiliza técnicas de gerenciamento de memória, como paginação e segmentação. � Paginação: divide a memória em páginas de tamanho fixo e aloca apenas as páginas necessárias para a execução dos programas. � Segmentação: divide a memória em segmentos lógicos, como código, dados e pilha, para melhor organização e proteção dos processos. Dados e programas são armazenados no armazenamento secundário. Os sistemas operacionais gerenciam o acesso ao armazenamento secundário, fornecendo um sistema de arquivos para organizar e recuperar os dados de maneira eficiente (TANENBAUM; BOS, 2015). Sistema de arquivos 3 Um aspecto importante na hierarquia de dados são os conceitos de “localidade espacial” e “localidade temporal”. A localidade espacial indica que os dados recentemente acessados têm maior probabilidade de serem acessados novamente em um futuro próximo, levando à criação de caches que armazenam dados próximos aos acessados recentemente. Já a localidade temporal sugere que os dados acessados recentemente têm maior probabilidade de serem acessados novamente em breve. Isso é levado em consideração na política de substituição de cache, em que os dados usados menos recentemente são substituídos por novos (TANENBAUM; BOS, 2015). Dependendo do sistema operacional utilizado, os sistemas operacionais utilizam diferentes sistemas de arquivos para o armazenamento secundário. Por exemplo, em sistemas baseados em Windows, o sistema de arquivos mais comum é o NTFS (New Technology File System), que oferece recursos avançados, como permissões de arquivos e criptografia. No ambiente Linux, o sistema de arquivos EXT4 é amplamente utilizado por sua eficiência e confiabilidade (MACHADO; MAIA, 2007). Técnicas de gerenciamento de armazenamento secundário também são implementadas pelos sistemas operacionais, como particionamento e for- matação de discos, controle de acesso e gerenciamento de espaço em disco. Essas técnicas permitem melhores organização e utilização do armazenamento secundário, garantindo a integridade e disponibilidade dos dados. É importante lembrar que a hierarquia de dados, em um sistema operacional, é um conceito abstrato e pode variar dependendo do sistema e da arquitetura do computador. As características e os níveis mencio- nados são comuns, mas pode haver variações e camadas adicionais em sistemas específicos. Além disso, a evolução da tecnologia de armazenamento, como a introdução de novos tipos de memória não volátil, pode afetar a hierarquia de dados em sistemas futuros (TANENBAUM; BOS, 2015). Os sistemas operacionais diferem em sua abordagem e implementação da hierarquia de dados. Por exemplo, o Windows e o Linux têm estruturas de gerenciamento de memória e sistemas de arquivos diferentes. O Windows utiliza uma arquitetura de memória virtual que usa um arquivo de paginação para gerenciar a memória física e a virtual, enquanto o Linux utiliza o sistema de paginação e arquivos de swap para gerenciar a memória virtual. Em relação ao armazenamento secundário, o Windows utiliza o sistema de arquivos NTFS como padrão, que oferece recursos avançados de segurança e integridade Sistema de arquivos4 de dados. Por sua vez, o Linux oferece suporte a vários sistemas de arquivos, como EXT4, BTRFS e XFS, que são otimizados para diferentes casos de uso e necessidades (SILBERSCHATZ; GALVIN; GAGNE, 2015). Os dispositivos de armazenamento terciário são compostos por dispositi- vos de armazenamento de longo prazo, como fitas magnéticas e mídia óptica (TANENBAUM; BOS, 2015). Esses dispositivos têm uma capacidade ainda maior do que os dispositivos de armazenamento secundário, mas sua velocidade de acesso é muito mais lenta. Eles são frequentemente usados para backup de dados e arquivamento de longo prazo. Definição dos sistemas de arquivos Sistema de arquivos é um método usado pelos sistemas operacionais para armazenar e organizar arquivos e pastas em um dispositivo de armazena- mento. Ele fornece um conjunto de comandos e estruturas de dados para que o sistema operacional possa interagir com o dispositivo de armazenamento e acessar os arquivos armazenados nele (TANENBAUM; BOS, 2015). Arquivos são unidades lógicas de informação criadas por processos e utili- zadas para armazenar e organizar dados de forma independente. Por exemplo, ao salvar um documento de texto no computador, ele é armazenado como um arquivo separado, independente de outros. Existem diferentes tipos de arquivos, como documentos de texto, planilhas, imagens, vídeos ou qualquer outro formato de dados que possa ser armazenado em um computador. Cada arquivo tem um nome único, que o identifica e contém os dados que foram gravados nele (PADOIN, 2012; TANENBAUM; BOS, 2015). Organizam-se os arquivos em sistemas de arquivos presentes nos dispo- sitivos de armazenamento, como discos rígidos, e esses sistemas gerenciam a criação, a leitura, a gravação e a exclusão dos arquivos. Em um disco, é possível encontrar milhares ou até mesmo milhões de arquivos, dependendo do tamanho do disco e da quantidade de dados armazenados nele. A Figura 2 mostra a estrutura geral de um arquivo executável e um repositório. Sistema de arquivos 5 Figura 2. (a) Um arquivo executável. (b) Um repositório (archive). Fonte: Tanenbaum e Bos (2015, p. 186). A B Cada arquivo é independente dos outros, o que significa que eles podem ser acessados e manipulados separadamente. É possível abrir, editar, copiar ou excluir um arquivo específico sem afetar os outros arquivos presentes no disco. Os sistemas de arquivos geralmente são organizados em uma hierarquia de diretórios e subdiretórios, que contêm arquivos e outras subpastas. A raiz do sistema de arquivos é o diretório principal, que contém todas as outras pastas e arquivos. Cada arquivo é identificado por um nome exclusivo e pode ter uma extensão de arquivo que indica o seu tipo. Por exemplo, o arquivo “relatório.pdf” é um arquivo em PDF. Além disso, os sistemas de arquivos geralmente têm atributos que definem as propriedades de um arquivo ou pasta, como permissões de acesso, data de criação, data de modificação, tamanho do arquivo e tipos de arquivo. Esses atributos ajudam os usuários a gerenciar seus arquivos e pastas e a protegê-los contra acesso não autorizado (TANENBAUM; BOS, 2015). Sistema de arquivos6 Tipos de sistemas de arquivos Existem vários tipos de sistemas de arquivos, cada um com suas próprias características e vantagens. O sistema de arquivos FAT foi desenvolvido pela Microsoft em 1977 para uso em disquetes, projetado para ser um sistema de arquivos simples e eficiente que pudesse ser implementado em hardware de baixo custo. Desde então, o FAT foi usado em muitos dispositivos de armaze- namento diferentes, como unidades flash USB, cartões de memória e discos rígidos externos (TANENBAUM; BOS, 2015). A partir da raiz, os arquivos são organizados em pastas (também co- nhecidas como diretórios), que podem conter mais pastas e arquivos. Cada pasta pode ter até 65.535 entradas, incluindo arquivos e subpastas. O nome de cada arquivo ou pasta é limitado a oito caracteres mais uma extensão de três caracteres (por exemplo, “documento.txt”) (TANENBAUM; BOS, 2015). O sistema de arquivos FAT armazena informações sobre cada arquivo em uma tabela chamada FAT, que contém uma lista de todas as áreas do disco em que cada arquivo é armazenado e informa se essas áreas são usadas ou não. Quando um arquivo é salvo, o sistema de arquivos FAT aloca um espaço contíguo para ele na tabela FAT. Se o arquivo não puder ser armazenado em um único bloco, ele é dividido em segmentos menores e armazenado em blocos diferentes na tabela FAT (PADOIN, 2012). Para nomear os arquivos, o sistema FAT adota uma nomenclatura conhecida como “8.3”, limitando o nome a oito caracteres e a extensão a três caracteres,conforme estabelecido pela utilização do DOS (Disk Operating System), um sistema operacional popular na época em que o FAT foi criado. É importante destacar que essa restrição foi eliminada em sistemas operacionais mais modernos, como o Windows (PADOIN, 2012). Embora o sistema de arquivos FAT tenha sido amplamente utilizado por muitos anos, ele tem várias limitações, como o tamanho máximo do arquivo. O sistema de arquivos FAT16, usado em discos rígidos menores do que 2 GB, tem um tamanho máximo de arquivo de 2 GB. Já o sistema de arquivos FAT32, usado em discos rígidos maiores que 2 GB, tem um tamanho máximo de arquivo de 4 GB. Outra limitação é a falta de segurança. Ele não tem um sistema de permissões de usuário, o que significa que qualquer pessoa que acesse o dispositivo de armazenamento pode acessar e modificar arquivos. Além disso, não tem suporte para criptografia de arquivos (PADOIN, 2012). Por sua vez, o NTFS é um sistema de arquivos avançado projetado para o Windows NT, um sistema operacional de rede da Microsoft. Foi projetado para substituir o FAT, que era o sistema padrão do Windows na época em que Sistema de arquivos 7 o NTFS foi criado. Oferece recursos avançados de segurança, criptografia e gerenciamento de disco, entre outras características. As principais estão listadas a seguir (TANENBAUM; BOS, 2015). � Segurança avançada: permite que os usuários controlem o acesso a arquivos e pastas, sendo mais seguro em comparação com o FAT. � Criptografia de arquivos: oferece suporte para criptografia de arquivos, permitindo que os usuários protejam seus arquivos com criptografia avançada. � Gerenciamento de disco avançado: oferece suporte para recursos avançados de gerenciamento de disco, incluindo discos rígidos maiores do que 2 TB e partições maiores do que 2 GB. � Tamanho máximo de arquivo maior: suporta arquivos de até 16 exabytes. � Cluster size ajustável: permite que os usuários ajustem o tamanho do cluster, o que pode ajudar a melhorar o desempenho do disco. Uma das principais limitações do NTFS é que não pode ser lido por alguns sistemas operacionais mais antigos, como o Windows 95 e o Windows 98, além de ser mais lento do que o FAT em dispositivos de armazenamento menores, como unidades flash USB. Outro sistema de arquivos é o EXT4, usado por muitas distribuições do Linux. Ele foi projetado para ser bem melhor do que as versões anteriores do sistema de arquivos EXT, sendo altamente eficiente e seguro. Oferecendo, além disso, recursos avançados em comparação ao FAT e ao NTFS. Confira a seguir outras características do EXT4 (TANENBAUM; BOS, 2015). � Tamanho máximo de arquivo maior: suporta arquivos de 16 terabytes, sendo muito eficiente para trabalhar com grandes quantidades de dados. � Fragmentação reduzida: é projetado para reduzir a fragmentação de arquivos em comparação com o FAT e o NTFS, o que ajuda a melhorar o desempenho e a prolongar a vida útil do disco. � Journaling: usa um sistema de registro de arquivos para garantir que os arquivos não sejam corrompidos em caso de falha de energia ou outra interrupção do sistema. � Segurança avançada: oferece suporte para permissões de usuários e controle de acesso, permitindo que controlem o acesso a arquivos e pastas. Sistema de arquivos8 No entanto, o EXT4 não pode ser lido por sistemas operacionais que não suportam o Linux, além de ser mais lento em dispositivos de armazenamento mais antigos do que o FAT (PADOIN, 2012). O EXT4 continua a ser um sistema de arquivos amplamente utilizado em muitas distribuições do Linux, mas os desenvolvedores do Linux estão trabalhando em um novo sistema de arquivos chamado BTRFS (B-Tree File System). O BTRFS é projetado para ser uma melhoria significativa em relação ao EXT4, oferecendo suporte para snapshots de arquivos, de duplicação e compressão de dados. O BTRFS está em desenvolvimento e ainda não é amplamente utilizado, mas pode ser uma opção atraente para usuários de Linux que precisam de recursos avançados de armazenamento de dados. Gerenciamento de operações e acessos de sistemas de arquivos O gerenciamento de espaço em disco está relacionado a como os arquivos são armazenados e organizados em um dispositivo de armazenamento. Os sistemas de arquivos geralmente usam uma ou mais técnicas de alocação de espaço em disco, como contígua, encadeada e indexada (TANENBAUM; BOS, 2015). Alocação contígua Com a alocação contígua, os arquivos são armazenados em blocos contíguos de espaço em disco. Nesse método, quando um arquivo é criado, o sistema operacional aloca um espaço contíguo suficiente para armazenar todo o conteúdo do arquivo em uma única região do disco (TANENBAUM; BOS, 2015). Esse tipo de alocação é relativamente simples de implementar e entender. O fato de os arquivos serem armazenados de forma contígua no disco facilita o acesso sequencial aos dados. Além disso, o desempenho de leitura e gravação de arquivos pode ser bom, especialmente para arquivos grandes, pois não há necessidade de fragmentação ou movimentação de dados entre diferentes locais de armazenamento. Por outro lado, a alocação contígua pode levar à fragmentação interna, que ocorre quando o espaço alocado para um arquivo é maior do que o tamanho real do arquivo. Isso resulta em desperdício de espaço em disco, pois a porção não utilizada do bloco não pode ser usada para armazenar outros arquivos. Pode levar, também, à fragmentação externa. À medida que os arquivos são criados, modificados e excluídos, podem surgir Sistema de arquivos 9 espaços vazios dispersos em todo o disco. Esses espaços talvez não sejam grandes o suficiente para alocar novos arquivos, mesmo que a capacidade total do disco seja adequada. Isso pode resultar em uma utilização ineficiente do espaço disponível (TANENBAUM; BOS, 2015). O processo de alocação contígua e a fragmentação ocorrida podem ser vistos na Figura 3. Figura 3. (a) Alocação contígua de espaço em disco para sete arquivos. (b) Estado do disco após os arquivos D e F terem sido removidos. Fonte: Tanenbaum e Bos (2015, p. 195). B A Pelas limitações mencionadas, a alocação contígua de arquivos não é amplamente utilizada em sistemas de arquivos modernos. Em vez disso, outros métodos, como a alocação encadeada ou a indexada, são geralmente escolhidos, porque oferecem maior flexibilidade para lidar com fragmentação e gerenciar eficientemente o espaço em disco (PADOIN, 2012). Alocação encadeada Com a alocação encadeada, os blocos de dados de um arquivo são vinculados uns aos outros por meio de estruturas chamadas de “blocos de encadea- mento”. Cada arquivo é representado por uma lista encadeada de blocos, e cada bloco contém um ponteiro para o próximo bloco do arquivo. O último da lista aponta para um bloco especial que indica o fim do arquivo (Figura 4). Quando um arquivo é criado, o sistema operacional procura por blocos de Sistema de arquivos10 espaço livre no disco e os associa ao arquivo, criando assim a lista encadeada. Conforme o arquivo cresce e mais espaço é necessário, novos blocos são alocados e adicionados à lista encadeada (TANENBAUM; BOS, 2015). Figura 4. Armazenamento de arquivo como uma lista encadeada de blocos de disco. Fonte: Tanenbaum e Bos (2015, p. 196). Como ponto positivo, a alocação encadeada lida de forma eficiente com a fragmentação externa, pois não requer blocos de dados contíguos para armazenar um arquivo. Os blocos podem estar dispersos em todo o disco, desde que sejam corretamente encadeados, o que permite que o espaço livre seja utilizado de maneira mais eficiente. Esse tipo de alocação também facilita a expansão e a redução de arquivos. Quando um arquivo precisa crescer, basta alocar novos blocos e adicioná-los à lista encadeada. Da mesma forma, quando um arquivo é reduzido, os blocos não utilizados podem ser liberados, e o encadeamento é ajustado (MACHADO; MAIA, 2007; TANENBAUM; BOS, 2015). No entanto, na alocação encadeada, oacesso aos dados de um arquivo pode ser mais lento do que na alocação contígua, pois requer a leitura se- quencial de vários blocos para acessar o arquivo completo. Além disso, a alocação encadeada requer espaço adicional para armazenar os ponteiros entre os blocos, o que pode resultar em algum desperdício de espaço em disco (MACHADO; MAIA, 2007). Para otimizar o desempenho da alocação encadeada, é comum usar blocos de índice. Um bloco contém vários ponteiros para blocos de dados, o que Sistema de arquivos 11 reduz o número de acessos necessários para percorrer a lista encadeada e melhora a eficiência do acesso aos dados. Alocação indexada A alocação indexada é um método de organização de dados em um sistema de arquivos que utiliza uma estrutura de índice para rastrear a localização dos blocos de dados de um arquivo (Figura 5). Cada arquivo tem um bloco de índice dedicado, e o bloco de índice, por sua vez, contém uma tabela ou vetor de entradas. Cada entrada corresponde a um bloco de dados do arquivo. Cada entrada na tabela contém um ponteiro para o bloco de dados correspondente (TANENBAUM; BOS, 2015). Figura 5. Armazenamento de arquivo como uma lista encadeada de blocos de disco. Fonte: Tanenbaum e Bos (2015, p. 196). Quando um arquivo é criado, o sistema operacional aloca um bloco de índice e preenche as entradas iniciais com os blocos de dados alocados para o arquivo. Conforme o arquivo cresce e mais espaço é necessário, novos blocos de dados são alocados, e as entradas correspondentes são adicionadas ao bloco de índice. A alocação indexada permite um acesso rápido e direto aos blocos de dados de um arquivo. Em vez de percorrer uma lista encadeada ou pesquisar por blocos de dados dispersos pelo disco, basta consultar o bloco de índice e obter Sistema de arquivos12 diretamente a localização dos blocos. Além disso, esse tipo de alocação lida bem com arquivos grandes e aleatórios. Como o acesso aos blocos de dados é feito por meio do índice, não há necessidade de percorrer uma sequência de blocos para chegar a um bloco específico, o que é particularmente eficiente para acesso aleatório, quando é necessário acessar blocos não sequenciais em um arquivo (TANENBAUM; BOS, 2015). Contudo, a alocação indexada requer espaço adicional para armazenar o bloco de índice, o que pode resultar em algum desperdício de espaço em disco. Além disso, quando um arquivo é reduzido, os blocos de dados não utilizados podem permanecer no disco até que o bloco de índice seja atualizado, o que pode levar à fragmentação interna (PADOIN, 2012). Para otimizar o desempenho da alocação indexada, é comum usar técnicas como a indexação indireta, em que as entradas do bloco de índice apontam para outros blocos de índice em uma estrutura hierárquica. Isso permite acomodar muitos blocos de dados e reduzir o tamanho do bloco de índice principal. Operações com arquivos As operações com arquivos podem ser realizadas em um sistema para manipu- lar ou interagir com arquivos específicos. Confira a seguir algumas operações comuns realizadas em arquivos (TANENBAUM; BOS, 2015). � Criação de arquivo: cria-se um novo arquivo no sistema de arquivos. Geralmente, é especificado um nome para o arquivo e, em alguns casos, seu tipo ou extensão. O sistema operacional aloca espaço em disco para o arquivo e o torna disponível para utilização. � Leitura de arquivo: recuperam-se os dados armazenados dentro do arquivo. O sistema operacional acessa o arquivo e transfere seu conteúdo para a memória, onde pode ser processado ou exibido para o usuário. � Gravação em arquivo: permite a adição, a substituição ou a alteração de dados dentro do arquivo. O sistema operacional aceita os dados fornecidos e os escreve no arquivo, atualizando seu conteúdo no disco. � Abertura de arquivo: o sistema operacional estabelece uma conexão entre o programa ou processo em execução e o arquivo desejado. Sistema de arquivos 13 Isso permite que o programa realize operações de leitura, gravação ou outras operações no arquivo. � Fechamento de arquivo: ao se concluir as operações, o arquivo deve ser fechado para liberar recursos associados a ele. Essa operação informa ao sistema operacional que o programa ou processo não precisa mais acessar o arquivo. � Renomear arquivo: permite alterar o nome de um arquivo existente no sistema de arquivos. O sistema operacional atualiza o nome do arquivo no diretório correspondente, mantendo o conteúdo do arquivo inalterado. � Exclusão de arquivo: é a remoção permanente do arquivo do sistema de arquivos. O espaço em disco ocupado pelo arquivo é liberado e pode ser reutilizado para outros fins. � Movimentação e cópia de arquivo: permitem mover ou copiar um arquivo de um local para outro no sistema de arquivos. O arquivo original pode ser mantido no local original ou removido, dependendo da operação escolhida. É importante entender essas operações para interagir adequadamente com o sistema de arquivos em diferentes contextos. Tanto usuários comuns quanto desenvolvedores de software precisam estar familiarizados com essas operações para realizar tarefas cotidianas ou desenvolver aplicativos que trabalhem com arquivos. Além dessas operações, alguns atributos podem ser adicionados a um arquivo, conforme mostrado no Quadro 1. Sistema de arquivos14 Quadro 1. Alguns atributos para arquivos Atributo Significado Proteção Quem tem acesso ao arquivo e de que modo Senha Necessidade de senha para acesso ao arquivo Criador ID do criador do arquivo Proprietário Proprietário atual Flag de somente leitura 0 para leitura/escrita; 1 para somente leitura Flag de oculto 0 para normal; 1 para não exibir o arquivo Flag de sistema 0 para arquivos normais; 1 para arquivos de sistema Flag de arquivamento 0 para arquivos com backup; 1 para arquivos sem backup Flag de ASCI/binário 0 para arquivos ASCII; 1 para arquivos binários Flag de acesso aleatório 0 para acesso somente sequencial; 1 para acesso aleatório Flag de temporário 0 para normal; 1 para apagar o arquivo ao sair do processo Flag de travamento 0 para destravados; diferente de 0 para travados Tamanho do registro Número de bytes em um registro Posição da chave Posição da chave em cada registro Tamanho da chave Número de bytes na chave Momento de criação Data e hora de criação do arquivo Momento do último acesso Data e hora do último acesso do arquivo Momento da última alteração Data e hora da última modificação do arquivo Tamanho atual Número de bytes no arquivo Tamanho máximo Número máximo de bytes no arquivo Fonte: Adaptado de Tanenbaum e Bos (2015). Sistema de arquivos 15 Neste capítulo, você viu que os sistemas de arquivos desempenham um papel crucial no armazenamento e na organização dos dados em sistemas operacionais. Fornecem uma estrutura para criação, manipulação e acesso aos arquivos, garantindo a integridade e a disponibilidade das informações. Com os sistemas de arquivos, é possível armazenar dados em dispositivos de armazenamento secundário, como discos rígidos e unidades de estado sólido. Os sistemas de arquivos modernos apresentam recursos avançados, como permissões de acesso, criptografia e sistemas de arquivos distribuídos, que permitem compartilhar e acessar dados de forma colaborativa. Além disso, os sistemas operacionais têm diferentes sistemas, como NTFS, EXT4 e FAT32, que atendem a diferentes necessidades e requisitos de desempenho. A evolução dos sistemas de arquivos continua em ritmo acelerado, impulsionada pela necessidade de lidar com volumes cada vez maiores de dados e demandas de desempenho. Novas tecnologias, como sistemas de arquivos baseados em memória (como o NVMFS) e sistemas de arquivos distribuídos altamente escaláveis (como o Hadoop Distributed File System), estão sendo desenvolvidas para enfrentar esses desafios. Referências MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4. ed. Rio de Janeiro: LTC, 2007.PADOIN, E. L. Sistemas de arquivos: teoria e prática. 3. ed. Porto Alegre: Bookman, 2012. SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Fundamentos de sistemas operacionais. 9. ed. Rio de Janeiro: LTC, 2015. TANENBAUM, A. S.; BOS, H. Sistemas operacionais modernos. 4. ed. São Paulo: Pearson, 2015. Leituras recomendadas DEITEL, H. M.; DEITEL, P. J.; CHOFFNES, D. R. Sistemas operacionais. 3. ed. São Paulo: Prentice-Hall, 2005. TANENBAUM, A. S.; WOODHULL, A. S. Sistemas operacionais: projeto e implementação. 3. ed. Porto Alegre: Bookman, 2008. Os links para sites da web fornecidos neste capítulo foram todos testados, e seu funcionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Sistema de arquivos16 Dica do professor Sistemas gerenciadores de arquivos são utilizados todos os dias por todos os usuários de computadores, e, independentemente do sistema operacional utilizado, estará acoplado um gerenciador de arquivos. O gerenciador de arquivo tem como papel criar e organizar arquivos dentro do disco. Na Dica do Professor, veja dois dos principais sistemas gerenciadores de arquivos: o Explorador de Arquivos (Windows Explorer) e o Nautilus, utilizados pelo Windows 10 e pelo Ubuntu, respectivamente. Você irá conhecer as características individuais de cada um e terá embasamento para fazer uma comparação entre eles. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. A computação está tão presente em nosso cotidiano que algumas de suas tarefas mais simples podem passar completamente batidas. Porém, quando paramos para estudar seu funcionamento, temos um vislumbre fascinante de como hardware e software trabalham juntos em harmonia. O Momento Sinapse abaixo mostra exatamente isso: afinal, você sabe exatamente o que acontece quando deleta um arquivo de seu computador? Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/af1a57408725b11c2010cced16e0786a https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/48d1d3e29a5b1e928c2ec5ef5c2c2493 Exercícios 1) Uma das principais formas de organizar e identificar os arquivos armazenados em um computador é por meio da nomenclatura deles. Além disso, também é por meio da nomenclatura e do local de armazenamento que o sistema operacional identifica e distingue os arquivos. Sobre a nomenclatura de arquivos, analise as afirmativas a seguir e assinale a afirmativa correta. A) Nenhum sistema operacional é capaz de identificar letras maiúsculas e minúsculas, ou seja, uma palavra escrita com letra maiúscula e a mesma palavra escrita com letra minúscula são interpretadas como a mesma palavra. B) Muitos sistemas permitem a separação do nome do arquivo em duas partes separadas por ponto. A parte escrita após o ponto é chamada de extensão do arquivo e é utilizada para identificar seu tipo (se é um texto ou uma imagem, por exemplo). C) Na nomenclatura de um arquivo, o único caractere especial permitido, independentemente do sistema operacional, é o ponto. D) Por padrão, todos os sistemas operacionais permitem nomes de arquivos de até 255 letras. E) Em sistemas baseados em UNIX, como, por exemplo, as diversas distribuições do Linux, letras maiúsculas e minúsculas não são diferenciadas. Já em sistemas baseados em MS-DOS, como, por exemplo, as diversas versões do Windows, letras maiúsculas e minúsculas são consideradas letras diferentes. 2) Dentro de um computador, os arquivos armazenados podem ser estruturados de diversas formas. Essa estruturação é transparente para o usuário, mas não é transparente para o computador. A estruturação define a forma como o arquivo será armazenado e interpretado pelo computador. Sobre as formas de estruturação de arquivos, marque a única alternativa correta: A) Na sequência estruturada de bytes, o sistema operacional identifica e trata o que existe no arquivo. Contudo, o sistema operacional é capaz de ver apenas bytes. Qualquer significado deve ser imposto pelos programas em nível de usuário. B) Na sequência de registros, o arquivo é uma sequência de registros de tamanho dinâmico. Nessa estrutura, uma operação de leitura sobrescreve ou anexa apenas um registro, e uma operação de escrita retorna apenas um registro. C) Na árvore, um arquivo consiste em uma árvore de registros, não necessariamente todos do mesmo tamanho, mas cada um contendo um campo de chave em uma posição fixa no registro. D) Na sequência de diretórios, os arquivos são organizados como grupos de diretórios de arquivos. E) Na pilha, há uma estrutura muito similar à de árvore. Porém, a estrutura é como uma pilha, em que o primeiro registro inserido é o último a ser removido. 3) Muitos sistemas operacionais suportam vários tipos de arquivos — por exemplo, arquivos normais, arquivos especiais e diretórios. Sobre os tipos de arquivos suportados pelos sistemas operacionais, analise as afirmativas a seguir e assinale a única correta. A) Os diretórios são arquivos utilizados pelo sistema para armazenar os metadados. B) Os arquivos normais são aqueles que contêm informações do usuário. C) Os arquivos especiais de caracteres são usados para modelar discos. D) Os arquivos especiais de bloco são relacionados à entrada/saída e usados para modelar dispositivos de E/S seriais, como terminais, impressoras e redes. E) Arquivos especiais são arquivos que, necessariamente, contêm metadados e são escritos utilizando a linguagem ASCII. Embora os arquivos possam ter estruturas diferentes, todos eles apresentam, obrigatoriamente, um nome e um conteúdo (dados). Além dessas informações básicas, os sistemas operacionais podem enriquecer esses arquivos com outras informações, que são chamadas de atributos ou de metadados. Um exemplo disso é a data e a hora em que o arquivo foi criado e o tamanho dele. Sobre os atributos que podem ser adicionados em arquivos, analise as afirmativas a seguir e classifique-as em verdadeiro ou falso, considerando o nome do atributo e sua definição. 4) I. Flag de temporário: indica se o arquivo é definitivo ou se deve ser excluído ao final do processo. 0 é um arquivo normal, e 1 é um arquivo que será excluído. II. Flag de arquivamento: indica se o arquivo é interno de um processo e deve ser arquivado na pasta do processo ou se é um arquivo do usuário, que pode ser salvo em qualquer diretório. III. Flag de proteção: indica se o arquivo está disponível para edição ou apenas para leitura. IV. Flag de acesso aleatório: 0 indica que o acesso a esse arquivo é sequencial, e 1 que o acesso é aleatório. V. Flag de sistema: indica que 0 é um arquivo normal e que 1 é um arquivo do sistema. A) As afirmativas I, II e III são verdadeiras. B) Apenas as afirmativas I, IV e V são verdadeiras. C) Apenas as afirmativas IV e V são verdadeiras. D) Apenas as afirmativas I e IV são verdadeiras. E) Apenas as afirmativas I e III são verdadeiras. Considerando que os arquivos são parte de grande relevância em um sistema operacional, é necessário que possam ser efetuadas operações sobre eles, ou seja, que esses arquivos possam, por exemplo, ser criados ou excluídos. Contudo, além dessas duas operações, diversas outras operações podem ser feitas com arquivos. Sobre essas operações, analise as afirmativas a seguir e classifique-as em verdadeiras ou falsas. I. Append: é uma forma restrita de escrita (write), em que só podem ser adicionados dados ao final do arquivo. II. Seek: é utilizada por arquivos de acesso aleatório para definir especificamente onde os dados de um arquivo serão extraídos. III. Lock: é utilizado para impedir a existência deacessos simultâneos por diversos processos a um mesmo arquivo ou parte de arquivo. IV. Save: é utilizado no momento da criação de um arquivo para anunciar que o arquivo está sendo criado e configurar alguns atributos 5) V. Get Attributes: é utilizado para alterar os atributos de um arquivo —por exemplo, alterar a flag de backup. A) São verdadeiras apenas as afirmativas II, III, V. B) São verdadeiras apenas as afirmativas I, III e V. C) São verdadeiras apenas as afirmativas I, II, III, IV. D) São verdadeiras apenas as afirmativas I, II e III. E) São verdadeiras apenas as afirmativas I e II. Na prática Além da estrutura utilizada por arquivos normais em um computador, é de extrema importância estar atento à estrutura utilizada por diretórios ou arquivos de diretórios, porque os diretórios interferem diretamente na forma como são salvos os arquivos, podendo, por exemplo, replicar o nome de um arquivo em diretórios diferentes ou não. Conhecer essa diferença entre os tipos de diretórios é de extrema importância no momento da utilização de seu sistema de arquivos, uma vez que garante que não irá acontecer sobrescrita de arquivos, por exemplo. A seguir, você irá conhecer a diferença entre diretório simples e diretório com estrutura hierárquica. A partir disso, poderá entender qual tipo de diretório é mais adequado ao contexto empresarial da atualidade e por que a estrutura de diretórios interfere na sobrescrita ou não de arquivos. Conteúdo interativo disponível na plataforma de ensino! Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Sistema de arquivos - AlfaCon Neste vídeo, o professor João Paulo explica a diferença entre os sistemas de arquivo FAT e NTFS de forma prática. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Visão geral dos sistemas de arquivo FAT, HPFS e NTFS Neste artigo, é apresentada uma visão mais detalhada sobre os sistemas de arquivo FAT, HPFS e NTFS. São destacadas, por exemplo, as vantagens e as desvantagens de cada um, além dos padrões de nomenclaturas utilizados por eles. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Arquivos e diretórios Neste material, você irá encontrar a definição de arquivo e de diretório. Além disso, serão abordadas também a organização hierárquica de um sistema de arquivos e as extensões de nomes de arquivos. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://www.youtube.com/embed/I4ySrYDWVTk https://support.microsoft.com/pt-br/help/100108/overview-of-fat-hpfs-and-ntfs-file-systems http://professores.dcc.ufla.br/~bruno/aulas/arquivos-e-diretorios.html
Compartilhar