Sistemas de ArquivosTipo de arquivos – Cap 4.1.3
Professor Esp. Diego André Sant’Ana
Disciplina: Sistemas Operacionais II
1
Tipo de arquivos
 Muitos sistemas operacionais dão suporte a vários
tipos de arquivos.
2
Tipo de arquivos
 UNIX e Windows, por exemplo, apresentam
arquivos regulares e diretórios. O UNIX também
tem arquivos especiais de caracteres e de blocos.
3
Tipo de arquivos
 Os arquivos regulares são aqueles que contêm
informação do usuário. Todos os arquivos da
Figura 4.1 são arquivos regulares.
4
Tipo de arquivos
 Os diretórios são arquivos do sistema que
mantêm a estrutura do sistema de arquivos.
5
Tipo de arquivos
 Os
arquivos especiais de caracteres são
relacionados a entrada/saída e usado para
modelar dispositivos de E/S, como terminais,
impressores e redes.
6
Tipo de arquivos
 Os arquivos especiais de blocos são usados para
modelar
discos...
Nosso
interesse
principalmente pelos arquivos regulares.
será
7
Tipo de arquivos
 Arquivos regulares são, em geral, ou arquivos
ASCII ou arquivo binários. Os arquivos ASCII são
constituídos de linhas de texto.
8
Tipo de arquivos
 Em alguns sistemas; cada linha termina com um
caractere de retorno de carro(carrige return). Em
outros , é usado o caractere próxima linha(line
feed).
9
Tipo de arquivos
 Alguns sistemas (por exemplo, MS-DOS) usam
ambos. As linhas não são necessariamente todas
do mesmo tamanho.
10
Tipo de arquivos
 A grande vantagem dos arquivos ASCII é que
podem ser mostrados e impressos como são e
editados com qualquer editor de textos.
11
Tipo de arquivos
 Além disso, se vários dos programas usam
arquivos ASCII para entrada e saída, é fácil
conectar a saída de um programa à entrada de um
outro, como em pipelines do interpretador de
comandos(shell).
12
Tipo de arquivos
 Além disso, se vários dos programas usam
arquivos ASCII para entrada e saída, é fácil
conectar a saída de um programa à entrada de um
outro, como em pipelines do interpretador de
comandos(shell).
13
Tipo de arquivos
 Outro tipo de arquivo é o binário, isto é, aquele
que não é arquivo ASCII. Relacionar um arquivo
desse tipo em uma impressora causaria a
impressão de algo totalmente incompreensível.
14
Tipo de arquivos
 Esses arquivos têm, em geral, alguma estrutura
interna conhecida pelos programas que os usam.
15
Tipo de arquivos
 Esses arquivos têm, em geral, alguma estrutura
interna conhecida pelos programas que os usam.
16
Tipo de arquivos
 Por exemplo, na Figura 4.2(a) vemos um arquivos
binário executável simples de uma versão do
UNIX.
17
Tipo de arquivos
 Embora
tecnicamente o arquivo seja uma
sequência de bytes, o sistema operacional
somente executará um arquivo se ele tiver um
formato apropriado.
18
Tipo de arquivos
 O arquivo possui cinco partes: cabeçalho, texto,
dados, bits de realocação e tabela de símbolos.
19
Tipo de arquivos
 O cabeçalho começa com o chamado número
mágico, que identifica o arquivo como executável
(para impedir a execução acidental de um arquivo
que não seja desse formato).
20
Tipo de arquivos
 Então vem o tamanho das várias partes do
arquivo, o endereço no qual a execução deve
inicializar e alguns bits de sinalização.
21
Tipo de arquivos
 Após o cabeçalho estão o texto e os dados do
programa propriamente ditos, que são carregados
na memória e realocados usando os bits de
realocação. A tabela de símbolos é usada para
depuração.
22
Tipo de arquivos
 Nosso segundo exemplo de arquivo binário é o
repositório (archive), também do UNIX. Ele
consiste em uma coleção de procedimentos de
biblioteca (módulos) compilados, mas não
ligados.
23
Tipo de arquivos
 Cada um deles é prefaciado por um cabeçalho
indicando seu nome, data de criação,
proprietário, código de proteção e tamanho.
24
Tipo de arquivos
 Assim
como nos arquivos executáveis, os
cabeçalhos dos módulos são totalmente
preenchidos com números binários. Envia-los
para a impressora produziria uma completa
confusão.
25
Tipo de arquivos
 Todo sistema operacional deve reconhecer pelo
menos um tipo de arquivo: seu próprio arquivo
executável. No entanto, alguns fazem mais que
simplesmente reconhecê-lo.
26
Tipo de arquivos
 O velho sistema TOPS-20 (do DECsystem 20) foi
tão longe que verificaria qual a data e o horário da
criação de qualquer arquivo que fosse executar.
27
Tipo de arquivos
 Depois ele localizava e verificaria se o arquivo-
fonte havia sido modificado após a criação de seu
correspondente binário.
28
Tipo de arquivos
 Em
caso afirmativo, ele automaticamente
recompilaria a fonte. Em termos de UNIX, é como
se o programa make estivesse embutido no shell.
29
Tipo de arquivos
 As extensões do arquivo eram obrigatórias para
que o sistema operacional pudesse identificar
qual programa binário correspondia a qual fonte.
30
Tipo de arquivos
31
Tipo de arquivos
 Ter arquivos fortemente tipificados, como no
exemplo anterior, causa problemas se o usuário
fizer qualquer coisa que os projetistas do sistema
não esperam.
32
Tipo de arquivos
 Considere, por exemplo, um sistema no qual os
arquivos de saída
(arquivos de dados).
tenham
extensões
.dat
33
Tipo de arquivos
 Se um usuário escreve um programa formatador que
lê um arquivo .c(um programa em C), transforma-o
(por exemplo, convertendo-o para um layout-padrão
de identação ), escreve-o em um arquivo de saída –
um arquivo .dat – e tenta compilar esse arquivo
usando o compilador C, o sistema se recusará, pois ele
terá uma extensão errada.
34
Tipo de arquivos
 As tentativas de copiar o file.dat para file.c serão
rejeitadas pelo sistema e entendidas como
inválidas (para proteger o usuário contra
enganos).
35
Tipo de arquivos
 Enquanto
para os novatos esse tipo de
‘amigabilidade’ ao usuário é útil, para os usuários
experientes, é um obstáculo que terão de se
esforçar consideravelmente para se sobrepor ao
que o sistema operacional considera razoavel.
36
Referências
Tanenbaum, Andrew S.; Tanenbaum, Andrew S.
Operacionais Modernos - 3ª Ed. 2010 Prentice Hall – Br
Sistemas
37
Download

arquivos regulares