1 / 51

Sistemas Operacionais Sistemas de Arquivo

Sistemas Operacionais Sistemas de Arquivo. Professora : Michelle Nery Curso Técnico em Informática. Ementa. Sistemas Operacionais Quatro Operações Básicas Gerenciamento de Processos Gerenciamento de Memória Gerenciamento de Dispositivo de Entrada/Saída

jeneva
Download Presentation

Sistemas Operacionais Sistemas de Arquivo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SistemasOperacionaisSistemas de Arquivo Professora: Michelle Nery CursoTécnicoemInformática

  2. Ementa • Sistemas Operacionais • Quatro Operações Básicas • Gerenciamento de Processos • Gerenciamento de Memória • Gerenciamento de Dispositivo de Entrada/Saída • Gerenciamento de Sistema de Arquivos

  3. Conteúdo • Gerenciamento de Sistemas de Arquivo • Arquivos • Diretórios • Implementação

  4. Sistemas de Arquivos • Três são os requisitos para o armazenamento de informação por longo prazo: • Armazenar uma quantidade muito grande de informação. • Sobreviver ao término do processo que a usa. • Múltiplos processos têm de ser capazes de acessar a informação concorrentemente. • A solução usual para todos esses problemas é armazenar a informação em discos e em outros meios externos em unidades chamadas arquivos. • A informação armazenada em arquivos deve ser persistente  somente desaparecerá quando seu proprietário removê-lo.

  5. Sistemas de Arquivos • Arquivos são gerenciados pelo sistema operacional. • Podem ser: • Estruturados • Nomeados, • Acessados, • Usados, • Protegidos e • Implementados; • Através de um projeto de sistema operacional, conhecida como sistema de arquivos.

  6. Sistemas de Arquivos • Do ponto de vista do usuário, o aspecto mais importante de um sistema de arquivos são: aparência, atributos, como os arquivos são nomeados e protegidos, quais operações são permitidas em arquivos e assim por diante. • Do ponto de vista do projetista, detalhes sobre se são usadas listas encadeadas ou mapas de bits para controlar o armazenamento disponível e quantos setores há em um bloco lógico são de grande.

  7. Arquivos • Ponto de vista do usuário.

  8. Nomeação de Arquivo • Quando um processo cria um arquivo, ele dá um nome a esse arquivo. Quando o processo termina, o arquivo continua existindo e outros processos podem ter acesso a ele simplesmente buscando seu nome. • Muitos sistemas de arquivos permitem nomes com tamanhos de até 255 caracteres. • Alguns sistemas de arquivos distinguem letras maiúsculas de minúsculas e outros, não. O Unix pertence à primeira categoria; o MS-DOS pertence à segunda. Portanto, um sistema Unix pode ter três arquivos distintos chamados: maria, Maria e MARIA. No MS-DOS, todos esses nomes referem-se ao mesmo arquivo.

  9. Nomeação de Arquivo • Muitos sistemas operacionais suportam nomes de arquivos de duas partes, ambas separadas por um ponto, como em prog.c. • A parte que segue o ponto é chamada de extensão do arquivo • No MS-DOS, por exemplo, os nomes de arquivos têm de um a oito caracteres e mais uma extensão opcional de um a três caracteres. • No Unix, o tamanho da extensão, se houver, fica a critério do usuário e o arquivo pode ter até mesmo duas ou mais extensões, como em prog.c.Z, em que Z é comumente usado para indicar que o arquivo (prog.c) foi comprimido usando o algoritmo de compressão Ziv-Lempel.

  10. Nomeação de Arquivo • Exemplos de extensões:

  11. Estrutura de um Arquivo • Os arquivos podem ser estruturados de várias maneiras. Três possibilidades comuns são exibidas na Figura. • (a) Sequencia de bytes • (b) Sequencia de Registros • (c) Árvore

  12. Estrutura de um Arquivo • Figura (a) é uma sequência desestruturada de bytes. • De fato, o sistema operacional não sabe o que o arquivo contém ou simplesmente não se interessa por isso. Tudo o que ele vê são bytes. • Qualquer significado deve ser imposto pelos programas em nível de usuário. Tanto o Unix quanto o Windows utilizam essa estratégia.

  13. Tipos de Arquivos • Muitos sistemas operacionais suportam vários tipos de arquivos. • Unix e Windows, por exemplo, apresentam arquivos regulares e diretórios. • Os arquivos regulares são aqueles que contêm informação do usuário. • Os diretórios são arquivos do sistema que mantêm a estrutura do sistema de arquivos. • O Unix também tem arquivos especiais de caracteres e de blocos. • Os arquivos especiais de caracteres são relacionados a entrada/saída e usados para modelar dispositivos de E/S, como terminais, impressoras e redes. • Os arquivos especiais de blocos são usados para modelar discos.

  14. Tipos de Arquivos • Outro tipo de arquivo é o binário. • Relacionar um arquivo desse tipo em uma impressora causaria a impressão de algo totalmente incompreensível. • Esses arquivos têm, em geral, alguma estrutura interna conhecida pelos programas que os usam. • Todo sistema operacional deve reconhecer pelo menos um tipo de arquivo: o arquivo executável.

  15. Acesso ao Arquivo • Os primeiros sistemas operacionais forneciam somente um tipo de acesso aos arquivos: o acesso sequêncial. • Quando os discos começaram a ser usados para armazenar arquivos, tornou-se possível ler bytes de um arquivo fora da ordem, técnica denominada de arquivos de acesso aleatório. • Se um cliente de uma companhia aérea liga e quer reservar um lugar em um determinado vôo, o programa de reservas deve ter acesso ao registro do vôo sem ter de antes ler os registros de milhares de outros vôos.

  16. Acesso ao Arquivo • Dois métodos são usados para especificar a partir de onde a leitura começa. • No primeiro, toda operação readindica a posição do arquivo em que se inicia a leitura. • No segundo, uma operação especial, seek, é fornecida para estabelecer a posição atual. • Depois de um seek, o arquivo pode ser lido seqüencialmente a partir da sua posição atual. • Nos sistemas operacionais atuais todos os seus arquivos são, automaticamente, de acesso aleatório.

  17. Atributos do Arquivo • Todo arquivo apresenta um nome e dados. • Além disso, todos os sistemas operacionais associam outras informações a cada arquivo – por exemplo, a data e o horário em que foi criado e o tamanho do arquivo. • Esses itens extras são denominados atributos do arquivo. • A tabela da Figura mostra algumas possibilidades.

  18. Atributos do Arquivo

  19. Operações com Arquivo • Os arquivos servem pata armazenar informação e permitir que ela seja recuperada depois. Sistemas diferentes oferecem diferentes operações para realizar essas funções. • Create. O arquivo é criado sem dados. • Delete. O arquivo não é mais necessário, ele deve ser removido. • Open. Antes de usar um arquivo, um processo deve abri-lo. Permite que o sistema busque e coloque na memória principal. • Close. Quando todos os acessos terminam, e os arquivos não são mais necessários, deve ser fechado para liberar espaço da memória. • Read. Dados são lidos do arquivo. Normalmente, os bytes lidos são os da posição atual. • Write. Os dados são escritos no arquivo também, em geral na posição atual. Se a posição atual for o final do arquivo, o tamanho do arquivo sofrerá um aumento. Se a posição atual estiver no meio do arquivo, os dados existentes serão sobrescritos e perdidos para sempre.

  20. Operações com Arquivo • Append. Essa chamada é uma forma restrita de write. Ela só pode adicionar dados ao final do arquivo. • Seek. Reposiciona o ponteiro de arquivo para um local específico do arquivo - acesso aleatório aos arquivos. • Getattributes. Muitas vezes, os processos precisam ler os atributos de um arquivo para continuar a fazer algo. • Set attributes. Alguns atributos podem ser alterados pelos usuários e isso pode ser feito depois da criação do arquivo. • Rename. É frequente o usuário precisar alterar o nome de um arquivo.

  21. Arquivos Mapeados em Memória • Uma técnica empregada em alguns sistemas operacionais para acessar o arquivo é fornecer alguma maneira de mapear arquivos no espaço de endereçamento de um processo em execução. • Conceitualmente podemos imaginar a existência de duas novas chamadas ao sistema, map e unmap. • map: forneceum nome de arquivo e um endereço virtual, fazendo com que o sistema operacional mapeie o arquivo em um espaço de endereçamento virtual.

  22. Atividades • Quais as funçoes do Gerenciamento de Arquivos? Explique o significado de cadaumadelas. • Quala técnicaempregadapara estruturaosarquivosnossistemasoperacionaisatuais? • O quesãoarquivosregulares e binários? • Qualostipos de acessopossíveisparaleitura de um arquivo. Explique-os. • Cite 4 atributos de um arquivo e explique-os. • Descrevaas operaçõesbásicas de um arquivo. • Quaissão as chamadas de sistemapara o mapeamento de um arquivo no espaço de endereçamento virtual?

  23. Diretório • Para controlar os arquivos, os sistemas de arquivos têm, em geral, diretórios ou pastas, que em muitos sistemas são também arquivos.

  24. Sistemas de DiretórioHierárquicos • É comum aos usuários querer agrupar seus arquivos assumindo critérios lógicos (arquivos de aula, de músicas, vídeos, etc.). • Faz-se necessária uma hierarquia geral (isto é, uma árvore de diretórios). • Com esta estratégia, cada usuário pode ter tantos diretórios quanto necessário para agrupar os arquivos da maneira lógica.

  25. Sistemas de DiretórioHierárquicos • Na Figura, A, B e C são diretórios que pertencem a usuários diferentes e estão contidos no diretório-raiz; dois desses usuários criaram subdiretórios. • A capacidade dos usuários criar um número arbitrário de subdiretórios propicia uma ferramenta poderosa de estruturação para organizar seu trabalho. Por isso, quase todos os modernos sistemas de arquivos são organizados assim.

  26. Nomes de Caminho • Quando o sistema de arquivos é organizado em árvore de diretório, é preciso algum modo de especificar o nome dos arquivos. São usados, comumente, dois métodos. • No primeiro, a cada arquivo é dado um nome de caminho absoluto formado pelo caminho entre o diretório-raiz e o arquivo. • Exemplo: o caminho /usr/ast/caixapostalsignifica que o diretório-raiz contém um subdiretório usr, que, por sua vez contém um subdiretório ast que contém o arquivo caixapostal.

  27. Nomes de Caminho • O outro tipo de nome é o nome de caminho relativo. • Todos os nomes de caminho que não comecem do diretório-raiz são assumidos como relativos ao diretório de trabalho. • Se o diretório de trabalho atual for /usr/ast, então o arquivo cujo caminho absoluto for /usr/ast/caixapostal pode ser referenciado simplesmente como caixapostal.

  28. Operações em Diretórios • As chamadas ao sistema que podem gerenciar diretórios. • Create. Cria um diretório vazio. • Delete. Remove um diretório vazio. • Opendir. Lê diretórios. Antes dos arquivos em um diretório serem lidos, o diretório deve ser aberto. • Closedir. O diretório é fechado. • Rename. Trocar o nome do diretório. • Link. A ligação (linking) é uma técnica que possibilita a um arquivo aparecer em mais de um diretório. • Unlink. Remove uma entrada de diretório. • Há também algumas outras chamadas de sistema empregadas a proteção associada com um diretório.

  29. Atividades O quesãodiretórios? Qual é a principal técnicade estruturação de diretóriosusadaatualmente. Explique-a. O quesãocaminhosabsoluto e relativo? Quaissão as chamadas de sistemaspossíveisparagerenciardiretório? Explique-as.

  30. Implementação de Sistemas de Arquivos • Os implementadores estão interessados em: • Como arquivos e diretórios são armazenados, • Como o espaço em disco é gerenciado e • Como fazer tudo funcionar eficiente e confiavelmente.

  31. Esquemas de Sistemas de Arquivos • Os sistemas de arquivos são armazenados em discos. • A maioria dos discos é dividida em uma ou mais partições, cada uma contendo um sistema de arquivos independente. • O setor 0 do disco é chamado de MBR (master boot record –registro de controle de iniciação do sistema) e é usado para iniciar o computador. • O fim da MBR contém a tabela de partição, que indica os endereços iniciais e finais de cada partição.

  32. Esquemas de Sistemas de Arquivos • Quando um computador é iniciado, a BIOS lê e executa o MBR. • A primeira coisa que o programa do MBR faz é localizar a partição ativa, ler seu primeiro bloco, chamado de bloco de boot, e executá-lo. • O programa no bloco de boot carrega o sistema operacional contido naquela partição. • O esquema de uma partição de discos varia bastante de um sistema de arquivos para outro. É comum que o sistema de arquivos contenha algum dos itens mostrados na Figura a seguir.

  33. Esquemas de Sistemas de Arquivos • Superbloco: É lido na memória quando o computador é iniciado. Identifica o tipo de sistema de arquivos, o número de blocos no sistema de arquivos etc. • Blocos livres: na forma de um mapa de bits ou lista. • I-nodes: estruturas de dados que diz tudo sobre o arquivo. • Diretório-raiz: contém o topo da árvore do sistema de arquivos. • Restante do disco: possui todos os outros diretórios e arquivos.

  34. Implementação de Arquivos • A questão mais importante na implementação de arquivos é o controle de quais blocos de discos estão relacionados a quais arquivos. • São usados vários métodos em diferentes sistemas operacionais. • AlocaçãoContígua • AlocaçãoporListaEncadeada • Alocação por lista encadeada usando uma tabela na memória

  35. AlocaçãoContígua • O esquema mais simples de alocação é armazenar cada arquivo em blocos contíguos de disco. • Assim, em um disco com blocos de 1 KB, um arquivo com 50 KB seria alocado em 50 blocos consecutivos. • Com blocos de 2KB, o arquivo seria alocado em 25 blocos consecutivos.

  36. AlocaçãoContígua • Vemos um exemplo na Figura, onde são mostrados os primeiros 40 blocos de disco, iniciando com o bloco 0 e contendo 7 arquivos, A, B, C, D, E, F e G. • Note que cada arquivo começa no início de um novo bloco; assim, se um arquivo A ocupar três blocos e meio, um espaço no final do último bloco será desperdiçado.

  37. Alocação Contígua • Vantagens: • Simples de implementar, porque o controle sobre onde os blocos de um arquivo estão é reduzido a apenas dois números: o endereço em disco do primeiro bloco e o número de blocos no arquivo. • O desempenho da leitura é excelente, pois todo o arquivo pode ser lido do disco em uma única operação, ou seja é preciso somente um posicionamento (seek) (para o primeiro bloco). Depois disso, não é necessário mais posicionamentos ou atrasos rotacionais. • Portanto, a alocação contígua é simples de implementar e tem um alto desempenho.

  38. Alocação Contígua • Desvantagens: Com o tempo o disco fica fragmentado. • Na Figura há dois arquivos, D e F, que foram removidos. • Quando um arquivo é removido, seus blocos são liberados, deixando uma lacuna de blocos livres no disco. • O disco não é imediatamente compactado para eliminar essa lacuna, pois isso acarretaria a cópia de todos os blocos que seguissem a lacuna - potencialmente milhões deles. • Como resultado, o disco é formado por arquivos e lacunas.

  39. Alocação Contígua • Contudo, há uma situação na qual a alocação contígua é viável e, na verdade, amplamente usada: em CD’ROMs. • Neles todos os tamanhos de arquivos são conhecidos com antecedência e nunca se alterarão durante o uso subseqüente do sistema de arquivos do CD-ROM.

  40. Alocação por Lista Encadeada • O segundo método para armazenar arquivos é mantê-los, cada um, como uma lista encadeada de blocos de disco. • A primeira palavra de cada bloco é usada como ponteiro para um próximo. O restante do bloco é usado para dados.

  41. Alocação por Lista Encadeada • O acesso aleatório é extremamente lento. • Para chegar ao bloco n no arquivo, o sistema operacional, deve ler os n - 1 blocos antes dele, um de cada vez – muito lento.

  42. Alocação por Lista Encadeada Usando uma Tabela na Memória • As desvantagens da alocação por lista encadeada podem ser eliminadas colocando-se cada palavra de ponteiro de cada bloco em uma tabela na memória. • A Figura mostra como são as tabelas. • O arquivo A usa os blocos 4, 7, 2, 10 e 12 e o arquivo B, os blocos 6,3,11 e 14. • Usando a tabela é possível, partindo do bloco 4 seguir o encadeamento até o final. O mesmo pode ser feito partindo-se do bloco 6. • Ambos os encadeamentos têm uma marca de término (por exemplo, -1) que corresponde a um número inválido de bloco. • Essa tabela na memória principal é chamada de FAT (File AllocationTable) ou Tabela de Alocação de Arquivos.

  43. Alocação por Lista Encadeada Usando uma Tabela na Memória • O acesso aleatório se torna muito mais fácil. • Embora ainda seja necessário seguir o encadeamento para encontrar um dado deslocamento dentro do arquivo, o encadeamento permanece inteiramente na memória, assim ele pode ser seguido sem fazer qualquer referência ao disco. • Como no método anterior, um inteiro simples (o número do bloco inicial) é o suficiente para representar a entrada de diretório e ainda ser capaz de localizar todos os blocos, não importando o tamanho do arquivo.

  44. Alocação por Lista Encadeada Usando uma Tabela na Memória • A principal desvantagem é que, para funcionar, toda a tabela deve estar na memória o tempo todo. • Para um disco de 20 GB e blocos de 1 KB, a tabela precisará de 20 milhões de entradas, uma para cada um dos 20 milhões de blocos de disco. • Cada entrada tem no mínimo 3 bytes a 4 bytes. Portanto, a tabela ocupará 60 MB ou 80 MB de memória principal, o tempo todo.

  45. Implementação de Diretórios • A entrada do diretório fornece a informação necessária para encontrar os blocos de disco referentes ao arquivo. • Dependendo do sistema, essa informação pode ser o endereço de disco de todo o arquivo (alocação contígua), o número do primeiro bloco (para ambos os esquemas de listas encadeadas). • Em todos os casos, a função principal do sistema de diretórios é mapear o nome do arquivo em ASCII na informação necessária para localizar os dados.

  46. Implementação de Diretórios • Todo sistema de arquivos mantém os atributos do arquivo armazenados em algum lugar - uma alternativa óbvia é armazená-los na entrada do diretório. • Nesse projeto, um diretório consiste em uma lista de entradas, uma por arquivo, contendo um nome de arquivo, uma estrutura de atributos do arquivo com um ou mais endereços de disco indicando onde os blocos de disco estão. • A tática mostradas na Figura, correspondem ao MS-DOS/Windows e ao Unix, respectivamente.

  47. Entrada de Diretório do MS-DOS

  48. Atividades • Sistemas de Arquivos • Expliqueosprincipaisitens de disco. • Arquivos • Quaissãoosmétodos de alocação de arquivos? Explique-os. Dêsuasvantagens e desvantagens. • Dê um exemplo, comonafigura do slide de alocaçãocontigua, com 5 arquivos, cada um deles contendo, respectivamente, 5, 7, 2, 3, 4 blocos, paraosmétodos de alocaçãocontígua, listasencadeadas e listasencadeadasusandotabela. • Qual o problemaemcompactar as lacunas vazias um disco? • Faça um quadroresumo de todososmétodos de alocação. • Diretórios • Como sãoidentificadososarquivosdentro do diretório?

  49. Assistir • Sistemas de Arquivos • WINDOWS: • http://www.infowester.com/fat.php • http://www.infowester.com/ntfs.php • http://www.youtube.com/watch?v=yj_9z1ysG_Q&feature=related • LINUX: • http://www.infowester.com/linext3.php • http://www.infowester.com/reiserfs.php • http://www.youtube.com/watch?v=Ej_sEsDQlyQ&feature=related

  50. Trabalho • Entregar • Dupla • Explicar o novo método de organização de disco denominado EFI. • Esse método não permite instalar outros sistemas operacionais no disco, logo, pesquise como fazer essa ação, mostrando passo a passo.

More Related