SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Sistemas Operacionais
         Sistemas de Arquivos
Sistema de Arquivos
          Arquivos
                ➼    Atributos
                ➼    Operações
                ➼    Tipos
          Diretórios
          Gerência de Espaço Livre
                ➼    Mapa de Bits (Vetor de Bits)
                ➼    Lista Ligada Simples
                ➼    Lista Ligada com Agrupamento
                ➼    Tabela de Blocos Livres Agrupados
          Alocação de Espaço em Disco
                ➼    Alocação Contígua
                ➼    Alocação Encadeada (Lista Ligada)
                ➼    Lista Ligada usando Índice
                ➼    Alocação Indexada (Nó-I)
          Implementações de Diretórios

                                                    2
   Sistemas Operacionais
Eduardo Nicola F. Zagari
Sistemas de Arquivos
                Para a maioria dos usuários, o Sistema de
                 Arquivos é o aspecto mais visível do SO
                É a parte do SO responsável pelo
                 armazenamento e acesso de dados e programas
                 do SO e dos usuários
                Consiste de:
                      ➼  conjunto de arquivos
                      ➼  estrutura de diretórios
                      ➼  partição




                                              3
             Sistemas Operacionais
Eduardo Nicola F. Zagari
Arquivos
                Computadores armazenam informação em
                    diferentes tipos de dispositivos físicos:
                      ➼  fitasmagnéticas
                      ➼  discos magnéticos
                      ➼  discos óticos, ...

                SO abstrai as propriedades físicas do
                    dispositivo definindo uma unidade de
                    armazenamento lógica:
                                          O arquivo

                O SO associa cada arquivo a um dispositivo
                    físico
                                              4
                Sistemas Operacionais
Eduardo Nicola F. Zagari
Arquivos
                Arquivo é um conjunto nomeado de informações
                    que são gravadas em memória secundária
                      ➼  Programas:código-fonte ou objeto
                      ➼  Dados: numéricos , alfabéticos, alfanuméricos ou
                         binários
                Formato:
                  ➼  Livre: arquivos-texto
                  ➼  Rigidamente Formatado

                Geralmente é uma seqüência de bits, bytes,
                    linhas ou registros, cujo significado é definido
                    pelo criador do arquivo ou pelo usuário.

                                             5
                         Sistemas Operacionais
Eduardo Nicola F. Zagari
Atributos
          Tipicamente:
           ➼  Nome: informação para consumo humano
           ➼  Tipo: necessário quando o SO diferencia tipos
           ➼  Localização: ponteiro para dispositivo físico e
              localização dentro dele
           ➼  Tamanho: quantidade de bytes, palavras ou blocos do
              arquivo (e, possivelmente, o tamanho máximo permitido)
           ➼  Proteção: informação de controle de acesso ao arquivo
              (leitura, escrita, execução)
           ➼  Dono: dono do arquivo
           ➼  Data, hora e usuário: usado para (1) criação, (2) última
              modificação e (3) último uso  informação útil para
              proteção, segurança e monitoramento de uso
           ➼  Senha: utilizada no acesso
                                      6
                        Sistemas Operacionais
Eduardo Nicola F. Zagari
Operações
                Unix system calls :
                      ➼  fd:descritor de arquivo = referência para tabela de
                         arquivos
                      ➼  fd = creat(nome, modo)
                      ➼  fd = open(arq, como)
                      ➼  s = close(fd)
                      ➼  n = read(fd, buffer, nbytes)
                      ➼  n = write(fd, buffer, nbytes)
                      ➼  pos = lseek(fd, offset, inicio/atual/fim)
                      ➼  s = stat(nome, &buf)
                      ➼  s = chmod(nome, modo)


                                             7
                       Sistemas Operacionais
Eduardo Nicola F. Zagari
Tipos

                                              16 bits
          Um arquivo                     Número mágico             .
           binário                      Tamanho do código
                                                                   .
                                                                   .
          executável                    Tamanho dos dados

                            Cabeçalho
                                         Tamanho do BSS     ≈    Código                 ≈
           no Unix                      Tamanho da tabela
                                           de símbolos
                                         Ponto de entrada   ≈    Dados                  ≈
                                              Flags              Bits de
                                                            ≈   relocação               ≈
                                               .
                                               .                Tabela de
                                               .            ≈   símbolos                ≈

                                              8
                          Sistemas Operacionais
Eduardo Nicola F. Zagari
Tipos

          Um arquivo        Cabeçalho
                                        Nome do módulo
             binário         Módulo          Data
               não           objeto       Proprietário
           executável                      Proteção
           (biblioteca      Cabeçalho      Tamanho
          de módulos)        Módulo
                             objeto
            no Unix
                            Cabeçalho

                             Módulo
                             objeto


                                 9
              Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios
                O sistema de arquivo pode ser grande  para se
                 gerenciar os dados, torna-se necessários
                 organizá-los
                A organização é feita em duas partes:
                      ➼  O   sistema é dividido em partições (volumes):
                            •  cada disco contém pelo menos uma partição
                            •  usadas para fornecer áreas separadas em disco  cada uma
                               é tratada como um dispositivo de armazenamento diferente
                            •  alguns sistemas permitem que uma partição agrupe vários
                               discos em uma única estrutura lógica




                                                   10
                           Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios
                      ➼  Cada    partição contém informação sobre os arquivos
                            que ela armazena:
                             •  mantida em diretório de dispositivo ou tabela de conteúdo
                                do volume (mais conhecido como diretório)
                             •  o diretório registra informações como nome, localização,
                                tamanho, tipo, etc...



                                diretório                                 diretório
           Partição A                                                                 Disco 2
                                arquivos
                                             Disco 1         Partição C
                                diretório                                 arquivos
           Partição B                                                                 Disco 3
                                arquivos

                                                       11
                              Sistemas Operacionais
