Sistemas operacionais

402 visualizações

Publicada em

Sistemas operacionais

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
402
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sistemas operacionais

  1. 1. Sistemas Operacionais
  2. 2. Ementa Introdução à Sistemas Operacionais. Conceitos de processos. Comunicação, Concorrência e Sincronização de Processos. Gerenciamento de Memória: Memória Virtual, Paginação, Segmentação e “Swap”. Gerenciamento de Arquivos. Gerenciamento de Dispositivos de Entrada/Saída. Alocação de Recursos. 2
  3. 3. Definições 3
  4. 4. Histórico 1º computador: Máquina analítica de Charles Babbage (1792-1871); Primeira Geração (1945-1955): Válvulas e painéis; Segunda Geração (1956-1965): Transistores e Sistemas Batch; Terceira Geração(1966-1980): Circuitos Integrados e Multiprogramação; Quarta Geração(1981-1990): Computadores Pessoais; Quinta Geração (1991- 20??): Atualidade; Sistemas Móveis 4
  5. 5. Estruturas dos Sistemas Operacionais Modernos Um velho conhecido pelos usuários de microcomputadores é a famosa "tela azul". Quem já utilizou sistemas operacionais antigos, como o Windows 95, certamente já se deparou com este problema. A "tela azul" era de fato uma violação de acesso que tornava o sistema instável. 5
  6. 6. Estruturas dos Sistemas Operacionais Modernos A partir do 80386, esse problema foi solucionado em termos de hardware através da possibilidade de 2 modos de execução: o modo protegido (Windows rodando) e o modo real. Ficava a cargo do sistema operacional a comutação entre esses dois modos por questões de compatibilidade. A instabilidade evidenciada pela "tela azul" tem razões históricas. Os primeiros processadores da linha x86 possuíam um único modo de operação: o modo real. Dessa forma, todas as operações poderiam ser executadas diretamente pelas aplicações que, ao produzir erros, geravam panes no sistema. 6
  7. 7. Estruturas dos Sistemas Operacionais Modernos Voltando à "tela azul"... As aplicações podiam executar diretamente as funções do kernel sem a proteção da mudança de modo, ou seja, o erro acontecia após a execução de uma função do kernel. Com a mudança de modo, se a execução não for segura, a aplicação será impedida de continuar a execução e o sistema permanecerá estável. 7
  8. 8. Sistema Operacional Pode ser dividido em praticamente quatro componentes: Hardware; Sistema Operacional; Programas Aplicativos; Usuários. 8
  9. 9. Sistema Operacional Hardware – unidade central de processamento (CPU), memória e os dispositivos de entrada/saída fornece recursos básicos de computação; Sistema Operacional – controla e coordena o uso do hardware entre vários programas aplicativos diferentes; Programas aplicativos – processadores de texto, planilhas eletrônicas, compiladores e navegadores Web definem as maneiras que estes recursos serão usados. 9
  10. 10. Sistema Operacional 10
  11. 11. Tarefas do sistema operacional Gerenciamento do processador; Gerenciamento de memória; Gerenciamento de dispositivos; Gerenciamento de armazenamento; Interface de aplicativos; Interface do usuário. 11
  12. 12. Conceitos Fundamentais de Sistemas Operacionais Cada parte (módulo ou função) de um Sistema Operacional é responsável pelo gerenciamento de um recurso específico. Esses recursos são: Tempo de CPU; Espaço em memória; Espaço em disco; Acesso aos dispositivos de comunicação; Bibliotecas de software. 12
  13. 13. SO – Visão do Usuário Gerenciar recursos é garantir a utilização compartilhada do recurso sem que ocorram erros que possam gerar instabilidade ou falha no sistema. Sistema Operacional fornece: Acesso ao sistema; Possibilidade de criar e gerir arquivos e diretórios; Ambiente para execução de programas; Acesso aos dispositivos de E/S; Acesso ao conteúdo de arquivos; Detecção de erros. 13
  14. 14. Conceitos Iniciais Camada de software localizada entre os aplicativos e o hardware; Formas de interação (SHELL): CLI: Comand Line Interface (Linux). GUI: Graphic User Interface (Windows). 14
  15. 15. CLI: Comand Line Interface 15
  16. 16. GUI: Graphic User Interface 16
  17. 17. Conceitos Iniciais – “SHELL” O termo Shell é mais usualmente utilizado para se referir aos programas de sistemas do tipo Unix que podem ser utilizados como meio de interação entre interface de usuário para o acesso serviços do kernel no sistema operacional; Este é um programa que recebe, interpreta e executa os comandos de usuário, aparecendo na tela como uma linha de comandos, representada por um interpretador de comandos, que aguarda na tela os comandos do usuário. 17
  18. 18. SHELL - BASH 18
  19. 19. As camadas do sistema 19
  20. 20. Esquema Visual 20
  21. 21. Classificação de Sistemas Operacionais A classificação é utilizada como uma forma sintética de apresentar, em poucas palavras, as características de um Sistema Operacional. 21 Sistemas Monotarefa x Sistemas Multitarefa Sistemas Monousuário x Sistemas Multiusuário Sistemas Monoprocessados x Sistemas Multiprocessados
  22. 22. Classificação de Sistemas Operacionais Aplicativos Monotarefa: executa uma tarefa de cada vez. Exemplo: DOS. Multitarefa: processos podem ser executados simultaneamente (+ que 1processador) /concorrentemente. Exemplo: Windows XP, Windows 7, Linux, MacOS. 22
  23. 23. Classificação de Sistemas Operacionais 23 Executa Espera Executa Espera Monotarefa Executa Espera Executa Espera Espera Executa Espera Executa Multitarefa Programa A Programa B
  24. 24. Classificação de Sistemas Operacionais Usuários Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo, compartilhando os mesmo recursos de software e hardware. Monousuário: Admite e gerencia apenas um usuário de cada vez – não permite que mais de um usuário esteja "logado" simultaneamente. Multiusuário: Admite e gerencia vários usuários ao mesmo tempo – permite que mais de um usuário esteja "logado" simultaneamente. 24
  25. 25. Classificação de Sistemas Operacionais Quantidade de Processadores Monoprocessado: Somente reconhece e utiliza um único processador. Exemplo: Windows 98. Multiprocessado: Reconhece e utiliza mais de um processador ou mais de um núcleo. Exemplo: Windows XP, Windows 7, Linux. 25
  26. 26. 26
  27. 27. Hyper-threading Hyper-Threading ou hiperprocessamento é uma tecnologia usada em processadores que o faz simular dois processadores tornando o sistema mais rápido quando se usa vários programas ao mesmo tempo; Uma tecnologia desenvolvida pela Intel e foi primeiramente empregada no processador Pentium 4 . Apesar do foco da tecnologia Hyper- Threading ser os processadores para servidores de rede, os processadores da série Intel® Core2™ (Extreme Edition) e Intel® Core™ (i3,i5 e i7) usufruem dessa tecnologia proporcionando até 12 núcleos totais. Essa técnica foi criada para oferecer maior eficiência na utilização dos recursos de execução do processador. 27
  28. 28. Hyper-threading 28
  29. 29. Hyper-threading -Modelos Intel Pentium 4; Intel Pentium 4 Extreme Edition; Intel Pentium D Extreme Edition; Todos os modelos e gerações do Intel Core i3; Todos os modelos mobile e de todas as gerações do Core i5; Alguns modelos desktop da primeira geração do Core i5; Todos os modelos e gerações do Intel Core i7; Intel Atom N450; Intel Atom Z2480; Intel Atom D510; Intel Atom D525; Intel Atom N270; Intel Pentium Dual Core. 29
  30. 30. Hierarquia 30
  31. 31. Hierarquia 31
  32. 32. Hierarquia 32
  33. 33. CPU Unidades de Controle: Controla a operação do CPU e, portanto, do computador; Unidade Lógica e Aritmética (ULA): desempenha as funções de processamento de dados; Registradores: fornece o armazenamento interno de dados para a CPU; Interconexão da CPU: possibilita a comunicação entre a unidade de controle, a ULA e os registradores. 33
  34. 34. Classificação de Sistemas Operacionais Rede Conjunto de módulos que ampliam os sistemas operacionais, completando-os com um conjunto de funções básicas que tornam transparentes o uso de recursos compartilhados da rede. 34
  35. 35. Classificação de Sistemas Operacionais Rede Suporte a operações em rede; Compartilhamento de recursos em rede; Usuário precisa saber onde estão os recursos; Recursos pertencem a computadores específicos. 35
  36. 36. Classificação de Sistemas Operacionais Rede 36
  37. 37. Classificação de Sistemas Operacionais Distribuídos Conjunto de computadores independentes que se apresenta a seus usuários como um Sistema único e coerente; Coleção de computadores autonômos interconectados por uma rede, com software projetado para produzir uma aplicação integrada; Sabemos que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede que você faça qualquer trabalho. 37
  38. 38. Classificação de Sistemas Operacionais Distribuídos Ambiente computacional virtual; Visão unificada; Localização abstrata de armazenamento e processamento; Tarefa processada em vários computadores. 38
  39. 39. Classificação de Sistemas Operacionais Redes X Distribuídos Rede: Usuário precisa se preocupar com a localização dos recursos. Distribuído: Usuário não tem que se preocupar com a localização dos recursos. O próprio SO “se vira”. 39
  40. 40. Classificação de Sistemas Operacionais Embarcados/Embutidos. Inseridos em hardware com recursos limitados; Portáteis; Tarefas predefinidas; Requisitos Específicos. PC. Uso doméstico. Servidor. Maior Robustez. 40
  41. 41. Iniciando o Sistema Operacional 41
  42. 42. A inicialização do sistema operacional Quando você liga o computador, o primeiro programa executado é, geralmente, um conjunto de instruções armazenadas na memória ROM (NV). Este código examina o hardware do sistema para ter certeza de que tudo está funcionando corretamente. Este auto teste, é conhecido como POST (power-on self test) ele verifica a CPU, a memória, a BIOS (Sistema de Entrada e Saída Binário ), procura por erros e armazena o resultado em uma memória especial. 42
  43. 43. A inicialização do sistema operacional Ao completar o POST, o software é carregado na memória ROM (às vezes chamado de BIOS ou firmware) ativa as unidades de disco do computador. Na maioria dos computadores modernos, quando o computador ativa o disco rígido ele encontra o trecho inicial do sistema operacional, conhecido como bootstrap loader (sistema de inicialização). 43
  44. 44. Firmware - msinfo32 44
  45. 45. Firmware 45
  46. 46. A inicialização do sistema operacional O bootstrap loader é um pequeno programa que tem uma única função. Ele carrega o sistema operacional na memória e permite que ele comece a operar. Em sua forma mais básica, ele configura os pequenos programas de driver que fazem interface e controlam os vários subsistemas de hardware do computador. Ele configura as partes da memória que contêm o sistema operacional, as informações de usuário e os aplicativos. Ele também estabelece as estruturas de dados responsáveis pelos inúmeros sinais, flags e semáforos que são usados para a comunicação com (e entre) os subsistemas e aplicativos do computador. Então ele entrega o controle do computador ao sistema operacional. 46
  47. 47. Acompanhe em ordem cronológica as etapas que ele percorre 1. Acessa a memória CMOS, um circuito integrado que grava informações referentes ao hardware. Nela, o BIOS estabelece reconhecimento e comunicação com peças como placas de vídeo e memória RAM. *CMOS é a abreviação de "Complementary Metal Oxide Semiconductor". O CMOS é uma pequena área de memória volátil, alimentada por uma bateria, que é usada para gravar as configurações do Setup da placa mãe. 47
  48. 48. Acompanhe em ordem cronológica as etapas que ele percorre 2. A segunda fase, conhecida como Power-on Self Test (POST) nada mais é do que um conjunto de teste que a BIOS realiza para saber se tudo está se inicializando da maneira correta. Quando alguns componentes essenciais estão faltando, alguns beeps ou mensagens na tela alertam o usuário. 48
  49. 49. Acompanhe em ordem cronológica as etapas que ele percorre 3. A etapa seguinte consiste na procura de alguma fonte para inicializar o sistema operacional. Tal fonte é configurável e pode ser um disco rígido (padrão), CD-ROM, pendrive entre outros. 49
  50. 50. Acompanhe em ordem cronológica as etapas que ele percorre 4. Agora, o BIOS lê o setor zero (que contém apenas 512 bytes, denominado Master Boot Record) do HD. Essa área contém um código que alavanca a inicialização do sistema operacional. Outros dispositivos de boot (CDs, etc.) têm a capacidade de emular esse setor zero. 50
  51. 51. Acompanhe em ordem cronológica as etapas que ele percorre 5. No caso do Windows, o Master Boot Record (MBR) verifica qual partição do HD está ativa (configurada como Master) e inicializa o “setor um” dela — essa área tem um código com a simples missão de carregar o setor dois. 51
  52. 52. MBR – Master Boot Record Setor do disco rígido também chamado de “Setor de Boot Mestre”, onde é encontrada a tabela de partição do disco que dará boot; É lida pela BIOS, que interpreta a tabela de partição e sem seguida carrega um programa chamado “Bootstrap”, que é responsável pelo carregamento do Sistema Operacional no setor de boot da partição que dará o boot; Tanto o gerenciador de boot quanto a tabela de particionamento do HD são salvos no primeiro setor do HD (a famosa trilha MBR), que contém apenas 512 bytes. Destes, 446 bytes são reservados para o setor de boot, enquanto os outros 66 bytes guardam a tabela de partição. 52
  53. 53. MBR – Master Boot Record Ao trocar de sistema operacional, você geralmente subscreve a MBR com um novo gerenciador de boot, mas a tabela de particionamento só é modificada ao criar ou deletar partições. Caso, por qualquer motivo, os 66 bytes da tabela de particionamento sejam sobrescritos ou danificados, você perde acesso a todas as partições do HD. O HD fica parecendo vazio, como se tivesse sido completamente apagado. Apesar disso, é quase sempre possível recuperar as partições (e os dados dentro delas) usando um programa de recuperação, como o TESTDISK. 53
  54. 54. MBR – Master Boot Record Para manter dois ou mais sistemas instalados no mesmo micro é necessário instalar um boot manager, um pequeno programa que ficará residente na trilha MBR e será carregado cada vez que o micro é ligado. 54
  55. 55. MBR – Master Boot Record O boot manager exibe então uma tela perguntando qual sistema operacional deve ser inicializado. A maior parte dos sistemas operacionais atuais trazem algum boot manager. No Linux temos o Lilo e o Grub, que podem ser usados para combinar Linux e Windows, ou mesmo várias versões diferentes do Linux, de acordo com a configuração. Existem ainda produtos comerciais, como o BootMagic, que faz parte do PartitionMagic. 55
  56. 56. Acompanhe em ordem cronológica as etapas que ele percorre 6. A etapa seguinte consiste na leitura de um arquivo de configuração de boot, o Boot Loader (quando falamos do Windows, trata-se do NTLDR). 56
  57. 57. Acompanhe em ordem cronológica as etapas que ele percorre 7. A partir dele, é inicializado o núcleo (kernel). Assim como a BIOS estabelece a ligação entre hardware e sistema, o kernel serve para firmar uma comunicação estável entre hardware e software. Nessa fase, é ele quem assume o controle do computador. 57
  58. 58. Kernel Significa “núcleo”. Em linhas gerais, o kernel é o “cérebro” do computador. Peça fundamental dos sistemas operacionais, ele é a ligação entre o processamento dos dados e os programas. O kernel é responsável por ser o elo do hardware (parte física) com o software (parte lógica) do computador. Em outras palavras, o principal objetivo é gerenciar o computador e permitir que os aplicativos sejam executados e façam uso dos recursos que a máquina tem. O núcleo também tem que garantir, por exemplo, que a memória RAM seja usada em seu potencial sem risco para o computador. 58
  59. 59. Kernel Assim que você liga o PC, o kernel é acionado e começa a detectar todo o hardware que ele possui e o que precisa para funcionar (monitor, placa de vídeo, etc.). Depois que o sistema operacional é carregado, o núcleo assume outras funções: gerenciar os processos, os arquivos, a memória e os dispositivos periféricos, fazendo com que ele seja o “organizador” de tudo o que acontece na máquina. Tem ainda a responsabilidade de decidir, a qualquer momento, qual dos programas que estão sendo executados no momento devem ser alocados para o processador (ou processadores). 59
  60. 60. Kernel Tratamento de interrupções; criação e eliminação de processos; sincronização e comunicação entre processos; escalonamento e controle dos processos; gerência de memória; gerência do sistema de arquivos; operações de entrada e saída contabilização e segurança do sistema. 60
  61. 61. System Calls (Unix) Application Program Interface (Windows) Mecanismo de proteção ao núcleo do sistema e de acesso aos seus serviços; O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através da system calls (chamadas ao sistema). Ao invés de executar diretamente funções no kernel, a aplicação executa uma função intermediária, que verifica se o acesso ao kernel é seguro e, só então, completa a operação. 61
  62. 62. SYSTEM CALLS 62 Aplicação System Call Núcleo H a r d w a r e
  63. 63. Estruturas dos Sistemas Operacionais Modernos Modo Usuário x Modo Kernel As aplicações são executadas em modo usuário, ou seja, modo que não possui privilégios para operações que coloquem o sistema em risco, tais como, escrever no disco, criar novas tarefas, etc; Quando essas aplicações precisam executar tarefas críticas, é necessário que haja uma mudança para modo Kernel (núcleo do Sistema Operacional, responsável pelas tarefas críticas do sistema). Essa mudança ocorre através de uma "system call" (chamada ao sistema). 63
  64. 64. Estruturas dos Sistemas Operacionais Modernos 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. 64
  65. 65. Estruturas dos Sistemas Operacionais Modernos 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. 65
  66. 66. Modo de Acesso 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. 66
  67. 67. Registradores Quando o processador executa as instruções, os dados são armazenados, temporariamente, nas pequenas memórias rápidas de 8, 16, 32 ou 64 bits que chamamos registros. Conforme o tipo do processador, o número global de registros pode variar entre uma dezena e várias centenas. Os principais registros são: o registrador de dados ou acumulador (ACC), armazenando os resultados das operações aritméticas e lógicas; o registrador de status (PSW, Processador Status Word), armazenando os indicadores sobre o estado do sistema (retenção, excesso, etc.); o registrador de instrução (RI), com a instrução de processamento em curso; o contador de programa (CO ou PC para Program Counter), com o endereço da próxima instrução a ser processada; o registro reserva, que armazena, temporariamente, um dado vindo da memória. 67
  68. 68. 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; 3) 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. 4) 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. 68
  69. 69. Em resumo... 69
  70. 70. Acompanhe em ordem cronológica as etapas que ele percorre 8. O kernel carrega os arquivos principais e informações básicas do sistema operacional (incluindo o registro), além de relacionar os componentes de hardware com as respectivas DLLs e drivers. 70
  71. 71. Acompanhe em ordem cronológica as etapas que ele percorre 9. No entanto, o kernel não carrega todos os processos para não sobrecarregar o sistema — somente as operações essenciais são colocadas em atividade para possibilitar o início do Windows. 71
  72. 72. Acompanhe em ordem cronológica as etapas que ele percorre 10. A tela de escolha de usuários é exibida e, após o logon, os programas relacionados para começar junto com o sistema são carregados. 72
  73. 73. Em resumo... 73
  74. 74. Modo de segurança 74
  75. 75. Modo de Segurança O que o modo de segurança faz é, basicamente, filtrar ainda mais as funções que entram em ação junto ao carregamento do sistema operacional. O próprio Windows sugere, em certos casos, que o usuário tente reiniciar o computador em modo de segurança; Nele, alguns componentes ficam desativados, possibilitando que deficiências e erros no processo de boot possam ser corrigidos. Da mesma maneira, drivers e programas com problemas podem ser desinstalados ou reinstalados. 75
  76. 76. Bibliografia Silberschatz, Abraham Sistemas Operacionais: conceitos e aplicações / Abraham Silberschatz, Peter Galin, Greg Gagne ; tradução de Adriana Rieche. – Rio de Janeiro: Elsvier, 2000 – 8 Reimpressão. 76Vinicius Campos

×