A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais"— Transcrição da apresentação:

1 Sistemas Operacionais
Renato O. Violin

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

3 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. Um ou mais processadores, memória, disco rígido, impressora, teclado, mouse, vídeo, rede etc.

4 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.

5 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. Pode-se dizer que o S.O apresenta para o usuário o equivalente a uma maquina virtual, mais fácil de programar. Para isso, ele oferece ao usuário as funções especiais chamadas System calls. Ex.: gravando num disquete: verificar se o motor esta ligado, Exemplo: Três programas em execução solicitando para imprimir. Se não houver “gerenciamento de recursos” sairia parte do texto do processo 1, parte do processo 2 etc. Também utilizado para implementar vários usuários (esconder informação dos usuários)

6 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.

7 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.

8 Estrutura de um computador moderno

9 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. Sinais de controle para execução de uma instrução. Quando recebe uma instrução tipo add, seleciona os sinais de controle para executar tal instrução.

10 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. 50 – 300 instruções.

11 Estrutura de um computador moderno
Utilitários: compiladores, editores texto, interpretador de comando. Aplicativos: navegador web, bate-papo etc. Básico: SO, GUI, Compiladores, Aplicativos: software que sirva diretamente o usuário: Contas a pagar, Editor de texto, MSN, Dicionários, , ou seja Utilitários: administra o ambiente: AntiVirus, AntiSpyware, Desfragmentador, Backup,

12 Evolução dos S.O

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

14 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. ENIAC 18 mil válvulas Consumia 140 mil watts.

15 1ª geração (1940 – 1955) (cont.) Computador baseado em válvulas
Computador ENIAC

16 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. Apesar de haver a possibilidade de utilizar transistores na primeira geração, só na segunda geração é que os transistores foram utilizados em grande quantidade.

17 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.

18 2ª geração (1955 – 1965) (cont.) Sistema de processamento batch

19 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. Havia o gerenciamento de CPU, memória, sistemas de arquivos. Cada intervalo de tempo um programa utilizava a CPU. Os intervalos eram os time slices. Sistema multics desenvolvido pela Bell labs e GE. Veio o Unix, desenvolvido por Ken Thompson

20 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.

21 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. Com a popularização das redes, havia mais recursos para o Sis. Ope. Gerenciar (contas de usuário, pastas compartilhadas etc.)

22 Conceitos básicos de S.O

23 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. MS-DOS também é monousuário

24 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. Recursos: tempo de CPU, memória e periféricos. OS/2 IBM, Unix, Linux, NT/2000, eram também multiusuário

25 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 No espaço, o processo pode ler e escrever. Tem tambem as instruções a serem executadas. Execução: esta utilizando a CPU Bloqueado: esta aguardo algum recurso – leitura do disco Pronto: está pronto para ocupar a CPU que está ocupada no momento.

26 Multiprocessamento Sistemas com múltiplos processadores.
Compartilham a mesma memória e dispositivos de entrada. Aumentam a capacidade computacional.

27 Interpretador de comandos (Shell)
Interface entre o usuário e o sistema operacional. É onde o usuário solicita a execução de programas.

28 Chamadas do sistema (System Calls)
Interface entre softwares aplicativos e o sistema operacional. Exemplo: Criar arquivos. Acessar drive de disquete, CD-Rom etc.

29 Sistemas Operacionais e suas Características

30

31 Sistemas de tempo real: tempo é o conceito chave
Sistemas de tempo real: tempo é o conceito chave. Utilizando em processos industriais. Coletam informações sobre a os processo de produção e utiliza essas informações para controlar máquinas. QNX Sistemas embarcados: PALM-OS, windows CE. Procurar nome do sistema nokia (Symbios).

32 Gerenciamento de processos

33 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.

34 Processos Exemplo Quem é o processador? Quem é o programa?
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?

35 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. Exemplo: Se você tiver três aplicativos rodando em sua máquina, terá uma velocidade de cada processo reduzida conforme carrega outros aplicativos ao mesmo tempo, porque outros processos estão na competição pelo processador. Dependendo da velocidade do processador e da quantidade de processos, o trabalho poderá ser prejudicado, ou até mesmo inviabilizado.

36 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.

37 Troca de processos

38 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 Quando o sistema e bootado varios processos são criados.

39 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) 1 - Quando o programa termina 2 - Por exemplo, cc foo.c 3 – Erro de programação (operação inválida, divisão por zero) 4 – No Unix o processo Kill pode matar outros processos

40 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.

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

42 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

43 Subprocessos

44 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.

45 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).

46 Threads

47 Exemplo Threads Aplicação: Processador de textos Uso: 3 threads
Interação com o usuário (teclado) Formatação de texto Gravando o documento

48 Exemplo Threads

49 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.

50 Escalonamento Categorias de algoritmos Não-preemptivos Preemptivos
Não-preemp: primeiro que entra é o primeiro que sai Cooperativo: o processo libera voluntariamente a CPU para outro Preemptivo: o SO interrompe um processo em execução para dar lugar a outro processo.

51 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. Tipo não-preempitivo

52 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. preemptivo

53 Algoritmos de escalonamento
Round Robin – Alternância Circular Exemplo: quantum de 20 ms Processo Tempo de Uso da CPU em ms (milissegundos) P1 50 P2 14 P3 65 P4 21

54 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. Tipo não-preempitivo

55 Algoritmos de escalonamento
Shortest Job First – Processo mais curto primeiro Exemplo: Processo Tempo de Uso da CPU em ms (milissegundos) Chegada P1 7 P2 4 2 P3 1 P4 5 Tipo não-preempitivo

56 Concorrência Os processo concorrem pelos recursos do sistema.
Exemplo: fila de impressão

57 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.

