sistemas operacionais renato o. violin. conteúdo introdução ao s.o gerenciamento de processos....

150
SISTEMAS OPERACIONAIS Renato O. Violin

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

SISTEMAS OPERACIONAIS

Renato O. Violin

Page 2: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Conteúdo

Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos.

Page 3: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Definição do problema

Um sistema de computação consiste de diversos dispositivos.

Todos os dispositivos são complexos de manipular.

Escrever programas que fazem usos desses dispositivos é uma tarefa difícil.

Page 4: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Como solucionar o problema? Utilizar uma camada de software

chamada sistema operacional. Ele gerencia todos esses dispositivos e

fornece uma interface de mais alto nível para acesso ao hardware.

Page 5: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

O que é um Sistema Operacional?

É um software que realiza duas funções: Estende a máquina, isto é, esconde do

programador a “verdade” sobre a programação do hardware e apresenta uma forma mais simples de acessar o hardware.

Gerencia recursos, isto é, controla todo o hardware e controla a concorrência entre os diversos processos que tentam usar esse hardware.

Page 6: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Exemplo de acesso ao hardware

Queremos gravar dados em um disquete sem um S.O: O controlador do disquete tem 16 funções

de baixo nível; Funções de leitura/escrita têm 13

parâmetros; Retornam 23 informações de status. É preciso verificar o status do motor.

Page 7: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Resumindo...

Sistema operacional é um software utilizado para facilitar a utilização do hardware, fornecendo ao usuário uma abstração maior, evitando que o programador acesse as instruções de hardware.

O SO gerencia os recursos de hardware, como por exemplo: endereçamento de memória, fila de processos para execução, concorrência entre processos.

Page 8: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estrutura de um computador moderno

Page 9: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estrutura de um computador moderno

Dispositivos físicos: circuitos, unidades de disco etc.

Microprogramação: constituída por softwares capaz de interpretar e executar as instruções de máquina recebidas da camada superior.

Page 10: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estrutura de um computador moderno

Linguagem de máquina: instruções que movem os dados pela maquina efetuando operações lógicas e aritméticas.

Sistema operacional: esconde a complexidade do hardware e gerencia os recursos compartilhados.

Page 11: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estrutura de um computador moderno

Utilitários: compiladores, editores texto, interpretador de comando.

Aplicativos: navegador web, bate-papo etc.

Page 12: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Evolução dos S.O

Page 13: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Os sistemas operacionais evoluíram com o passar dos anos, acompanhando a arquitetura dos computadores que executavam.

Page 14: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

1ª geração (1940 – 1955)

Foi marcada pelo invento das válvulas. Computadores eram formados por

milhares de válvulas ocupando salas imensas.

Não havia conceito de sistema operacional.

O acesso era feito diretamente nos painéis do equipamento, onde o usuário programa seus cálculos.

Surge o ENIAC, onde a programação era por fios e pinos.

Page 15: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

1ª geração (1940 – 1955) (cont.)

Computador baseado em válvulas

Computador ENIAC

Page 16: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

2ª geração (1955 – 1965)

Marcada por três avanços: Utilização dos transistores em grande

quantidade. Sistema de processamento em batch. Surgimento de linguagens de programação

de alto nível (Fortran, Algol e Cobol). Criação de mainframes. Programas deixam de ter relação direta

com o hardware.

Page 17: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

2ª geração (1955 – 1965)

Processamento em batch: Programas eram gravados em cartões

perfurados. Após a leitura, eles eram salvos em uma fita magnética de entrada.

A fita de entrada era colocada no computador de grande porte (IBM 7094). Ao final do processamento, gravava o resultado em uma segunda fita (de saída).

A segunda fita (de saída) era colocada em um computador (IBM 1401) que lia a fita de saída e imprimia seu conteúdo.

Page 18: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

2ª geração (1955 – 1965) (cont.)

Sistema de processamento batch

Page 19: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

3ª geração (1965 – 1980)

Surgimento dos circuitos integrados. Surgimento das técnicas de:

Multiprogramação: execução de vários programas por meio da divisão de memória em partes.

Timesharing: divide o tempo de uso do processador entre todos os programas.

Page 20: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

4ª geração (1980 – 1990)

Surgimentos dos PCs (personal computers).

Surgimento dos sistemas operacionais mais modernos: MS-DOS: linha de comando. Novel network : sistemas operacional de