Eduardo Nicola F. Zagari
Gerência de Espaço Livre

         São possíveis duas estratégias genéricas para
             armazenamento de arquivos:
               ➼  alocação    de n bytes consecutivos no disco
                      •  apresenta um problema óbvio quando o arquivo cresce...
               ➼  alocação    de blocos não necessariamente contíguos
         Tamanho do Bloco:
           ➼  Candidatos a serem a unidade de alocação: o tamanho do setor, da
              trilha, do cilindro e da página (se SO paginado)
           ➼  Unid. de alocação grande: provável desperdício de memória
           ➼  Unid. de alocação pequena: baixa taxa de transferência

         Para poder criar arquivos, o SO precisa saber se há blocos
             livres e quais são  lista de espaço livre


                                                     12
                          Sistemas Operacionais
Eduardo Nicola F. Zagari
Mapa de Bits (Vetor de Bits)
                Cada entrada da tabela aponta para um bloco
                Define-se:
                                   Livre = 1
                                   ocupado = 0
                Simples
                                                  Disco: 1,3 Gbytes
                Consome muito espaço de memória: Bloco: 512 bytes
                Exemplo:                         Bitmap: 333k

              2, 3, 4, 5,
                                           00111100   Usado quando
              8, 9, 10, 11, 12, 13,        11111100   se tem espaço
              17, 18,                      01100000    na memória
                                                      principal para
              25, 26 e 27 livres           01110000    todo o vetor

                                            13
                 Sistemas Operacionais
Eduardo Nicola F. Zagari
Lista Ligada Simples
                Cada bloco livre aponta para o próximo livre
                Acesso seqüencial
                Ineficiente



                                      0   1     2    3
                     Primeiro
                                      4   5     6    7
                      bloco
                       livre          8   9     10   11
                                     12   13    14   15
                                     16   17    18   19



                                          14
               Sistemas Operacionais
Eduardo Nicola F. Zagari
Lista Ligada com Agrupamento
                Os endereços dos n primeiros blocos livres são
                    armazenados no primeiro bloco. Os primeiros
                    n-1 endereços estão disponíveis e o último
                    endereço aponta para outro bloco com
                    endereços livres
                 42             230           86
                                                          Ex.: Blocos de 1K
                 136            162           234              End. do bloco: 16 bits
                 210            612           897
                 97             342           422          cada bloco guarda 511
                 41             160           140         blocos livres
                 63             664
                 21             216                            Disco de 20M
            ≈
                 147
                        ≈   ≈
                                320
                                      ≈   ≈         ≈          20K blocos
                 48             482                        precisa, no máximo, de
                                                          uma lista ligada de 40 blocos
                                                    15
                         Sistemas Operacionais
Eduardo Nicola F. Zagari
Tabela de Blocos Livres (Contagem)
                Geralmente blocos contíguos são alocados ou
                 liberados simultaneamente
                Encontrar um número grande de blocos livres é
                 mais rápido
                Tabela é menor


                            Bloco    4 5       Contador
                                     18 1
                                     23 7
                                     35 30
                                    253 5
                                      16
                 Sistemas Operacionais
