Você está na página 1de 6

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

m
er as
operacional para um ambiente de tempo real?

co
A principal dificuldade está em manter o sistema operacional dentro das restrições de

eH w
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.

o.
rs e
Portanto, ao escrever um sistema operacional para um sistema em tempo real, o gravador
ou urc
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
o

operacional deve incluir aplicações como navegadores web e programas de e-mail.


aC s

Argumente tanto o que ele deve quanto o que ele não deve fazer isso e embase suas
v i y re

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
ed d

de aplicativos no sistema operacional geralmente dominam: (1) os aplicativos são


ar stu

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.
sh is

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)?
Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

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.

m
Outra possibilidade seria fornecer distinções diferentes dentro do código do kernel. Por

er as
exemplo, um modo específico pode permitir que drivers de dispositivos USB sejam

co
executados. Isso significaria que os dispositivos USB poderiam ser atendidos sem precisar

eH w
alternar para o modo kernel, permitindo essencialmente que os drivers de dispositivos USB

o.
executassem em um modo quase usuário / kernel
rs e
1.9 Os timers podem ser usados para computar a hora corrente. Forneça uma breve descrição
ou urc
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
o

usado para acompanhar o número de interrupções recebidas até o momento. Ele poderia
aC s

então repetir esse processo de continuamente definir interrupções de temporizador e


v i y re

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
ed d

para o qual está armazenando (por exemplo, um cache tão extenso quanto um disco), por
ar stu

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
sh is

componentes. Se o dispositivo rápido encontrar os dados necessários no cache, não


Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

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 outro programa
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.

m
Não, pois em uma máquina dedicada o risco é zero e em uma máquina de tempo

er as
compartilhado, podemos realizar ações para garantia a segurança, mas não por

co
completo.

eH w
1.13 A questão da utilização de recursos assume formas diferentes em diferentes tipos de

o.
sistemas operacionais. Liste que recursos devem ser gerenciados cuidadosamente nas
rs e
configurações a seguir:
ou urc
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
o

Compartilham recursos, tais como a rede e os servidores, incluindo servidores de


aC s

arquivo, de computação e de impressão. Portanto, seu sistema operacional é projetado


v i y re

para estabelecer um compromisso entre usabilidade individual e utilização dos


recursos.
c) Computadores móveis
ed d

Fornecem um ambiente no qual o usuário pode interagir facilmente com o computador


ar stu

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?
sh is

Permite ao usuário comunicar-se diretamente com o sistema operacional, através de


Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

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.

m
er as
1.17 Considere um cluster de computadores composto por dois nós executando um banco

co
de dados. Descreva duas maneiras pelas quais o software de cluster pode gerenciar o

eH w
acesso aos dados em disco. Discuta as vantagens e desvantagens de cada uma.

o.
No cluster assimétrico, uma das maquinas permanece em modalidade de alerta máximo,
rs e
enquanto a outra executa as aplicações. A máquina hospedeira em alerta nada faz além de
ou urc
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
o

aos outros. É claro que essa estrutura é ais eficiente, já que usa todo o hardware
aC s

disponível. No entanto, isso requer que mais uma aplicação esteja disponível para
v i y re

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
ed d

rede.
ar stu

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
sh is

computadores se comuniquem. Serviços podem ser fornecidos pelo modelo cliente-servidor


Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

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

m
privilegiada de hardware. É possível construir um sistema operacional seguro para esses

er as
sistemas de computação? Dê argumentos para defender e para refutar essa possibilidade

co
Os dois modos de operação (modo usuário e supervisor) fornecem os meios para a

eH w
proteção do Sistema Operacional contra usuários leigos, logo fornece proteção desses

o.
contra eles mesmos. Sem as duas modalidades o Sistema Operacional não teria nenhum
rs e
tipo de segurança.
ou urc
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?
o

Os sistemas de cache são projetados dessa forma para diminuir problemas de coerências
aC s

de cache. Melhora a comunicação entre unidades, possibilita otimizar a carga de trabalho,


v i y re

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
ed d

cada um dos caches locais.


ar stu

Em uma estrutura de armazenamento 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
sh is

memória o novo valor, esse inteiro foi utilizado como valor desatualizado por outra cache
Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

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.

m
1.26 Que configuração de rede — LAN ou WAN — atenderia melhor os ambientes a seguir?

er as
a) Um diretório de estudantes de um campus

co
LAN

eH w
b) Várias regiões do campus de um sistema universitário de abrangência estadual

o.
WAN rs e
c) Uma vizinhança
ou urc
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
o

tradicionais.
aC s

Acompanhar a rápida evolução das tecnologias moveis, que por sua vez, demandam uma
v i y re

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
ed d

também é um grande desafio.


ar stu

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
sh is

todos os dados são armazenados nos servidores que geralmente possuem controles de
Th

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 100000824824035 from CourseHero.com on 05-06-2021 12:47:19 GMT -05:00

https://www.coursehero.com/file/42232905/Lista-SOdocx/
Powered by TCPDF (www.tcpdf.org)

Você também pode gostar