Sistemas Operacionais - Aula 5

41,211 views
40,830 views

Published on

Aula 5 - Sistemas Operacionais - Cursos de Sistemas de Informação e Rede de Computadores. Instituto Federal de Educação, Ciência e Tecnologia (IFRS)

Published in: Education
6 Comments
23 Likes
Statistics
Notes
No Downloads
Views
Total views
41,211
On SlideShare
0
From Embeds
0
Number of Embeds
1,674
Actions
Shares
0
Downloads
0
Comments
6
Likes
23
Embeds 0
No embeds

No notes for slide

Sistemas Operacionais - Aula 5

  1. 1. Estrutura do sistema operacional Referências: MACHADO, F. B; MAIA, L. P. Arquitetura de Sistemas Operacionais. LTC. 2007.
  2. 2. Sistema operacional: não é composto por uma sequência de início, meio e fim como um aplicativo/programa. Baseado em eventos , de forma assíncrona . Assim, é formado por um conjunto de rotinas (procedimentos, tarefas) que oferece serviços aos usuários e aplicações, denominado núcleo do sistema ou kernel . estrutura do sistema operacional inicialmente...
  3. 3. É a camada de software mais próxima do hardware. Permite que os processos utilizem este recurso concorrentemente , de forma segura e padronizada. Os SO são fornecidos juntamente com utilitários e linguagem de comandos , que são ferramentas de apoio ao usuário, porém, não são parte do núcleo do sistema . estrutura do sistema operacional inicialmente...
  4. 4. Comunicação entre usuário e kernel: 1. Por intermédio das chamadas rotinas do sistema realizadas por aplicações. 2. Interação com núcleo mais amigavelmente por meio de utilitários ou linguagem de comandos. inicialmente... estrutura do sistema operacional
  5. 5. Estrutura do kernel: Diz respeito ao modo como o código do sistema operacional é organizado e o inter-relacionamento entre seus diversos componentes , pode variar conforme a concepção do projeto. inicialmente... estrutura do sistema operacional
  6. 6. Aplicativos: São os programas desenvolvidos para execução de diversas tarefas de processamento de dados e uso geral. Ex.: planilhas eletrônicas, processadores de texto, navegadores para internet. inicialmente... estrutura do sistema operacional
  7. 7. Utilitários: Fornecem complemento necessário para ferramentas básicas de gerenciamento do SO. Podem estar incluídos no SO ou ser instalados posteriormente. Ex.: utilitários de backup, compactação, antivírus e desfragmentadores de disco. inicialmente... estrutura do sistema operacional
  8. 8. Linguagens de comando: É oferecida por cada Sistema Operacional para que os usuários possam ter acesso à rotinas específicas do sistema. Ex.: comandos como ls, rm, clear no UNIX ou dir, format, cd no DOS. inicialmente... estrutura do sistema operacional
  9. 9. inicialmente... estrutura do sistema operacional USUÁRIOS APLICAÇÕES UTILITÁRIOS LINGUAGEM DE COMANDOS ROTINAS DO SISTEMA OPERACIONAL HARDWARE
  10. 10. funções do núcleo estrutura do sistema operacional Núcleo: rotinas executas concorrentemente , sem uma ordem predefinida, com base em eventos dissociados do tempo (eventos assíncronos). Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio sistema operacional.
  11. 11. principais funções do núcleo estrutura do sistema operacional - Tratamento de interrupções e exceções; - Criação e eliminação de processos - Sincronização e comunicação entre processos; - Escalonamento e controle dos processo; - Gerência de memória; - Gerência do sistema de arquivos; - Gerência de dispositivos de E/S; - Suporte a redes locais e distribuídas; - Contabilização do uso do sistema; - Auditoria e segurança do sistema.
  12. 12. Arquitetura complexa de sistema multiprogramáveis: podem surgir problemas relativos à segurança no inter-relacionamento dos diversos subsistemas existentes. Exemplo: diversos usuários compartilham os mesmos recursos . Isto exige que o sistema operacional garanta a confiabilidade na execução concorrente de todos os programas e nos dados dos usuários, além da garantia da integridade do próprio sistema operacional. funções do núcleo estrutura do sistema operacional
  13. 13. Como sabemos... multiprogramação permite que vários programas compartilhem o processador. O SO deve ser responsável pelo controle da utilização da UCP , de forma a impedir que algum programa monopolize o seu uso inadequadamente. Como vários programas ocupam a memória simultaneamente, cada usuário deve possuir uma área reservada, onde seus dados e códigos são armazenados. funções do núcleo estrutura do sistema operacional
  14. 14. SO implementa mecanismos de proteção , de forma a preservar estas informações de maneira reservada . Caso um programa tente acessar uma posição de memória fora de sua área, ocorrerá um erro indicando a violação de acesso . Para que diferentes programas tenham o direito de compartilhar uma mesma área de memória, o sistema operacional deve oferecer mecanismos para que a comunicação seja feita de forma sincronizada e controlada , evitando, desta forma, problemas de inconsistência . funções do núcleo estrutura do sistema operacional
  15. 15. Um disco pode armazenar arquivos de diferentes usuários . Mais uma vez o sistema operacional deve garantir a integridade e a confidencialidade dos dados, permitindo ainda que dois ou mais usuários possam ter acesso simultâneo ao mesmo arquivo. Assim... São necessários mecanismos de proteção que controlem o acesso concorrente aos diversos recursos do sistema. funções do núcleo estrutura do sistema operacional
  16. 16. Importante: Implementação de mecanismos de proteção ao núcleo do sistema e de acesso aos seus serviços. Caso uma aplicação, que tenha acesso ao núcleo, realize uma operação que altere sua integridade, todo o sistema poderá ficar comprometido e inoperante . modo de acesso estrutura do sistema operacional
  17. 17. Muitas das principais implementações de segurança de um sistema operacional utilizam um mecanismo presente no hardware dos processadores , conhecido como modo de acesso . Em geral, os processadores possuem dois modos de acesso: modo usuário e modo kernel. modo de acesso estrutura do sistema operacional
  18. 18. Modo usuário : aplicação só pode executar instruções conhecidas como não-privilegiadas, tendo acesso a um número reduzido de instruções Modo kernel: aplicação pode ter acesso ao conjunto total de instruções do processador. modo de acesso estrutura do sistema operacional
  19. 19. Ou seja... Instruções privilegiadas : têm o poder de comprometer o sistema; instruções não privilegiadas : não oferecem perigo ao sistema; O modo de acesso é um mecanismo para impedir problemas de segurança e mesmo violação do sistema. modo usuário: aplicação somente pode executar instruções não privilegiadas e acesso a um número reduzido de instruções; modo kernel: aplicação pode ter acesso ao conjunto total de instruções no processador. modo de acesso estrutura do sistema operacional
  20. 20. O modo de acesso é determinado por um conjunto de bits , localizado no registrador de status (PSW) do processador , que indica o modo de acesso corrente. Por intermédio desse registrador, o hardware verifica se a instrução pode ou não ser executada. modo de acesso estrutura do sistema operacional
  21. 21. modo de acesso corrente o hardware verifica se a instrução pode ou não ser executada pela aplicação através desse registrador. modo de acesso estrutura do sistema operacional
  22. 22. Apenas o SO tem acesso às instruções privilegiadas ... Aplicação necessita de um serviço que pode colocar o sistema em risco, então... 1) Solicitação é realizada através de uma system call. 2) System call altera o modo de acesso do processador para um modo kernel 4) Se caso um programa tente executar uma instrução privilegiada, sem o processador estar no modo kernel, uma exceção é gerada e o programa é encerrado. 6) Se for permitido ele executa a tarefa solicitada 5) o modo de acesso é retornado para o modo usuário ao término da rotina do sistema. modo de acesso estrutura do sistema operacional
  23. 23. Instruções privilegiadas não devem ser utilizadas de maneira indiscriminada pelas aplicações, pois isso poderia ocasionar sérios problemas à integridade do sistema. Exemplo: Uma aplicação atualiza um arquivo em disco. O programa, por si só, não deve especificar diretamente as instruções que acessam seus dados no disco. Como o disco é um recurso compartilhado , sua utilização deverá ser gerenciada unicamente pelo SO , evitando que a aplicação possa ter acesso a qualquer área do disco sem autorização, o que poderia comprometer a segurança e a integridade do sistema de arquivos. modo de acesso estrutura do sistema operacional
  24. 24. Certas instruções só devem ser executadas pelo SO ou sob sua supervisão. As instruções privilegiadas: executadas quando o modo de acesso do processador encontra-se em kernel , caso contrário, o hardware irá impedir a execução da instrução. Instruções não-privilegiadas são as que não oferecem risco ao sistema e podem ser executadas em modo não-privilegiado, ou seja, modo usuário . modo de acesso estrutura do sistema operacional
  25. 25. Exemplo: modos de acessos para proteção do próprio núcleo do sistema residente na memória principal . Caso uma aplicação tenha acesso a áreas de memória onde está carregado o sistema operacional , um programador mal-intencionado ou um erro de programação poderia gravar nessa área , violando o sistema. Com o mecanismo de modo de acesso, para uma aplicação escrever numa área onde resida o SO o programa deve estar sendo executado no modo kernel. modo de acesso estrutura do sistema operacional
  26. 26. Compõem o núcleo do sistema, oferecendo serviços aos usuários e suas aplicações . Funções do núcleo são implementadas por rotinas do sistema que necessariamente possuem em seu código instruções privilegiadas . A partir desta condição, para que estas rotinas possam ser executadas o processador deve estar obrigatoriamente em modo kernel . rotinas do SO e system calls estrutura do sistema operacional
  27. 27. Controle de execução de rotinas do SO é realizado pelo mecanismo conhecido como system call . Toda vez que uma aplicação desejar chamar uma rotina do SO , o mecanismo de system call é ativado. Inicialmente... SO verifica se a aplicação possui privilégios rotinas do SO e system calls estrutura do sistema operacional
  28. 28. Em caso negativo... SO impedirá o desvio para a rotina do sistema, sinalizando ao programa chamador que a operação não é possível . Este é um mecanismo de proteção por software , no qual o SO garante que as aplicações só poderão executar rotinas do sistema que estão previamente autorizadas. Esta autorização prévia é realizada pelo administrador do sistema. rotinas do SO e system calls estrutura do sistema operacional
  29. 29. Em caso afirmativo... SO salva o conteúdo corrente dos registradores , troca o modo de acesso do processador de usuário para kernel e realiza o desvio para a rotina alterando o registrador PC com o endereço da rotina chamada. rotinas do SO e system calls estrutura do sistema operacional
  30. 30. Ao término da execução da rotina do sistema, o modo de acesso é alterado de kernel para usuário e o contexto dos registradores restaurados para que a aplicação continue a execução a partir da instrução que chamou a rotina do sistema. rotinas do SO e system calls estrutura do sistema operacional
  31. 31. rotinas do SO e system calls estrutura do sistema operacional MODO USUÁRIO MODO KERNEL
  32. 32. As rotinas do sistema e o mecanismo de system call podem ser entendidos como uma porta de entrada para o núcleo do SO e a seus serviços . Sempre que uma aplicação desejar algum serviço do sistema, deve ser realizada uma chamada a uma de suas rotinas através de uma system call. Chamada a rotinas do SO estrutura do sistema operacional
  33. 33. Por intermédio dos parâmetros fornecidos na system call, a solicitação é processada e uma resposta é retornada à aplicação juntamente com um estado de conclusão indicando se houve algum erro . Chamada a rotinas do SO estrutura do sistema operacional
  34. 34. O termo system call é tipicamente utilizado em sistemas UNIX , porém, em outros sistemas o mesmo conceito é apresentado com diferentes nomes System Services no Open VMS Application Program Interface no Windows Chamada a rotinas do SO estrutura do sistema operacional
  35. 35. Cada SO possui seu próprio conjunto de rotinas , com nomes, parâmetros e formas de ativação específicos . Uma aplicação desenvolvida utilizando serviços de um determinado SO não pode ser portada diretamente para um outro sistema, exigindo algumas correções no código-fonte . Chamada a rotinas do SO estrutura do sistema operacional
  36. 36. Chamada a rotinas do SO estrutura do sistema operacional
  37. 37. Exemplo: API GetSystemTime para obter a data e a hora do sistema Windows . A função SystemTimeToDateTime converte a data e a hora para o formato DataHoraT do Delphi e, em seguida, para o formato texto utilizando a função DateTimeToStr . A última linha exibe a data e a hora do sistema em uma janela previamente criada. GetSystemTime(SystemTime); DataHoraT := SystemTimeToDateTime(SystemTime); DataHoraS := DateTimeToStr(DataHoraT); RichEdit1.Lines.Add(DataHoraS); Chamada a rotinas do SO estrutura do sistema operacional
  38. 38. A maioria dos programadores e usuários desconhece os detalhes envolvidos, por exemplo, em um simples comando de leitura a um arquivo utilizando uma linguagem de alto nível. O comando da linguagem de alto nível é convertido pelo compilador para uma chamada a uma rotina específica que, quando executada, verifica a ocorrência de erros e retorna os dados ao programa de forma transparente ao usuário. As rotinas do sistema podem ser divididas por grupos de função. Chamada a rotinas do SO estrutura do sistema operacional
  39. 39. Tem a função de permitir que o usuário se comunique de uma forma direta com o Sistema Operacional na execução execução de tarefas mais específicas . O interpretador de comandos ( shell ) não faz parte do núcleo do sistema. Assim, é permitida a criação de novos interpretadores de comandos. Linguagem de comandos estrutura do sistema operacional
  40. 40. Interpretador tem a função de se comunicar com o núcleo para verificar a permissão de execução daquele comando . Em alguns sistemas como Windows , são utilizadas janelas como mais uma camada, acima dos comandos. Para melhorar a interação com o usuário. Linguagem de comandos estrutura do sistema operacional
  41. 41. Ao ligar a máquina o S.O. deve ter os seus componentes carregados na mémória . O procedimento responsável por essa ação é denominado ativação do sistema ou boot . Ativação e dastivação do sistema estrutura do sistema operacional
  42. 42. 1) Inicia a execução do programa Boot Loader localizado na ROM 2) Este chama outro programa: POST (Power-On Self Test), que identifica problemas de hardware 3) O procedimento de ativação procura algum SO nos dispositivos, para continuar o processo ou exibir mensagem de erro Ativação e dastivação do sistema estrutura do sistema operacional
  43. 43. 5) Encontrado o SO é carregado um conjunto de instruções para memória e localizado o setor de boot ( boot sector ). A partir desse ponto o SO. É carregado finalmente para memória. O S.O. também possui o processo de desativação do sistema ou shutdown . Desativa ordenadamente todos os módulos do S.O evitando futuros danos ao sistema. Ativação e dastivação do sistema estrutura do sistema operacional

×