Eduardo Nicola F. Zagari
Métodos de
                             Alocação de Espaço em Disco
                A natureza do acesso direto aos discos permite
                 flexibilidade na implementação de arquivos
                A questão principal do projeto de um Sistema
                 de Arquivos é:
                                 Como alocar espaço aos arquivos de
                              modo que o uso do espaço em disco seja
                            eficaz e que o acesso aos dados seja rápido?




                                                 17
                       Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação Contígua
                Cada arquivo deve ocupar um conjunto de blocos
                 contíguo no disco
                Vantagens:
                      ➼  Simples de implementar  guardar apenas o end. do 1o bloco
                      ➼  Acessos seqüencial e direto facilitados
                      ➼  Excelente performance  leitura em uma única operação

                Dificuldade: achar espaço para novo arquivo 
                 seqüência de blocos livres igual ou maior que o arquivo
                A alocação de blocos em uma área contígua pode ser
                 feita através de algoritmos de estratégia de alocação
                 como o First-Fit, Best-Fit e Worst-Fit.



                                                 18
                            Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação Contígua
                Desvantagens:
                      ➼  Necessário  conhecer o tamanho dos arquivos no
                         instante de sua criação (se reservar pouco 
                         necessidade de cópia, se reservar muito 
                         desperdício)
                      ➼  Fragmentação do disco  compactação é cara.



                                                            Diretório
                                                      Arquivo   Início   Tamanho
                             0    1    2    3
                                                       prog.c      0        2
                             4    5    6    7           a.out     14        3
                             8    9   10   11          leiame     19        1
                            12   13   14   15         arq.txt      6        2
                            16   17   18   19


                                                19
                                Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação com Lista Ligada
                Espaço alocado é mantido através de uma lista
                    ligada de blocos  uma parte do bloco guarda a
                    referência para o próximo
                                                       512 bytes

                                                             Dados

                                                 4 bytes  próximo bloco


                    0        1    2 10    3 11          Diretório                   Para criar um arquivo:
                                                 Arquivo         Início   Tamanho
                    47       5    63      72
                                                  prog.c           4         5
                                                                                       Início (1o bloco) = -1
                    8        9   1012    1114      a.out           6         4         Tamanho = 0
                   12 x     13   14 x    15
                   16       17   18      19
                                                                                    Para escrever:
                                                                                       Aloca-se um
                                                                                    bloco etc
                                                           20
                                      Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação com Lista Ligada
                 Vantagens:
                   ➼  Não existe fragmentação
                   ➼  Entrada do diretório tb armazena apenas o end. do 1o bloco

                 Desvantagens:
                   ➼  Acesso randômico (mais lento)
                   ➼  O acesso direto é feito seqüencialmente
                   ➼  Tamanho útil do bloco (≠ potência de 2)
                   ➼  Espaço perdido com os ponteiros para próximo bloco  solução:
                      clusters
                   ➼  Confiabilidade: erro em qualquer um dos blocos do arquivo torna
                      impossível recuperação do restante
                   ➼   solução parcial: lista duplamente ligada




                                               21
                            Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação com
                            Lista Ligada usando um Índice
                Similar ao método anterior, colocando-se os
                 ponteiros que encadeiam os blocos em tabela ou
                 índice na memória
                A tabela fica no início de cada partição e é
                 usada como uma lista ligada
                   FAT (File Allocation Table) 0 1
                                                       0
                                                       0
                                                    2     10
                                                    3     11
                                                    4     7
                   Entrada no diretório             5     0
                                                    6     3
                   prog.c     ...      4
                                                    7     2          FAT
                                                    8     0
                    a.out     ...      6            9     0
                   nome             bloco           10    12
                                    inicial         11    14
                                                    12   eof
                                                    13    0
                                                    14   eof
                                              22
              Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação com
                            Lista Ligada usando um Índice
                Vantagens:
                 ➼  Bloco fica livre para armazenamento apenas da
                    informação
                 ➼  Apesar de randômico, o acesso é baseado na cadeia
                    que está inteiramente na memória principal (basta
                    realizar a busca na FAT)
                 ➼  Entrada no diretório precisa conter apenas o número
                    do bloco inicial
                Desvantagem:
                 ➼  Tabela deve permanecer na memória durante todo o
                    tempo
                            •  Disco de 500.000 blocos   500 MBytes
                            •  Blocos de 1K
                            •  Tabela com 500.000 entradas vezes 4 bytes = 2 MBytes
                                                   23
                          Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação Indexada (Nó-I)


          Assim como lista ligada, resolve problemas relativos à:
            ➼  tamanho do arquivo
                                             alocação contígua
            ➼  fragmentação externa
            ➼  suporte a acesso direto  alocação encadeada

          ... além do problema da grande tabela em memória...
          Consiste em associar a cada arquivo uma pequena tabela de
           índices (nó-i), que lista seus atributos e endereços em disco
           (um vetor de endereços)
          O diretório contém o endereço da tabela de índices
          Permite acesso direto ao n-ésimo bloco
               ➼  é    só ler a n-ésima entrada do nó-i.


                                                   24
           Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação Indexada (Nó-I)


                                                            4
                                                            7
                                                15          2
                                                           10
              0             1   2    3                     12
              4             5   6    7
              8             9   10   11
            12          13      14   15               Diretório
                                                     Arquivo    Início
             16         17      18   19               prog.c      15




                                          25
                            Sistemas Operacionais
Eduardo Nicola F. Zagari
Alocação Indexada (Nó-I)

          Desvantagem: Se o arquivo for pequeno, gasta-se
           um bloco por índice
          Solução: índices encadeados (vários níveis)
               ➼  Os primeiros endereços são armazenados no próprio nó-
                  i  arquivos pequenos
               ➼  Um dos endereços apontados pelo nó-i é o endereço do
                  bloco indireto simples, que aponta para endereços do
                  arquivo no disco
               ➼  Outro apontador do nó-i é para o bloco indireto duplo,
                  que contém uma lista de blocos de endereço simples
               ➼  Existe ainda o bloco indireto triplo

                                         26
                      Sistemas Operacionais