rede. Macintosh: baseado em janelas.

Page 21: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

5ª geração (1990 – ...)

Surgimento da computação distribuída Um programa em execução que pode ser

dividido em subprocessos para serem executados em outros computadores na rede.

Surgimento do protocolo TCP/IP, padrão Ethernet e o modelo cliente/servidor.

Surgimento da computação ubíqua.

Page 22: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Conceitos básicos de S.O

Page 23: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Monotarefa

Os primeiros S.O executavam um programa de cada vez.

Os outros programas deveriam esperar o termino para poder executar.

Todos os recursos ficavam dedicados a uma única tarefa.

Page 24: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Multitarefa

Suporta a execução concorrente de vários programas, dividindo os recursos.

Classificado como: Monousuário e Multiusuário.

Pode ser: Cooperativo: o processo libera a CPU

voluntariamente (i.e não há interrupções) Preemptivo: quando o sistema gera uma

interrupção e dá lugar a outro processo na CPU.

Page 25: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

É uma abstração de um programa em execução.

Cada programa tem ao menos um processo concorrendo os recursos de sistema.

Possui um espaço de endereçamento na memória.

Pode assumir três estados: Execução Bloqueado Pronto

Page 26: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Multiprocessamento

Sistemas com múltiplos processadores. Compartilham a mesma memória e

dispositivos de entrada. Aumentam a capacidade computacional.

Page 27: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Interpretador de comandos (Shell)

Interface entre o usuário e o sistema operacional.

É onde o usuário solicita a execução de programas.

Page 28: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Chamadas do sistema (System Calls)

Interface entre softwares aplicativos e o sistema operacional.

Exemplo: Criar arquivos. Acessar drive de disquete, CD-Rom etc.

Page 29: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas Operacionais e suas Características

Page 30: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída
Page 31: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída
Page 32: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de processos

Page 33: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

Um processo é tudo aquilo que o processador executa.

E a entidade pela qual a utilização da memória de um programa, tempo de processador e recursos de E/S podem ser gerenciados e monitorados pelo sistema operacional.

O processo pode ser visto como a abstração de um programa em execução.

Page 34: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

Exemplo João vai fazer um bolo. Ele vai utilizar uma

receita para saber quais ingredientes e saber como preparar tudo.

Quem é o processador? Quem é o programa? Quem é o processo?

Page 35: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

Todo software executável em um computador moderno, até mesmo o sistema operacional, é organizado em processos.

Os sistemas atuais permitem ao usuário a chaveamento de vários processos.

Esse chaveamento nos dá a sensação de que os programas são executados paralelamente.

Page 36: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Troca de processos

Como funciona a troca de processos? Salvar o conteúdo atual dos registradores

da CPU referentes a um processo que esta deixando o processador.

Carregar os registradores com o conteúdo do processo que esta ganhando a CPU.

Page 37: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Troca de processos

Page 38: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

Principais eventos que levam à criação de processos inicialização do sistema execução de chamada ao sistema de

criação de processos solicitação do usuário para criar um novo

processo

Page 39: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Processos

Condições que levam ao término de processos saída normal (voluntária) saída por erro (voluntária) erro fatal (involuntário) cancelamento por um outro processo

(involuntário)

Page 40: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estados do processo

O processador não pode ser ocupado por todos os processos ao mesmo tempo.

Existe uma competição entre os processos para entrar em execução.

O sistema operacional deve controlar essa competição.

Page 41: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Estados do processo

Pronto (aguardando na fila de processos) Execução (esta no processador) Bloqueado (aguardando E/S)

Page 42: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Subprocessos

Uma aplicação pode ser dividida em partes que trabalham concorrentemente.

Consiste em particionar o processo gerado para controlar a aplicação (processo pai) em outros subprocessos subordinados a este que são chamados de processos filhos, ou apenas subprocessos

Page 43: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Subprocessos

Page 44: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Subprocessos

Conforme aumenta-se a utilização de subprocessos, há um desperdício de tempo para criar e destruir estes.

Para resolver este problema, criou-se o conceito de threads.

Page 45: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Threads

São consideradas processos mais leves. Enquanto os processos são usados para

agrupar recursos, as threads são as entidades escalonadas para a execução na CPU.

Um processo possui pelo menos uma thread (linha de controle).

