Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema...

32
Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto

Transcript of Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema...

Page 1: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Sistemas Operacionais

Sistemas Operacionais

Prof. Marcelo Sabaris Carballo Pinto

Page 2: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Gerencia de Arquivos

Graps

Page 3: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Discos

Sempre são muitos lentos quando comparados com RAM. Entretanto, nem todos os acessos à disco são igualmente "caros". Discos são dipositivos de acesso direto, ao contrário de fitas magnéticas e outros dispositivos que permitem apenas acesso serial (por exemplo, fita magnética), ou seja, um dado não pode ser lido/escrito antes que todos os anteriores o sejam.

Alguns tipos de disco magnético: hard disks: alta capacidade a baixo custo. floppy disks: baratos, lentos, pouca capacidade, mas

portáteis. hard disks removíveis: vantagens de ambos... custo?

Page 4: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Organização dos discos

A informação é gravada em uma ou mais superfícies, e armazenada em trilhas na superfície. Cada trilha é normalmente dividida em setores. Um setor é a menor porção endereçável do disco. Quando um READ precisa de um byte em particular, o S.Op. busca a superfície, trilha e setores corretos, lê para uma RAM especial (buffer), e encontra o byte necessário. Quando o disco é formado por diversos pratos (disk pack), um cilindro éformado pelo conjunto de trilhas na mesma direção. Uma vantagem da organização em cilindros é que toda a informação contida num cilindro pode ser obtida sem movimentação da cabeça de R/W. Essa movimentação, chamada seeking, énormalmente a parte mais lenta da operação de leitura.

Page 5: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto
Page 6: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Interleaving

Durante uma leitura ou escrita, o sector que se pretende aceder é colocado por baixo da cabeça de l/e (através da rotação do disco) e depois o controlador acciona a cabeça de l/e respectiva. Só então os dados do sector são escritos para, ou lidos do, buffer do controlador.

Se, por exemplo, existirem mais dados a ler, os dados que se encontram no buffer, relativos ao sector que acabou de ser lido, têm que ser transferidos para a RAM do PC antes que se coloque no buffer os dados referentes ao próximo sector. O buffer do controlador normalmente só tem capacidade para um sector. Para que se possa ler o próximo sector, os dados do buffer têm que ser transferidos no curto intervalo de tempo que corresponde à passagem do intervalo (gap) entre os dois sectores (tempo que leva a mudar de um sector para o outro). Se o sector pretendido passar para além das cabeças de l/e, terá que se esperar que o disco faça uma rotação completa, o que é um grande desperdício de tempo.

A solução para este problema chama-se interleaving. Neste caso, os sectores não são posicionados em sequência, mas são deslocados de um

ou mais sectores (o factor de interleaving indica quanto deve ser este deslocamento e édefinido na altura da formatação do disco).

O efeito do interleaving é óbvio: Quando dois sectores sequencialmente numerados (com números a seguir um ao outro) são para ser acedidos, o controlador e o sistema têm tempo suficiente para transferir os dados entre o buffer e a RAM antes que o próximo sector surja por baixo da cabeça de l/e.

Page 7: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Interleaving As disquetes têm sempre um factor de interleaving igual a um (sem

deslocamento), uma vez que a taxa de transferência de dados ésuficientemente rápida, mesmo nos PC´s mais antigos. As drives de disquetes não têm o buffer temporário, os dados são transferidos para memória directamente.

Os discos modernos são pré-formatados com um factor de interleaving de um, e não têm qualquer problema, apesar de terem que lidar com mais do que cem sectores por pista. Isto é possível porque têm uma memória cacheintegrada que tem capacidade para acomodar, no mínimo, uma pista completa. Os dados são primeiro transferidos do disco para o buffer e, durante uma rotação do disco, os sectores de uma pista são colocados na cache. O sistema pode ler agora a memória cache sem pressões de tempo. Hoje em dia, embora ainda seja possível configurar o factor de interleaving, ele não é utilizado nos discos actuais e até pode ser perigoso porque pode destruir a formatação criada durante a fabricação do disco, o que significa o seu fim.

Page 8: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Interleaving

Page 9: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Sistemas de arquivos - Introdução

Sistema de Arquivo são conjuntos de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido.

Diferentes sistemas operacionais usam diferentes sistemas de arquivos. A complexidade em manter a qualidade em um sistema de arquivo é

grande, pois a capacidade dos discos são constantemente alteradas. Os discos rígidos, por muito pequenos que sejam, contêm milhões de bits,

é necessário por isso organizar os dados a fim de poder localizar as informações é o objetivo do sistema de arquivos. A formatação lógica de um disco permite criar um sistema de arquivos no disco, o que vai permitir a um sistema operacional (DOS, Windows 9x, UNIX, …) utilizar o espaço no disco para armazenar e utilizar arquivos. O sistema de arquivos baseia-se na gestão dos clusters (em português “unidade de subsídio”), ou seja, a mais pequena unidade de disco que o sistema operacional é capaz de gerir.

