Nome Professor Matéria Turma Thiago Bastos Suchorski Davis Anderson Figueiredo Sistemas Operacionais e Software Básico 12-4NA 1. O que é um arquivo? É a unidade básica de armazenamento de informação em um dispositivo não-volátil, pois para eles não há forma mais simples de armazenamento persistente de dados. Um arquivo é basicamente um conjunto de dados armazenados em um dispositivo físico não-volátil, com um nome ou outra referência que permita sua localização posterior. Um arquivo é identicado por um nome, composto por uma sequência de caracteres, para o SO não importa o que é o arquivo e sim sua extensão. 2. Como arquivos podem ser organizados? A forma mais simples de organização de arquivos é através de uma sequência não-estruturada de bytes. Neste tipo de organização, o sistema de arquivos não impõe nenhuma estrutura lógica para os dados. Alguns sistemas operacionais possuem diferentes organizações de arquivos. Neste caso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. As organizações mais conhecidas e implementadas são a sequencial, relativa e indexada. 3. Diferencie os métodos de acesso a registros sequencial, direto e indexado. (a) Acesso sequencial: O SO precisa identicar o inicio e o nal do arquivo, o acesso era restrito à leitura na ordem em que eram gravados, sendo a gravação de arquivos possível apenas no nal do arquivo. (b) Acesso direto: permite a leitura/gravação de um registro diretamente na sua posição. Diferente da forma sequencial, não existe restrição a ordem em que os registros são lidos ou gravados. (c) Acesso indexado ou por chave: o arquivo deve possuir uma área de índice onde existam ponteiros para os diversos registros e a partir desta informação realiza-se um acesso direto. 4. Qual a função das system calls de E/S? Os System Calls são responsáveis pelas chamadas de rotinas do programa com o núcleo. Para cada serviço disponível existe um system call associada e cada sistema operacional tem seu próprio conjunto de chamadas, com nomes, parâmetros e formas de ativação especíca. 5. Quais as diferentes formas de implementação de uma estrutura de diretório? Sequência não-estruturada: A implementação mais simples, existe apenas um único diretório contendo todos os arquivos do disco. É bastante limitado já que não permite que usuários criem arquivos com o mesmo nome o que ocasionaria um conito no acesso aos arquivos. Alguns sistemas operacionais possuem diferentes organizações de arquivos. Neste caso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. As organizações mais conhecidas e implementadas são a sequencial, relativa e indexada. Nestes tipos de organização, podemos visualizar um arquivo como um conjunto de 1 registros. Os registros podem ser classicados em registros de tamanho xo, quando possuírem sempre o mesmo tamanho, ou registros de tamanho variável. 6. Descreva as vantagens e desvantagens das técnicas para gerência de espaços livres. Tendo um disco organizado, sempre que precisar de memória terá espaço livre. Uma boa gerencia também impede a fragmentação do seu disco, tendo espaço livres porem sem serventia para o SO. A desvantagem varia de acordo com a técnica usada, muitas delas resolvem um problema, porem abrem outro, algumas resolvem a fragmentação interna, porem, em consequência geram a fragmentação externa, outras são mais difícil a implementação. 7. O que é alocação contígua de blocos e quais benefícios a desfragmentação pode proporcionar quando esta técnica é utilizada? Consiste em armazenar um arquivo em blocos sequencialmente dispostos. Neste tipo, o sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos. Cria se uma tabela, localiza o primeiro bloco livre, assim dando quantos blocos a frente dele estão livre. 8. Descreva as vantagens e desvantagens das técnicas de alocação encadeada e indexada na gerência de alocação de espaço em disco. (a) Alocação encadeada, está forma de alocação foi proposta para contornar a pouca exibilidade da alocação contígua e eliminar a fragmentação externa. Nela, cada bloco do arquivo no disco contém dados do arquivo e também um ponteiro para o próximo bloco, ou seja, um campo indicando o número do próximo bloco do arquivo no disco. Desta forma é construída uma lista encadeada de blocos para cada arquivo, não sendo mais necessário manter os blocos do arquivo lado a lado no disco. Esta estratégia elimina a fragmentação externa, pois todos os blocos livres do disco são utilizáveis sem restrições, e permite que arquivos sejam criados sem a necessidade de denir seu tamanho nal. (b) Alocação indexada, estrutura em lista encadeada da estratégia anterior é substituída por um vetor contendo um índice de blocos do arquivo. Cada entrada desse índice corresponde a um bloco do arquivo e aponta para a posição desse bloco no disco. O índice de blocos de cada arquivo é mantido no disco em uma estrutura denominada nó de índice (index node) ou simplesmente nó-i (i-node). O i-node de cada arquivo contém, além de seu índice de blocos, os principais atributos do mesmo, como tamanho, permissões, datas de acesso, etc. Os i-nodes de todos os arquivos são agrupados em uma tabela de i-nodes, mantida em uma área reservada do disco, separada dos blocos de dados dos arquivos. 9. Quais os tipos de proteção de acesso a arquivos existentes e quais suas principais vantagens? (a) Senha de acesso, proteção por grupos de usuários e lista de controle de acesso. A vantagem da associação de uma senha de acesso a um arquivo é a simplicidade, pois o controle resume-se ao usuário ter conhecimento da senha e, consequentemente, ter a liberação do acesso ao arquivo concedida pelo sistema. (b) Proteção em grupo, a vantagem da proteção por grupos de usuários é oferecer uma proteção em três níveis: owner (dono), group (grupo) e all (todos). 2 (c) Lista de controle de acesso tem a vantagem de especicar individualmente para cada arquivo qual usuário e tipo de acesso é concedido. 10. O que é a técnica denominada buer cache? Buer cache minimiza os acessos a disco mantendo em memória aqueles blocos mais recentemente utilizados, assim se quando puxado uma operação, o SO verica no buer, se for positivo evita com que faça nova leitura no disco. 3