Baixe o app para aproveitar ainda mais
Prévia do material em texto
1) Resolva os 6 exercícios do livro - Cap. 01, página 10. 1. Quais os dois principais objetivos de um sistema operacional? R: Abstração e Gerência de recursos, na Abstração ocorre a análise dos componentes e hardwares para uma boa inicialização, identificando possíveis erros. Já a Gerência garante que os aplicativos utilizem da melhor forma os hardwares. Evitando disputas e conflitos entre eles. 2. Por que a abstração de recursos é importante para os desenvolvedores de aplicações? Ela tem alguma utilidade para os desenvolvedores do próprio sistema operacional? R: Porque ela pode fornecer interfaces de acesso aos dispositivos, mais simples de usar que as interfaces de baixo nível, também ajuda os aplicativos a serem independentes do hardware. E também contribui com a interface de acesso homogênea para dispositivos com tecnologia distintas, garantindo que um aplicativo de mesma interface acesse diversos dispositivos de disco independente de sua estrutura real de armazenamento de dados. Essa técnica de Abstração de recursos é útil para os desenvolvedores de SO porque minimiza conflitos ao usar o hardware, por utilizar acesso com interfaces simples. 3. A gerência de atividades permite compartilhar o processador, executando mais de uma aplicação ao mesmo tempo. Identifique as principais vantagens trazidas por essa funcionalidade e os desafios a resolver para implementá- la. R: Realizar várias tarefas simultaneamente, gerenciar a fila de acesso a determinado recurso, resolvendo possíveis disputas e conflitos por recursos de hardware. Seus desafios seriam manter o bom uso do recurso do Processador e Memória RAM para os programas e tarefas em execução, deixar o canal exclusivo de execução da impressora, evitando que algum programa invada a vez de outro, além de proteger o sistema dos Ataques de Negação de Serviço (DoS – Denial of Service) que visam cortar o acesso do usuário deixando inoperante os recursos de um servidor, forçando que apenas um usuário tenha acesso, deixando os demais sem o mesmo. 4. O que caracteriza um sistema operacional de tempo real? Quais as duas classificações de sistemas operacionais de tempo real e suas diferenças? R: Um comportamento temporal previsível, ou seja, o seu tempo de resposta deve ser o previsível no melhor e no pior caso de operação. São classificados como Hard Real-Time Systems e Soft Real-Time Systems. A primeira classificação quando ocorre uma falha temporal (a perda de um prazo) pode resultar em consequência catastróficas, pois essa perda de prazo pelo sistema pode perturbar seriamente o sistema físico sob controle. Já o segundo a perda de um prazo é perceptível e degrada o serviço prestado, sem maiores consequências. 5. Relacione as afirmações aos respectivos tipos de sistemas operacionais: distribuído (D), multi-usuário (M), desktop (K), servidor (S), embarcado (E) ou de tempo-real (T): [T] - Deve ter um comportamento temporal previsível, com prazos de resposta claramente definidos. [S] - Sistema operacional usado por uma empresa para executar seu banco de dados corporativo. [E] - São tipicamente usados em telefones celulares e sistemas eletrônicos dedicados. [D] - Neste tipo de sistema, a localização física dos recursos do sistema computacional é transparente para os usuários. [M] - Todos os recursos do sistema têm proprietários e existem regras controlando o acesso aos mesmos pelos usuários. [S] - A gerência de energia é muito importante neste tipo de sistema. [E] - Sistema que prioriza a gerência da interface gráfica e a interação com o usuário. [K] - Construído para gerenciar de forma eficiente grandes volumes de recursos. [K] - O MacOS X é um exemplo típico deste tipo de sistema. [E] - São sistemas operacionais compactos, construídos para executar aplicações específicas sobre plataformas com poucos recursos. 6. Sobre as afirmações a seguir, relativas aos diversos tipos de sistemas operacionais, indique quais são incorretas, justificando sua resposta: (a) Em um sistema operacional de tempo real, a rapidez de resposta é menos importante que a previsibilidade do tempo de resposta. (b) Um sistema operacional multi-usuários associa um proprietário a cada recurso do sistema e gerencia as permissões de acesso a esses recursos. (c) Nos sistemas operacionais de rede a localização dos recursos é transparente para os usuários. (d) Um sistema operacional de tempo real deve priorizar as tarefas que interagem com o usuário. (e) Um sistema operacional embarcado é projetado para operar em hardware com poucos recursos. RESPOSTA: Estão incorretas a “C” e a “D”. Sobre a alternativa “C”, é um sistema distribuído (não o sistema operacional de rede) que precisa da localização dos recursos transparente. No caso da “D” o desktop que faz essa interação com o usuário e não o sistema operacional em tempo real. 2) Descreva a história do Linux e do GNU/Linux: criação, inspirações, Predecessores, desenvolvimento e etc... LINUX: Criação: 1991 por Linus Torvalds Inspiração: Sistema Unix Predecessores: Sistema Minix Desenvolvimento 1988 – Linus começou a estudar ciência da computação na Universidade de Helsinki; 1990 – Criou sua própria implementação de um terminal, no seu computador 80386; Ele criou essa implementação após muito conhecimento adquirido sobre a linguagem C e principalmente para tentar acessar o servidor Unix da faculdade. Pois não tinha ficado satisfeito com os recursos do Minix em seu computador. Sua intenção era de fazer o projeto rodar especificamente no seu computador, com o desenvolvimento sendo baseado a partir do Minix. A elaboração foi um sucesso que que logo Torvalds conseguiu um Kernel funcional. 1991 – Divulgou abertamente o projeto criado, pedindo sugestões e colaborações com o mesmo; 1992 – O Linux foi transformado em software livre. GNU/LINUX: Criação: 1984 por Richard Stallman – queria um sistema compatível com Unix, mas sem usar os códigos dele; Inspiração: Sistema Unix; Desenvolvimento 1983: criação do projeto GNU – uma campanha de liberdade ao usuário de software livre, uma forma de trazer de volta o espírito cooperativo na comunidade de computação; 1984 – Inicio da elaboração do desenvolvimento de um sistema operacional; 1985 – Fundado a Free Software Foundation (empresa que levantaria fundos para desenvolver o GNU); 1990 – A equipe de desenvolvimento do GNU já tinha encontrado ou escrito todos os componentes principais do sistema, menos um, o Kernel (do tipo Unix); 1991 – Lançado o Linux por Linus Torvalds; 1992 – O Linux foi transformado em software livre, e assim sendo unido ao sistema GNU, formando o GNU/Linux; 3) Pesquise e responda: o que é possível fazer no Linux que não se pode fazer no Windows? R: No Linux é possível fazer a instalação do sistema operacional em um Dispositivo de Armazenamento Portátil (CD, DVD, Pen Drive e HD Externos), ou em um HD e se necessário usar esse sistema em outro computador sem erro de compatibilidade de drives. As Atualizações do sistema Linux não requerer reinicialização para serem aplicadas e também existe a possibilidade de usar interfaces gráficas diferentes ao mesmo tempo. 4) Pesquise no livro e na internet e descreva o mecanismo de interrupção de hardware e de exceção. Exemplifique passo-a-passo. R: O mecanismo de interrupção de hardware é quando ocorre um recebimento de um sinal de algum dispositivo periférico ou outros elementos do sistema, solicitando a atenção da CPU (a interrupção do que ela está fazendo para atender essa solicitação). Já o mecanismo de Interrupção de Exceção é quando ocorre o recebimento do sinal através de uso ou execução indevida das instruções de dados., por exemploa divisão por zero, a tentativa de acesso a uma posição de memória protegida. Para o exemplificar vamos mostrar o Fluxo de Processamento de uma Interrupção. Vamos dividir na parte de Hardware e Software. Começando pelo Hardware. 1. Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção 2. Processador termina a execução da instrução corrente 3. Processador reconhece sinal de interrupção 4. Processador coloca PSW (Processor Status Word) e PC (Program Counter) na pilha de controle (no vetor de interrupções) 5. Processador carrega novo valor do PC, baseado na interrupção Software: 6. Salva informações remanescentes sobre o estado do processo 7. Processa a interrupção 8. Restaura a informação do estado do processo 9. Restaura o velho PSW e PC Um exemplo é quando temos um dado que chegou no computador e via teclado faremos a confirmação dessa disponibilidade, nesse momento, o processador irá receber um sinal, solicitando o interrompimento do que estava fazendo para “dar” atenção ao sinal mandado pelo teclado, (quando ele faz isso, o processador aloca na memória o dados que ele estava trabalhando anteriormente e libera a sua “atenção” para o chamado), após o processamento da leitura do teclado, o processador acessa a memória que ele alocou e volta a fazer os processos que ele estava fazendo anteriormente.
Compartilhar