Page 10: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

As partições permitem criar "drives" (C:, D:, E: ...) para que sejam armazenadas informações no HD. As partições são subdivisões criadas no seu HD (não são físicas) que possibilitam a sua divisão em vários "pedaços". Existem três tipos de partições:

Partição primária: A mais importante pois nela é possível instalar Sistemas Operacionais e realizar qualquer processo necessário

Partição extendida: É uma partição em que são criadas subpartiçõeschamadas de partições lógicas. É importante caso você não se contente com quatro partições (que é o número máximo de partições bootáveis), já que o número de partições lógicas é infinito

Partição lógica: Com seu número infinito, só funciona caso exista uma partição extendida

As partições podem ser criadas por meio de programas (como o Partition Magic da Powerquest) ou do próprio sistema operacional

Partições

Page 11: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Sistemas de arquivos O sistema de arquivos é uma maneira pela qual os arquivos estarão gravados.

Existem vários sistemas de arquivos (FAT16, FAT32, NTFS...) e cada sistemaoperacional dá suporte a um ou mais tipos de sistema de arquivos e cada sistema de arquivos tem suas vantagens e desvantagens.

FAT (File Allocation Table ou Tabela de Alocação de Arquivos) é um sistema de arquivos introduzido com o DOS, em 1981. É reconhecido por uma vasta gama de sistemas operacionais, incluindo todos os Windows (3.X, 9X, Me, NT, 2000), Linux, Unix, BeOS, OS/2, entre outros, embora em nenhum deles seu desempenho sejaverdadeiramente otimizado pois, embora seja um sistema de arquivos amplamente utilizado, possui esquemas de endereçamento 16-bit e, portanto, obsoleto, contendo uma série de limitações. Funciona muito bem com partições pequenas, até 400 MB, embora suporte partições com até 2 GB - e nada mais! Utiliza o sistema 8.3, suportando arquivos com até 11 caracteres, sendo oito como nome do arquivo, e três como extensão (por exemplo, arquivo.txt). Sua maior desvantagem é possuir clusters muito grandes.

Page 12: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

FAT32 (File Allocation Table 32 bits) é um sistema de arquivos introduzido com o Windows 95 OEM Service Release 2, sendo reconhecido pelos Windows 95 (somente OSR2), 98, 98SE, Me e 2000. Trata-se de uma versão melhorada da FAT, com esquemas de endereçamento 32-bit, passando a suportar nomes longos de arquivos (até 255 caracteres) e partições de até 2 terabytes. Sua desvantagem em relação à FAT é o desempenho, cerca de 6% mais lento, o que pode ser explicado por possuir muito mais clusters a gerenciar. Confira a tabela abaixo, e a compare com a tabela acima. É fácil constatar que o gerenciamento e manipulação dos dados é muito mais racional com FAT32.

NTFS (New Technology File System) é um sistema de arquivos introduzido pelo Windows NT, reconhecido somente pelos Windows NT e 2000, embora a versão utilizada pelo Windows 2000 tenha sido aprimorada. Teoricamente, o tamanho máximo de uma partição NTFS é de 16 exabytes, mas ainda não existe hardware que suporte tanto, de modo que essa limitação de tamanho está restrita atualmente aos limites de hardware. Entre suas características, figuram: segurança no nível de arquivo e diretório, compressão de arquivos incorporada, remapeamento de clusters com problema (caso ocorra um erro de gravação, o sistema de arquivo moverá os dados para outro setor do disco), fragmentação de arquivo reduzida, suporte para software compatível com o padrão POSIX.1 (Unix e derivados) e arquivos Macintosh (é necessário instalar o Services For Macintosh, no Windows NT). É um sistema de arquivos recuperável, que utiliza um log de transação para atividades de disco, podendo ser utilizado para refazer ou desfazer operações mal sucedidas. Como desvantagem, não suporta disquetes nem mídias removíveis, pois possui uma sobrecarga elevada, de cerca de 50 MB, e ao utilizar uma mídia removível formatada com NTFS, é necessário reiniciar o computador, o que acaba inviabilizando a utilização.

HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto pela IBM e pela Microsoft®, quando ambas trabalhavam juntas no desenvolvimento do OS/2 (isso é incrível, mas realmente aconteceu). Os sistemas operacionais que suportam HPFS são o OS/2 e o Windows NT 3.x.

CDFS (CD-ROM File System) é o sistema de arquivos utilizado única e exclusivamente por CDs.

Sistemas de arquivos

