ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr ESTRUTURA DE SISTEMA COMPUTACIONAL 2 O QUE FAZ UM SISTEMA OPERACIONAL ? Ponto de Vista do Sistema ● ● Alocador de Recursos – CPU – Memória Programa de Controle – Evitar erros – Uso impróprio do computador 3 O QUE FAZ UM SISTEMA OPERACIONAL ? Ponto de Vista do Usuário ● Facilita o uso ● Permite uso de programas ● A visão muda com o computador – Terminal – Video-Game – Celular – Eletrodomésticos 4 O QUE É UM SISTEMA OPERACIONAL ? ● Kernel (ou núcleo) ● Programas de Sistemas ● Aplicativos ?!? – O SO é tudo quem vem na “caixa” ?? 5 Como o SO é Inicializado ? (BootStrap) 6 Como esse assunto já foi cobrado ? (FCC/2007) NÃO é um componente dos sistemas operacionais: a) bootstrap. b) scheduler. c) kernel. d) shell. e) GUI. 7 Como esse assunto já foi cobrado ? (FCC/2010) Algumas Regras Gerais de Uso do Computador I. Sempre feche todas as aplicações abertas antes de instalar qualquer software. Para um cuidado extra, faça uma nova inicialização (boot) e feche todas as aplicações que são inicializadas automaticamente antes de você instalar algum programa. Sempre desligue seu computador antes de plugar ou desplugar qualquer tipo de equipamento. [....] No item I, a recomendação para fazer uma nova inicialização (boot), significa que o computador executará uma série de tarefas, acionando primeiramente a) o SO (sistema operacional). b) a memória RAM. c) o disco rígido (HD). d) a BIOS (Sistema Básico de Entrada e Saída). e) o programa SETUP. 8 Serviços de um Sistema Operacional ● Interface com usuário ● Execução de programas ● Operações de I/O ● Manipulação do Sistema de Arquivos ● Comunicações entre processos ● Detecção de erros ● Alocação de recursos ● Contabilização ● ● Proteção (controle de recursos) Segurança (externo) 9 Interfaces com usuário ● GUI - graphical user interface ● CLI - command-line interface. ● Batch 10 Como esse assunto já foi cobrado ? (FCC/TRT/2010)(FCC/METRO-SP/2010) O sistema operacional precisa apresentar a cada usuário uma interface que aceita, interpreta e, então, executa comandos ou programas do usuário. Essa interface é comumente chamada de a) UNIX. b) DOS. c) MS-DOS d) SHELL. e) SUN. 11 “Tipos” de Sistemas Operacionais De computadores de grande porte De servidores (serviços e recursos em rede) De Multiprocessadores (múltiplas CPUs) De Computadores Pessoais (os que usamos em casa) De Computadores Portáteis (p/ PDA, SmartPhone, Tablet, etc) Embarcados (em geladeiras, micro-ondas, celulares, etc) De nós sensores (redes de sensores) De Tempo real (p/ operações industriais críticas) De Cartões Inteligentes (smart card's) 12 Classificações dos Sistemas Operacionais Mono/Multiusuários ● De Tempo Real (prioridades) ● Batch ● Mono/Multiprocessadores ● Fortemente Acoplados (Compartilham memória) ● Centralizados ● Simétricos (computadores são pares) ● Assimétricos (relação mestre escravo) ● Fracamente Acoplados ● Rede/Distribuídos ● Clusters (Ex: BeoWolf) ● 13 Cluster Beowulf ● ● ● ● Forma barata de conseguir alto desempenho (computação paralela) Normalmente roda um Unix-Like (linus, solares, BSD, etc) O programador pode dividir as tarefas entre os computadores da rede Possui dois tipos de computadores – Mestre – Nós 14 Multiprogramação Sistema Monoprogramado (a) At system startup (b) running a program Sistema Multiprogramado 15 Multiprogramação/Timesharing ● Multiprogramação – Tempo Compartilhado/ Multitarefa 16 Como esse assunto já foi cobrado ? (ESAF/CVM/2010) São tipos de sistemas operacionais: a) Sistemas Monousuários/Monopointer, Sistemas Multiusuários/Multipointer, Sistemas com múltiplas entradas. b) Sistemas Monoprogramáveis/Monotarefa, Sistemas Multiprogramáveis/Multitarefa, Sistemas com múltiplos processadores. c) Sistemas Monostakeholder/Monoinstrução, Sistemas Multistakeholder/Multiinstrução, Sistemas com múltiplos processadores. d) Sistemas Monocompiláveis/Monomonitoramento, Sistemas Multicompiláveis/Multimonitoramento, Sistemas com múltiplos usuários. e) Sistemas Monoplanejáveis/Monodesign, Sistemas Multiplanejáveis/Multidesign, Sistemas com processadores de segmentação. 17 Como esse assunto já foi cobrado ? (FCC/TJ/2007) Nessa classe de sistemas operacionais, a comunicação e o compartilhamento de recursos são feitos via memória compartilhada ou interrupções caracterizando-se como um sistema altamente acoplado, com todos os recursos compartilhados internamente e comunicação entre processos via memória compartilhada. a) distribuído. b) multiusuário. c) monousuário. d) centralizado. e) monoprocessado. 18 Como esse assunto já foi cobrado ? (ESAF/ACE/2012) Assinale a opção correta. a) A principal desvantagem dos sistemas multiprogramáveis é a elevação de custos em função do compartilhamento de recursos. b) Nos sistemas de tempo real, existe a ideia de fatia de tempo. c) O processamento em batch exige a interação do usuário com a aplicação. d) Nos sistemas de tempo real, existe a ideia de fatia de compartilhamento. e) A principal vantagem dos sistemas multiprogramáveis é a redução de custos em função do compartilhamento de recursos. 19 Como esse assunto já foi cobrado ? (ESAF/CGU/2004) Computadores de baixo custo podem ser agrupados em clusters, onde exercem funções que exigem alto desempenho computacional como se fossem uma única máquina de grande porte. É correto afirmar que um cluster Beowulf com o sistema operacional Linux é constituído de vários nós escravos, a) sendo que cada nó exerce o controle sobre todos os demais nós. b) sendo que cada nó exerce o controle sobre seu nó vizinho e o último nó exercerá o controle sobre o primeiro nó. c) sem a necessidade de controle. d) sendo que cada nó exerce seu próprio controle. e) controlados por um computador principal. 20 Interrupções e Trap's ● ● ● Interrupções – Polled – Vectored Trap/Exception/Fault – Division by zero – System Call Interrupções de SW – Linux – Kill (Sinal) 21 Modo Dual Operação ● Modo Usuário ● Modo Kernel/Privilegiado/Monitor 22 Chamadas de Sistemas/Chamadas de Monitor 23 Windows/Unix system call 24 Como esse assunto já foi cobrado ? (CESGRANRIO/2012/PETROBRAS) O mecanismo pelo qual programas dos usuários solicitam serviços ao núcleo do sistema operacional é denominado a) biblioteca do sistema b) chamada do sistema c) editor de ligação d) shell de comandos e) ligação dinâmica 25 Como esse assunto já foi cobrado ? (UFF/Analista de TI/2009) Em relação aos sistemas operacionais, para que uma operação possa executar uma instrução privilegiada, o processador implementa o mecanismo de modos de acesso. Esse mecanismo está dividido basicamente em dois modos de acesso conhecidos por: a) system calls e modo protegido; b) modo protegido e cluster; c) modo usuário e modo kernel; d) cluster e modo kernel; e) modo assíncrono e modo usuário. 26 Arquitetura dos Núcleos ● Estrutura Simples ● Kernel Monolítico ● MicroKernel ● Estrutura em Camadas ● Módulos ● Exonúcleo ● Máquina Virtual ● Modelo Cliente-Servidor 27 Arquitetura dos Núcleos ● Estrutura Simples – Sem estruturas bem definidas – Aplicativos com acesso direto – Não existe o modo kernel 28 Arquitetura dos Núcleos ● ● Kernel Monolítico – Funções essenciais e acessórias juntas – Único programa MicroKernel – Somente o essencial – Funções acessórias estão no modo usuário – Fácil manutenção 29 Arquitetura dos Núcleos ● Estrutura em Camadas – Abordagem organizada – Fornece Abstração – Fácil depurar e construir – Camada 0 HW – Camada N Usuário – Projeto difícil – Camadas provocam overhead 30 Arquitetura dos Núcleos ● Módulos – Relacionada a OO – Kernel construído de forma modular – Módulos carregados dinamicamente (no espaço usuário) – Kernel ● ● Carrega módulos Faz comunicação entre os módulos 31 ● ● Máquina Virtual Arquitetura dos Núcleos – Clone total da máquina real – Necessita de camada de mapeamento Exonúcleo – Somente parte dos recursos reais são utilizados – Camada mais interna roda o exonúcleo – Isola as máquinas virtuais 32 Arquitetura dos Núcleos ● Cliente/Servidor – – Exitem dois tipos de processos: ● Clientes ● Servidores Microkernel na camada mais baixa (não obrigatório) 33 Arquitetura do GNU/Linux 34 Componentes da Arquitetura do GNU/Linux 35 Como esse assunto já foi cobrado ? (FCC/TRE-SE/2007) Exonúcleos e monolíticos são nomes atribuídos a) aos sistemas de comunicação de dados. b) às topologias de redes de computadores. c) às arquiteturas de software. d) às configurações de hardware. e) às estruturas de sistemas operacionais. 36 Como esse assunto foi cobrado ? (ESAF/ACE/2012) São arquiteturas do núcleo do sistema operacional: a) Mono-analítica. De camadas. Máquina artificial. Microkernel. b) Multifuncional. Estrutural. Máquina virtual. Microcap. c) Monolítica. De camadas. Máquina virtual. Microkernel. d) Monolítica. Em estrela. Máquina de memória. Polikernel. e) Monolítica. De camadas. Conceitual. Multikernel. 37 Virtualização ● VM's surgem em Mainframes IBM 1972. ● Promove abstração do HW ● Host OS (nativo) x Guest OS ● ● VMM é SW suporta execução de várias VM's P/ ESAF: Hypervisor/Monitor de Máquina Virtual (Virtual Machine Monitor − VMM) é uma camada de SW entre o HW e SO 38 Virtualização ● ● Modos de Operação – Usuário – Supervisor (VMM) Principais Ferramentas do Mercado – Xen – VMware – Hyper-V 39 Tipos de Virtualização ● Bare-Metal/Nativo/Tipo 1 – Hipervisor instalado diretamente HW – Ex: VMware ESX/ESXI, Citrix XenServer e Microsoft Hyper-V Server 40 Tipos de Virtualização ● Hosted/Tipo 2 – Hipervisor sobre um SO existente – Existe Overhead – Ex: VMware Workstation, VMware Player, Vmware Fusion e Sun’s VirtualBox. 41 Técnicas de Virtualização ● Virtualização total – Replica de todo HW ● Guest não precisa ser modificado ● Mais lento 42 Técnicas de Virtualização ● Paravirtualização – Replica de parte HW – Guest precisa ser modificado – Mais rápido 43 Total x Paravirtualização x Assistida por HW 44 Propriedades dos Monitores de Máquinas Virtuais ● Isolamento – ● Inspeção – ● Uma VM não acessa nem modifica outra VM Monitor acessa e controla todas as informações (estado da CPU, conteúdo de memória, etc) Interposição – Monitor pode acrescentar instruções na VM 45 Propriedades dos Monitores de Máquinas Virtuais ● Eficiência – ● Gerenciabilidade – ● Permitir instruções inofensivas serem executadas diretamente no HW Cada VM é independente, o que facilita o gerenciamento Compatiblidade de SW – As VM's fornecem uma camada de abstração (Ex: JVM) 46 Propriedades dos Monitores de Máquinas Virtuais ● Encapsulamento – ● Permite criar checkpoint de estado Desempenho – Uso de VM's pode degradas o desempenho, mas os benefícios compensam 47 Como esse assunto foi cobrado ? (ESAF/CGU/2012) A Virtualização pode ser classificada em três tipos na arquitetura x86: a)Virtualização total, Paravirtualização, Virtualização assistida pelo hardware. b)Virtualização abrangente, Metavirtualização, Virtualização assistida pelo software. c)Virtualização assistida pelo sistema operacional, Metavirtualização, Virtualização assistida pelo hardware. d) Virtualização total, hipervirtualização, Virtualização de translação binária. e)Virtualização assistida pelo sistema operacional, hipervirtualização, Virtualização assistida pela máquina virtual. 48 Como esse assunto foi cobrado ? (ESAF/CGU/2012)O Hypervisor, ou Monitor de Máquina Virtual (Virtual Machine Monitor − VMM), é uma camada de software entre a) o sistema operacional e a máquina virtual. b) o sistema operacional e o aplicativo. c) o hardware e o sistema operacional. d) o aplicativo e o hardware. e) o hardware e a máquina virtual. 49 Como esse assunto foi cobrado ? (ESAF/CGU/2012) A solução de Virtualização da VMware é baseada nos hypervisors ESX e ESXi, que são considerados hypervisors do tipo: a) Vstorage. b) De borda. c) Double. d) Baremetal. e) Double sphere . 50 Como esse assunto foi cobrado ? (CESGRANRIO/BNDES/2008) No âmbito de monitores de máquinas virtuais, que propriedade garante que um software em execução em uma máquina virtual não acesse, nem modifique, outro software em execução em outra máquina virtual? a) Recompilação dinâmica b) Paravirtualização de código c) Virtualização de CPU d) Interposição e) Isolamento 51