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