Page 13: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Estrutura do Diretório Uma coleção de nós contendo informações acerca de todos os arquivos Tanto a estrutura de diretórios quanto os arquivos residem no disco

DA A

Organizar o diretório (logicamente) para obter

Eficiência – localizar um arquivo rapidamente Nomeação – conveniente para usuários Agrupabilidade – agrupamento lógico de arquivos por propriedades (todos os

programas em Pascal, todos os jogos, ...)

Page 14: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Informações em um diretório de arquivos Nome Tipo Endereço Tamanho corrente Tamanho máximo Data do ultimo acesso (para arquivamento) Data da ultima atualização (para descarga) ID do proprietário (quem paga) Informação de Proteção

Procura por um arquivo Criar um arquivo Remover um arquivo Listar um diretório Renomear um arquivo Percorrer o sistema de arquivos

Operações realizadas em diretórios

Page 15: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Diretório em nível único É a estrutura de diretório mais simples que contém um único nível. Todos os

arquivos estão contidos no mesmo diretório, como mostra a figura abaixo.

Este tipo de estrutura possui limitações significantes, quando o número de arquivos cresce ou quando existe mais do que um usuário, como por exemplo: se todos os arquivos estão em um mesmo diretório, eles devem possuir nomes diferentes. Como controlar isto se houver mais que um usuário? Mesmo com um único usuário, se a quantidade de arquivos for grande, como controlar a utilização sempre de nomes diferentes para os arquivos?

Page 16: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Diretório de Dois Níveis Neste tipo de estrutura, cada usuário possui seu próprio diretório de nível simples,

permitindo que usuários diferentes possam ter arquivos com o mesmos nomes. Assim, o sistema possui um diretório mestre que indexa todos os diretórios de todos os usuários, como mostra a figura abaixo.

Este tipo de estrutura é vantajosa quando os usuários são completamente independentes, mas é desvantajosa, quando os usuários querem cooperar sobre algumas tarefas e acessar os arquivos de outros. Alguns sistemas simplesmente não permitem que os usuários acessem outros diretórios. Mas se o acesso for permitido, o usuário deve ser hábil em nomear um arquivo em um diretório de um outro usuário.

Page 17: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Diretórios em Árvores

Um diretório de dois níveis pode ser visto como uma árvore de dois níveis. A generalização natural é estender a estrutura de diretório para uma árvore arbitrário, como mostra a figura abaixo. Isto permite que os usuários criem seus próprios subdiretórios. O sistema UNIX por exemplo, utiliza este tipo de estruturação. A árvore possui um diretório raiz. Cada arquivo neste sistema possui um único caminho ("pathname"). Este caminho começa da raiz, percorre todas as subárvores, até o arquivo especificado, como mostra a figura abaixo. Cada diretório possui um conjunto de arquivos e/ou subdiretórios. Todos os diretórios possui um formato interno. Um bit em cada entrada do diretório define a entrada como um arquivo (0) ou subdiretório (1).

Page 18: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

O sistema mantém um arquivo de usuários cadastrados, e para cada entrada neste arquivo existe um nome do usuário e um ponteiro para o seu diretório inicial. Cadausuário possui um diretório corrente. Quando é feita uma referência a um arquivo, odiretóriocorrente é pesquisado. Se o arquivo não está no diretório corrente, então o usuário deve especificar o "caminho" (pathname) ou trocar o diretório corrente.

Diretórios em Árvores

Page 19: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Diretórios em Grafos Acíclicos

Este tipo de estruturação permite o compartilhamento de arquivos e/ou diretórios por vários usuários, evitando a manipulação de várias cópias do mesmo arquivo.Quando o arquivo compartilhado por um usuário que possui o direito de acesso, todas as alterações são efetuadas neste arquivo e imediatamente se tornam visíveis aos outros usuários.

Page 20: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Uma maneira usual para implementar este tipo de estrutura, é utilizando um link, que funciona da seguinte forma: quando se deseja ter acesso a um arquivo (ou diretório) através de um diretório, adiciona-se uma entrada neste diretório com o nome do arquivo (ou diretório) desejado e marca-o como sendo do tipo link. Em compensação, adicionase nesta entrada o pathname definitivo do arquivo. Este tipo de estruturação apresenta uma série de incovenientes, entre eles podemos destacar a "deleção". Neste caso teremos que eliminar todos os links para este arquivo.

Diretórios em Grafos Acíclicos

Page 21: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Proteção

Criador /proprietário do arquivo deve ser capaz de controlar.O que pode ser feito ?Por quem ?

Tipos de acesso Leitura EscritaExecução Anexar RenoarListar

Page 22: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Grupos de lista de acessos Modo de acesso: Ler,escrever,escrever Três classes de usuário

Pede ao administrador para criar um grupo (nome único), digamos G, e adicione alguns usuários ao grupo.