Page 46: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Threads

Page 47: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Exemplo Threads

Aplicação: Processador de textos Uso: 3 threads

Interação com o usuário (teclado) Formatação de texto Gravando o documento

Page 48: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Exemplo Threads

Page 49: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Escalonamento

Vimos que o estado de pronto possui uma fila de processos aguardando a liberação da CPU.

O componente que tenta manter o processador ocupado o tempo todo, escolhendo que será o próximo processo a ser executado é o escalonador.

Page 50: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Escalonamento

Categorias de algoritmos Não-preemptivos Preemptivos

Page 51: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de escalonamento First In First Out (FIFO)

Constitui-se no esquema mais simples de escalonamento em que os processos são executados do início até o fim, na ordem de chegada.

Page 52: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de escalonamento Round Robin – Alternância Circular

Processos são executados na ordem FIFO, mas com um intervalo chamado quantum.

Ao final de seu quantum, se o processo ainda estiver em execução, é interrompido (preempção) e voltará para o estado de pronto (final da fila) e o próximo processo da fila será alocado para ocupar a CPU.

Se o processo terminar antes de finalizar o seu quantum, a CPU será liberada.

Page 53: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de escalonamento Round Robin – Alternância Circular

Exemplo: quantum de 20 msProcesso Tempo de Uso da CPU em ms

(milissegundos)P1 50P2 14P3 65P4 21

Page 54: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de escalonamento Shortest Job First – Processo mais

curto primeiro Processos menores são executados

primeiro. Processos curtos são favorecidos. Processo maiores são prejudicados. Pouco utilizado na prática.

Page 55: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de escalonamento Shortest Job First – Processo mais

curto primeiro Exemplo:

Processo Tempo de Uso da CPU em ms (milissegundos)

Chegada

P1 7 0

P2 4 2

P3 1 4

P4 4 5

Page 56: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Concorrência

Os processo concorrem pelos recursos do sistema.

Exemplo: fila de impressão

Page 57: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Deadlock

Acontece quando dois ou mais processos estão disputando recursos e nenhum deles consegue seguir a execução porque ambos estão bloqueando uns aos outros.

Exemplo: Dois processos querem gravar um CD. Processo P1 aloca o Gravador. Processo P2 aloca o HD. P1 espera P2 terminar de usar o HD. P2 espera P1 terminar de usar o gravador.

Page 58: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Exclusão Mútua

Evitar que mais de um processo utilize um recurso compartilhado.

Condições para exclusão mútua:1. Dois processos não podem estar dentro de suas regiões

críticas ao mesmo tempo, compartilhando o mesmo recurso.

2. A exclusão mútua dos processos deve ser independente da velocidade dos processos ou o número de CPUs.

3. Um processo executado fora da região crítica não pode bloquear outros processos.

4. Nenhum processo esperará para sempre para entrar em sua região crítica.

Page 59: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Exclusão mútua com espera ocupada

Se um processo está acessando uma região crítica, ou seja, esta em execução, todos os outros processos que precisarem acessar esta região deverão entrar em estado de espera ocupada.

Esta espera se refere apenas à região crítica. Desabilitar interrupções. Variável Lock. Variável Turn. Peterson. Instrução TSL.

Page 60: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Desabilitar interrupções

Desabilitar todas as interrupções, inclusive as do sistema operacional, quando uma região crítica está sendo acessada, garantindo que o processo em execução termine de executar a região crítica sem a intervenção de outros processos.

Page 61: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Variável Lock

Esta solução utiliza um algoritmo em que cada recurso compartilhado possui uma variável global chamada lock, com valor inicial igual a 0.

O algoritmo controla o acesso à região crítica por meio da variável lock. Ao consultar, se o seu valor for 0, o processo executará a região crítica; e se for 1, o processo aguardará até que a variável lock se torne 0.

Page 62: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Variável Turn

Se a variável turn for igual a i, o processo de número i executará a região crítica até terminar.

Ao sair, o processo altera o valor de turn para i+1 para que o próximo processo, ao executar, tenha acesso à região crítica.

Page 63: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Solução de Peterson

Combina as variáveis lock e turn solucionando os problemas individuais de cada uma delas.

Page 64: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Instrução TSL

É uma instrução utilizada em muitos processadores que permite a implementação de variáveis lock.

A vantagem é que nem mesmo uma interrupção de hardware pode interromper a execução.