58 Exclusão Mútua Evitar que mais de um processo utilize um recurso compartilhado. Condições para exclusão mútua: Dois processos não podem estar dentro de suas regiões críticas ao mesmo tempo, compartilhando o mesmo recurso. A exclusão mútua dos processos deve ser independente da velocidade dos processos ou o número de CPUs. Um processo executado fora da região crítica não pode bloquear outros processos. Nenhum processo esperará para sempre para entrar em sua região crítica. Região crítica: parte do programa que é executada concorrentemente, ou seja, a parte do código que utiliza um recurso compartilhado. Existem técnicas/algoritmos para garantir isso

59 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. Isso significa que eles poderão continuar disputando a CPU e utilizando outros recursos, mas ainda não poderão executar a região crítica.

60 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.

61 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. Quando ele entra, seta lock = 1, quando sai, seta lock = 0.

62 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.

63 Solução de Peterson Combina as variáveis lock e turn solucionando os problemas individuais de cada uma delas.

64 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. Test and Set Lock Outros algoritmos: Exclusão mútua com espera bloqueada Bloqueia o processo para nem mesmo entrar em concorrência com os outros processos, nem mesmo fora das regiões críticas.

65 Gerenciamento de memória

66 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. Memória secundária: unidades de disco.

67 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.

68 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

69 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.

70 Gerenciamento sem paginação
Três maneiras simples de organizar memória com um sistema operacional e com processos. No terceiro modelo o sistema que esta em ROM é o BIOS.

71 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.

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

73 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.

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

75 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.

76 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.

77 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.

78 Swapping

79 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. Heap -> variaveis dinamicamente alocadas e liberadas. Comando NEW malloc Pilha -> variaveis locais normais e endereço de retorno.

80 Swapping

81 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.

82 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.

83 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).

84 Paginação

85 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.

86 Paginação

87 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.

88 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

89 Algoritmos de substituição de páginas
Algoritmo FIFO

90 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. Referenciada significa leitura ou gravação. Baseado no algoritmo de segunda chance. Busca a página com Bit 0 e n

91 Algoritmos de substituição de páginas
Relógio A primeira página com R=1, passou para 0 e é a nova página mais recentemente utilizada. Se todas tiverem como 1,

92 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. Na apostila esta MRU. A explicação está correta, só a sigla esta errada.

93 Algoritmos de substituição de páginas
Algoritmo LRU (least recently used) Na apostila esta MRU. A explicação está correta, só a sigla esta errada.

94 Sistemas de entrada/saída

95 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.

96 Sistemas de entrada/saída

97 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

98 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.

99 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. Traduz as chamadas de alto nível (usuário) para o dispositivo específico

100 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).

101 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.

102 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.

103 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.

104 Sistemas de entrada/saída
Como acontece a interrupção

105 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

106 Sistemas de entrada/saída

107 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.

108 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.

109 Sistemas de entrada/saída

110 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.

111 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.

112 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*. Quem definiu foi patterson. A industria definiu como Independent.

113 Sistemas de entrada/saída
RAID 0 – espalhamento de dados RAID 1 – espelhamento de dados

114 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 são contados o número de bits “1” de cada byte. Se o número for par, o bit de paridade assume um valor “1” e caso seja impar, o 9º bit assume um valor “0” RAID 2 -> não mais usado, pois os HDs já fazem detecção de erros.

115 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.

116 RAID Para saber mais sobre RAID acesse:

117 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.

118 Sistemas de entrada/saída
Depressão reflete menos luz. Se desenrolar um CD chega a ter ~ 5km. No DVD o espiral é maior e o tamanho entre a depressão e superficie é menor.

119 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.

120 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. A cada interrupção do relógio, o tratador verifica se a fatia de tempo do processo em execução já se esgotou e, se for esse o caso, suspende-o e aciona o escalonador para que esse escolha outro processo para colocar em execução

121 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. O ENIAC tinha válvulas e consumia watts. Um notebook consome cerca de 200 watts.

122 Sistemas de entrada/saída
Consumo de energia de várias partes de um laptop

123 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.

124 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.

125 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.

126 Sistemas de arquivos

127 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.

128 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.

129 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.

130 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.

131 Sistemas de arquivos c) A operação básica não é obter o próximo da lista, e sim obter um registro com a chave específica.

132 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.

133 Sistemas de arquivos Attrib +h <arquivo> Dir /ah

134 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.

135 Sistemas de arquivos Sistema de diretório nível único
Sistema de diretório dois níveis Sistema de diretório hierárquico

136 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. Dir ..\

137 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.

138 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.

139 Sistemas de arquivos Estrutura geral de uma partição do disco.

140 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

141 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.

142 Sistemas de arquivos

143 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.

144 Tabela de alocação Tabela FAT
Mesmo mantendo em memória a tabela, ainda é necessário percorrer o encadeamento. Como esta na memória o acesso e muito mais rápido. Tabela de alocação

145 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. Os arquivos não são lidos inteiros quando abertos, lembrar do pascal que tem que fazer o while

146 Sistemas de arquivos Esquema de um I-node
A tabela armazena apenas o I-node. A partir do Inode é possivel encontrar o restando do arquivo. Esquema de um I-node

147 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. Cópia física: inicia no bloco 0 e copia todo o disco. 100% segura. Cópia lógica: cópia por diretório e arquivos.

148 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.

149 Sistemas de arquivos Exemplos de sistemas de arquivos:
Windows: NTFS: até 16 TB. New Technology File System Surgiu no windows NT.

150 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. 1exabyte = 1024^6 bytes Exemplo de uso: o trafico da internet (mensal) foi estimado em 5 – 8 Ex (dezembro 2008). 1 petabye = 1024^5 bytes NTFS possui journaling


Carregar ppt "Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google