Para um particular arquivo (e.g., “game”) ou subdiretório, defina um acesso apropriado.

Associe um grupo a um arquivo: chgrp G game

Page 23: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Parte 2

Page 24: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Outra Abordagem: senhas

Associar uma senha a cada arquivo A grande desvantagem é o número de senhas

Declaração de compartilhamento de arquivos e/ou subdiretório Esquema utilizado pelo Macintosh e Windows

Page 25: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Fundamentos do compartilhamento de arquivos É possível compartilhar arquivos e pastas de várias

maneiras diferentes. A maneira mais comum de compartilhar arquivos do Windows é compartilhá-los diretamente do seu computador. O Windows oferece dois métodos para compartilhar os arquivos diretamente a partir do computador. é possível compartilhar arquivos de qualquer pasta do computador, ou da pasta Pública. O método escolhido de compartilhamento de arquivos depende de onde você deseja armazenar os arquivos e pastas compartilhados, com quem deseja compartilhá-los e o nível de controle desejado. Ambos os métodos permitem compartilhar arquivos ou pastas com outras pessoas que usam o mesmo computador, ou que usam outros computadores da mesma rede. Se você procura outras maneiras de compartilhar arquivos, este artigo também destaca vários outros métodos que podem ser usados.

Page 26: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Compartilhar os arquivos de qualquer pasta do computador Com este método de compartilhamento, você decide quem

poderá efetuar alterações nos arquivos compartilhados e quais tipos de alterações (se houver) são permitidos. Você faz isso configurando permissões de compartilhamento. Essas permissões de compartilhamento podem ser concedidas a um indivíduo ou um grupo de usuários da mesma rede. Por exemplo, você permite que algumas pessoas apenas vejam os arquivos compartilhados, enquanto outras podem vê-los e alterá-los. As pessoas selecionadas para o compartilhamento poderão ver apenas as pastas compartilhadas com elas.

Use este método de compartilhamento para acessar seus arquivos compartilhados quando estiver usando um outro computador, uma vez que os arquivos compartilhados com as outras pessoas também serão visíveis nesse outro computador.

Page 27: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Compartilhar os arquivos da pasta Pública do computador Neste método de compartilhamento, você copia ou move os

arquivos para a pasta Pública e os compartilha a partir desse local. Se você ativar o compartilhamento de arquivos da pasta Pública, qualquer pessoa com uma conta de usuário e senha no seu computador, e também todos os integrantes da rede, poderão ver todos os arquivos da pasta Pública e suas subpastas. Não épossível restringir as pessoas apenas à visualização de alguns arquivos da pasta Pública. No entanto, você pode definir permissões que limitem o acesso das pessoas à pasta Pública, ou que impeçam que elas alterem os arquivos ou criem outros novos.

Se você não estiver em um domínio, também pode ativar o compartilhamento protegido por senha. Com ele, o acesso da rede à pasta Pública é limitado às pessoas com uma conta de usuário e senha no seu computador. Por padrão, o acesso da rede à pasta Pública é desativado a menos que você o ative.

Page 28: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto
Page 29: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados

Descritor de arquivo é um registro que mantém informações sobre o arquivo Informações típicas(atributos): Nome do arquivo Tamanho em byte Data e hora da criação do último acesso, da ultima modificação Identificação do usuário que criou o arquivo Lista de controle de acesso Local do disco físico onde o conteúdo é armazenado ETC

Implementação de Arquivos

Page 30: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Tabela de Descritores de arquivos

Descritores de arquivos são armazenados no próprio disco Na realidade no mesmo disco lógico(partição)

Problema de desempenho Acesso ao disco para ler o descritor de arquivos é lento Solução é manter o descritor em memória enquanto o

arquivo estiver em uso Indicação se o arquivo está em uso normalmente é feito pelo

próprio usuário(aplicação) através de chamadas do tipo open e close.

Sistema de arquivos mantém os descritores de arquivos em memória em uma estrutura do sistema operacional Tabela de descritores de arquivo TDDA

Page 31: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Tabela de arquivos abertos por processo

Informações relacionadas com arquivos são de dois tipos: Não variam conforme o processo que está acessando o

arquivo Ex: Tamanho do arquivo

Dependem do processo que está acessando o arquivo Ex: posição corrente

Informações dependem do processo são armazenados em uma tabela a parte mantida pelo processo(TAAP) Ex: posição corrente no arquivo,tipo de acesso para a entrada

correspondente ao TDDA Entrada na TAAP Serve para referenciar o arquivo

File Handle

Page 32: Sistemas Operacionais - unipti.files.wordpress.com · HPFS (High Performance File System ou Sistema de Arquivos de Alta Performance) é um sistema de arquivos desenvolvido em conjunto

Emprego conjunto das tabelas TAAP e TDDA