1) O que so Sistemas de Arquivos (File System)? Cite os principais Sistemas de Arquivos
existentes. A METODOLOGIA DE GERENCIAMENTO DO ESPAO EM UMA UNIADE DE ARMAZENAMENTO Filesystem ou sistema de arquivos, refere-se forma como os dados so armazenados, organizados e acessados no disco pelo sistema operacional. um artifcio imposto pelo sistema operacional e no pelo hardware da mquina. O processo conhecido como "formatao lgica de disco" estabelece um filesystem em uma partio de HD, em pendrives, disquetes e etc. Existem vrios tipos de filesystems, sendo que os mais conhecidos so: * FAT * FAT 32 * NTFS ATUAL WINDOWS * EXT * EXT2 * EXT3 ATUAL LINUX * EXT4 * REISER FS - ATUAL LINUX
2) O que so arquivos?
ABSTRAES PARA UMA SEQUNECIA DE BYTES - SO UMA SEQUENCIA DE BYTES, NO TEM SEPARAO FSICA Um arquivo pode ser genericamente definido como uma coleo de dados relacionados entre si. Normalmente, arquivos contm programas (tanto fonte como objeto) ou dados. Arquivos so referenciados atravs de nomes. Alm de um nome, cada arquivo possui tambm outros atributos, tais como: tipo, momento da criao, identificao do criador, tamanho, etc.
3) Cite os atributos possveis para um arquivo. Os atributos so informaes de controle dos arquivos que variam dependendo do Sistema Operacional, por exemplo: TAMANHO, PROTEO, IDENTIFICAO DO CRIADOR E DATA E HORA DE CRIAO;
4) Como funciona a implementao de arquivos por alocao contgua?
TODOS OS BLOCOS SO ARMAZENADOS NO DISCO DE FORMA CONTNUA, DIFICIL DE SER MANTIDO E FCIL DE SER CRIADO. O mtodo de alocao contgua exige que cada arquivo ocupe um conjunto de setores contguos no disco. Para localizar um arquivo basta saber o nmero do setor inicial e o tamanho do arquivo, em blocos. Para acessar o arquivo de forma sequencial, o sistema operacional mantm o nmero do ltimo bloco acessado, incrementando este valor a cada acesso. Para um acesso direto ao setor i de um arquivo que inicia no setor b, o sistema deve acessar o setor b+i. Ambos os mtodos sequencial e direto so facilmente implementados. A dificuldade com este esquema encontrar um espao livre para um novo arquivo. Se o novo arquivo ocupa n setores, necessrio pesquisar a lista de setores livres at encontrar n setores contguos livres. O espao em disco pode ser visto como um grande vetor de blocos. Em um determinado momento, alguns blocos esto ocupados e outros livres, compondo segmentos de blocos contguos ocupados e segmentos de blocos contguos livres (buracos). O problema da alocao dinmica de armazenamento consiste em como satisfazer um pedido de n blocos livres contguos a partir de uma lista de blocos vazios. Os algoritmos que podem ser utilizados so os mesmos j vistos no captulo de gerncia de memria (first-fit, best-fit, etc.). O maior problema deste mtodo determinar o nmero de setores a serem alocados para cada arquivo, no momento de sua criao. Em algumas situaes isto simples, como na cpia de um arquivo existente. Mas, em geral, esta tarefa difcil. Se pouco espao alocado, o arquivo talvez no possa ser estendido porque o espao nos dois lados est ocupado. A nica soluo neste caso a cpia de todo o arquivo para um espao maior. Se o espao alocado maior que o necessrio, o disco no estar sendo utilizado de forma eficiente.
5) Como funciona a implementao de arquivos utilizando listas encadeadas?
Neste mtodo, cada arquivo corresponde a uma lista encadeada de blocos, estando os mesmos em qualquer local do disco. O diretrio contm apenas o endereo do bloco inicial e o nmero de blocos (ou endereo do ltimo bloco), e cada bloco de dados contm o endereo do bloco seguinte. Existe uma perda associada a cada bloco, uma vez que necessrio gastar bytes com ponteiros. Com alocao encadeada, os arquivos podem ser criados com tamanho zero. Na medida em que o arquivo precisa crescer, setores sero removidos da lista de setores livres e inseridos na lista encadeada que forma o arquivo. Qualquer setor do disco, independentemente de sua posio, pode ser aproveitado. Os arquivos podem crescer livremente at o limite do disco. Este mtodo somente pode ser utilizado de forma eficiente para implementar acesso sequencial. Para acessar diretamente o setor n, seria necessrio realizar n acessos ao disco. Isto impede, na prtica, o acesso direto. Alm disto, este mtodo apresenta problemas de confiabilidade: como cada setor contm o endereo do setor seguinte, basta que um setor seja danificado (hardware ou software) para que boa parte do arquivo seja perdida. O FILE SYSTEM TEM UMA TABELA, ONDE O INDICE APONTA PARA O PRIMEIRO BLOCO E O BLOCO APONTA PARA O BLOCO SEGUINTE.
6) Descreva duas formas utilizadas para gerenciar o espao livre em disco (e das duas formas citadas, qual a mais econmica em termos de espao?)
-- Lista encadeada de blocos (mais econmica, em termos de espao) Cada bloco armazena tantos nmeros de blocos livres quanto cabe; Utiliza blocos no ocupados para armazenar a lista encadeada; Ex.: Blocos de 1K, endereos de bloco de 16 bits: Cada bloco armazena 511 blocos livres; Disco de 20M necessita de 40 blocos no mximo. Ex.: MS-DOS, BSD e UNIX System 7. Mapa de bits Blocos livres representados por 1 e alocados por 0;
-- Mapa de bits Blocos livres representados por 1 e alocados por 0, podendo ser programado.
7) Explique alguma tcnica para gerenciamento de blocos defeituosos em discos. Hoje em dia os HD's so capazes de marcar automaticamente os setores defeituosos, o prprio hardware faz isso, independentemente do sistema operacional. Existe uma rea reservada no incio do disco chamada "defect map" (mapa de defeitos) com alguns milhares de setores que ficam reservados para isso. Sempre que o HD encontra um erro ao ler ou gravar num determinado setor, ele remapeia este setor defeituoso para um bom dentro do defect map, de modo que o HD continua aparecendo intacto para o sistema operacional. Os setores s realmente comeam a aparecer quando o HD j possui muitos setores defeituosos e o defect map j est cheio. Isso um indcio de um problema grave. O HD j deu o que tinha que dar e o melhor troca-lo o mais rpidopossvel para no arriscar perder os dados.
8) O Sistema Operacional (SO) GNU/Linux utiliza uma estrutura chamada i-node para controle dos arquivos. Qual a funo exata desta estrutura i-node, e como ela funciona? (Referncia: link acima, sobre Sistema de Arquivos do Linux) Essa estrutura responsvel por conter informaes bsicas sobre seus arquivos e pastas, como permisses de acesso, identificao dos donos dos arquivos, data e hora do ltimo acesso e alteraes, tamanho e o mais importante, os famosos ponteiros para o arquivo em si. De modo geral, o INODE a identidade de um arquivo ou diretrio, uma identificao nica para ele.
Ao ler qualquer arquivo ou diretrio, o kernel trata de ler primeiramente o INODE do arquivo para depois chegar o dito cujo. Ao ler essa estrutura, so checadas as permisses e em caso de negada retornada a famosa mensagem de "Permission denied", caso contrrio o procedimento segue normalmente. Um arquivo possui um nico inode, no importa por quantos nomes este arquivo identificado no sistema. Logo, o conjunto de inodes que indica o nmero de arquivos/diretrios que o sistema possui. Um inode , na realidade, uma estrutura de dados que possui informaes sobre um determinado arquivo ou diretrio como, por exemplo, dono, grupo, tipo e permisses de acesso. DENTRO DO BLOCO, TEM UMA SEQUENCIA DE BLOCOS QUE O ARQUIVO ESTA OCUPANDO. SE O PROGRMA AOPUPA MAIS ENDEREOS QUE CABE EM UM BLOCO, ELE APONTA PARA OUTRO BLOCO COM ENDEREOS ESPECIASI. O TAMANHO MAXIMO DO ARQUIVO PODE SER O TAMANHO DA UNIDADE DE DISCO (MUITO GRANDE). DETERMINADO BLOCOS TEM DADOS E OUTROS BLOCOS TEM UMA LSITA DE BLOCOS QUE APONTA PARA OUTRO.
9) Qual a influncia do tamanho do bloco (em bytes), para o i-node, em relao ao tamanho mximo de um arquivo a ser armazenado em disco? Quanto menor o bloco, menor a quantidade de endereos que o bloco pode armazenar. QUANTO MENOR O BLOCO, MELHOR O APROVEITAMENTO DE ESPAO. VANTAGEM DE BLOCOS GRANDES: QUANTIDADE DE DADOS LIDOS MAIOR. QUANTO MAIOR O BLOCO, MAIS BYTES SO GRAVADOS E LIDOS. SE OS ARQUIVOS NO OCUPAM O BLOCO INTEIRO, TEREMOS ESPAO DESPEDIADO.