Eduardo Nicola F. Zagari
Implementação de Diretórios
                Para abrir um arquivo o SO usa o nome do caminho para
                 localizar sua entrada no diretório
                Dependendo do sistema, tal entrada fornece
                 informações do tipo:
                      ➼  endereço do bloco (alocação contígua)
                      ➼  número do primeiro bloco (alocação com listas ligadas)
                      ➼  número do nó-i relativo ao arquivo (alocação indexada)

                Outro aspecto a ser considerado é onde os atributos
                    dos arquivos devem estar armazenados: diretamente na
                    entrada do diretório ou nos nós-i, no caso dos sistemas
                    que usam alocação indexada



                                                  27
                             Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios no MS-DOS
               Setor primário
                  de boot       Partição 1            Partição 2          Partição 3 Part. 4


                                        Tab. de alocação
             Setor secundário                                      Diretório-raiz
                                          de arquivos
                 de boot




                                                                                     ≈ ≈
                                FAT
                                         Cópia opcional            Blocos de dados
                                            da FAT
                Setor de boot:
                 ➼  começa com um desvio incondicional para código de
                    boot
                 ➼  lista de parâmetros: no de bytes por setor, no de
                    setor por bloco, no de arquivo na tabela de alocação,
                    tamanho do diretório raiz, ...
                 ➼  Tabela de partição (máximo 4): uma deve ser ativa
                                                28
                                        Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios no MS-DOS
                                    8            3    1         10      2    2     2     4
                             Nome do arquivo                                           Tamanho


                               Extensão               Reservado             Data
                                          Atributos                  Hora          Número do 1o bloco

                Nome e extensão: o ponto não é armazenado
                Atributos: contém os seguintes bits
                      ➼  A - 1 quando arquivo é modificado
                      ➼  D - 1 quando for diretório
                      ➼  V - 1 quando for nome do volume
                      ➼  S - 1 arquivo do sistema
                      ➼  H - 1 arquivo escondido
                      ➼  R - 1 arquivo não pode ser escrito

                Não se pode ter link  não se pode ter 2 entradas
                    com mesmo número inicial de bloco
                                                          29
                                    Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios no UNIX
                    Bloco de




                                                                           ≈ ≈
                      boot

                                           Nós-I         Blocos de dados
                            Super -Bloco



                Bloco de boot: não é usado pelo UNIX e muitas vezes
                 contém o código de boot
                Super-bloco: no de nós-i, no de blocos e início da lista de
                 blocos livres (crítico para o sistema)
                Nós-i: atrib. do arquivo mais a localização dos blocos
                Blocos de dados: armazenam arquivos e diretórios



                                                   30
                           Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios no UNIX
                                             2   14 ou 255 (dependendo da versão)
                            No   do nó-i
                                                       Nome do arquivo


                Os atributos não estão armazenados na entrada
                    do diretório, mas no nó-i
                                  Ex.: /usr/enfz/mbox
            Diretório raiz          Nó-i 6       Bloco 132: /usr        Nó-i 30         Bl. 406: /usr/enfz
               1         .            Modo           6          .          Modo             30        .
               1        ..          Tamanho          1         ..        Tamanho             6       ..
               4       bin           Tempos         19       ast          Tempos            64    Prog1.c
               7       dev             132          30      enfz           406              92     books
              14     Arq.txt                        51        lff                           60     mbox
               9       etc                          26       lgsj                           81     minix
               6       usr         usr está no      45      rcmp      /usr/enfz está        17      src
               8      tmp           bloco 132     Procura /usr/enfz    no bloco 406
               Procura usr                         Obtém nó-i 30                       Procura /usr/enfz/mbox
              Obtém nó-i 6                                                                 Obtém nó-i 60


                                                        31
                                        Sistemas Operacionais
Eduardo Nicola F. Zagari
Diretórios no UNIX
                            Nó-i
                          Modo
                      Contador de
                        ligações
                           Uid
                          Gid
                      Tamanho do
                        arquivo
                        Tempos
    End dos
   primeiros
   10 blocos
    de disco
                     Indireto único

                     Indireto duplo

                     Indireto triplo

                            Bloco Indireto Triplo
                                       Bloco Indireto Duplo
                                                  Bloco Indireto Único

                                                                32
      Sistemas Operacionais
Eduardo Nicola F. Zagari

Mais conteúdo relacionado

Mais procurados

Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Capítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais ModernosCapítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais ModernosWellington Oliveira
 
Trabalho sobre as memórias ram
Trabalho sobre as memórias ramTrabalho sobre as memórias ram
Trabalho sobre as memórias ramjfranca1984
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Permissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos LinuxPermissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos LinuxWellington Oliveira
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadoresKaren Costa
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 

Mais procurados (20)

Aula 5 bios
Aula 5 biosAula 5 bios
Aula 5 bios
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!
 
Linux
LinuxLinux
Linux
 
Aula sobre Linux.
Aula sobre Linux. Aula sobre Linux.
Aula sobre Linux.
 
Trabalho linux
Trabalho linuxTrabalho linux
Trabalho linux
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Sistemas de arquivos e partições
Sistemas de arquivos e partiçõesSistemas de arquivos e partições
Sistemas de arquivos e partições
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Memórias
MemóriasMemórias
Memórias
 
VPN - O que é a VPN?
VPN - O que é a VPN?VPN - O que é a VPN?
VPN - O que é a VPN?
 
Capítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais ModernosCapítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais Modernos
 
