Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS Lista de Exercícios – Introdução aos Sistemas Operacionais Professor: Helder Oliveira Entrega: 02/11/2021 Aluno(a):___________________________________________________________ 1. Defina o que é um Sistema Operacional. É um software ou conjunto de softwares cuja função é administrar e gerenciar os recursos de um sistema, desde componentes de hardware e sistemas de arquivos a programas de terceiros, estabelecendo a interface entre o computador e o usuário. 2. Quais componentes do sistema operacional realizam cada uma das seguintes operações? a. Escrever no disco. Gerenciador de E/S; b. Determinar qual processo será executado em seguida. Escalonador de processador c. Determinar em que lugar da memória um novo processo deve ser alocado. Gerenciador de memória; d. Organizar arquivos em disco. Gerenciador de sistema de arquivo e. Habilitar um processo a enviar dados para outro. Gerenciador de comunicação entre processos (IPC). 3. Definir as propriedades essenciais dos seguintes tipos de sistemas operacionais: Batch, Tempo Real, Distribuído. Batch: O que caracteriza um SO batch é o fato de não haver comunicação do usuário com o seu programa, durante a execução. Time-Sharing: Um SO time-sharing permite que diversos usuários compartilhem o computador em um dado instante, dando a cada um a sensação de que o computador se encontra dedicado a ele. Tempo real: Um SO tempo real utiliza conceitos de multiprogramação e oferece facilidades para as aplicações de tempo real. Distribuído: Para o usuário e suas aplicações é como se não existisse uma rede de computadores e sim um único sistema centralizado. 4. Qual o propósito de chamadas de sistema (System Call)? As chamadas de sistema são mecanismos programáticos pelo qual um programa de computador solicita um serviço do núcleo do sistema operacional sobre o qual ele está sendo executado. Isto pode incluir serviços relacionados ao hardware, criação e execução de novos processos e comunicação com serviços do núcleo de maneira integral como escalonamento do processador. Chamadas do sistema fornecem uma interface essencial entre um processo e o sistema operacional. 5. Compare as quatro estruturas de sistemas operacionais (monolítica, camadas, micro- núcleo e máquina virtual). A arquitetura monolítica foi utilizada nos primeiros sistemas operacionais e nas primeiras versões do Linux. Nesta arquitetura os componentes do sistema são compilados em módulos separados e depois linkados em um único programa executável. Os módulos são carregados em memória e interagem entre si. A manutenção deste tipo de sistema é bem difícil. A arquitetura em camadas surgiu devido à complexidade dos sistemas operacionais na medida em que foram evoluindo. Nesta arquitetura o sistema operacional é formado por níveis ou camadas onde as camadas inferiores oferecem serviços às camadas superiores. As camadas inferiores são privilegiadas. A vantagem deste tipo de arquitetura é o isolamento das camadas e a segurança e proteção às camadas mais internas onde fica o kernel. A desvantagem é que o desempenho do sistema é afetado pela troca de modo de acesso. Na arquitetura Micronúcleo os serviços do sistema operacional são disponibilizados como serviços. Cada serviço oferece um conjunto de funções como gerência de arquivos, gerência de processos, gerência de memória e etc. Quando uma aplicação do usuário solicita um serviço é feita uma solicitação ao processo responsável pelo serviço. Na arquitetura de máquina virtual existe uma camada intermediária entre o hardware e o sistema operacional chamada gerencia de máquinas virtuais. Esta camada cria diversas máquinas virtuais independentes, onde cada uma oferece uma cópia virtual do hardware, incluindo os modos de acesso, interrupções, memória, dispositivos de entrada e saída, etc. Como cada máquina virtual é independente das outras, é possível que cada VM tenha seu próprio sistema operacional e que seus usuários executem suas aplicações como se o computador estivesse dedicado a cada um deles. Cada máquina virtual é isolada das demais o que proporciona segurança para cada VM. 6. Qual a diferença entre uma arquitetura em camadas pura e uma arquitetura de micronúcleo? Uma arquitetura em camadas habilita comunicação exclusivamente entre componentes de sistemas operacionais de camadas adjacentes. Uma arquitetura de micronúcleo habilita comunicação entre todos os componentes do sistema via micronúcleo. 7. Descreva as vantagens e desvantagens das máquinas virtuais. O uso de máquinas virtuais possibilita segurança para os sistemas operacionais que estão executando no mesmo hardware. Isto garante confiabilidade pois uma VM não pode comprometer o estado das outras VMs. A desvantagem desta arquitetura é a grande complexidade. A camada de gerencia de máquinas virtuais é responsável por compartilhar e gerenciar os recursos do hardware entre as diversas VMS. Esta é uma arquitetura altamente complexa. 8. Explique a divisão de um sistema computacional em programas do sistema, programas de aplicação e hardware, detalhando seu entendimento sobre cada uma das partes e citando exemplos de softwares e onde estes se encaixam nesta divisão. Programas de Sistema: é constituído pelos sistemas operacionais (S.O). Estes S .O que auxiliam o usuário, para passar os comandos para o computador. Ele interpreta nossas ações e transforma os dados em códigos binários, que podem ser processados. Programas de aplicação: Este tipo de software é, basicamente, os programas utilizados para aplicações dentro do S.O, que não estejam ligados com o funcionamento do mesmo. Exemplos: Word, Paint, Bloco de notas, calculadora. Hadware: É a parte física do computador, ou seja, peças e equipamentos que fazem o computador funcionar. 9. Qual é a diferença entre modo núcleo e modo usuário? Explique como ter dois modos distintos ajuda no projeto de um sistema operacional. No modo kernel é possível o acesso irrestrito ao conjunto de instruções da máquina enquanto que no modo usuário isso não é possível. Ter dois modos garante que um usuário não gere falhas no que irão parar todo o S.O.. As falhas no modo kernel são catastróficas. 10. Para cada uma das chamadas de sistema a seguir, dê uma condição que a faça falhar: fork, exec e unlink. fork - falta de memória para criação do processo filho na memória. exec - número de parâmetros inválidos, e, unlink - i-número de arquivo inexistente.
Compartilhar