Gerenciamento de E/S e Sistemas de Arquivos em SO

Classificado em Computação

Escrito em em português com um tamanho de 6,56 KB.

Gerenciamento de Entrada/Saída (E/S)

Tipos de Dispositivos

Dispositivo de Bloco: É aquele que armazena informação em blocos de tamanho fixo, cada um com seu próprio endereço. Ex.: Discos e fitas magnéticas.

Dispositivo de Caractere: Envia ou recebe um fluxo de caracteres sem considerar qualquer estrutura de bloco. Ex.: Impressoras, mouse, placa de rede.

Controladores e Comunicação

Comunicação CPU-Controlador

A CPU pode se comunicar com um controlador para efetuar uma transferência de E/S por meio da placa controladora (controlador). O controlador tem alguns registradores usados para comunicação com a CPU.

Controladores de Dispositivos

Consiste em um componente mecânico e eletrônico. O trabalho do controlador é converter o fluxo serial de bits em um bloco de bytes e executar toda a correção de erro necessária.

Barramentos

PCI Express: Mantém compatibilidade em software com o atual barramento PCI. A principal diferença do barramento PCI Express sobre o PCI tradicional está no tipo de comunicação.

Barramento AGP: A principal vantagem do barramento AGP é o uso de uma maior quantidade de memória para armazenamento de texturas para objetos tridimensionais, além da alta velocidade no acesso a essas texturas para aplicação na tela.

Device Drivers

Cada dispositivo de E/S ligado ao computador precisa de algum código específico do dispositivo para controlá-lo.

Vantagem: Um novo periférico pode ser ligado a um computador sem que o desenvolvedor do SO tenha que fornecer o código de suporte do periférico.

Otimização de E/S

Escalonamento de E/S

O escalonamento de um conjunto de pedidos de E/S requer a sua ordenação adequada por cada fila de espera de um dispositivo.

Buffering

Um buffer é uma zona de memória que guarda dados enquanto estes são transferidos entre dois dispositivos ou entre um dispositivo e uma aplicação. Funções:

  • Suportar dispositivos com diferentes velocidades de transferência de dados.
  • Suportar dispositivos com diferentes tamanhos de transferência de dados.
  • Manter a “semântica de cópia”.

Caching

Memória rápida que guarda cópia de dados para impedir acessos excessivos ao dispositivo de E/S.

Spooling

Um spool é um buffer que armazena saída para um dispositivo, como uma impressora, que não pode aceitar fluxos de dados intercalados.

Tratamento de Erros

O sistema operacional pode recuperar falhas de leitura e de escrita transitórias, e até mesmo de dispositivo indisponível.

Sistemas de Arquivos

Estrutura de Arquivos

Define como os dados são organizados dentro de um arquivo:

  • Sequência de bytes: O sistema operacional desconhece e não trata o conteúdo do arquivo.
  • Sequência de registros: Neste modelo, o arquivo é uma sequência de registros de comprimento fixo com uma estrutura interna.
  • Árvore: Consiste em uma árvore de registros.

Métodos de Acesso

Acesso Sequencial: Nesta modalidade de acesso, um processo deverá acessar sequencialmente todos os bytes ou registros do arquivo na ordem em que se encontram. Portanto, para acessar um determinado registro, este deverá ler todos os anteriores, a partir de seu início.

Acesso Randômico: O acesso randômico possibilita a localização de um determinado conteúdo do arquivo sem qualquer ordem pré-estabelecida.

Gerenciamento de Espaço Livre

O sistema operacional deve manter o controle de quais áreas ou blocos no disco estão livres, o que pode ser feito através de uma lista ou tabela (mapa de bits).

Métodos de Alocação

Alocação Contígua

  • Consiste em armazenar um arquivo em blocos sequencialmente dispostos no disco.
  • O sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos.
  • Problemas: Alocação de espaço livre para novos arquivos, pois, caso um arquivo deva ser criado com n blocos, é necessário que exista uma cadeia de n blocos contíguos livres.

Alocação Encadeada (Ligada)

  • Um arquivo pode ser organizado como um conjunto de blocos ligados logicamente no disco, independentemente da sua localização física.
  • Problemas: Fragmentação de arquivos; tempo de acesso; desperdício de espaço nos blocos para armazenar ponteiros.

Sistemas de Arquivos Específicos

Sistema FAT (File Allocation Table)

Divide o disco em pequenos blocos. Um arquivo é guardado em vários blocos, daí a necessidade de uma tabela (FAT) indicando cada bloco.

Formatação Física: Processo que divide os discos em trilhas e setores (geralmente 512 bytes).

Formatação Lógica: É a instalação do sistema de arquivos no dispositivo de armazenamento.

No FAT32, o sistema consegue posicionar o diretório principal em qualquer lugar do disco. No FAT16, havia uma limitação no diretório principal de 512 arquivos e/ou pastas. O FAT32 pode mudar o tamanho da partição sem perder dados.

Sistema VFAT

Utilizado no Windows 95, tem as mesmas características do FAT, porém pode utilizar nomes longos (até 255 caracteres).

NTFS (New Technology File System)

Desenvolvido para superar os problemas de segurança dos sistemas FAT.

Características do NTFS:

  • Tolerante a falhas: Permite que o SO recupere-se de problemas sem perder informações (journaling).
  • Recursos de rede: Suporte a compartilhamento, gerenciamento de usuários, permissões de acesso e uso de RAIDs.

EXT3

Journaling: Possui a capacidade de acompanhar as mudanças que são feitas no sistema de arquivos (gravações, atualizações de dados) antes que realmente sejam efetivadas, aumentando a robustez.

UFS (Unix File System)

  • O sistema de arquivos do Unix é baseado em uma estrutura de diretórios em árvore.
  • Não existe uma dependência entre a estrutura lógica dos diretórios e o local onde os arquivos estão fisicamente armazenados. Desta forma, é possível adicionar novos discos ao sistema de arquivos sempre que necessário.

Entradas relacionadas: