1/9 Bibliografia MACHADO, F. B.; MAIA, L. P.. Arquitetura de Sistemas Operacionais. 4. ed. Rio de Janeiro: LTC, 2007. SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.. Sistemas operacionais com Java. Rio de Janeiro: Elsevier, 2008. TANENBAUM, A. S.. Sistemas Operacionais Modernos. Rio de Janeiro: Editora Campus, 1995. STUART, B.L, Princpios de Sistemas Operacionais- Projetos e Aplicaes, Rio de Janeiro: LTC,2010 MARQUES, J.A. et al, Sistemas Operacionais, Rio de Janeiro:LTC, 2010. 2/9 Contextualizao Definio: Conjunto de programas responsvel pela gerncia de recursos de hardware, segurana de acesso e utilizao e interface com os usurios; 3/9 Contextualizao Componentes Bsicos: Interface com o usurio, gerencia de processador, gerncia de memria, gerncia de dispositivos, sistemas de arquivos; Componentes Avanados: Segurana de acesso, ferramentas de auditoria 4/9 5/9 Definio de SO uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usurio final. uma estrutura de software ampla, muitas vezes complexa, que incorpora aspectos de baixo nvel (como drivers de dispositivos e gerncia de memria fsica) e de alto nvel (como programas utilitrios e a prpria interface grfica). 6/9 Viso do Sistema Operacional programadores e analistas memria discos UCP Usurios Hardware Sistema Operacional Sistema Operacional fitas impressoras monitores programas, sistemas e aplicativos usurios 7/9 Abstrao de Recursos Cada hardware tem sua particularidade Cabe ao sistema operacional gerenciar as particularidades do hardware Um processador de texto no deve deter o conhecimento de como gravar um arquivo (disquetes, pen drive, hds). 8/9 Cabe ao Sistema Operacional Prover interfaces de acesso aos dispositivos, mais simples de usar que as interface de baixo nvel. Tornar os aplicativos independentes do hardware. Definir interfaces de acesso homogneas para dispositivos com tecnologias distintas. 9/9 Gerncia de Recursos Cabe ao sistema operacional definir polticas para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais disputas e conflitos. Uso de processador Acesso a disco Memria 10/9 Atividade Quais os sistemas operacionais que vocs conhecem ? Como eles funcionam ? Como sua interface ? Contextualizao Evoluo Histrica dos Sistemas Operacionais 11/9 12/12 Roteiro Batch (lote) De Rede Distribudo Multi-usurio Desktop Servidor Embutido Tempo real 13/12 Batch (lote) Todos os programas a executar eram colocados em uma fila. O processador recebia um programa aps o outro, processando-os em seqncia, o que permitia um alto grau de utilizao do sistema. O termo lote ainda usado para definir um conjunto de comandos que rodam sem interferncia do usurio 14/12 Bach (lote) Processamento Processamento Processamento (a) (b) (c) fita de entrada fita de entrada cartes perfurados fita de sada relatrios fita de sada job 2 job n relatrio 1 relatrio 2 relatrio n job 1 15/12 Rede Suporte a operao em rede Maioria dos sistemas operacionais atuais Compartilhamento de recursos de/ou para vrios computadores. Disponibilizar os prprios recursos. So independentes e caso a conexo entre um dos ns sofra qualquer problema, os demais continuam operando normalmente , apesar de alguns recursos se tornarem indisponveis. Exemplo: Os mdulos do S.O Rede podem ser: Mdulo Cliente do Sistema Operacional (SORC) Mdulo Servidor do Sistema Operacional (SORS) 16/9 Rede 17/12 Distribudo Os recursos de cada mquina esto disponveis globalmente, de forma transparente aos usurios. Para o usurio e suas aplicaes como se no existisse uma rede de computadores e sim um nico sistema centralizado. Usurio desconhece o computador em uso. Ainda no so uma realidade de mercado. Exemplo: Google Docs, One Drive, ICloud 18/9 Distribudo 19/12 Multi-usurio Mltiplos usurios simultneos Maioria dos sistemas operacionais atuais Deve suportar a identificao do dono de cada recurso dentro do sistema arquivos, processos, conexes de rede Imposio de regras de controle de acesso para impedir o uso desses recursos por usurios no autorizados 20/12 Desktop Sistema operacional de mesa. Usurios domsticos e corporativos Atividades corriqueiras Ambiente grfico, interatividade com usurio e suporte a rede. 21/12 Servidor Gesto de grandes quantidades de recursos Discos, memrias e processadores e servios gerais Multi-usurios Suporte a rede 22/12 Embutido Embedded Hardwares com pouca capacidade de processamento Calculadores, tocadores de MP3, computador de bordo para veculos Funo especfica Embutido 23/9 24/12 Tempo real Comportamento temporal previsvel Tempo de resposta conhecido no melhor caso e pior caso de operao soft real-time systems perda de prazo implica em degradao do servio prestado (gravao de CD) hard real-time systems perda de prazo pode causar grandes prejuzos econmicos ou ambientais (usina nuclear, caldeiras industriais) Tempo real 25/9 26/11 Roteiro Funcionalidades de um sistema operacional Gerncia Processador Memria Dispositivos Arquivos Proteo 27/11 Sistema Operacional e sua gerncia Para cumprir sua funo, deve atuar em vrias frentes. So vrios os recursos a serem gerenciados Ateno: Necessrio Abstrao 28/11 Gerncia de Processador Conhecida como gerncia de processos ou de atividades. Visa distribuir a capacidade de processamento de forma justa Justa diferente de igual Gerncia de Processador Sincronizao de atividades Comunicao entre processos Manter o processador ocupado a maior parte do tempo; Balancear o uso da CPU entre processos; Privilegiar a execuo de aplicaes crticas; Maximizar o throughput (rendimento) e; Oferecer tempos de resposta razoveis aos usurios interativos. 29/9 30/11 Gerncia de Memria Fornecer a cada aplicao um espao prprio de memria Independente e isolado das demais aplicaes Uso do disco como memria complementar Aplicao desconhece o tipo da memria em uso 31/11 Gerncia de Dispositivos Gerncia de Entrada/Sada Vrios dispositivos diferentes Pen drive, disquetes, discos IDE e SCSI Permitir, atravs de drivers, o uso de forma comum Vetor de blocos de dados (endereamento de memria) 32/11 Gerncia de Arquivos Construda sobre a gerncia de dispositivos Criando abstraes de arquivos e diretrios Outros dispositivos podem ser utilizados como arquivos Gravar arquivos numa sada TCP Outras devices; 33/11 Gerncia de Proteo Polticas de acesso para sistemas Em rede Multi-usurios Definio de usurios, grupos de usurios, registro de recursos por usurios 34/11 Sistemas Operacionais Modernos Gerncia de energia Gerncia de rede Gerncia de recursos multimida 35/11 Os mdulos de gerncia so inter-dependentes 36/13 Roteiro Estrutura de um sistema operacional Componentes Uso e importncia Programas Utilitrios 37/13 Ncleo Kernel Corao do sistema operacional Responsvel pela gerncia dos recursos de hardwares utilizados 38/13 Drivers Cdigos especficos Acesso dispositivos fsicos Normalmente fornecido pelo fabricante do hardware Forma binria Acoplado ao sistema operacional Drivers 39/9 Dispositivo para o Drivers 40/9 41/13 Inicializao do Sistema Operacional Carregar o ncleo do sistema operacional em memria e iniciar sua execuo. Disco Memria Principal b o o t Sistema Operacional rea do Sistema Operacional 42/13 Programas Utilitrios Facilitam o uso do sistema operacional Tradutor Interpretador Linker Loader Depurador Interpretador de Comandos (shell) Qualquer, programas-fonte escritos no esta pronto para ser diretamente executado pelo processador. Para isso eles tm que passar pela ETAPA DE CONVERSO. TODA REPRESENTAO DAS INSTRUES TRADUZIDA PARA CDIGO DE MQUINA Tradutor Tradutor Montador (assembler); Tradutor Compilador 44/13 Tradutor programa fonte programa objeto Tradutor Compilador 45/13 Interpretador Considerado TRADUTOR que no gera mdulo-objeto** **(No um arquivo executvel propriamente dito, mas j se encontra em linguagem de mquina). Traduz cada comando e executa Desvantagem: tempo na traduo Vantagem: ados dinmicos 46/13 Linker Tem como funo resolver todas as referncias simblicas existentes entre os mdulos e reservar memria para execuo do programa. funo unir vrios programas j compilados de uma forma independente e unific-los em um programa executvel. 47/13 Linker 48/13 Linker 49/13 Loader Normalmente de responsabilidade do sistema operacional carregar e executar arquivos. A parte do sistema operacional que executa essa funo chamada de loader (carregador) H dois tipos de loaders: relocvel e absoluto. 50/13 LOADERS: RELOCVEL Carregar o programa em qualquer locao da memria, e altera vrios endereos para assegurar a referncia correta. A deciso sobre onde o programa alocado na memria feita pelo SISTEMA OPERACIONAL, no pelo arquivo de cabealho de programas. 51/13 LOADERS: ABSOLUTO. O loader carrega o arquivo em memria na locao especificada pela parte inicial (cabealho) do arquivo e passa o controle ao programa. 52/13 Depurador Permite acompanhar a execuo de um programa e detectar erros. Breakpoints - Ponto de interrupo uma parada intencional ou pausar lugar em um programa Watchpoints - Ponto programado uma parada pr estabelecida num ponto determinado do programa 53/13 Interpretador de Comandos Interpretador de comandos ou shell permite ao usurio interagir com o sistema Linguagem de controle so os comandos disponveis pelo interpretador Exemplos: Shell Bash, console e prompt de comando 54/25 Roteiro Hardware Estrutura de um sistema operacional Interrupes Proteo do ncleo Nveis de privilgio Chamadas de sistema 55/25 Hardware Mono-processadores atuais seguem um padro definido na dcada de 40 por Jnos (John) Von Neumann Arquitetura Von Neumann Programa armazenado John von Neumann formalizou o projeto lgico de um computador. Em sua proposta, sugeriu que as instrues fossem armazenadas na memria do computador. At ento elas eram lidas de cartes perfurados e executadas, uma a uma. Armazen-las na memria, para ento execut-las, tornaria o computador mais rpido, j que, no momento da execuo, as instrues seriam obtidas com rapidez eletrnica. 56/9 57/25 Estrutura de um Sistema Operacional Controladora de Dispositivos Dispositivos fsicos Hardware Software Aplicativos Programas Utilitrios Nvel usurio Nvel sistema Ncleo Cdigo de Inicializao Drivers de Dispositivo 58/25 Hardware Memria Principal Dispositivos de E/ S Processador / UCP Unidade Lgica e Ari tmti ca Registradores Unidade de Controle 59/25 Processador o ncleo do sistema de computao. Responsvel por continuamente ler as instrues e dados da memria ou de perifricos, process-los e enviar os resultados de volta a memria ou outros perifricos. 60/25 Processador Unidade Central de Processamento (UCP ou CPU) Unidade de Controle (UC) Unidade Lgica e Aritmtica (ULA) Clock Memrias de alta velocidade 61/25 Processador Processador cognitivo no simular o crebro humano, usar o que j se sabe sobre o funcionamento dos crebros biolgicos para construir um sistema capaz de aprender e interagir com o ambiente. WATSON IBM Pesquisa: Sobre o computador WATSON - IBM 62/9 VEJA NO LINK: http://www- 03.ibm.com/systems/b r/power/advantages/w atson/ 63/9 64/25 Barramento Ocorre todas as transferncias de dados. Barramento de endereos Indica a posio de memria (ou dispositivo) a acessar Barramento de controle Indica a operao a efetuar (leitura ou escrita) Barramento de dados Transporta a informao indicada entre o processador e a memria ou controlador de dispositivo 65/25 Barramento Barramento processador-memria B a r r a m e n t o
d e
E / S B a r r a m e n t o
d e
E / S Adaptador Adaptador Memria Principal UCP 66/25 MMU Memory Management Unit (Unidade de Gerncia de Memria) Responsvel por analisar cada endereo solicitado pelo processador, valid-los, efetuar converses de endereamento necessrias e executar a operao solicitada pelo processador leitura ou escrita de uma posio de memria 67/25 Memria maior capacidade de armazenamento maior custo e velocidade de acesso Memria Secundria Memria Cache Memria Principal Registradores 68/25 Memria Secundria Chamadas de memrias de armazenamento em massa, para armazenamento permanente de dados. No podem ser endereadas diretamente, a informao precisa ser carregada em memria principal antes de poder ser tratada pelo processador. 69/25 Memria Secundria 70/25 Memria PRIMRIA Chamadas de memria real, so memrias que o processador pode enderear diretamente, sem as quais o computador no pode funcionar. Estas fornecem geralmente uma ponte para as secundrias, mas a sua funo principal a de conter a informao necessria para o processador num determinado momento; esta informao pode ser, por exemplo, os programas em execuo. 71/25 Memria Primria Nesta categoria insere-se a RAM, que uma memria de semicondutores, voltil, com acesso aleatrio, isto , palavras individuais de memria so acessadas diretamente, utilizando uma lgica de endereamento implementada em hardware. 72/25 Memria CACHE Dispositivo de acesso rpido, interno a um sistema, que serve de intermedirio entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. 73/25 Memria CACHE Atualmente h cache em processadores, discos rgidos, sistemas, servidores, nas placa me, cluter de bancos de dados, entre outros. Qualquer dispositivo que requeira do usurio uma solicitao/requisio a algum outro recurso, seja de rede ou local, interno ou externo a essa rede, pode requerer ou possuir de fbrica o recurso de cache. 74/25 Memria CACHE 75/25 Memria REGISTRADORES uma unidade de memria capaz de armazenar n bits. Os registradores esto no topo da hierarquia de memria, sendo assim, so o meio mais rpido e caro de se armazenar um dado. Obs: Apesar dos registradores apresentarem um bom desempenho no quesito rapidez, possuem uma capacidade de armazenamento baixssima comparada a outros circuitos de armazenamento, como o caso da memria secundria. 76/25 Diversos Dispositivos Memria secundria Discos Fitas magnticas Interface usurio-mquina Teclados Impressoras Outros dispositivos Placa de vdeo Dispositivos USBs So acessados atravs de circuitos especficos denominados controladores 77/25 Arquitetura de um Computador controle endereos dados Processador MMU Memria Controladora USB Mouse Teclado Controladora de vdeo Monitor Controladora de disco Controladora de rede Unidade de disco Conexo de rede 78/25 Interrupes Quando um controlador de perifrico possui uma informao importante para fornecer ao processador Aguarda at que o processador o consulte Notifica o processador atravs do barramento de controle Requisio de interrupo (IRQ Interrupt ReQuest) 79/25 Interrupo A. EXEMPLO: 1. O processador est executando um programa qualquer (em outras palavras, um fluxo de execuo); 2. Um pacote vindo da rede recebido pela placa Ethernet; 3. A placa envia uma solicitao de interrupo (IRQ) ao processador; 4. O processamento desviado do programa em execuo para a rotina de tratamento da interrupo 5. A rotina de tratamento executada para receber as informaes da placa de rede (via barramentos de dados e de endereos) e atualizar as estruturas de dados do sistema operacional; 6. A rotina de tratamento da interrupo finalizada e o processador retorna execuo do programa que havia sido interrompido. 80/25 Interrupo controle endereos dados Processador MMU Controladora de rede Programa em execuo memria 1 Rotina de tratamento da interrupo 4 6 2 5 5 3 81/25 Proteo ao Ncleo Certas instrues no podem estar disponveis para as aplicaes, pois isso poderia ocasionar um srio problema de integridade no sistema. Por exemplo, um acesso ao disco rgido para gravao de um arquivo. Ateno: Aplicativos de auto gravao exercem a mesma funo de solicitao de IRQ 82/25 Nveis de privilgio Ento, existe 2 tipos de instrues: Instrues privilegiadas Instrues no-privilegiadas. O processador implementa 2 modos de acesso: Modo usurio Modo kernel (ou supervisor).
CPU Intel x86 Sistema Operacional Aplicao No utilizado
No utilizado 0 1 2 3 83/25 Separao entre ncleo e as aplicaes Hardware Ncleo Nvel ncleo Nvel usurio Aplicao Aplicao Aplicao Aplicao 84/25 Chamadas de Sistema o mecanismo usado pelo programa para requisitar um servio do sistema operacional, ou mais especificamente, do ncleo do sistema operacional. 85/25 Chamadas de Sistema So portas de entrada para se ter acesso ao ncleo do sistema operacional. Exemplo: Quando o usurio deseja algum servio, realiza uma chamada a uma de suas rotinas atravs de system calls (chamadas ao sistema). Para cada servio existe um system call associada e cada sistema operacional tem o seu prprio conjunto de chamadas. 86/25 System Calls Aplicao System Call Ncleo Hardware 87/25 Syscalls - Grupos de Funo Gerncia de Processos Criao e eliminao de processos, alterao das caractersticas do processo e sincronizao e comunicao entre processos. Gerncia de memria Alocao e desalocao de memria. Gerncia de entrada/sada Operaes de entrada e sada e manipulao de arquivos e diretrios. 88/25 Chamada a uma rotina de acesso 89/25 API - Interface de Programao de Aplicativos Conjunto de chamadas de sistema oferecidas por um ncleo, chamada de API API Win32 (Windows) POSIX (Unix/Linux) 90/25 API - Interface de Programao de Aplicativos API Win32 (Windows) APIs do Windows so bibliotecas de vnculo dinmico (DLLs) que fazem parte do sistema operacional Windows. Voc as usa para executar tarefas quando difcil escrever procedimentos equivalentes de sua preferncia. Por exemplo, o Windows fornece uma funo chamada FlashWindowEx que permite que voc crie a barra de ttulo para um aplicativo alternativo entre tonalidades claras e escuras. 91/25 API - Interface de Programao de Aplicativos POSIX (Unix/Linux) Interface Portvel entre Sistemas Operacionais) uma famlia de normas definidas pelo IEEE e designada formalmente por IEEE 1003, que tem como objetivo garantir a portabilidade do cdigo-fonte de um programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema POSIX, desta forma as regras atuam como uma interface entre sistemas operacionais distintos. 92/25 API - Interface de Programao de Aplicativos Um sistema operacional possui uma grande quantidade de funes na API, que permitem ao programador criar janelas, acessar arquivos, criptografar dados etc. As APIs dos sistemas operacionais costumam ser dissociadas de tarefas mais essenciais, como a manipulao de blocos de memria e acesso a dispositivos. Essas tarefas so atributos do ncleo de sistema e raramente so programveis. Avaliao Bimestral Data:_______ - Leitura do material - Reviso de exerccios/Exemplos 93/9 94/13 Roteiro Sistemas monolticos Sistemas em camadas Sistemas micro-ncleo Mquinas virtuais 95/13 Sistema Monoltico A organizao mais comum aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras. Pode ser comparada com uma aplicao formada por vrios procedimentos que so compilados separadamente e depois linkados, formando um grande e nico programa executvel. Grande desempenho Uma falha pode paralisar o todo o ncleo 96/13 Sistema Monoltico Aplicao Aplicao System Calls Hardware Modo Usurio Modo Kernel ncleo Sistema Monoltico PESQUISAR OS TIPOS DE SISTEMAS OPERACIONAIS MONOLTICOS 98/13 Sistema em Camadas Divide o sistema operacional em sistemas sobrepostos. Cada mdulo oferece um conjunto de funes que pode ser usado por outros mdulos. A vantagem da estruturao em camadas isolar o sistema operacional, facilitando sua alterao e depurao, alm de criar uma hierarquia de nveis de modos, protegendo as camadas mais internas. 99/13 Sistema em Camadas O empilhamento de vrias camadas de software faz com que cada pedido de uma aplicao demore mais tempo para chegar at o dispositivo perifrico ou recurso a ser acessado, prejudicando o desempenho do sistema. No bvio dividir as funcionalidades de um ncleo de sistema operacional em camadas horizontais de abstrao crescente, pois essas funcionalidades so inter-dependentes, embora tratem muitas vezes de recursos distintos. 100/13 Sistema em Camadas 2 1 3 Programas de Usurio Multiprogramao 0 Gerncia de Memria Entrada/Sada Comunicao 4 5 Operador Kernel Supervisor Usurio Executivo Sistema VMS Sistema Multics Sistema em Camadas PESQUISAR OS TIPOS DE SISTEMAS OPERACIONAIS CAMADAS 102/13 Sistemas micro-ncleo (microkernel) Uma tendncia dos sistemas operacionais tornar o ncleo menor e mais simples possvel e para implementar esta idia o sistema dividido em processos. Desta forma, sempre que uma aplicao deseja algum servio ela solicita ao processo responsvel, assim, a aplicao que solicita um servio chamada de cliente e o processo que responde a solicitao chamado de servidor. 103/13 Sistema micro-ncleo A utilizao deste modelo permite que os servidores executem em modo usurio. Apenas o ncleo do sistema, responsvel pela comunicao entre clientes e servidores, executa no modo kernel. O sistema operacional passa a ser de mais fcil manuteno. No importa se o servio esta sendo processado em um nico processador, com mltiplos processadores (fortemente acoplado) ou em sistema distribudo (fracamente acoplado). 104/13 Sistema micro-ncleo Em ambiente distribudo permite que um cliente solicite um servio e a resposta seja processada remotamente. Sua implementao difcil e mais usualmente implantado uma combinao do modelo de camadas com o cliente-servidor. O ncleo do sistema passa a incorporar o escalonamento e gerncia de memria alm das funes de device drivers. 105/13 Micro-ncleo Viso Geral Micro-ncleo Gerente de memria Gerente de proteo Gerente de discos Gerente de arquivos Nvel ncleo Nvel usurio aplicao aplicao aplicao Sistema micro-ncleo PESQUISAR OS TIPOS DE SISTEMAS OPERACIONAIS MONOLTICOS 107/13 Mquina Virtual Hardware Gerncia de Mquinas Virtuais HV1 HV2 HV3 SO1 SO2 SO3 APL1 APL1 APL1