Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS ABERTOS Prof. Higor Contato: E-mail: higor.delsoto@docente.unip.br Gerenciamento de memória Os programas a serem executados precisam ser trazidos para a memória principal e serem executados através de processos criados para esse fim. Gerenciamento de memória OBS: Dependendo do gerenciamento de memória, um processo em execução pode ser movimentado da memória para o disco. Gerenciamento de memória Não existe uma sequencia exata para a alocação de cada processo, e por este motivo é necessário um gerenciamento de alocação e de endereços. Processo A Processo B Processo K Gerenciamento de memória Associação de instruções e dados aos endereços de memória Etapa: Compilação Desde que seja conhecido onde o processo residirá na memória, então o código absoluto pode ser gerado. Se houver alguma mudança é necessário uma nova compilação. Gerenciamento de memória Associação de instruções e dados aos endereços de memória Etapa: Carregamento Se no momento da compilação o processo não possuir endereço determinado na memória, o compilador irá gerar um código relocável, permitindo que a etapa de carregamento realize a determinação do endereço. Gerenciamento de memória Associação de instruções e dados aos endereços de memória Etapa: Execução Se um processo puder ser movido durante a sua execução de um segmento de memória para outro, então a determinação do endereço na memória deve ser adiada até a execução. Processo A Processo B Processo B Processo K Gerenciamento de memória Associação de instruções e dados aos endereços de memória Resumo: Compilação Carregamento Execução Gerenciamento de memória Ligação dinâmica (edição de ligações) • As ligações são adiadas até o momento da execução; • Um pequeno trecho de código (stub), é utilizado para encontrar a rotina na memória; • Stub (ponta) substitui seu valor pelo endereço da rotina; • Stub executa a rotina; • SO precisa verificar se a rotina está no espaço de endereços do processo. Gerenciamento de memória Overlays (Sobreposições) • Mantem na memória somente as instruções necessárias para o momento; • Útil quando o processo é maior do que a quantidade de memória destinada a ele. • Não implementado pelo SO (alta complexidade). Gerenciamento de memória Endereço lógico vs físico Gerenciamento de memória Endereço lógico vs físico Espaços de endereços lógicos estão associados a endereços de espaços físicos. Gerenciamento de memória Endereço lógico vs físico Lógico – Gerado pela CPU, também conhecido como endereço virtual. Físico – Utilizado para acessar a memória primária. Gerenciamento de memória Endereço lógico vs físico • Endereços lógicos (ou virtuais) são atribuídos sem critérios; • Programas usuários não se preocupam com endereços lógicos; • Necessidade de conversão para o endereço físico. Gerenciamento de memória Endereço lógico vs físico MMU (Memory Management Unit) Dispositivo em hardware que mapeia os endereços lógicos em físicos; O programa usuário enxerga endereços lógicos, mas nunca endereços físicos. Implementação Projeto: MMU(Memory Management Unit) Tarefas: • Criar uma matriz; • Preencher aleatoriamente aproximadamente 50% da matriz • Receber/Criar 5 processos com endereço virtual; • Converter/associar endereço virtual a endereço físico. OBS: • Qualquer linguagem de programação pode ser utilizada; • Um processo não pode ser associado a um endereço físico se não haver endereço disponível. Implementação Projeto: MMU(Memory Management Unit) Exemplo: 0 1 2 3 0 A F D 1 B 2 C E Matriz criada e preenchida Processos: G – 7X00 H – 45ZA I - 12W1 J – 23Q4 K - 78GH 0 1 2 3 0 A F G D 1 I H B J 2 K C E 0 1 2 3 0 A F G D 1 I H B J 2 K C E Processos: G – 7X00 - 20 H – 45ZA - 11 I - 12W1 - 01 J – 23Q4 - 31 K - 78GH - 02 Gerenciamento de memória Alocação Contígua Não contígua Gerenciamento de memória Alocação Contínua Simples • Parte reservada ao SO é alocada nos endereços mais baixos geralmente. • Processos são alocados nos espaços disponíveis. • Sistema mais simples. Gerenciamento de memória Alocação Contínua Particionada (1) • Existência de multiplas partições. • Divisão da memória em blocos. • Não considera Swapping. • Partições fixas (estáticas) e variáveis (dinâmica). • SO controla as partições e seus respectivos tamanhos. Gerenciamento de memória Alocação Contínua Particionada (2) • Existência de multiplas partições. • Divisão da memória em blocos. • Não considera Swapping. • Partições fixas (estáticas) e variáveis (dinâmica). • SO controla as partições e seus respectivos tamanhos. Gerenciamento de memória Alocação Contínua Particionada fixa (1) • Processos maiores que as partições não executam. • O número de processos que podem estar em execução ao mesmo tempo considerando swapping é maior que o número de partições. • O número de processos que podem estar em execução ao mesmo tempo sem considerar swapping é igual ao número de partições. Gerenciamento de memória Alocação Contínua Particionada fixa (2) • Independente do tamanho de um processo ele sempre ocupa um espaço. • Solução: Partições com tamanhos diferentes. Gerenciamento de memória Alocação particionada dinâmica • Objetivo de eliminar fragmentação interna. • Alocação de acordo com a necessidade. Gerenciamento de memória Fragmentação externa • Pode existir memória disponível, mas não contígua. Gerenciamento de memória Fragmentação • Externa: Existe memória suficiente para atender uma requisição, mas não é continua. • Interna: Espaço liberado por compactação. A compactação requer mecanismos de relocação. Gerenciamento de memória Alocação • A alocação de processos devem ser feitas em espaços livres da memória; • Para encontrar um local ideal para a alocação é necessário uma busca de um espaço adequado, já que buracos de tamanhos variados podem estar espalhados na memória. Gerenciamento de memória Alocação • First Fit: Aloca o primeiro espaço grande o suficiente. • Best Fit: Aloca o espaço com a capacidade mais próxima da necessidade, havendo a necessidade de busca para encontra-lo.(Após a alocação é produzido o menor espaço livre) • Worst Fit: Aloca o maior espaço, havendo a necessidade de busca para encontra-lo. (Após a alocação é produzido o maior espaço livre) Gerenciamento de memória Limites • Para que algo seja alocado/salvo na memória primária o limite de memória deve ser respeitado. Gerenciamento de memória Swapping • Um processo pode ser trocado (swaped) temporariamente para fora da memória primária e levado para a memória secundária (região de swap). • Swap in / Swap out – normalmente utilizando um escalonador de prioridades. • Tempo de troca é agravado pelo tempo de transferência. Gerenciamento de memória Paginação Gerenciamento de memória Paginação (1) • Os processos são divididos em páginas para que possam ser carregados na memória; • A transferência entre memória e disco ocorre sempre em páginas inteiras. • Elimina a fargmentação externa e reduz a fragmentação interna. Memória física dividida em blocos de tamanho fixo são chamados de frames. Memória lógica dividida em blocos de tamanho fixo denominados de página. Gerenciamento de memória Paginação (2) • Para a execução de um processo de n páginas requer n frames na memória. • Necessidade de traduzir endereços lógicos (páginas) em endereços físicos (frames). Gerenciamento de memóriaPaginação (3) • Endereços lógicos são divididos em duas componentes Número da página Deslocamento dentro de uma página • Tamanho da página (P) pode assumir qualquer tamanho, porém, utiliza-se um tamanho de potencia de 2. Gerenciamento de memória Paginação (4) Conversão Gerenciamento de memória Paginação (4) Exemplo conversão: Caracteristicas Memória física: 64 kbytes (16 bits) Maior tamanho de processo: 32 kbytes (15 bits) Páginas: 8 kbytes (13 bits) Páginação Número de frames: 64/8= 8 (3 bits) Número de páginas: 32/8= 4 (2 bits) Deslocamento: 8kbytes (13 bits) Gerenciamento de memória Paginação (5) Exemplo conversão: Gerenciamento de memória Como é feito o calculo do número de bits? Gerenciamento de memória Como é feito o calculo do número de bits? Representação em bits Representação em bits Representação em bits Representação em bits Representação em bits Representação em bits Representação em bits Gerenciamento de memória Exercício: Encontre o número de frames, número de páginas, e deslocamento para paginação. Exemplo conversão: Caracteristicas Memória física: 128 kbytes ( bits) Maior tamanho de processo: 32 kbytes ( bits) Páginas: 16 kbytes ( bits) Páginação Número de frames: Número de páginas: Deslocamento: Gerenciamento de memória Paginação (6) • n páginas são alocadas em n frames implicando na criação de uma tabela de correspondência (tabela de páginas); Gerenciamento de memória Tamanho página (1) • Grandes Processos compostos por menos páginas (tabelas de páginas menores); • Pequenas Processos compostos por mais páginas (tabelas de páginas maiores); • Definição de tamanho MMU (1kbyte a 8kbyte). Gerenciamento de memória Mecanismos de paginação(1) • Proteção Evitar que um processo acesse área (páginas) de outros processos; Garantir o acesso de endereços válidos; • Compartilhamento Permitir que dois ou mais processos dividam uma área comum Exemplo: Gerenciamento de memória Proteção de paginação(1) • Processos acessam somente suas páginas; • Inclusão de bits de controle na tabela de página (R, W, EXE) • Bit de validade Página pertence ou não ao endereço físico. Gerenciamento de memória Compartilhamento de paginação(1) • Uma cópia do código (ready-only) pode ser compartilhada entre vários processos; Gerenciamento de memória Implementação da tabela de páginas via registradores • Cada página utiliza um registrador; • Atualização na troca de contexto; • Custo: Aumento no número de registradores. Gerenciamento de memória Implementação da tabela de páginas em memória • Armazenamento feito na memória; PTBR (Page-table base register) inicio da tabela de páginas PTLR (Page-table length register) tamanho em número de entradas. Custo: Cada acesso necessita de 2 acessos a memória. Gerenciamento de memória Implementação Translation look-aside buffers (TLBs) • Meio termo entre implementação em registradores e memória; • Baseado em uma memória cache especial (TLB) composta por um conjunto de registradores. • Funcionamento: Tabela de páginas em memória, e com uma cópia parcial em TLB. Acesso: Pag no TLB (hit) Similar a implementação de registradores. Pag fora TLB (miss) Similar a solução de memória. Gerenciamento de memória Aspectos que envolvem o uso de TLB • Melhora no desempenho no acesso a tabela de páginas Rapidez • Desvantagens: Tamanho limitado Apenas as páginas em uso por processos necessitam estar na TLB • Acesso: Se a página está presente na TLB (hit) a tradução é feita; Se a página ñ está presente na TLB (miss), consulta a tabela em memória e atualiza a entrada na TLB. Gerenciamento de memória Aspectos que envolvem o uso de TLB Gerenciamento de memória Páginação multinível • Tamanho tabela de páginas: Dimensionamento ( fixo ou variável ) • Tabelas de página, como armazenar? Contigua na memória Acarreta em frag externa Paginar a própria tabela de páginas Solução : • Diretórios de tabelas de página (n níveis) Gerenciamento de memória Páginação multinível Gerenciamento de memória Páginação multinível Estrutura típica para processadores 64bits Gerenciamento de memória Tabela de páginas invertida • O tamanho em uma tabela de página é preocupante; • Como solução a tabela invertida é proposta Tabela de páginas para todo o sistema (não somente por processos) Uma entrada para cada frame Implementação Projeto: Páginação multinível Tarefas: • Criar 4 matrizes 3x3 (sugestão: matriz 3d – i,j,k); • Preenche-las 100% com valores e posições aleatóreamente; • Ligar nome, endereço lógico e endereço físico; • Através da entrada de um endereço lógico retornar o endereço físico de um processo. OBS: • Qualquer linguagem de programação pode ser utilizada; • Um processo não pode ser associado a um endereço físico se não haver endereço disponível. • Um processo não pode ser associado a um endereço físico se o endereço já estiver preenchido. Implementação Projeto: Páginação multinível 137 12 01 147 189 201 454 36 22 45 51 2 111 78 41 13 17 24 5 47 52 91 69 65 72 85 94 03 19 28 13 18 19 115 87 22 0 1 2 3 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 Entrada : 0x110 Retorno : 211 Nome Log Fis 69 0x110 211 - - - - - - - - - - - - Implementação Projeto: Páginação multinível 137 12 01 147 189 201 454 36 22 45 51 2 111 78 41 13 17 24 5 47 52 91 69 65 72 85 94 03 19 28 13 18 19 115 87 22 0 1 2 3 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 Entrada : 0x110 Retorno : 211 Nome Log Fis 69 0x110 211 - - - - - - - - - - - - Memória Virtual Memória Virtual Problemas da gerência de memória (modelo estudado até o momento) Todo o espaço lógico mapeado no espaço físico; Limitação no tamanho dos programas relacionado ao espaço de memória; Desperdício de memória por manter armazenado código não utilizado frequentemente. Memória Virtual Motivação Manter na memória somente partes de programas realmente necessárias; Aumento na multiprogramação. Memória Virtual O que é ? Manter na memória somente partes de programas realmente necessárias; Aumento na multiprogramação. Memória Virtual Princípios Carregar uma página na memória somente quando necessário; Manter uma página na memória somente quando necessário. Paginação por demanda Memória Virtual Princípios Memória Virtual Paginação por demanda Similar ao Swapping Memória Virtual Paginação por demanda – Vantagens Reduz as operações de E/S do processo; Reduz a quantidade de memória utilizada por processo; Aumenta o grau de multiprogramação. Memória Virtual Paginação por demanda – Necessidades Controle de páginas que estão na memória; Bit válido/não válido (Falha na página) – Ocorre quando é necessário uma página na memória e ela não está presente. Memória Virtual Paginação por demanda – Page fault fluxo Memória Virtual Implementação da memória virtual – Componentes Politica de carga de página; Politica de localização de página; Politica de substituição de página. Memória Virtual Implementação da memória virtual – Carga de página Frame livre Carrega página no frame; Não há espaço disponível Libera espaço transferindo página(s) para área de Swap no disco rígido; Politica de substituição (página vítima). Memória Virtual Implementaçãoda memória virtual – Localização Determina na memória real a localização das páginas de um processo. Memória Virtual Implementação da memória virtual – Substituição A medida que as páginas vão sendo carregadas a memória pode ficar completamente ocupada, havendo a necessidade de liberar espaço. O algoritmo de substituição de páginas é responsável pela escolha da página(s) vítima. Memória Virtual Implementação da memória virtual – Bits auxiliares Bit sujeira (Dirty bit) – Indica quando uma página foi alterada durante a execução do processo, se a página não foi alterada, não é necessário salvar seu conteúdo no disco; Bit referência (Reference bit) – Indica se uma página foi acessada durante um período de tempo; Bit tranca (Lock bit) – Evita que uma página seja selecionada como vítima. Memória Virtual Política de substituição de página Selecionar para substituição uma página que será referenciada dentro do maior intervalo de tempo (algoritmo ótimo). Algoritmos de substituição: First-come-first served(FCFS) Least recently used (LRU) Etc... Memória Virtual Política de substituição de página - FCFS Também denominado de FIFO; Simples implementação; Substitui a página que está a mais tempo na memória. Memória Virtual Política de substituição de página - LRU Ideia – Uma página recentemente acessada por um processo será acessada em um futuro próximo; A página a ser substituída é a página acessada a mais tempo. OBS: A implementação desse algoritmo exige o campo data, raramente suportado pelas MMU’s. Memória Virtual Política de substituição de página – LRU Aproximação Utilizar o bit referencia para saber quais as páginas foram acessadas. Possibilidade de melhoria: Implementar vários bits referência, e a cada intervalo de tempo atualizar seus valores. Implementação - Paginação por demanda Criar duas matrizes 2x2; Inserir os dados exatamente como o exemplo; Realizar 3 chamadas de páginas (Aleatoriamente); Imprimir o log a cada chamada. Restrições: Uma página retirada da memória física deve ser colocada na virtual; Caso uma página já esteja na memória física, nada ocorre. A B C D E F G H Memória virtual Memória física Implementação - Paginação por demanda Exemplo: A B C D E F G H Memória virtual Memória física Chamada 1: A Log: Page out (G) Page in (A) Save (G) G B C D E F A H Memória virtual Memória física Chamada 2: F Log: Page available (F) G B C D E F A H Memória virtual Memória física Memória Virtual Política de substituição de página – Segunda chance Também conhecido como algoritmo do relógio; Utiliza o bit referência; Apontador percorre a lista de páginas informando qual será a próxima vítima; Substitui a próxima página que tem o bit referência=0. Memória Virtual Política de substituição de página – Segunda chance Memória Virtual Alocação de páginas em memória física (frames) Problema: Qual o mínimo necessário de páginas por processos? Memória Virtual Alocação de páginas em memória física (frames) Número mínimo de frames Um processo necessita um número mínimo de páginas em frames para executar; Quanto menor o número de páginas de um processo alocada em frames, maior as chances de page-fault; Memória Virtual Algoritmos de alocação Alocação igualitária Alocação proporcional Memória Virtual Algoritmos de alocação – Alocação igualitária m frames, n processos Cada processo recebe m/n; Formação de um banco de frames livres, caso haja sobras na divisão; Variação no número de frames em função do grau de multiprogramação; • Problema: • Os processos possuem tamanhos e necessidades diferentes, entretanto, neste algoritmo todos recebem a mesma quantidade de frames. Memória Virtual Algoritmos de alocação – Alocação proporcional Alocação de frames de acordo com o tamanho do processo. Memória Virtual Algoritmos de alocação – Alocação proporcional 2 Alocação de frames de acordo com a prioridade do processo. Memória Virtual Algoritmos de alocação – Onde alocar? Alocação local Quando é necessário realizar substituição, a página vítima pertence ao mesmo processo. Memória Virtual Algoritmos de alocação – Onde alocar? Alocação global Quando é necessário realizar substituição, a página vítima pode pertencer ao mesmo processo, ou a outro; Normalmente a página vítima pertence a um processo com menor prioridade. Memória Virtual Thrashing Um processo que está em thrashing passa a maior parte do seu tempo de execução no processo de paginação. O tratamento de page-fault é caro em tempo; Conforme o número de páginas físicas alocadas referente a um processo diminui, a taxa de page-fault aumenta; Memória Virtual Thrashing – Efeito congelamento Diferente em função do tipo de alocação de páginas físicas: Alocação global resulta no congelamento do sistema; Alocação local resulta no congelamento do processo. Memória Virtual Thrashing – Consequências Baixa taxa de uso da CPU para a execução de processos de usuários; Adição de processos resulta em maior necessidade de frames; Memória Virtual Thrashing – Conclusão O SO pode entender que o sistema está necessitando de mais processos devido ao congelamento; Maior necessidade de frames agrava a situação; Há um ponto que o grau de multiprogramação compromete o desempenho do sistema. Memória Virtual Thrashing – Como solucionar? Suspensão de processos; Swapping (Não é a opção mais indicada); Prevenção. Bloco questões 1) Relacione Alocação global, local, e congelamento. 1) No que o alto nível de multiprogramação pode ocasionar ? É positivo? Memória Virtual Thrashing – Prevenção Providenciar os frames necessários para a execução dos processos. Working-set Frequência de falta de página Memória Virtual Working-set Um parâmetro delta define a largura da janela do working-set O processo consiste em examinar as últimas páginas utilizadas no delta Memória Virtual Frequência de falta de páginas Controle da taxa de falta de páginas Taxa maior que o máximo aceitável o Há processos necessitando de páginas físicas; o Realização do Swap de alguns processos; Taxa menor que o valor mínimo o Desliga o mecanismo de swapping; o Processos tem muitas páginas físicas alocadas; Memória Virtual Tamanho da página Fatores a serem levados em consideração: • Fragmentação; • Tamanho estruturas internas SO ( tabela de páginas ); • Overhead das operações de E/S. Memória Virtual Tamanho da página Grande Pequena • Fragmentação externa; • Tabela de páginas menores. • Menor fragmentação interna; • Maior quantidade de páginas por processo; • Tabela de páginas maiores. Bloco questões 3) Como é possível prevenir o Thrashing? 4) Para um sistema operacional o que é mais vantajoso, páginas grandes ou pequenas? Aponte os pontos positivos e negativos de cada situação. Gerenciamento de E/S Uma das principais e mais complexas funções do Sistema Operacional. A implementação é realizada utilizando camadas, similar a implementação do SO. Gerenciamento de E/S Processo Operações de E/S Sis. Arqui Subsistema E/S Drivers Controladores Dispositivos E/S Independente do dispositivo Independente do dispositivo Dependente do dispositivo Gerenciamento de E/S Devido a grande quantidade de dispositivos, a implementaçãodo subsistema de E/S se faz necessária. Gerenciamento de E/S Subsistema E/S – Características Responsável por isolar a complexidade dos dispositivos. Flexibilidade na comunicação entre o processo e qualquer tipo de periféricos. Possibilita os processos enxergarem os periféricos de uma única maneira, mesmo quando são diferentes. Gerenciamento de E/S Subsistema E/S – Acesso Conjunto de rotinas que possibilitam a comunicação com qualquer dispositivo. Utilização de System Calls E/S. A comunicação é realizada através de passagem de parâmetros pelo softwares usuários (Exemplo: Caminho a ser salvo determinado arquivo). Gerenciamento de E/S Subsistema E/S – Vantagens Desonerar os desenvolvedores de softwares usuários de conhecimentos de baixo nível. Separar o modo núcleo do modo usuário. Gerenciamento de E/S Subsistema E/S – Classificação de Op. E/S. Síncrona: O processo que realizou a operação aguarda em espera a finalização da operação de E/S. Assíncrona : O processo que realizou a operação continua pronto para ser executado, mas o SO deve fornecer sinalizações para informá-lo sobre o fim da Op. E/S. Implementação – Gerenciador E/S 1) Criar 5 processos (Id, Operação de entrada e saída (OP), Classificação Operação(COP), Iterações necessárias para Operação(IOP); 2) Organizar os processos utilizando FIFO. 3) Implementar uma fila de espera para processos que contenham COP síncronas; 4) Processos devem ser finalizados quando IOP =0; 5) Cada iteração vincula o primeiro processo da fila à CPU, se OP em execução, continua. Implementação – Gerenciador E/S ID OP COP IOP 1 Disco A 2 2 Rede A 3 3 Disco S 4 4 Vídeo S 2 5 Impress A 3 Criação Implementação – Gerenciador E/S ID OP COP IOP 1 Disco A 2 2 Rede A 3 3 Disco S 4 4 Vídeo S 2 5 Impress A 3 Disco(2) OP E/S Espera Prontos 5 – 4 -3 -2 -1 Implementação – Gerenciador E/S ID OP COP IOP 1 Disco A 2 2 Rede A 3 3 Disco S 4 4 Vídeo S 2 5 Impres s A 3 Disco(1) OP E/S Espera Rede(3) OP E/S Espera Prontos 1 - 5 – 4 -3 -2 Implementação – Gerenciador E/S ID OP COP IOP 1 Disco A 2 2 Rede A 3 3 Disco S 4 4 Vídeo S 2 5 Impres s A 3 Disco(0) OP E/S Espera Rede(2) OP E/S Espera Prontos 2 - 1 - 5 – 4 -3 Disco(4) OP E/S Implementação – Gerenciador E/S ID OP COP IOP 1 Disco A 2 2 Rede A 3 3 Disco S 4 4 Vídeo S 2 5 Impres s A 3 Disco(0) OP E/S Espera Rede(2) OP E/S Espera Prontos 2 - 1 - 5 – 4 -3 Disco(4) OP E/S Gerenciamento de E/S Objetivo Promover o maior compartilhamento possível entre os softwares usuários de maneira segura e eficiente. Gerenciamento de E/S Compartilhamento Simultâneo Exclusivo • Utilização simultânea entre usuários • SO responsável pela integridade dos dados; • Ex: Discos. • Utilização exclusiva do recurso • Necessidade da implementação de buffers • Ex: Impressoras Gerenciamento de E/S Tratamento de erros São resolvidos nos níveis mais baixos de hardware Gerenciamento de E/S Padronização Sempre que um novo dispositivo é inserido o driver correspondente é adicionado ao sistema. Deve haver uma padronização para tal instalação para que não seja necessário alterações na camada de E/S. Gerenciamento de E/S Drivers Gerenciamento de E/S Drivers Implementados para realizar a comunicação do subsistema de E/S com os dispositivos, através de controladores. Possuem a função de receber comandos gerais e traduzi-los em comandos específicos para cada dispositivo. OBS: Cada driver manipula somente um tipo de dispositivo. Gerenciamento de E/S Drivers Os drivers estão diretamente ligados ao controlador de dispositivo, que por sua vez é especifico, reconhecendo características detalhadas do hardware em questão. Além da tradução, um driver é capaz de iniciar um dispositivo além de geri-lo. Gerenciamento de E/S Drivers – Desenvolvimento Normalmente implementados em Assembly, fazem parte do núcleo do sistema operacional, entretanto, por se tratar de códigos que executam no kernel, não deve haver erros em sua implementação. Um erro de programação de um driver pode comprometer o funcionamento do sistema. Gerenciamento de E/S Drivers – Dependência Todo dispositivo possui um driver associado a ele para realizar as devidas traduções entre o subsistema E/S e o controlador. Fabricantes de hardware fornecem variações de drivers para as arquiteturas vigentes, como 32 e 64 bits. No passado qualquer instalação de driver conduzia a uma reinicialização, sendo necessário recompilar o kernel. Bloco questões 5) Quais as funções do gerenciamento de E/S? 6) Uma rotina de E/S pode ser classificada como síncrona ou assíncrona, descreva as diferenças. 7) O gerenciador de E/S controla rotinas de diferentes dispositivos que podem compartilhar os recursos de maneira exclusiva ou compartilhada, quais as diferenças? 8) O que é, e qual as funções de um driver? Gerenciamento de E/S Controladores São componentes de hardware responsáveis para controlar diretamente o dispositivo de E/S. A comunicação do SO e os controladores ocorrem por intermédio dos drivers. Gerenciamento de E/S Controladores Os controladores podem ser projetados diretamente no dispositivo de E/S, ou na própria placa mãe. Além da gestão, os controladores são capazes de checar erros no bloco de informações recebidas. Gerenciamento de E/S Controladores Quando não há algum tipo de retorno na operação de E/S, o controlador envia uma mensagem ao SO informando a finalização da rotina. Bloco questões 9) Qual a diferença entre um driver e um controlador? SEGURANÇA E PROTEÇÃO SEGURANÇA E PROTEÇÃO Firewall Componente de segurança que oferece um filtro de pacotes e funções. Incluído pela Microsoft no Windows XP a partir do SP2. SEGURANÇA E PROTEÇÃO Windows Defender Ferramenta incluída a partir do Windows Vista com o objetivo de combate a malwares, trojans, spywares, além de limitar modificações nocivas ao sistema. Assinatura digital Um conjunto de dados criptografados, associados a um documento do qual são função, garantindo a integridade e autenticidade do documento associado. SEGURANÇA E PROTEÇÃO HASHING Usando funções de "Hashing" ou de checagem, é garantida a integridade através de comparação do resultado do teste local com o divulgado pelo autor. SEGURANÇA E PROTEÇÃO HASHING SEGURANÇA E PROTEÇÃO Honeypot É uma ferramenta que tem a função de propositalmente simular falhas de segurança de um sistema e colher informações sobre o invasor enganando-o, conduzindo a falsa impressão de vulnerabilidade do sistema. É uma armadilha para invasores. O HoneyPot não oferece nenhum tipo de proteção. SEGURANÇA E PROTEÇÃO Cowrie - SSH Honeypot (Demo).mp4 Honeypot SEGURANÇA E PROTEÇÃO Bloco questões 10) O HoneyPot não apresenta nenhum tipo de proteção, sendo assim, qual sua verdadeira finalidade? 11) Descreva o papel do firewall em um SO.
Compartilhar