Page 65: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória

Page 66: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória

Na memória principal ficam todos os programas e os dados que serão executados pelo processador.

Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da

memória e otimizar sua utilização. Componente é o gerenciador de

memória.

Page 67: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória

Tarefas do gerenciador de memória: Monitorar quais partes da memória estão

utilizadas e quais estão disponíveis. Realizar alocação e liberação da memória

para os processos. Gerenciamento do swapping (troca) entre a

memória principal e a secundária.

Page 68: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória

Esquemas de gerenciamento de memória: Mantém os processo fixos na memória

principal.

monoprogramação

Movem os processos entre a memória principal e secundária (swapping e paginação).

multiprogramação

Page 69: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento sem paginação Foram utilizadas nos sistemas mais

antigos. A memória era compartilhada entre o

S.O e os programas. Chamada de monousuário ou

monoprogramação. Somente um processo pode ser

executado a cada instante.

Page 70: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento sem paginação

Três maneiras simples de organizar memória com um sistema operacional e com processos.

Page 71: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória com partições fixas

Em direção à multiprogramação foram criadas partições fixas com tamanhos diferentes na memória principal.

A idéia é utilizar sempre o menor espaço possível.

Com tamanho fixo das partições, todo espaço naquela partição que não era utilizado pelo processo era perdido.

Funciona bem quando as tarefas são do mesmo tamanho ou quando os tamanhos são conhecidos previamente.

Page 72: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Partições fixas

Partições fixas de memória com filas separadas para cada partição

Page 73: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória com partições fixas

Surge um problema quando partições grandes está com a fila vazia e uma fila para partição pequena está com a fila cheia.

Solução: utilizar uma única fila. O processo mais próximo do início da fila

que se ajusta na partição vazia poderia ser carregado.

Page 74: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Gerenciamento de memória com partições fixas – fila única

Partições fixas de memória com fila única.

Page 75: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Troca de processos

Nem sempre existe memória principal para todos os processos.

Alguns processos devem ser mantidos no disco (memória secundária).

Técnicas: Swapping. Memória virtual.

Page 76: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Swapping

Consiste em trazer o processo inteiro do disco para a memória, executá-lo e devolve-lo para o disco.

Os processos que estão sobrando ficam na memória secundária e trazidos de lá dinamicamente.

Page 77: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Swapping

Vantagem em relação às partições fixas: Número, posição e tamanho das partições

variam dinamicamente. Com o tempo são criadas lacunas na

memória principal. Técnica de compactação de memória

para mover os dados para baixo.

Page 78: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Swapping

Page 79: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Swapping

É provável que a área de dados (heap e pilha) do processo cresça durante a execução.

Se houver espaço adjacente ele será alocado para o processo.

Se não houver espaço adjacente o processo inteiro deverá ser movido para outra área da memória principal.

Pode-se alocar uma memória extra sempre que fizer a troca ou mover um processo.

Page 80: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Swapping

Page 81: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Memória virtual

Divide-se o programa em módulos chamados overlays (sobreposição).

No princípio, o programador deveria fazer a divisão do programa em módulos.

Mais tarde, essa tarefa passou para o S.O.

Assim, um programa grande que excedesse a memória física do computador poderia ser executado.

Page 82: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Memória virtual

Um programa de 32 MB pode ser executado em uma máquina com apenas 8 MB, por meio de uma escolha cuidadosa feita pelo sistema operacional em que 8 MB será mantido ativo na memória em cada instante, dinamicamente, dando a ilusão de que o programa inteiro está na memória.

Essa troca de módulos é a técnica de paginação.

Page 83: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Paginação

No sistemas com memória virtual, o endereço virtual e físico não são os mesmos.

Quem realiza o mapeamento dos endereços virtuais para o endereço físico é a unidade MMU (memory management unity).

Page 84: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Paginação

Page 85: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Paginação

Como exemplo, nosso computador possui 32 KB de memória física.

Queremos executar um programa de 64 KB.

O programa não pode ser carregado totalmente na memória.

Assim, partes do programa serão carregadas quando necessário.

Page 86: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Paginação

Page 87: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Paginação

Neste caso, as páginas marcadas com um X não estão mapeadas no momento.

Se o programa tentar utilizar, ocorrerá o page-fault.