Trabalho sobre as memórias ram
Trabalho sobre as memórias ramTrabalho sobre as memórias ram
Trabalho sobre as memórias ram
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Permissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos LinuxPermissão de Acesso - Sistema de Arquivos Linux
Permissão de Acesso - Sistema de Arquivos Linux
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Aula 5 (Raid)
Aula 5 (Raid)Aula 5 (Raid)
Aula 5 (Raid)
 

Semelhante a SO-08 Sistemas de Arquivos

Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosSofia Trindade
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosThaís Favore
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Julio Oliveira
 
Uso da informática em Investigação de Surto
Uso da informática em Investigação de SurtoUso da informática em Investigação de Surto
Uso da informática em Investigação de SurtoWanderson Oliveira
 
Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Duílio Andrade
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivosPaulo Fonseca
 
1ª Unidade Sistemas de arquivos
1ª Unidade Sistemas de arquivos1ª Unidade Sistemas de arquivos
1ª Unidade Sistemas de arquivosCleiton Cunha
 
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini DESMISTIFICANDO A FSTAB - Ricardo José Maraschini
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini Tchelinux
 
Módulo 7 – Tratamento de ficheiros.pptx
Módulo 7 – Tratamento de ficheiros.pptxMódulo 7 – Tratamento de ficheiros.pptx
Módulo 7 – Tratamento de ficheiros.pptxBrancaSilva12
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
SO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisSO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisEduardo Nicola F. Zagari
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadosJohn Leno
 
Sistemas de Arquivos.pptx
Sistemas de Arquivos.pptxSistemas de Arquivos.pptx
Sistemas de Arquivos.pptxstenio medeiros
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffertSandro Suffert
 
Sistemas de arquivos artigo
Sistemas de arquivos   artigoSistemas de arquivos   artigo
Sistemas de arquivos artigoDaiana de Ávila
 
Introdução a Informatica
Introdução a InformaticaIntrodução a Informatica
Introdução a InformaticaKeny51
 

Semelhante a SO-08 Sistemas de Arquivos (20)

Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de Arquivos
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de Arquivos
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
 
Uso da informática em Investigação de Surto
Uso da informática em Investigação de SurtoUso da informática em Investigação de Surto
Uso da informática em Investigação de Surto
 
Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Sistema Computacao Revisao 2
Sistema Computacao Revisao 2
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivos
 
1ª Unidade Sistemas de arquivos
1ª Unidade Sistemas de arquivos1ª Unidade Sistemas de arquivos
1ª Unidade Sistemas de arquivos
 
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini DESMISTIFICANDO A FSTAB - Ricardo José Maraschini
DESMISTIFICANDO A FSTAB - Ricardo José Maraschini
 
Sgf
SgfSgf
Sgf
 
Módulo 7 – Tratamento de ficheiros.pptx
Módulo 7 – Tratamento de ficheiros.pptxMódulo 7 – Tratamento de ficheiros.pptx
Módulo 7 – Tratamento de ficheiros.pptx
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Aula gerenciamento de arquivos e pastas
Aula   gerenciamento de arquivos e pastasAula   gerenciamento de arquivos e pastas
Aula gerenciamento de arquivos e pastas
 
teAula 11
teAula 11teAula 11
teAula 11
 
SO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisSO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas Operacionais
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Sistemas de Arquivos.pptx
Sistemas de Arquivos.pptxSistemas de Arquivos.pptx
Sistemas de Arquivos.pptx
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffert
 
Sistemas de arquivos artigo
Sistemas de arquivos   artigoSistemas de arquivos   artigo
Sistemas de arquivos artigo
 
Introdução a Informatica
Introdução a InformaticaIntrodução a Informatica
Introdução a Informatica
 

Mais de Eduardo Nicola F. Zagari

Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasOnix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasEduardo Nicola F. Zagari
 
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSUma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSEduardo Nicola F. Zagari
 
Uma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxUma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxEduardo Nicola F. Zagari
 
Módulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealMódulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealEduardo Nicola F. Zagari
 
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Eduardo Nicola F. Zagari
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Eduardo Nicola F. Zagari
 
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Eduardo Nicola F. Zagari
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyEduardo Nicola F. Zagari
 
Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadeEduardo Nicola F. Zagari
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorEduardo Nicola F. Zagari
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonEduardo Nicola F. Zagari
 
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodPadrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodEduardo Nicola F. Zagari
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryEduardo Nicola F. Zagari
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelEduardo Nicola F. Zagari
 
Padrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCPadrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCEduardo Nicola F. Zagari
 

Mais de Eduardo Nicola F. Zagari (20)

Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Uma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDBUma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDB
 
Introdução à Linguagem Ruby
Introdução à Linguagem RubyIntrodução à Linguagem Ruby
Introdução à Linguagem Ruby
 
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasOnix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
 
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSUma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
 
Uma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxUma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes Linux
 
Módulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealMódulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo Real
 
Módulo de Estudos em Tempo Real
Módulo de Estudos em Tempo RealMódulo de Estudos em Tempo Real
Módulo de Estudos em Tempo Real
 
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
 
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - Proxy
 
Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - Facade
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - Adaptador
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - Singleton
 
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodPadrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory Method
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract Factory
 
Padrões-07 - Padrões Criacionais
Padrões-07 - Padrões CriacionaisPadrões-07 - Padrões Criacionais
Padrões-07 - Padrões Criacionais
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - Microkernel
 
Padrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCPadrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVC
 

SO-08 Sistemas de Arquivos

  • 1. Sistemas Operacionais Sistemas de Arquivos
  • 2. Sistema de Arquivos   Arquivos ➼  Atributos ➼  Operações ➼  Tipos   Diretórios   Gerência de Espaço Livre ➼  Mapa de Bits (Vetor de Bits) ➼  Lista Ligada Simples ➼  Lista Ligada com Agrupamento ➼  Tabela de Blocos Livres Agrupados   Alocação de Espaço em Disco ➼  Alocação Contígua ➼  Alocação Encadeada (Lista Ligada) ➼  Lista Ligada usando Índice ➼  Alocação Indexada (Nó-I)   Implementações de Diretórios 2 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 3. Sistemas de Arquivos   Para a maioria dos usuários, o Sistema de Arquivos é o aspecto mais visível do SO   É a parte do SO responsável pelo armazenamento e acesso de dados e programas do SO e dos usuários   Consiste de: ➼  conjunto de arquivos ➼  estrutura de diretórios ➼  partição 3 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 4. Arquivos   Computadores armazenam informação em diferentes tipos de dispositivos físicos: ➼  fitasmagnéticas ➼  discos magnéticos ➼  discos óticos, ...   SO abstrai as propriedades físicas do dispositivo definindo uma unidade de armazenamento lógica: O arquivo   O SO associa cada arquivo a um dispositivo físico 4 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 5. Arquivos   Arquivo é um conjunto nomeado de informações que são gravadas em memória secundária ➼  Programas:código-fonte ou objeto ➼  Dados: numéricos , alfabéticos, alfanuméricos ou binários   Formato: ➼  Livre: arquivos-texto ➼  Rigidamente Formatado   Geralmente é uma seqüência de bits, bytes, linhas ou registros, cujo significado é definido pelo criador do arquivo ou pelo usuário. 5 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 6. Atributos   Tipicamente: ➼  Nome: informação para consumo humano ➼  Tipo: necessário quando o SO diferencia tipos ➼  Localização: ponteiro para dispositivo físico e localização dentro dele ➼  Tamanho: quantidade de bytes, palavras ou blocos do arquivo (e, possivelmente, o tamanho máximo permitido) ➼  Proteção: informação de controle de acesso ao arquivo (leitura, escrita, execução) ➼  Dono: dono do arquivo ➼  Data, hora e usuário: usado para (1) criação, (2) última modificação e (3) último uso  informação útil para proteção, segurança e monitoramento de uso ➼  Senha: utilizada no acesso 6 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 7. Operações   Unix system calls : ➼  fd:descritor de arquivo = referência para tabela de arquivos ➼  fd = creat(nome, modo) ➼  fd = open(arq, como) ➼  s = close(fd) ➼  n = read(fd, buffer, nbytes) ➼  n = write(fd, buffer, nbytes) ➼  pos = lseek(fd, offset, inicio/atual/fim) ➼  s = stat(nome, &buf) ➼  s = chmod(nome, modo) 7 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 8. Tipos 16 bits Um arquivo Número mágico . binário Tamanho do código . . executável Tamanho dos dados Cabeçalho Tamanho do BSS ≈ Código ≈ no Unix Tamanho da tabela de símbolos Ponto de entrada ≈ Dados ≈ Flags Bits de ≈ relocação ≈ . . Tabela de . ≈ símbolos ≈ 8 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 9. Tipos Um arquivo Cabeçalho Nome do módulo binário Módulo Data não objeto Proprietário executável Proteção (biblioteca Cabeçalho Tamanho de módulos) Módulo objeto no Unix Cabeçalho Módulo objeto 9 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 10. Diretórios   O sistema de arquivo pode ser grande  para se gerenciar os dados, torna-se necessários organizá-los   A organização é feita em duas partes: ➼  O sistema é dividido em partições (volumes): •  cada disco contém pelo menos uma partição •  usadas para fornecer áreas separadas em disco  cada uma é tratada como um dispositivo de armazenamento diferente •  alguns sistemas permitem que uma partição agrupe vários discos em uma única estrutura lógica 10 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 11. Diretórios ➼  Cada partição contém informação sobre os arquivos que ela armazena: •  mantida em diretório de dispositivo ou tabela de conteúdo do volume (mais conhecido como diretório) •  o diretório registra informações como nome, localização, tamanho, tipo, etc... diretório diretório Partição A Disco 2 arquivos Disco 1 Partição C diretório arquivos Partição B Disco 3 arquivos 11 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 12. Gerência de Espaço Livre   São possíveis duas estratégias genéricas para armazenamento de arquivos: ➼  alocação de n bytes consecutivos no disco •  apresenta um problema óbvio quando o arquivo cresce... ➼  alocação de blocos não necessariamente contíguos   Tamanho do Bloco: ➼  Candidatos a serem a unidade de alocação: o tamanho do setor, da trilha, do cilindro e da página (se SO paginado) ➼  Unid. de alocação grande: provável desperdício de memória ➼  Unid. de alocação pequena: baixa taxa de transferência   Para poder criar arquivos, o SO precisa saber se há blocos livres e quais são  lista de espaço livre 12 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 13. Mapa de Bits (Vetor de Bits)   Cada entrada da tabela aponta para um bloco   Define-se: Livre = 1 ocupado = 0   Simples Disco: 1,3 Gbytes   Consome muito espaço de memória: Bloco: 512 bytes   Exemplo: Bitmap: 333k 2, 3, 4, 5, 00111100 Usado quando 8, 9, 10, 11, 12, 13, 11111100 se tem espaço 17, 18, 01100000 na memória principal para 25, 26 e 27 livres 01110000 todo o vetor 13 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 14. Lista Ligada Simples   Cada bloco livre aponta para o próximo livre   Acesso seqüencial   Ineficiente 0 1 2 3 Primeiro 4 5 6 7 bloco livre 8 9 10 11 12 13 14 15 16 17 18 19 14 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 15. Lista Ligada com Agrupamento   Os endereços dos n primeiros blocos livres são armazenados no primeiro bloco. Os primeiros n-1 endereços estão disponíveis e o último endereço aponta para outro bloco com endereços livres 42 230 86 Ex.: Blocos de 1K 136 162 234 End. do bloco: 16 bits 210 612 897 97 342 422  cada bloco guarda 511 41 160 140 blocos livres 63 664 21 216 Disco de 20M ≈ 147 ≈ ≈ 320 ≈ ≈ ≈ 20K blocos 48 482  precisa, no máximo, de uma lista ligada de 40 blocos 15 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 16. Tabela de Blocos Livres (Contagem)   Geralmente blocos contíguos são alocados ou liberados simultaneamente   Encontrar um número grande de blocos livres é mais rápido   Tabela é menor Bloco 4 5 Contador 18 1 23 7 35 30 253 5 16 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 17. Métodos de Alocação de Espaço em Disco   A natureza do acesso direto aos discos permite flexibilidade na implementação de arquivos   A questão principal do projeto de um Sistema de Arquivos é: Como alocar espaço aos arquivos de modo que o uso do espaço em disco seja eficaz e que o acesso aos dados seja rápido? 17 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 18. Alocação Contígua   Cada arquivo deve ocupar um conjunto de blocos contíguo no disco   Vantagens: ➼  Simples de implementar  guardar apenas o end. do 1o bloco ➼  Acessos seqüencial e direto facilitados ➼  Excelente performance  leitura em uma única operação   Dificuldade: achar espaço para novo arquivo  seqüência de blocos livres igual ou maior que o arquivo   A alocação de blocos em uma área contígua pode ser feita através de algoritmos de estratégia de alocação como o First-Fit, Best-Fit e Worst-Fit. 18 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 19. Alocação Contígua   Desvantagens: ➼  Necessário conhecer o tamanho dos arquivos no instante de sua criação (se reservar pouco  necessidade de cópia, se reservar muito  desperdício) ➼  Fragmentação do disco  compactação é cara. Diretório Arquivo Início Tamanho 0 1 2 3 prog.c 0 2 4 5 6 7 a.out 14 3 8 9 10 11 leiame 19 1 12 13 14 15 arq.txt 6 2 16 17 18 19 19 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 20. Alocação com Lista Ligada   Espaço alocado é mantido através de uma lista ligada de blocos  uma parte do bloco guarda a referência para o próximo 512 bytes Dados 4 bytes  próximo bloco 0 1 2 10 3 11 Diretório Para criar um arquivo: Arquivo Início Tamanho 47 5 63 72 prog.c 4 5 Início (1o bloco) = -1 8 9 1012 1114 a.out 6 4 Tamanho = 0 12 x 13 14 x 15 16 17 18 19 Para escrever: Aloca-se um bloco etc 20 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 21. Alocação com Lista Ligada   Vantagens: ➼  Não existe fragmentação ➼  Entrada do diretório tb armazena apenas o end. do 1o bloco   Desvantagens: ➼  Acesso randômico (mais lento) ➼  O acesso direto é feito seqüencialmente ➼  Tamanho útil do bloco (≠ potência de 2) ➼  Espaço perdido com os ponteiros para próximo bloco  solução: clusters ➼  Confiabilidade: erro em qualquer um dos blocos do arquivo torna impossível recuperação do restante ➼   solução parcial: lista duplamente ligada 21 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 22. Alocação com Lista Ligada usando um Índice   Similar ao método anterior, colocando-se os ponteiros que encadeiam os blocos em tabela ou índice na memória   A tabela fica no início de cada partição e é usada como uma lista ligada  FAT (File Allocation Table) 0 1 0 0 2 10 3 11 4 7 Entrada no diretório 5 0 6 3 prog.c ... 4 7 2 FAT 8 0 a.out ... 6 9 0 nome bloco 10 12 inicial 11 14 12 eof 13 0 14 eof 22 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 23. Alocação com Lista Ligada usando um Índice   Vantagens: ➼  Bloco fica livre para armazenamento apenas da informação ➼  Apesar de randômico, o acesso é baseado na cadeia que está inteiramente na memória principal (basta realizar a busca na FAT) ➼  Entrada no diretório precisa conter apenas o número do bloco inicial   Desvantagem: ➼  Tabela deve permanecer na memória durante todo o tempo •  Disco de 500.000 blocos 500 MBytes •  Blocos de 1K •  Tabela com 500.000 entradas vezes 4 bytes = 2 MBytes 23 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 24. Alocação Indexada (Nó-I)   Assim como lista ligada, resolve problemas relativos à: ➼  tamanho do arquivo alocação contígua ➼  fragmentação externa ➼  suporte a acesso direto  alocação encadeada   ... além do problema da grande tabela em memória...   Consiste em associar a cada arquivo uma pequena tabela de índices (nó-i), que lista seus atributos e endereços em disco (um vetor de endereços)   O diretório contém o endereço da tabela de índices   Permite acesso direto ao n-ésimo bloco ➼  é só ler a n-ésima entrada do nó-i. 24 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 25. Alocação Indexada (Nó-I) 4 7 15 2 10 0 1 2 3 12 4 5 6 7 8 9 10 11 12 13 14 15 Diretório Arquivo Início 16 17 18 19 prog.c 15 25 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 26. Alocação Indexada (Nó-I)   Desvantagem: Se o arquivo for pequeno, gasta-se um bloco por índice   Solução: índices encadeados (vários níveis) ➼  Os primeiros endereços são armazenados no próprio nó- i  arquivos pequenos ➼  Um dos endereços apontados pelo nó-i é o endereço do bloco indireto simples, que aponta para endereços do arquivo no disco ➼  Outro apontador do nó-i é para o bloco indireto duplo, que contém uma lista de blocos de endereço simples ➼  Existe ainda o bloco indireto triplo 26 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 27. Implementação de Diretórios   Para abrir um arquivo o SO usa o nome do caminho para localizar sua entrada no diretório   Dependendo do sistema, tal entrada fornece informações do tipo: ➼  endereço do bloco (alocação contígua) ➼  número do primeiro bloco (alocação com listas ligadas) ➼  número do nó-i relativo ao arquivo (alocação indexada)   Outro aspecto a ser considerado é onde os atributos dos arquivos devem estar armazenados: diretamente na entrada do diretório ou nos nós-i, no caso dos sistemas que usam alocação indexada 27 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 28. Diretórios no MS-DOS Setor primário de boot Partição 1 Partição 2 Partição 3 Part. 4 Tab. de alocação Setor secundário Diretório-raiz de arquivos de boot ≈ ≈ FAT Cópia opcional Blocos de dados da FAT   Setor de boot: ➼  começa com um desvio incondicional para código de boot ➼  lista de parâmetros: no de bytes por setor, no de setor por bloco, no de arquivo na tabela de alocação, tamanho do diretório raiz, ... ➼  Tabela de partição (máximo 4): uma deve ser ativa 28 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 29. Diretórios no MS-DOS 8 3 1 10 2 2 2 4 Nome do arquivo Tamanho Extensão Reservado Data Atributos Hora Número do 1o bloco   Nome e extensão: o ponto não é armazenado   Atributos: contém os seguintes bits ➼  A - 1 quando arquivo é modificado ➼  D - 1 quando for diretório ➼  V - 1 quando for nome do volume ➼  S - 1 arquivo do sistema ➼  H - 1 arquivo escondido ➼  R - 1 arquivo não pode ser escrito   Não se pode ter link  não se pode ter 2 entradas com mesmo número inicial de bloco 29 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 30. Diretórios no UNIX Bloco de ≈ ≈ boot Nós-I Blocos de dados Super -Bloco   Bloco de boot: não é usado pelo UNIX e muitas vezes contém o código de boot   Super-bloco: no de nós-i, no de blocos e início da lista de blocos livres (crítico para o sistema)   Nós-i: atrib. do arquivo mais a localização dos blocos   Blocos de dados: armazenam arquivos e diretórios 30 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 31. Diretórios no UNIX 2 14 ou 255 (dependendo da versão) No do nó-i Nome do arquivo   Os atributos não estão armazenados na entrada do diretório, mas no nó-i   Ex.: /usr/enfz/mbox Diretório raiz Nó-i 6 Bloco 132: /usr Nó-i 30 Bl. 406: /usr/enfz 1 . Modo 6 . Modo 30 . 1 .. Tamanho 1 .. Tamanho 6 .. 4 bin Tempos 19 ast Tempos 64 Prog1.c 7 dev 132 30 enfz 406 92 books 14 Arq.txt 51 lff 60 mbox 9 etc 26 lgsj 81 minix 6 usr usr está no 45 rcmp /usr/enfz está 17 src 8 tmp bloco 132 Procura /usr/enfz no bloco 406 Procura usr Obtém nó-i 30 Procura /usr/enfz/mbox Obtém nó-i 6 Obtém nó-i 60 31 Sistemas Operacionais Eduardo Nicola F. Zagari
  • 32. Diretórios no UNIX Nó-i Modo Contador de ligações Uid Gid Tamanho do arquivo Tempos End dos primeiros 10 blocos de disco Indireto único Indireto duplo Indireto triplo Bloco Indireto Triplo Bloco Indireto Duplo Bloco Indireto Único 32 Sistemas Operacionais Eduardo Nicola F. Zagari