O documento discute os principais tópicos da gerência de arquivos em sistemas operacionais, incluindo estruturas de diretórios hierárquicos, atributos e operações com arquivos, formatos comuns e extensões de nome de arquivo.
2. Ementa da disciplina
Estruturas de Sistemas operacionais;
Sistemas multiprogramáveis;
Gerência de processos;
Gerência de memória física;
Gerência de memória virtual;
Gerência de sistemas de arquivos;
Gerenciamento de dispositivos;
Segurança e proteção;
Introdução aos sistemas operacionais distribuídos.
2
3. Bibliografia básica
Sistemas operacionais: Projeto e
implementação. Andrew S. Tanenbaum; Albert
S. Woodhull;
Sistemas operacionais: Conceitos e aplicações.
Abraham Sílberschatz; Peter Galvin; Greg
Gagne;
Arquitetura de sistemas operacionais. Francis B.
Machado, Luiz Paulo Maia.
3
4. Gerência de arquivos 4
Sistema
operacional
Gerência do
processador
Gerência de
memória
Gerência de
arquivos
Gerência de
dispositivos
Interface
gráfica
Gerência de
proteção
Outros
suportes
Suporte de
rede
5. Gerência de arquivos
Desde o início da computação, percebeu-se a necessidade de
armazenar informações para uso posterior. Exemplo: programas,
dados, etc;
Atualmente, uma das principais funcionalidades de um computador
é referente ao armazenamento e recuperação de informações,
como documentos, fotografias, vídeos, etc;
O próprio S.O. armazena informações para uso posterior. Exemplo:
bibliotecas, configurações, etc;
Essas informações devem ser armazenadas em dispositivo NÃO-
VOLÁTIL.
5
6. Gerência de arquivos - Arquivo
ARQUIVO: 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;
Do ponto de vista do usuário e das aplicações, o arquivo é a
unidade básica de armazenamento de informação em um
dispositivo não-volátil;
Arquivos são extremamente versáteis em conteúdo e capacidade.
Podem conter:
Texto ASCII;
Imagem;
Vídeo;
Etc.
6
7. Gerência de arquivos
Como um dispositivo de armazenamento pode conter milhões de
arquivos, estes são organizados em estruturas hierárquicas
chamadas DIRETÓRIOS;
A organização física e lógica dos arquivos e diretórios dentro de um
dispositivo de armazenamento é denominada de SISTEMA DE
ARQUIVOS;
Um Sistema de Arquivos pode ser visto como uma imensa estrutura
de dados armazenada de forma persistente em um dispositivo
físico;
Existem vários sistemas de arquivos, como: (?)
7
8. Gerência de arquivos
Como um dispositivo de armazenamento pode conter milhões de
arquivos, estes são organizados em estruturas hierárquicas
chamadas DIRETÓRIOS;
A organização física e lógica dos arquivos e diretórios dentro de um
dispositivo de armazenamento é denominada de SISTEMA DE
ARQUIVOS;
Um Sistema de Arquivos pode ser visto como uma imensa estrutura
de dados armazenada de forma persistente em um dispositivo
físico;
Existem vários sistemas de arquivos, como: NTFS, Ext2/Ext3/Ext4,
HPFS, FFS, FAT, etc.
8
10. Gerência de arquivos - Atributos
Cada arquivo é caracterizado por um conjunto de atributos, que
podem variar com o Sistema de Arquivos utilizado. Os mais comuns
são:
Nome: string de caracteres que identifica o arquivo para o usuário:
“vídeo2.wmv”, “naoabra.jpg”, “curriculum.pdf”, etc;
Tipo: Indicação do formato dos dados contidos no arquivo. Muitos
sistemas operacionais utilizam parte do nome do arquivo para
identificar seu tipo, na forma de uma extensão: “.doc”, “.pdf”, .”exe”,
etc;
Tamanho: Indicação do tamanho do arquivo em bytes ou registros;
Datas: Armazenamento das datas mais importantes – Criação,
modificação, etc;
10
11. Gerência de arquivos - Atributos
Continuação atributos
Proprietário: Em sistemas multiusuários, cada arquivo possui um
proprietário, que deve ser identificado;
Permissões de acesso: Indicam os usuários e as permissões dos mesmos
sobre o arquivo (leitura, escrita, etc);
Localização: Indicação do dispositivo físico onde o arquivo se encontra
e da posição do arquivo no mesmo;
Outros.
Nem sempre os atributos oferecidos pelo sistema de arquivos são
suficientes para exprimir todas as informações a respeito de um
arquivo. Nesse caso, o usuário pode “resolver” usando o nome do
arquivo para exprimir a informação desejada, como: “texto-
vers1.doc”, etc.
11
12. Gerência de arquivos - Operações
O uso dos arquivos no Sistema Operacional é realizado através de um
conjunto de OPERAÇÕES, geralmente implementadas sob a forma de
chamadas de sistema e funções. As operações básicas são:
Criação;
Abertura;
Leitura;
Escrita;
Mudança de atributos;
Fechamento;
Remoção.
Outras operações relacionadas: truncar, copiar, mover, renomear.
12
13. Gerência de arquivos - Formatos
Um arquivo, em sua forma mais simples, contém basicamente uma
sequência de bytes;
Essa sequência de bytes pode estar estruturada de diversas formas,
para representar diferentes tipos de informação;
O formato ou estrutura interna de um arquivo pode ser definido e
reconhecido por:
Núcleo interno do Sistema Operacional: binários, bibliotecas, etc;
Pelas aplicações: doc, pdf, jpg, etc.
13
14. Gerência de arquivos - Formatos
Os arquivos convencionais são estruturados pelas aplicações para
armazenar os diversos tipos de informações: imagens, sons,
documentos, etc;
Uma aplicação pode definir um formato próprio ou seguir formatos
padronizados:
Formatos públicos: JPG, GIF, PDF, PNG, TIFF, etc;
Formatos proprietários: PSD, XCF, etc.
14
16. Extensões
Um arquivo de dados pode ser visto como uma sequência de
bytes;
A estratégia de definir a extensão do arquivo no nome foi adotada
nos anos 80 pelo Sistema Operacional DOS
Arquivos nomeados com a abordagem “8.3”;
Outra abordagem usada em sistemas UNIX é o uso de bytes no
início do arquivo para definição de seu tipo: números mágicos.
16
17. Extensões
Recentemente, a necessidade de transferir arquivos através de
páginas WEB e emails, levou à definição de um padrão conhecido
como TIPOS MIME (Multipurpose Internet Mail Extensions)
17
22. Arquivos de texto
Arquivos de texto é um tipo muito frequente no Sistema de
Arquivos;
Armazena informações textuais simples:
Código-fonte;
Páginas HTML;
XML;
Etc.
É formado por uma sequência de caracteres ASCII de tamanho
variável separado por caracteres de controle.
22
24. Arquivos de texto
Nos sistemas UNIX as linhas são separadas por um caractere New
Line (ASCII 10 ou “n”);
Nos sistemas DOS/Windows, as linhas são separadas por dois
caracteres:
Carriage Return (ASCII 13 ou “r”)
New Line (ASCII 10 ou “n”)
Essa diferença pode causar problemas em arquivos trocados entre
os sistemas, caso não seja feita a devida conversão.
24
26. Arquivos executáveis
Um arquivo executável é dividido internamente em várias seções,
para conter código, tabela de símbolos, variáveis, funções,
dependências, etc.
A organização interna de um arquivo executável depende do
Sistema Operacional para o qual foi definido.
Os formatos mais populares atualmente:
ELF (Executable and Linking Format): usado para programas
executáveis e bibliotecas na maior parte das plataformas UNIX
modernas;
PE (Portable Executable): usado para executáveis e bibliotecas na
plataforma Windows.
26
28. Arquivos especiais
O conceito de arquivo é ao mesmo tempo simples e poderoso;
Isso motivou a sua utilização quase de forma universal;
Além do armazenamento de código e dados, arquivos também
podem ser usados como:
Abstração de dispositivos de baixo nível;
Abstração de interfaces de núcleo.
28
29. Abstração de dispositivos de baixo
nível
Os sistemas UNIX costumam mapear as interfaces de acesso de
vários dispositivos físicos em arquivos dentro do diretório /dev
(devices)
/dev/ttyS0: porta de comunicação serial COM1;
/dev/áudio: placa de som;
/dev/sda1: primeira partição do primeiro disco SCSI (ou SATA).
29
30. Abstração de interfaces do núcleo
Em sistemas UNIX, os diretórios /proc e /sys permitem consultar e/ou
modificar informações internas do núcleo do Sistema Operacional,
processos em execução, drivers, etc;
/proc/cpuinfo: informações sobre os processadores disponíveis no
sistema;
/proc/3754/maps: disposição das áreas de memória alocadas para o
processo cujo identificador (PID) é 3754;
/sys/block/das/queue/scheduler: definição da política de
escalonamento de disco a ser usada no disco /dev/das.
30