Baixe o app para aproveitar ainda mais
Prévia do material em texto
Flávia Resende Peixoto - RA: 21750295 - 26/02/2016 1.1 Quais são as três finalidades principais de um sistema operacional? 1. Disponibilizar ao usuário do computador um ambiente para a execução de programas no hardware de forma correta. 2. Alocar os recursos separadamente do computador de acordo com a necessidade de um determinado problema. 3. Agir como um programa que gerencia duas grandes funções: os componentes de entrada e saída (I/O) e controlar os programas aplicativos do usuário. 1.2 Enfatizamos a necessidade de o sistema operacional usar eficientemente o hardware do computador. Quando é apropriado que o sistema operacional ignore esse princípio e “desperdice” recursos? Por que tal sistema não é, na verdade, perdulário? Um sistema de usuário único deve maximizar o uso de sistema para usuário. Um GUI pode desperdiçar ciclos de CPU, mas ela otimiza a interação do usuário com o sistema. 1.3 Qual é a principal dificuldade que um programador deve superar ao escrever um sistema operacional para um ambiente de tempo real? A principal dificuldade está em manter o sistema operacional dentro das restrições de tempo fixas de um sistema em tempo real. Se o sistema não concluir uma tarefa em um determinado período, isso poderá causar uma falha em todo o sistema em execução. Portanto, ao escrever um sistema operacional para um sistema em tempo real, o gravador deve ter certeza de que seus esquemas de programação não permitem que o tempo de resposta exceda a restrição de tempo. 1.4 Lembrando-se das diversas definições de sistema operacional, considere se o sistema operacional deve incluir aplicações como navegadores web e programas de e-mail. Argumente tanto o que ele deve quanto o que ele não deve fazer isso e embase suas respostas. Se o aplicativo estiver integrado ao sistema operacional, provavelmente terá mais capacidade de aproveitar os recursos do kernel , logo, terá vantagens de desempenho em relação a um aplicativo que é executado fora do kernel. Os argumentos para a não inclusão de aplicativos no sistema operacional geralmente dominam: (1) os aplicativos são aplicativos - e não fazem parte de um sistema operacional, (2) quaisquer benefícios de desempenho de execução no kernel são compensados por vulnerabilidades de segurança, (3) para um sistema operacional inchado. 1.5 De que modo a diferença entre modalidade de kernel e modalidade de usuário funciona como um tipo rudimentar de sistema de proteção (segurança)? Modalidade de usuário é qualquer tipo de mecanismo que controle o acesso de processos ou usuários aos recursos que um sistema de computação defina. Fazendo com que tal mecanismo forneça os meios para a especificação dos controles a serem impostos e meios para sua imposição. Já a do Kernel, trata da responsabilidade de um sistema se defender contra-ataques externos e internos. Ex: vírus, vermes, roubo de identidade e roubo de serviço. 1.6 Qual das instruções a seguir deve ser privilegiada? a) Configurar o valor do timer. b) Ler o relógio. c) Limpar a memória. d) Emitir uma instrução de exceção. This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m https://www.coursehero.com/file/42232905/Lista-SOdocx/ e) Desativar interrupções. f) Modificar entradas na tabela de status de dispositivos. g) Passar da modalidade de usuário para a de kernel. h) Acessar dispositivo de I/O 1.7 Alguns computadores antigos protegiam o sistema operacional inserindo-o em uma partição da memória que não podia ser modificada pelo job do usuário ou pelo próprio sistema operacional. Descreva duas dificuldades que você entende que poderiam surgir com tal esquema. Os dados exigidos pelo sistema operacional (senhas, controles de acesso, informações contábeis e assim por diante) teriam que ser armazenados ou passados pela memória desprotegida e, portanto, acessíveis a usuários não autorizados. 1.8 Algumas CPUs fornecem mais de duas modalidades de operação. Cite dois usos possíveis para essas modalidades múltiplas. Vários modos podem ser usados para fornecer uma política de segurança mais detalhada. Por exemplo, em vez de distinguir entre apenas o usuário e o modo kernel, você poderia distinguir entre diferentes tipos de modo de usuário. Outra possibilidade seria fornecer distinções diferentes dentro do código do kernel. Por exemplo, um modo específico pode permitir que drivers de dispositivos USB sejam executados. Isso significaria que os dispositivos USB poderiam ser atendidos sem precisar alternar para o modo kernel, permitindo essencialmente que os drivers de dispositivos USB executassem em um modo quase usuário / kernel 1.9 Os timers podem ser usados para computar a hora corrente. Forneça uma breve descrição de como isso pode ser feito. O programa pode definir um temporizador por algum tempo no futuro e ir dormir. Quando ele é despertado pela interrupção, ele pode atualizar seu estado local, que está sendo usado para acompanhar o número de interrupções recebidas até o momento. Ele poderia então repetir esse processo de continuamente definir interrupções de temporizador e atualizar seu estado local quando as interrupções são realmente levantadas. 1.10 Cite duas razões que tornam os caches úteis. Que problemas eles resolvem? Que problemas eles causam? Se um cache pode ser aumentado até o tamanho do dispositivo para o qual está armazenando (por exemplo, um cache tão extenso quanto um disco), por que não lhe dar esse tamanho e eliminar o dispositivo? Os caches são úteis quando dois ou mais componentes precisam trocar dados e os componentes realizam transferências em velocidades diferentes. Os caches resolvem o problema de transferência fornecendo um buffer de velocidade intermediária entre os componentes. Se o dispositivo rápido encontrar os dados necessários no cache, não precisará aguardar o dispositivo mais lento. Os dados no cache devem ser mantidos consistentes com os dados nos componentes. Se um componente tiver uma alteração de valor de dados e o dado também estiver no cache, o cache também deverá ser atualizado. Isto é especialmente um problema em sistemas multiprocessadores onde mais de um processo pode estar acessando um dado. Um componente pode ser eliminado por um cache de tamanho igual, mas somente se: (a) o cache e o componente tiverem capacidade de economia de estado equivalente (isto é, se o componente retiver seus dados quando a eletricidade for removida, o cache deve reter os dados) também), e (b) o cache é acessível, porque o armazenamento mais rápido tende a ser mais caro. This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m https://www.coursehero.com/file/42232905/Lista-SOdocx/ 1.11 Qual a diferença entre os modelos cliente-servidor e entre pares dos sistemas distribuídos? O modelo cliente-servidor distingue firmemente as funções do cliente e do servidor. Sob esse modelo, o cliente solicita serviços fornecidos pelo servidor. O modelo peer-to-peer não tem papéis tão rígidos. Na verdade, todos os nós no sistema somos considerados pares e, portanto, podem atuar como clientes ou servidores - ou ambos. Um nó pode solicitar um serviço de outro peer ou o nó pode, de fato, fornece tal serviço a outros peers no sistema. 1.12 Em um ambiente de multiprogramação e tempo compartilhado, vários usuários compartilham o sistema simultaneamente. Essa situação pode resultar em diversos problemas de segurança. a) Cite dois desses problemas. Muitos processos podem ser afetados por um bug em um programa. Um programa defeituoso pode modificar outro programa, os dados de outroprograma ou até mesmo o próprio sistema operacional. b) Podemos assegurar o mesmo nível de segurança em uma máquina de tempo compartilhado como em uma máquina dedicada? Explique sua resposta. Não, pois em uma máquina dedicada o risco é zero e em uma máquina de tempo compartilhado, podemos realizar ações para garantia a segurança, mas não por completo. 1.13 A questão da utilização de recursos assume formas diferentes em diferentes tipos de sistemas operacionais. Liste que recursos devem ser gerenciados cuidadosamente nas configurações a seguir: a) Sistemas mainframe ou de minicomputador São projetados basicamente para otimizar a utilização do hardware b) Estações de trabalho conectadas a servidores Compartilham recursos, tais como a rede e os servidores, incluindo servidores de arquivo, de computação e de impressão. Portanto, seu sistema operacional é projetado para estabelecer um compromisso entre usabilidade individual e utilização dos recursos. c) Computadores móveis Fornecem um ambiente no qual o usuário pode interagir facilmente com o computador para executar programas 1.14 Em que circunstâncias seria melhor para o usuário usar um sistema de tempo compartilhado em vez de um PC ou uma estação de trabalho monousuária? Permite ao usuário comunicar-se diretamente com o sistema operacional, através de comandos. Desta forma, é possível verificar arquivos armazenados em disco ou cancelar a execução de um programa. Interação dos usuários com o sistema, respostas razoáveis a seus usuários e custos mais baixos, em função da utilização compartilhada dos diversos recursos do sistema. 1.15 Descreva as diferenças entre multiprocessamento simétrico e assimétrico. Cite três vantagens e uma desvantagem dos sistemas multiprocessadores. No Multiprocessamento assimétrico cada processador é designado uma tarefa específica, já no multiprocessamento simétrico cada processador executa todas as tarefas do sistema operacional. No assimétrico existe uma relação de mestre-escravo, já no simétrico todos os processadores são pares. This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m https://www.coursehero.com/file/42232905/Lista-SOdocx/ Vantagens: - muitos processos podem ser executados simultaneamente. - Aumenta a velocidade de RAM que pode ser acessado do computador, permitindo que os usuários utilizem software que coloca maiores exigências no computador. - Um programa dividido em partes para execução simultânea em mais de um processador Desvantagem: - Problema de concorrência (disputa) é introduzido (vários processadores tentando acessar a mesma área de memória). 1.16 Em que os sistemas agrupados (clusters) diferem dos sistemas multiprocessadores? O que é necessário para que duas máquinas pertencentes a um cluster cooperem para fornecer um serviço de alta disponibilidade? - Multiprocessador realiza um ou mais processos simultaneamente, enquanto no cluster é um sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. - O cluster costuma ser usado para fornecer serviço de alta disponibilidade — isto é, o serviço continuará mesmo se um ou mais sistemas do cluster falhar. Geralmente, a alta disponibilidade é obtida pela adição de um nível de redundância ao sistema. 1.17 Considere um cluster de computadores composto por dois nós executando um banco de dados. Descreva duas maneiras pelas quais o software de cluster pode gerenciar o acesso aos dados em disco. Discuta as vantagens e desvantagens de cada uma. No cluster assimétrico, uma das maquinas permanece em modalidade de alerta máximo, enquanto a outra executa as aplicações. A máquina hospedeira em alerta nada faz além de monitorar o servidor ativo. Se esse servidor falhar, o hospedeiro em alerta torna-se o servidor ativo. No cluster simétrico, dois ou mais hospedeiros executam aplicações e se monitoram uns aos outros. É claro que essa estrutura é ais eficiente, já que usa todo o hardware disponível. No entanto, isso requer que mais uma aplicação esteja disponível para execução. 1.18 Em que os computadores em rede são diferentes dos computadores pessoais tradicionais? Descreva alguns cenários de uso em que é vantajoso usar computadores em rede. Um sistema operacional de rede é um sistema operacional que fornece recursos como o compartilhamento de arquivos pela rede e um esquema de comunicação que permite que diferentes processos em diferentes computadores troquem mensagens. Já os computadores pessoais tradicionais não permitem que diferentes processos de diferentes computadores se comuniquem. Serviços podem ser fornecidos pelo modelo cliente-servidor ou do modelo entre pares. Exemplos: Compartilhamento de arquivos, chamadas de voz e vídeos, entre outros. 1.19 Qual é o objetivo das interrupções? Em que uma interrupção difere de uma exceção? As exceções podem ser geradas intencionalmente por um programa de usuário? Caso possam, com que propósito? O objetivo das interrupções é indicar a concorrência de um evento. A diferença é que a interrupção manda mensagem via hardware para o Sistema Operacional. A execução envia um programa para o Sistema Operacional. As execuções podem ser geradas intencionalmente com a finalidade de alertar sobre algum erro. This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m https://www.coursehero.com/file/42232905/Lista-SOdocx/ 1.20 O acesso direto à memória é usado em dispositivos de I/O de alta velocidade para impedir o aumento da carga de execução da CPU. a) Como a CPU interage com o dispositivo para coordenar a transferência? Os sistemas operacionais têm um driver de dispositivo para cada controlador de dispositivos. Esse driver entende o controlador de dispositivos e fornece uma interface uniforme entre o dispositivo e o resto do sistema operacional. b) Como a CPU sabe quando as operações da memória foram concluídas? É gerada uma interrupção por bloco para informar ao driver que a operação foi concluída. c) A CPU pode executar outros programas enquanto o controlador de DMA está transferindo dados. Esse processo interfere na execução dos programas de usuário? Caso interfira, descreva que tipos de interferência são gerados. Não interfere. Enquanto o controlador do dispositivo está executando essas operações, a CPU está disponível para cumprir outras tarefas. 1.21 Alguns sistemas de computação não fornecem uma modalidade de operação privilegiada de hardware. É possível construir um sistema operacional seguro para esses sistemas de computação? Dê argumentos para defender e para refutar essa possibilidade Os dois modos de operação (modo usuário e supervisor) fornecem os meios para a proteção do Sistema Operacional contra usuários leigos, logo fornece proteção desses contra eles mesmos. Sem as duas modalidades o Sistema Operacional não teria nenhum tipo de segurança. 1.22 Muitos sistemas SMP têm diferentes níveis de caches; um nível é local para cada núcleo de processamento, e outro nível é compartilhado entre todos os núcleos de processamento. Por que os sistemas de cache são projetados dessa forma? Os sistemas de cache são projetados dessa forma para diminuir problemas de coerências de cache. Melhora a comunicação entre unidades, possibilita otimizar a carga de trabalho, movendo as tarefas entre processadores. 1.23 Considere um sistema SMP semelhante ao mostrado na Figura 1.6. Ilustre com um exemplo como os dados que residem na memória poderiam ter um valor diferente em cada um dos caches locais. Em uma estrutura dearmazenamento hierárquica, os mesmos dados podem aparecer em diferentes níveis do sistema de armazenamento. Por exemplo, suponha que um inteiro A que tenha que ser incrementado de 1 seja localizado na memória. Essa operação é seguida pela cópia de A em uma cache para realizar a atualização, porém antes de escrever na memória o novo valor, esse inteiro foi utilizado como valor desatualizado por outra cache local. Com isso aconteceria um problema. 1.24 Discuta, com exemplos, como o problema de manter a coerência dos dados armazenados em cache se manifesta nos ambientes de processamento a seguir: a) Sistemas uniprocessadores Sistemas uniprocessadores têm apenas um processador, ou seja, não há problemas de manter coerência de dados, pois só haverá uma cache. b) Sistemas multiprocessadores Neste existem vários níveis de cache, com isso, aparecem problemas de inconsistência de dados que incluem o compartilhamento de dados que podem ser modificados, This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m https://www.coursehero.com/file/42232905/Lista-SOdocx/ processos de migração, entre outros. Portanto para resolver as inconsistências de dados é que após as atualizações foram realizadas, as demais caches precisam ser invalidadas ou atualizadas. c) Sistemas distribuídos Nesse ambiente, várias cópias do mesmo arquivo podem ser mantidas em diferentes computadores. Já que as diversas replicas podem ser acessadas e atualizadas concorrentemente, alguns sistemas distribuídos asseguram que, quando uma replica é atualizada em um local, todas as outras replicas serão atualizadas também assim que possível. 1.25 Descreva um mecanismo que garanta a proteção da memória impedindo que um programa modifique a memória associada a outros programas. Existem mecanismos que asseguram que arquivos, segmentos de memória e outros recursos possam ser operados apenas pelos processos que receberam autorização apropriada do Sistema Operacional. Por exemplo, o hardware de endereçamento de memória assegura que um processo só possa ser executado dentro de seu próprio espaço de endereçamento. 1.26 Que configuração de rede — LAN ou WAN — atenderia melhor os ambientes a seguir? a) Um diretório de estudantes de um campus LAN b) Várias regiões do campus de um sistema universitário de abrangência estadual WAN c) Uma vizinhança WAN 1.27 Descreva alguns dos desafios inerentes ao projeto de sistemas operacionais para dispositivos móveis em comparação com o projeto de sistemas operacionais para PCs tradicionais. Acompanhar a rápida evolução das tecnologias moveis, que por sua vez, demandam uma constante manutenção dos aplicativos, para garantir sua eficiência e compatibilidade com os novos padrões de design, atualizações do Sistema Operacional, adição de novos recursos de hardware e novos lançamentos de smartphones. Gerenciamento de energia também é um grande desafio. 1.28 Cite vantagens dos sistemas entre pares sobre os sistemas cliente-servidor? Permite que os papéis e responsabilidades independentes de um sistema de computação possam ser distribuídos entre vários computadores independentes que são conhecidos por si só através de uma rede criando maior facilidade de manutenção. Outra vantagem é que todos os dados são armazenados nos servidores que geralmente possuem controles de segurança muito maiores do que a maioria dos clientes. 1.28.1 Descreva algumas aplicações distribuídas que seriam apropriadas para um sistema entre pares. Identifique diversas vantagens e desvantagens dos sistemas operacionais de código-fonte aberto. Inclua os tipos de pessoas que considerariam cada aspecto uma vantagem ou uma desvantagem. Vários serviços de compartilhamento de arquivos. O Skype é outro exemplo de computação entre pares. Ele permite que os clientes façam chamadas de voz de vídeo e enviem mensagens de texto pela internet usando uma tecnologia conhecida como voz sobre IP. This study source was downloaded by 100000823474418 from CourseHero.com on 09-14-2021 09:24:34 GMT -05:00 https://www.coursehero.com/file/42232905/Lista-SOdocx/ Th is stu dy re so ur ce w as sh are d v ia Co ur se He ro .co m Powered by TCPDF (www.tcpdf.org) https://www.coursehero.com/file/42232905/Lista-SOdocx/ http://www.tcpdf.org
Compartilhar