Ele deverá escolher uma página pouco utilizada, colocá-la em disco e carregar a pagina desejada.

Page 88: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Algoritmo FIFO Baixo custo. Mantém uma lista de todas as páginas, com

a página mais velha no inicio e a mais nova no fim.

Quando recebe um page-fault a primeira página a sair é a mais velha (início da fila).

Pouco utilizado porque pode ser removida páginas muito utilizadas

Page 89: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Algoritmo FIFO

Page 90: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Relógio Utiliza um bit (R) - referenciada Assim o SO sabe qual página é mais ou

menos utilizada. As páginas são mantidas em lista circular. Um ponteiro aponta para a mais antiga. Se

acontecer um page-fault verifica o bit (R). Se for 0 é porque não esta referenciada e substituirá. Se for 1, seta R = 0 e avança o ponteiro até encontrar uma pagina com R = 0.

Page 91: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Relógio

Page 92: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Algoritmo LRU (least recently used) Baseia-se na idéia de que uma página

utilizada recentemente pode ser utilizada novamente.

Portanto, páginas que não foram utilizadas recentemente provavelmente permanecerão não-utilizadas durante mais tempo.

Assim, ele remove as páginas menos utilizadas recentemente.

Page 93: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Algoritmos de substituição de páginas

Algoritmo LRU (least recently used)

Page 94: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Page 95: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Os dispositivos de E/S são a comunicação do sistema operacional com o mundo externo.

Os dispositivos de entrada e saída são controlados pelos sistemas operacionais.

O S.O emite comandos para os dispositivos, realiza tratamento de erros e oferecer uma interface simples, que abranja todos os dispositivos do sistema.

Esses dispositivos apresentam uma grande variação de velocidades.

Page 96: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Page 97: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Para que o sistema operacional controle um dispositivo de E/S é necessário que interaja com um componente eletrônico chamado controlador de dispositivo e um dispositivo mecânico.

Controlador de dispositivo Placa de circuito eletrônico.

Dispositivo mecânico É o dispositivo propriamente dito

Page 98: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Exemplo: Mouse O componente eletrônico seria o circuito

que interpreta as coordenadas X e Y e envia para o SO posicionar o cursor na tela.

O componente mecânico seria a esfera ou o dispositivo ótico e os botões.

Page 99: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Drivers de dispositivo são os programas que possibilitam a comunicação entre o S.O e o dispositivo.

São desenvolvidos pelo fabricante do dispositivo.

Cada S.O precisa do seus próprios drivers.

Além de controlar o dispositivo, o driver também trata os erros.

Page 100: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Buffers: Região de memória temporária utilizada

para escrita e leitura de dados. São utilizados quando existe uma diferença

entre a taxa em que os dados são recebidos e a taxa em que eles podem ser processados.

Também são utilizados como armazenamento temporário (ex. buffer do HD).

Page 101: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Maneiras que as operações de E/S são feitas: E/S programada. E/S orientada por interrupção. E/S usando DMA.

Page 102: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

E/S programada: Consiste em ter o processador

dedicando-se totalmente ao periférico enquanto durar a comunicação.

O processador deve obter os dados do dispositivo E/S e transferi-los para memória.

Nesse tempo o processador nunca é interrompido.

Desvantagem: processador fica alocado enquanto não terminar a transferência.

Page 103: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

E/S orientada por interrupção: Quando um dispositivo de E/S finaliza o seu

trabalho gera uma interrupção que segue por meio do barramento, até o processador para ser atendido.

O sinal de interrupção faz com que o processador pare o que esta processando para atender essa interrupção.

Melhor do que a E/S programada, pois elimina ciclos de espera desnecessários, mas ainda o processador é usado em qualquer operação E/S.

Page 104: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Como acontece a interrupção

Page 105: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

E/S por DMA (Direct Memory Access) O controlador de DMA faz todo o

trabalho de transferência de dados de um dispositivo de E/S no lugar do processador principal.

A vantagem do DMA é diminuir as interrupções que chegam até o processador principal para que o sistema tenha um desempenho global melhor

Page 106: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Page 107: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

A transferência dos dados ocorrem de duas maneiras: Blocos de informação:

Dados são armazenados em blocos de tamanho fixo. Ex.: CD-Rom, HD.

Caracteres: Os caracteres são enviados e recebidos sem

