Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 37 Quando usamos o computador e introduzimos informações, seja em forma de texto ou em forma de dados, precisamos ter a garantia de que quando o desligarmos nossas informações permanecerão salvas, ou seja, gravadas em memória não volátil para que, em momentos futuros, possamos alterar ou atualizar os dados que foram inseridos. Para qualquer tipo de sistema é primordial executar funções como armazenamento, ou recuperação de informações, além de executar tarefas como ler e gravar grande volume de dados em dispositivos como discos e fi tas e ainda serem capazes de compartilhar com outros processos. Aula 04 SISTEMA DE ARQUIVOS Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 38 Por isso precisamos de recursos de armazenamento por um longo período de tempo e isso não é possível através da memória principal, mesmo porque esses arquivos têm um tamanho relativamente bem maior que a memória principal possa suportar e essa memória, além de ter uma alta capacidade de armazenamento, precisa ser não volátil. Para que isso seja possível existem memórias secundárias como os discos rígidos, CD´s, fi tas, Pen-drivers etc. As informações que são produzidas pelo usuário são salvas e essas informações são organizadas pelo sistema operacional através de arquivos. A parte do sistema operacional que faz o gerenciamento é chamada de gerenciamento de arquivos e existem alguns requisitos importantes são apontados para esse tipo de armazenamento que são: a possibilidade de armazenar uma grande quantidade de informação, o fato de que essa informação tem que permanecer na memória, ao término do programa que a usa múltiplos processo devem ser capazes de acessar a informação concorrentemente. Ao longo dos anos os discos passaram a dominar o armazenamento de informações que precisam ser utilizadas por um período de tempo, tínhamos também os discos e fi tas que foram utilizados por muito tempo, que por causa de seu baixo desempenho, foram fi cando em segundo plano, pois as operações de gravação e leitura nesses mecanismos são muito lentas. Cada sistema operacional tem o seu sistema de arquivo, o qual é um conjunto de estruturas lógicas e de rotinas que faz com que o sistema operacional controle o acesso a discos. Quando um processo cria uma arquivo, ele dá nome a esse arquivo, assim que esse processo termina, esse arquivo continua existindo para que outros processos possam ter acesso a ele, esses processos acessam esses arquivos buscando pelo nome. Trata-se de sistemas operacionais diferentes com objetivos diferentes, portanto, eles tem sistemas de gerenciamento de arquivos diferentes. Um exemplo é a diferença entre os sistemas Windows que têm a fi nalidade de ser de uso doméstico (tem como prioridade a facilidade de uso e a compatibilidade) e os sistemas baseados no Unix, os quais, por sua vez, têm como prioridade a estabilidade e a segurança. Um arquivo é formado por informações que são logicamente interligadas, já que informações que estão contidas em um arquivo podem ser instruções ou um conjunto de dados. Um bom exemplo são os arquivos executáveis, também são chamados de aplicativos, esses arquivos contêm instruções que são compreendidas pelo processador, enquanto arquivos de dados podem ser classifi cados como arquivos-texto. A identifi cação de um arquivo é feita através de nomes, por sua vez esse nome é formado por uma cadeia de caracteres (strings), essa cadeia de caracteres podem fazer uma distinção entre as letras MAIUSCULAS e minúsculas, portanto, se os nomes Maria, MARIA e maria forem utilizados teremos três arquivos distintos, em alguns sistemas operacionais, mas existem sistemas que não fazem essa distinção então os nomes Maria, MARIA e maria são considerados como sendo o mesmo arquivo, isto é, existe um arquivo chamado maria. Outras regras como a extensão máxima no nome e quais caracteres que são válidos podem variar de acordo com o sistema operacional. Atualmente todos os sistemas operacionais Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 39 permitem cadeias de caracteres de uma até oito letras como nomes válidos de arquivos. Por exemplo, maria, marcos e lima são possíveis nomes de arquivos. São permitidos também alguns caracteres especiais, isso torna válido também nomes como 5, atenção! . Muitos sistemas permitem que sejam criados arquivos com nomes que contenham até 255 caracteres. TIPOS DE ARQUIVO Muitos sistemas operacionais consideram nome de arquivos com duas partes separadas por um “ . “ (ponto) como, por exemplo “aula.doc”. A parte que vem logo em seguida ao ponto é chamada de extensão do arquivo que sempre indica algo sobre o arquivo. Em alguns sistemas operacionais, por exemplo, os nomes de arquivo têm uma certa quantidade de caracteres seguidos da extensão que por sua vez é opcional de um a três caracteres. Em outros sistemas operacionais a extensão fi ca a critério do usuário, esse nome de arquivo pode ou não ter uma extensão e esse arquivo pode ter mais de uma extensão, como por exemplo: dados.cadastro. fdb.zip indica que é uma arquivo de dados.cadastro.fdb foi comprimido usando o programa zip. Veja algumas das extensões de arquivos mais comuns e seus signifi cados na tabela 3. Alguns sistemas operacionais consideram as extensões apenas para informar ao usuário o tipo do arquivo, tal como nome.txt, que pode ser algum tipo de arquivo-texto e não para que seja passada alguma informação real ao computador. Mas existe o porém de o compilador “C” exigir que os arquivos a serem compilados terminem com .c, caso isso não ocorra o compilador pode recusar a compilá-lo. Relações como essas das extensões de arquivos podem ser muito úteis, pois ao selecionar e executar arquivo o sistema se encarrega de selecionar o aplicativo relacionado a esse tipo de arquivo. EXTENSÃO SIGNIFICADO .bak Cópia de segurança .c Código-fonte de um programa em C .gif Imagem no formato Graphical InterchangeFormat .hlp Arquivo de ajuda .html Documento em HTML .jpg Imagem codifi cada segundo padrões JPEG .mp3 Música codifi cada no padrão MPEG (camada 3) .mpg Filme codifi cado no padrão MPEG .o Arquivo objeto (gerado por compilador ainda não ligado) .pdf Arquivo no formato PDF (Portable Documento File) .ps Arquivo PostScript .txt Arquivo texto .zip Arquivo compactado Tabela 3 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 40 ORGANIZAÇÃO DE ARQUIVOS Organização de arquivos pode ser defi nida como uma sequência não-estruturada de bytes, onde o sistema de arquivos não coloca nenhuma estrutura lógica para dados. O aplicativo tem a incumbência de defi nir toda a organização, e ela está livre para estabelecer os seus próprios critérios. Essa estrutura tem a grande vantagem da fl exibilidade para criar diferentes estruturas de dados. Alguns sistemas operacionais são compostos por diferentes organizações de arquivos. Portanto cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivo. As organizações mais conhecidas e implementadas são a sequencial, a relativa e a indexada mostradas na fi gura 8. Com esses tipos de organizações, pode-se visualizar um arquivo como um conjunto de registros. Esses registros podem ser classifi cados em registros de tamanho fi xo, quando forem do mesmo tamanho, ou registros de tamanho variável. Byte Beatriz Sonia Pedro Maria Carla Celina Carol Eliza Alice Elke Flavia Registro Organização não-estruturada Organização de arquivos Organização indexada TIPOS DE ACESSO No início os sistemas só tinham um método para acessar os arquivos, esse método de acesso permitia apenas a leitura de arquivos em sequência, ou seja, se houvesse a necessidade de ler uma arquivo que estivesse na posição fi nal, era necessário passar por todos os arquivos que estivessem nas posições antecedentes ao que seria lido, e para gravar algum registro também só era possível ser gravado em sequência, ouseja, no fi nal do arquivo. Nesses tempos Figura 8 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 41 era muito utilizado o mecanismo de armazenamento chamado de fi ta que utiliza a forma de armazenamento sequencial. Com o surgimento dos discos, tornou-se possível a leitura de arquivos de modo aleatório, desse modo o arquivo é lido direto na posição em que ele se encontra, tornando assim o acesso mais rápido e dinâmico, esse tipo de acesso pode ser chamado de acesso direto. Com a aplicação do esquema de acesso direto em conjunto com o acesso sequêncial, torna-se possível acessar um registro de um arquivo diretamente e, a partir desse, acessar sequencialmente os demais. Um método mais sofi sticado já implementado e que tem como base o acesso direto é chamado de acesso indexado ou acesso por chave. Como um dos nomes já sugere, para esse tipo de acesso o arquivo deve possuir uma área de índice onde existam ponteiros para diversos registros. Sempre que uma aplicação tiver que acessar um registro, deverá ser especifi cada uma chave, aí através dela o sistema pesquisará na área de índice o ponteiro correspondente. Através dessa informação é feito o acesso direto ao registro desejado. Veja um exemplo na fi gura 9: Deslocamento de dois registros Registro 0 Registro 1 Registro 2 Registro n Cada arquivo deverá ter uma área de índice onde existam ponteiros para diversos registros. ATRIBUTOS Todos os arquivos possuem um nome. Eles também possuem dados que são gravados em disco e os sistemas operacionais ainda associam mais algumas particularidades pertencentes aos arquivos, tais como data e a hora em que o arquivo foi criado, data e hora da última alteração. Essas particularidades são chamadas de atributos do arquivo, algumas pessoas os chamam de metadados. Esses atributos variam, de acordo com o sistema operacional, na tabela 4 está sendo listados alguns atributos de arquivo, nenhum sistema operacional dispõe de todos esses atributos, mas cada um deles pode estar presentes em vários sistemas operacionais. Figura 9 Atributo Signifi cado Proteção Quem tem acesso ao arquivo e de que modo. Senha Necessidade de senha para acesso ao arquivo Criador ID do criador do arquivo Proprietário Proprietário atual Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 42 Flag de somente leitura P para leitura/escrita; 1 para somente leitura Flag de oculto 0 para normal; 1 para exibir o arquivo Flag de sistema 0 para arquivos normais; 1 para arquivos de sistema Flag de arquivamento O para arquivos com backup; 1 para arquivos sem backup Flag de ASCII/binário 0 para arquivos ASCII; 1 para arquivos binário Flag de acesso aleatório O para acesso somente seqüencial; 1 para acesso aleatório Flag de temporário 0 para normal; 1 para apagar o arquivo ao sair do processo Flag de travamento 0 para destravados; diferente de 0 para travados Tamanho do registro Número de bytes em registro Posição da chave Posição da chave em cada registro Tamanho do campo chave Número de bytes no campo-chave Momento de criação Data e hora de criação do arquivo Momento do último acesso Data e hora do último acesso do arquivo Momento da última alteração Data e hora da última alteração do arquivo Tamanho atual Número de bytes do arquivo Tamanho máximo Número máximo de bytes no arquivo Existem atributos que são para a segurança do arquivo, ou seja, foram criados para proteger o arquivo. Esses atributos informam quem pode acessar e quem não pode e em determinados sistemas o usuário é obrigado a apresentar uma senha para que possa ter acesso ao arquivo. As fl ags são pequenos campos que são usados para controlar ou habilitar alguma característica mais específi ca, um exemplo é a fl ag de oculto, ela sinaliza para que o arquivo apareça ou não na lista de todos os arquivos. Alguns atributos são chamados de atributos de momento onde é registrado quando o arquivo foi criado, quando foi a última vez que ele foi acessado ou quando ele foi modifi cado pela última vez. Essas informações são de grande utilidade, pois, por exemplo, quando um arquivo- fonte foi modifi cado depois da criação do arquivo-objeto ele precisa ser recompilado. Alguns sistemas operacionais mais antigos exigiam que fosse especifi cado o tamanho máximo do arquivo quando ele fosse criado, o objetivo era reservar a quantidade máxima de memória antes de qualquer operação. Por isso a existência do atributo “tamanho máximo”. DIRETÓRIOS Para controlar e organizar os arquivos logicamente são implementados os diretórios ou pastas como são chamados em alguns sistemas operacionais. Os diretórios têm uma estrutura onde contém entradas associadas aos arquivos. Assim que o arquivo é aberto, o sistema operacional faz a procura de sua entrada na estrutura de diretórios. A implementação feita da forma mais simples é a chamada (sin-gle-level directory), estrutura de diretório de nível único. Como o próprio nome sugere, existe um único diretório que contém todos os arquivos do disco, veja na fi gura 10. Tabela 4 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 43 Identifi cação Proteção Organização Localização Atributos Diretórios Arquivos Esse modelo, apesar de ser muito simples, traz um problema: como ele não permite que usuários criem arquivos com o mesmo nome, isso ocasiona um confl ito no acesso aos arquivos. Como esse modelo de estrutura é muito limitado, a evolução foi desenvolver uma estrutura para que cada usuário tenha o seu diretório particular que é chamado de User File Directory (UFD). Essa estrutura possibilita que cada usuário possa criar arquivos com qualquer nome, sem a preocupação de conhecer os demais arquivos do disco. Nessa estrutura deve existir um nível de diretório adicional para controlar os diretórios individuais do usuário. Esse nível é chamado de Master File Directory (MFD), ele é ligado ao nome do usuário que nele é apontado cada entrada para o diretório pessoal. Veja na fi gura 11 uma estrutura de diretório com dois níveis. Figura 10 Figura 11 Usuário 1 Usuário 2 Usuário 3 Usuário n Master File Directory User File Directory Arquivo 1 Arquivo 2 Arquivo 3 Arquivo 1 Arquivo 1 Arquivo 2 Arquivo 3 Arquivos Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 44 Essa estrutura com dois níveis pode-se dizer que é semelhante a uma estrutura de árvore, observe que o MFD é a raiz e o UFD são os galhos e os arquivos são as folhas. Quando a estrutura se referencia a um arquivo deve-se especifi car além do seu nome a pasta onde ele se encontra. Esta referência é denominada de path (caminho), veja o exemplo na fi gura 12. Usuário 1 Usuário 2 Usuário 3 Usuário n Diretório raiz Diretório 1 Diretório 1 Diretório 2 Arquivo 1 Arquivo 1 Arquivo 1 Arquivo 1 Arquivo 1 Arquivo 1 Arquivo 2 Arquivo 2 Arquivo 2 Com essa estrutura o usuário pode criar diversos diretórios, e nesses diretórios diversos arquivos, com isso os seus arquivos e diretórios poderão fi car mais organizados e haverá uma forma mais rápida de acessar cada arquivo. ATIVIDADES As atividades referentes a esta aula estão disponibilizadas na ferramenta “Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do ambiente de aprendizagem UNIGRANET. Em caso de dúvidas, utilize as ferramentas apropriadas para se comunicar com o professor. Figura 12
Compartilhar