Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória, ES Brazil 1
Revisão Aula Passada Sistemas de Computação Parte 1: Conceitos Aplicativos; Software Básico: Sistemas Operacionais. 2
É responsável pela execução de diversas operações importantes: Execução de Boot (Bootstrap); Gerência de Processos (ou Tarefas); Escalonamento de Processos (ou Tarefas); Comunicação entre processos; Gerência de Memória; Gerência de Arquivos; Gerência de E/S (I/O); Sistema de Proteção; Interpretação de comandos. 3
Gerência de Arquivos: Como uma das funções do sistema operacional é deixar transparente o aceso aos recursos (entre eles o disco!); São necessárias a criação de chamadas de sistema para facilitar o acesso aos arquivos gravados no disco; Para guardar organizadamente os arquivos, vários sistemas operacionais utilizam o conceito de diretório (pastas); Cada arquivo dentro desta hierarquia de diretórios pode se acessado fornecendo-se o caminho (path name) a partir do topo da hierarquia, chamado de diretório raiz; 4
Gerência de Arquivos: Os dispositivos de memória secundária armazenam dados de maneiras variadas, e geralmente são divididos geralmente em porções menores; Os discos rígidos (HDs) são divididos em cilindros, trilhas e setores; A gravação se dá de forma aleatória e nem sempre é totalmente sequencial; Assim SO necessita gerenciar o acesso a estes dados e para isso há diversos sistemas de arquivos; Apesar do armazenamento ser diferente, os dispositivos flash (SSDs, pen drives, etc.), por serem uma tecnologia mais recente são também gerenciados por esses mesmos sistemas de arquivo; 5
FAT 16 (File Allocation Table): Usado no MS-DOS; Funciona por meio de uma Tabela de Alocação de Arquivos, na qual é feito um mapa de utilização do disco; Na FAT 16 existem várias posições que podem ser endereçadas, e cada posição endereçada usa um endereço de 16 bits; Sabendo-se que cada setor do HD possui 512 bytes, isso limitaria os HDs a 32MB de capacidade; Por isso a FAT 16 trabalha com o sistema de clusters (conjuntos de setores) e não de setores; 6
Endereçamento FAT 16 usando setores (limitado): 7
Endereçamento da FAT 16 utilizando clusters de tamanhos variados (capacidade do MS-DOS): 8
FAT 32 (File Allocation Table): Por causa do desperdício de espaço provocado pelo sistema FAT 16, que só era capaz de endereçar HDs de até 32MB, criou-se o FAT 32, o que ocorreu juntamente com o lançamento do Windows 95; O Windows 95 também trabalhava com FAT 16, para efeito de compatibilidade; Com o aumento no número de bits de endereçamento de 16 para 32 bits, os clusters se tornaram menores reduzindo o problema, mas sem de fato eliminá-lo; Porém o FAT 32 é pelo menos 6% mais lento que o FAT 16, porque aumentou-se o número de clusters; 9
Endereçamento da FAT 32 utilizando clusters de tamanhos variados (capacidade do Windows 95): 10
FAT 12 (File Allocation Table): Primeiro sistema de arquivos usado em PCs e usado pelo MS-DOS; Criado em 1981 e usados nos IBM-PCs; Usado na formatação dos antigos disquetes; Na FAT 12 existem várias posições que podem ser endereçadas, e cada posição endereçada usa um endereço de 12 bits; Permitia uma capacidade máxima de 16 MB com clusters de 512 bytes; Não permitia mais de um arquivo por cluster. 11
HPFS (High Performance File System): Usado no OS/2, resolveu o problema de desperdício; O OS/2 foi criado pela IBM depois de um desentendimento com a Microsoft, e com ele surgiu o HPFS, que era muito superior aos sistemas FAT usados no Windows 95; Porém o OS/2 não vingou e com ele foi-se também o HPFS; O OS/2 também possuía um sistema chamado Super FAT, que era um FAT 16 melhorado e também não vingou; Atualmente somente o Linux dá suporte a este sistema de arquivos; 12
HPFS (High Performance File System): As entradas de diretório mantêm mais informações do que o FAT, isso inclui informações sobre as datas e horas de modificação, criação e acesso; Ao invés de apontar para o primeiro cluster de arquivos, as entradas de diretório no HPFS apontam para o FNODE; O FNODE pode conter os dados do arquivo ou ponteiros que podem apontar para os dados de arquivo ou outras estruturas que irão eventualmente apontar para os dados de arquivos; 13
HPFS (High Performance File System): Usa Super Bloco, que está localizado em um setor lógico 16 e contém um ponteiro para o FNODE do diretório raiz; Falhas no Super Bloco causam perda completa da partição; O Bloco de Reposição está localizado no setor 17 e contém uma tabela de "hot fixes" e o Bloco de Diretório de Reposição; Quando um setor danificado é detectado, a entrada "hot fixes" é usada para apontar logicamente para um setor íntegro existente no local do setor danificado; Esta técnica para lidar com erros de gravação é conhecida como hot fixing. 14
NTFS (New Technology File System): Usado pelo Windows NT e posteriormente por todas as outras versões de Windows; É mais antigo do que se imagina, tendo sido projetado na década de 80; Foi criado para resolver as limitações de endereçamento e de desperdício de espaço; Pode endereçar os clusters com endereços de 64 bits o que resulta em 18 bilhões de clusters; Permite clusters de 512 bytes, o que corresponde ao mesmo tamanho dos setores; 15
NTFS (New Technology File System): Apesar do padrão de tamanho dos clusters ser de 4k, é permitido particionar o HD com o tamanho que se desejar; O NTFS continua a organizar arquivos em diretórios, que, como o HPFS, são classificados; No entanto, diferente do FAT ou HPFS, não há objetos "especiais" no disco e não há dependência no hardware adjacente, como setores de 512 bytes; Além disso, não há localizações especiais no disco, como tabelas FAT ou Super Blocos HPFS; 16
NTFS (New Technology File System): Utiliza Unicode ao invés de código ASCII; Possui um log de operações realizadas, chamado LFS (Log File Service), que permite a recuperação de arquivos e correção de problemas; Também permite Hot fixing ; Permite estabelecer permissões de acesso para arquivos ou pastas; No NTFS a MTF (Master File Table) substituiu a FAT, para armazenar as localizações dos arquivos e diretórios, porém este mapeamento é deveras diferente; 17
NTFS 5: O NTFS evoluiu para o NTFS 5, que permite uma série de outros recursos, dentre eles os mais conhecidos são:» Compactação de pastas e arquivos individualmente;» O recurso de criptografia chamado de EFS (Encripting File System). 18
Até agora, vimos que existem vários sistemas de arquivos, e que geralmente os sistemas operacionais são compatíveis com um ou mais deles; Como então instalar o Windows 95 e o Windows NT ou mesmo o Windows 98 e o Linux no mesmo disco rígido? Partições. 19
Partições: Pode-se dividir o disco rígido em unidades menores, chamadas de partições, cada uma passando a ser propriedade de um sistema operacional; Do ponto de vista do sistema operacional, cada partição é uma unidade separada, quase como se houvessem dois ou três discos rígidos instalados na máquina; Para que o Boot ocorra corretamente é necessário ativar o Gerenciador de Boot (Boot Manager), que permite a escolha do SO por meio de uma lista de SOs instalados. 20
Gerência de E/S (I/O): Uma das funções do Sistema Operacional mais importantes para o usuário é ocultar as peculiaridades do manuseio dos dispositivos; É muito provável que um programa necessite de usar algum dispositivo de E/S, e para dispositivos específicos pode haver funções específicas, os quais não são acessíveis diretamente pelo usuário como forma de proteção; O manuseio dos dispositivos é desempenhado por um subsistema que possuem as seguintes características: Um componente de gerência de memória; Uma interface geral de driver do dispositivo; Drivers para dispositivos específicos. 21
Sistema de Proteção: A multiprogramação foi um dos grandes avanços na busca por melhorar o desempenho dos sistemas computacionais; Entretanto, o fato de permitir o compartilhamento de recursos introduziu também uma série de pontos de conflitos; Foram necessários mecanismos para gerenciar seu uso, assim como proteger o uso dos dispositivos que inclui espaço em memórias (primária e secundária) e CPU; Um programa só pode usar o seu próprio espaço de endereçamento; 22
Sistema de Proteção: O esquema de proteção também inclui a autenticação de usuário e os recursos que tem direito de usar; Esta proteção também é importante para detectar erros evitando que eles se propaguem. 23
Interpretação de comandos: O interpretador de comandos permite que determinados comandos com parâmetros específicos possam ser executados pelo usuário; A sintaxe dos comandos é específica para cada SO; Estes comandos são enviados ao SO geralmente por um console de comandos, conhecido como Shell ou Command Prompt; Na década de 60 a interface dos SOs era feita primariamente apenas por meio do Shell; Mas nas décadas seguintes, gradativamente as interfaces gráficas tomaram lugar do Shell na interface com o usuário; Porém ainda hoje o shell está mantido, pois permite operações diretas ao SO. 24
Próxima Aula Sistemas de Computação: Prazo final (próxima aula) para entrega do exercício de simulação da aula passada para garantir sua pontuação de laboratório. Continua na próxima aula! Até breve. 25
http://nemo.inf.ufes.br/ 26