Buscar

Atividade 1 -24-12-20

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS 
Atividade 1 - 24/12/20 
Samuel de Castro Ribeiro 0032743 
 
2.2) ATIVIDADE: [ ADIADA para 24/12 ] Faça os exercícios nº 6, 10, 12, 16 do 
livro-texto do autor TANENBAUM (4ª ed., pág. 57 do cap. 1). 
6. Instruções relacionadas ao acesso a dispositivos de E/S são tipicamente instruções 
privilegiadas, isto é, podem ser executadas em modo núcleo, mas não em modo 
usuário. Dê uma razão de por que essas instruções são privilegiadas. 
 
A razão destas instruções serem privilegiadas corresponde ao fato de que muitas 
instruções só devem ser executadas pelo sistema operacional ou pelo administrador. Isso 
evita problemas relacionados à segurança e integridade do sistema. As instruções não-
privilegiadas são as instruções em nível de usuário, às quais não apresentam riscos de 
comprometer o sistema. 
 
10. 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. 
 
O modo núcleo permite que a CPU execute todas as instruções em seu conjunto de 
instruções além de usar todos os recursos de hardware do sistema. Já o modo usuário 
limita o acesso da CPU a um determinado subconjunto de instruções e a um subconjunto 
de recursos de hardware do sistema. Esses dois modos ajudam aos programadores a 
executar programas de usuário em modo de usuário restringindo-os ao acesso de 
instruções críticas do sistema. 
 
12. Quais das instruções a seguir devem ser deixadas somente em modo núcleo? 
(a) Desabilitar todas as interrupções. 
(b) Ler o relógio da hora do dia. 
(c) Configurar o relógio da hora 
(d) Mudar o mapa de memória. 
 
Opções (a) Desabilitar todas as interrupções, (c) Configurar o relógio da hora e (d) Mudar 
o mapa de memória. 
 
16. Quando um programa de usuário faz uma chamada de sistema para ler ou 
escrever um arquivo de disco, ele fornece uma indicação de qual arquivo ele quer, 
um ponteiro para o buffer de dados e o contador. O controle é então transferido 
para o sistema operacional, que chama o driver apropriado. Suponha que o driver 
começa o disco e termina quando ocorre uma interrupção. No caso da leitura do 
disco, obviamente quem chamou terá de ser bloqueado (pois não há dados para ele). 
E quanto a escrever para o disco? Quem chamou precisa ser bloqueado esperando 
o término da transferência de disco? 
 
Depende. Caso o driver copie os dados para um buffer privado antes da interrupção, quem 
chamou poderá continuar o seu processo e o processo do driver atual será suspenso. 
Porém, se quem chamou obtiver o controle e com isso modifica os dados de forma 
imediata, os dados modificados pelo chamador atual serão salvos ao final da gravação. 
 
21. Qual tipo de multiplexação (tempo, espaço ou ambos) pode ser usado para 
compartilhar os seguintes recursos: CPU, memória, disco, placa de rede, 
impressora, teclado e monitor? 
 
Multiplexação de tempo: impressora, teclado, placa de rede e CPU. 
Multiplexação de espaço: disco e memória. 
Multiplexação de tempo e de espaço: monitor. 
 
27. Sistemas operacionais modernos desacoplam o espaço de endereçamento do 
processo da memória física da máquina. Liste duas vantagens desse projeto. 
 
A primeira vantagem seria que os sistemas operacionais modernos permitem que o 
tamanho do programa exceda o tamanho da memória física da máquina, utilizando a 
técnica da memória virtual. Outra vantagem seria que o desacoplamento de 
endereçamento do processo da memória física torna possível que um programa possa ser 
executado em diferentes partes da memória e em diferentes períodos. 
 
2.3) ATIVIDADE: [ ACRESCENTADO ] Faça os exercícios nº 1.5, 1.10, 1.19, 1.20 
do livro-texto do autor SILBERSCHATZ (9ª ed., pág. 50-52 do cap. 1). 
 
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)? 
 
A diferença entre essas duas modalidades se baseia no fato em que a modo kernel têm 
acesso a todo o hardware enquanto que o modo usuário só tem acesso a algumas partes 
da memória, o que impossibilita o acesso direto aos dispositivos exceto pelas solicitações 
ao sistema operacional quando precisam executar alguma tarefa especial. Com isso, os 
programas de usuário ficam impossibilitados de acessar áreas críticas da memória do 
sistema operacional, evitando assim problemas severos no sistema. Além disso, traz a 
possibilidade de que diversos programas de diferentes usuários ou não, executem em um 
mesmo computador sem que esses programas interfiram um no outro. 
 
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? 
 
A utilidade dos caches ocorre quando dois ou mais componentes precisam trocar dados 
entre si com velocidades de transferências diferentes. São capazes de resolver o problema 
dessa diferença de velocidade de transferências entre os componentes. Isso se resolve pois 
o cache fornece um buffer de velocidade intermediária entre eles. Se um componente 
mais rápido encontrar os dados procurados no cache, poderá acessá-los diretamente no 
cache sem que seja necessário aguardar o componente mais lento, tornando a resposta de 
acesso ao dado muito mais rápido. Os dados dos componentes e os dados armazenados 
no cache devem ser mantidos de forma consistente, caso contrário, os dados dos 
dispositivos que tiverem seus valores modificados também deverão ser modificados no 
cache. Esse problema ocorre em sistemas de multiprocessadores onde mais de um 
processo pode estar acessando um dado. Aumentar o tamanho do cache e eliminar o 
dispositivo de tamanho igual, só poderia ocorrer se o cache fosse mais barato, pois um 
armazenamento mais rápido também é mais caro. Além disso, o cache teria que reter os 
dados guardados quando da falta de energia elétrica (quando o computador é desligado), 
ou seja, teria que ser um tipo de memória não volátil. 
 
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? 
 
As interrupções tem como objetivo indicar a concorrência de um evento, trocando os 
contextos, que é quando o processador para de fazer o que está fazendo para atender à 
solicitação do dispositivo que acionou a interrupção. A interrupção é um sinal de 
hardware que faz com que o processador sinalizado interrompa a execução do programa 
que estava sendo executado anteriormente e passa a executar a rotina que gerou essa 
interrupção. Já a exceção (trap) faz de forma similar as ações de uma interrupção, no 
entanto é uma interrupção ocasionado por software. As exceções podem ser geradas 
intencionalmente por um programa de usuário a fim de alertar sobre algum erro que surge 
no sistema. 
 
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? 
 
A CPU pode fazer uma operação de acesso à memória gravando valores em registradores 
especiais que podem ser acessados de forma independente pelo dispositivo. Assim, o 
dispositivo inicia a operação correspondente quando recebe um comando da CPU. 
Quando esta operação é concluída pelo dispositivo, o dispositivo interrompe a CPU para 
indicar a conclusão da operação. 
 
b. Como a CPU sabe quando as operações da memória foram concluídas? 
 
A CPU sabe, pois é gerada uma interrupção por bloco o qual informa ao driver quer a 
operação foi concluída. 
 
c. A CPU pode executar outros programas enquanto o controlador de DMAestá transferindo dados. Esse processo interfere na execução dos programas de 
usuário? Caso interfira, descreva que tipos de interferência são gerados. 
 
Pode interferir já que tanto a CPU quanto o dispositivo podem estar acessando ao mesmo 
tempo a memória. Como o controlador da memória fornecesse acesso ao barramento da 
memória de forma justa entre CPU e o dispositivo, isso poderia comprometer a emissão 
de operações de memória pela CPU da forma mais eficiente possível (velocidade de pico), 
já que há uma concorrência entre ambos (CPU e dispositivo) em obter acesso ao 
barramento da memória.

Continue navegando