considerar qualquer estrutura. Ex.: Mouse, teclado, placa rede, impressora.

Page 108: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Disco rígido (HD): São considerados os repositórios de dados

mais populares. Constituídos por um ou vários discos

sobrepostos unidos por um eixo central girando a uma velocidade constante. São organizados em cilindros, os quais contem trilhas. Essas trilhas sofrem outra divisão em setores com 512 bytes.

Page 109: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Page 110: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Para calcular a capacidade do disco:

Capacidade Real = cabeças x cilindros x setores x 512

Numero de cilindros = número de trilhas.

Page 111: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Disco rígido (HD): O tempo para ler/gravar é dado por:

Tempo de posicionamento (tempo necessário para mover o braço para o cilindro correto).

Atraso de rotação (tempo necessário para encontrar o setor correto sob o cabeçote de leitura/gravação).

Tempo de transferência real do dado.

Page 112: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

RAID (redundant array of inexpensive* disks): Conjunto de discos redundantes e

independentes que otimizam as operações de E/S e a segurança dos dados.

A estratégia é substituir um disco grande por vários discos menores.

Trabalha em cinco níveis*.

Page 113: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

RAID 0 – espalhamento de dados

RAID 1 – espelhamento de dados

Page 114: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

RAID 2 - Igual ao RAID 0, porém com esquema de detecção de erros.

RAID 3 – Versão simplificada do RAID 2, pois usa um disco rígido extra para armazenamento de informações de paridade

Page 115: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

RAID 4 – similar ao RAID 3, só que mais rápido por usar blocos de dados.

RAID 5 - Similar ao RAID 3 e 4, só que grava as informações de paridade dentro dos próprios discos.

Page 116: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

RAID

Para saber mais sobre RAID acesse:

http://www.clubedohardware.com.br/artigos/651

http://pt.wikipedia.org/wiki/RAID

Page 117: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Disco ótico: A informação gravada em um CD-Rom é lida por

um feixe de laser de baixa intensidade. O feixe de laser atravessa a cobertura de

verniz, enquanto o motor gira o disco de resina plástica, e ao encontrar um sulco, a intensidade da luz refletiva muda. Essa intensidade é sentida por um foto-sensor que em seguida converte em um sinal digital.

Os CD-ROMs não têm cilindros concêntricos, como os discos magnéticos. Contem uma única espiral.

Page 118: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Page 119: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Gravação do CD-Rom É utilizado um laser de alta potência para

criar pontos negros na camada refletiva. Onde o laser não atinge fica transparente. Essa diferença simula a depressão e a

superfície.

Page 120: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Relógios: Os relógios são considerados essenciais,

pois mantêm a hora atualizada e evitam que um processo monopolize a CPU.

Gera interrupções. Funções:

Manter a hora e o dia Evitar que processos ocupem a CPU por muito

tempo. Contabilizar o uso da CPU, isto é, saber quanto

tempo um processo esteve em execução.

Page 121: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Gerenciamento de energia: É função do S.O fazer o gerenciamento de

energia. Duas abordagens:

S.O desliga os componentes S.O diminui a energia, causando perda de

desempenho.

Page 122: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Consumo de energia de várias partes de um laptop

Page 123: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Monitor: O S.O coloca o monitor em um estado de

“dormindo”. Qualquer toque no teclado ou movimento

no mouse o S.O “acorda” o monitor.

Page 124: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

Disco rígido (HD): Consome muita energia para manter o

disco girando mesmo quando não há atividade.

O S.O pode cortar totalmente a energia e qualquer atividade faz o disco voltar a funcionar.

Pode causar atrasos consideráveis.

Page 125: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de entrada/saída

CPU: Sempre que a CPU se torna ociosa o S.O

reduz a voltagem dela.

Memória: A memória pode ser desligada. Antes, todo o conteúdo é copiado para o

disco rígido.

Page 126: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Page 127: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Todos os programas precisam armazenar e recuperar dados.

Os processos não podem armazenar grande quantidade de dados no seu espaço de endereçamento.

Quando o processo chega ao final os dados no seu espaço se perdem.

Precisamos que vários processos acessem os mesmos dados.

Page 128: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

A solução é utilizar um meio de armazenamento chamado arquivos.

Para criar arquivos é preciso informar um nome: No MS-DOS os nomes eram limitados a 8

caracteres. Nos S.O atuais podem ter até 255

