Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas ([email protected]) http://carloseduardoxp.wordpress.com “Nunca con e em um computador que você não pode jogar pela janela.” – Steve Wozniak 2013-2 Sistemas Operacionais Operações do Sistema Operacional Se não existirem processos para executar, dispositivos de I/O para servir e usuários a quem responder, o Sistema Operacional permanecerá inativo esperando que algo aconteça; Eventos são indicados por interrupção ou exceção; Deve ser assegurado que um erro em um programa de usuário só cause problemas para o programa em execução 2013-2 Sistemas Operacionais Operações do Sistema Operacional Deve ser distinguido a execução de código do Sistema Operacional e o código definido pelo usuário; Kernel (bit 0) e Usuário (bit 1) 2013-2 Sistemas Operacionais Operações do Sistema Operacional Caso seja solicitado para executar uma instrução privilegiada em modalidade de usuário, o hardware não executará a instrução, tratando-a como ilegal e interceptando-a para o Sistema Operacional; O controle somente é devolvido ao Sistema Operacional em situações de exceção, interrupção ou chamada de Sistema (syscall); Sistemas Operacionais antigos como o MS-DOS não possuem modo dual; Em casos de erros, o SO irá encerrá-lo anormalmente 2013-2 Sistemas Operacionais Operações do Sistema Operacional Caso seja solicitado para executar uma instrução privilegiada em modalidade de usuário, o hardware não executará a instrução, tratando-a como ilegal e interceptando-a para o Sistema Operacional; O controle somente é devolvido ao Sistema Operacional em situações de exceção, interrupção ou chamada de Sistema (syscall); Sistemas Operacionais antigos como o MS-DOS não possuem modo dual; Em casos de erros, o SO irá encerrá-lo anormalmente 2013-2 Sistemas Operacionais Operações do Sistema Operacional Os Sistemas Operacionais modernos possuem um Timer, que é configurado para interromper o computador após um período especificado; O sistema operacional posiciona um contador, onde cada vez que o relógio marca, o contador é decrementado, onde se atingir 0, ocorre uma interrupção; Ex: contador de 10 bits com relógio de 1 ms, permite interrupções a intervalos de 1 a 1024 ms; O SO pode tratar a interrupção como erro fatal ou dar mais tempo ao programa. 2013-2 Sistemas Operacionais Gerenciamento de processos Um programa em execução é um processo; Um processo precisa de tempo de CPU, memória, arquivos e dispositivos de I/O para cumprir sua tarefa; Vários dados de inicialização podem ser enviados a um processo; Todo processo possui um ou mais contadores de programa especificando a próxima instrução a ser executada; Dois processos associados ao mesmo programa são duas sequências de execução separadas. 2013-2 Sistemas Operacionais Gerenciamento de processos Um processo com vários threads tem múltiplos contadores de programa, cada um apontando para a próxima instrução a ser executada por determinada thread; Alguns processos são do sistema operacional e outros dos usuários; Todos os processos são executados concorrentemente pela multiplexação em uma única CPU 2013-2 Sistemas Operacionais Gerenciamento de processos O Sistema Operacional faz: Scheduling de processos de usuário e do sistema; Suspensão e retomada de processos; Fornecimento de mecanismos para sincronização de processos; Fornecimento de mecanismos para comunicação entre processos. 2013-2 Sistemas Operacionais Gerenciamento de memória A memória principal é um repositório de dados de acesso rápido compartilhado pela CPU e dispositivos de I/O; A memória principal é o único dispositivo de armazenamento amplo que a CPU consegue endereçar e acessar diretamente; Para um programa ser executado, ele deve ser mapeado para endereços absolutos e carregado na memória; Computadores devem manter vários programas na memória, o que cria a necessidade do gerenciamento 2013-2 Sistemas Operacionais Gerenciamento de memória O Sistema Operacional faz: Controlar que partes da memória estão sendo executadas concorrentemente e usadas por quem; Decidir que processos (ou parte deles) e dados devem ser transferidos para dentro e fora da memória; Alocar e desalocar espaço na memória conforme necessário. 2013-2 Sistemas Operacionais Gerenciamento do Sistema de Arquivos Sistemas operacionais abstraem as propriedades físicas dos seus dispositivos de armazenamento, e transforma em uma unidade lógica chamada arquivo; Um arquivo é um conjunto de informações relacionadas definido por seu criador; Um diretório é um arquivo, contudo seu conteúdo se restringe a ponteiros para os arquivos que estão dentro do mesmo. 2013-2 Sistemas Operacionais Gerenciamento do Sistema de Arquivos O Sistema Operacional faz: Criar e apagar arquivos; Criar e apagar diretórios para organizar arquivos; Suportar primitivas para manipulação de arquivos e diretórios; Mapear arquivos para a memória secundária; Fazer backup de arquivos em mídias de armazenamento estáveis (não-voláteis) 2013-2 Sistemas Operacionais Gerenciamento de Armazenamento de Massa A memória secundária deve ser backup para a memória principal; Grande parte dos programas são armazenados em disco até ser carregado na memória, e usam o disco como fonte e destino do processamento O sistema Operacional faz: Gerenciamento do espaço livre; Alocação de espaço de armazenamento; Scheduling de disco. 2013-2 Sistemas Operacionais Armazenamento em Cache Quando se precisa de uma informação específica, primeiro verifica se esta está em cache; Registradores índice fornecem um cache de alta velocidade para a memória principal; Pelo tamanho limitado dos caches, o gerenciamento do cache é um problema de projeto 2013-2 Sistemas Operacionais Armazenamento em Cache Um inteiro a ser incrementado em 1 precisa de: Operação de I/O copiando na memória principal o bloco de disco que o inteiro reside; Copia o inteiro para o cache e em um registrador interno; O incremento é realizado e volta atualizando nos dispositivos. 2013-2 Sistemas Operacionais Sistemas de I/O O Sistema Operacional oculta dos usuários as particularidades dos dispositivos de Hardware; O Sistema Operacional faz: Um componente de gerenciamento de memória que inclui buffer, cache e spooling; Uma interface genérica para drivers de dispositivos; Drivers para dispositivos de hardware específicos. Só o driver do dispositivo conhece as peculiaridades do dispositivo específico ao qual é atribuído 2013-2 Sistemas Operacionais Proteção e Segurança O acesso aos dados deve ser regulado; Proteção é qualquer mecanismo de controle do acesso de processos ou usuários aos recursos; A segurança deve defender o sistema de ataques internos e externos; Sistemas modernos mantém ID de segurança, que é o ID de usuário. Esse ID é associado a todos os processos e threads do usuário 2013-2 Sistemas Operacionais Exercícios 2013-2 Sistemas Operacionais Exercícios 2013-2 Sistemas Operacionais Referências Bibliográficas [1] – Fundamentos de Sistemas Operacionais: Princípios básicos – Silberschartz, Galvin, Gagne 2013-2 Sistemas Operacionais