caracteres.

Page 129: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Estrutura dos arquivos: Sequência de bytes

O S.O não se importa com o conteúdo do arquivo.

O significado deve ser dado pelo programa do usuário.

Sequência de registros Arquivos são uma sequência de registros. Esses registros possuem tamanho fixo. Operação de leitura/escrita sobrepõe ou anexa

um registro.

Page 130: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Árvore de registros: Cada registro contém um campo chave. A árvore é ordenada pelo campo chave. Facilita a busca por um registro dentro do

arquivo.

Page 131: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Page 132: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Além do arquivo guardar o nome e os dados, ele pode associar informações como: Data e hora de criação. Tamanho do arquivo.

Esses itens são chamados atributos.

Page 133: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Page 134: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Diretórios: Pode conter centenas de arquivos ou

nenhum arquivo. Pode conter outros diretórios. A diferença do arquivo é que ele mantém

uma tabela de ponteiros para outros arquivos/diretórios.

Page 135: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Page 136: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Nomes de caminhos: Caminho absoluto:

Formado pelo caminho entre o diretório raiz e o arquivo.

Caminho relativo: Formado pelo caminho entre o diretório atual e

o arquivo.

Page 137: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Sistema de arquivos: Um disco rígido pode ser dividido em uma

ou mais partições. Todo disco possui um setor 0 que

chamamos de MBR (master boot record), que é utilizado para iniciar o computador.

O BIOS lê e executa o setor 0 do disco em busca de uma partição ativa.

Page 138: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Esquema de partição de disco: Superbloco: fornece informações tais como:

identificação do sistema de arquivos, número de blocos do sistema de arquivos etc.

Blocos livres: informa a quantidade de blocos livres no sistema.

I-nodes: uma estrutura de dados com informações sobre os arquivos.

Diretório raiz: contem o topo da árvore de diretórios.

Arquivos e pastas: conteúdo propriamente dito.

Page 139: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Estrutura geral de uma partição do disco.

Page 140: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Questão: Como é feito o controle de quais blocos do

disco estão relacionados com quais arquivos?

Em outras palavras, como os arquivos são gravados e distribuídos entre os blocos?

Métodos de gravação: Alocação contínua. Alocação por lista encadeada. I-nodes

Page 141: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Alocação contínua: Consiste em armazenar cada arquivo em

blocos contíguos. Implementação simples.

Para localizar um arquivo basta saber o endereço do primeiro bloco e o número de blocos do arquivo.

Bom desempenho para leitura. Desvantagem que o disco fica

fragmentado.

Page 142: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Page 143: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Alocação por lista encadeada: Os arquivos são armazenados em blocos

lincados. Os primeiros bits de cada bloco é o ponteiro

para o próximo bloco. Não acontece fragmentação. Acesso aleatório lento, pois os blocos tem

que ser lidos um de cada vez até chegar no arquivo desejado.

Page 144: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Tabela de alocação

Page 145: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

I-node Estrutura de dados (pequena tabela) que

mantém informações e os endereços de disco dos blocos do arquivo.

A principal diferença da tabela de alocação é que apenas o i-node fica na memória apenas quando o arquivo está em uso.

Page 146: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Esquema de um I-node

Page 147: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Confiabilidade dos sistemas de arquivos: O sistema de arquivos pode ser danificados

por vários motivos: Queda de energia. HD defeituoso. Erro de software.

Deve-se possuir copias de segurança. Cópia física. Cópia lógica.

Page 148: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Exemplos de sistemas de arquivos: CD-Rom:

ISO 9660: produzido com limitações para atender alguns sistemas operacionais (MS-DOS)

Estendido para Joliet : Nome de arquivos longos. Conjuntos de caracteres Unicode. Diretório com profundidade maior que 8 níveis.

Page 149: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Exemplos de sistemas de arquivos: Windows:

NTFS: até 16 TB.

Page 150: SISTEMAS OPERACIONAIS Renato O. Violin. Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída

Sistemas de arquivos

Exemplos de sistemas de arquivos: Linux:

ext-2: 16 TB ext-3: 16 TB com journaling. ReiserFS: 16 TB com journaling. JFS: 4 PT (petabytes) com journaling. XFS: 16 EX (exabytes) com journaling.

Journaling: é um log que o SO faz antes de escrever qualquer dado no disco.