Logo Passei Direto
Buscar

P1 Sistemas Operacionais

User badge image
juninho pc

em

Ferramentas de estudo

Questões resolvidas

Um sistema monousuário pode ser um sistema multiprogramável? Por que e dê um exemplo.

Qual o número máximo de células endereçadas em arquiteturas com MAR de 16, 32, e 64 bits? Explique.

Descreva os ciclos de leitura e gravação de dados na memória principal.

Por que o mecanismo de interrupção é fundamental para a implementação da multiprogramação?

Um processador tem cinco estágios de pipeline. Suponha que cada uma das etapas do processador (busca, decodificação, execução, leitura ou escrita de dados em memória e escrita em registrador) seja executada em 5ns. O tempo total para que 5 instruções sejam executadas em pipeline, supondo que não haja dependência de dados entre as instruções é:

O que é concorrência e como este conceito está presente nos sistemas operacionais multiprogramáveis?

O que é um system call e qual sua importância para a segurança do sistema? Como as system calls são utilizadas por um programa?

Considere o seguinte código para implementar exclusão mútua entre dois processos i e j: Em relação ao código acima, todas as afirmativas estão corretas, exceto:
[ ] A implementação garante exclusão mútua.
[x] A implementação garante progresso.
[ ] Os processos fazem espera ativa.
[ ] Exige alternância estrita.
[ ] Um processo bloqueia o outro mesmo não estando na seção crítica.

Compare as arquiteturas monolíticas e de camadas de sistemas operacionais. Quais as vantagens e desvantagens de cada arquitetura?

Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis?

O que é contexto de hardware de um processo e como é a implementação da troca de contexto?

Quais as vantagens e desvantagens do compartilhamento do espaço de endereçamento entre threads de um processo?

São vantagens da utilização de threads no espaço do usuário, exceto:
[ ] Nenhuma modificação é necessária no kernel.
[x] O sistema operacional escalona a thread.
[ ] O escalonamento pode ser específico para a aplicação.
[ ] A criação e o gerenciamento das threads são mais eficientes.
[ ] Maior portabilidade da aplicação.

Considere o seguinte programa com dois processos concorrentes. O escalonador poderá alternar entre um e outro, isto é, eles poderão ser intercalados durante sua execução. As variáveis x e y são compartilhados pelos processos e inicializadas antes de sua execução. As possíveis saídas são:
[ ] adbc ou bcad
[x] badc ou bacd
[ ] abdc ou abcd
[ ] dbca ou dcab
[ ] Nenhuma das opções anteriores

Analise as seguintes afirmativas.
I. Condições de corrida podem ocorrer se múltiplas threads fazem leituras de um dado compartilhado, mesmo que nenhuma realize escritas.
II. O uso do mutex para exclusão mútua em seções críticas garante que não hajam condição de corrida, porém pode ocasionar deadlock se não for corretamente empregado.
III. Monitores são baseados em um tipo abstrato de dados e um controle de acesso aos dados. Apenas funções do monitor acessam os dados e apenas um thread ou processo pode executar funções de um monitor por vez.
IV. Semáforos têm duas operações, P( ) e V( ), sendo que apenas a operação P( ) pode bloquear um processo ou thread.
( a ) Apenas as afirmativas I, II e III são verdadeiras.
( b ) Apenas as afirmativas I, III e IV são verdadeiras.
( c ) Apenas as afirmativas II e IV são verdadeiras.
( d ) Apenas as afirmativas II, III e IV são verdadeiras.
( e ) Nenhuma das alternativas é verdadeira.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Um sistema monousuário pode ser um sistema multiprogramável? Por que e dê um exemplo.

Qual o número máximo de células endereçadas em arquiteturas com MAR de 16, 32, e 64 bits? Explique.

Descreva os ciclos de leitura e gravação de dados na memória principal.

Por que o mecanismo de interrupção é fundamental para a implementação da multiprogramação?

Um processador tem cinco estágios de pipeline. Suponha que cada uma das etapas do processador (busca, decodificação, execução, leitura ou escrita de dados em memória e escrita em registrador) seja executada em 5ns. O tempo total para que 5 instruções sejam executadas em pipeline, supondo que não haja dependência de dados entre as instruções é:

O que é concorrência e como este conceito está presente nos sistemas operacionais multiprogramáveis?

O que é um system call e qual sua importância para a segurança do sistema? Como as system calls são utilizadas por um programa?

Considere o seguinte código para implementar exclusão mútua entre dois processos i e j: Em relação ao código acima, todas as afirmativas estão corretas, exceto:
[ ] A implementação garante exclusão mútua.
[x] A implementação garante progresso.
[ ] Os processos fazem espera ativa.
[ ] Exige alternância estrita.
[ ] Um processo bloqueia o outro mesmo não estando na seção crítica.

Compare as arquiteturas monolíticas e de camadas de sistemas operacionais. Quais as vantagens e desvantagens de cada arquitetura?

Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis?

O que é contexto de hardware de um processo e como é a implementação da troca de contexto?

Quais as vantagens e desvantagens do compartilhamento do espaço de endereçamento entre threads de um processo?

São vantagens da utilização de threads no espaço do usuário, exceto:
[ ] Nenhuma modificação é necessária no kernel.
[x] O sistema operacional escalona a thread.
[ ] O escalonamento pode ser específico para a aplicação.
[ ] A criação e o gerenciamento das threads são mais eficientes.
[ ] Maior portabilidade da aplicação.

Considere o seguinte programa com dois processos concorrentes. O escalonador poderá alternar entre um e outro, isto é, eles poderão ser intercalados durante sua execução. As variáveis x e y são compartilhados pelos processos e inicializadas antes de sua execução. As possíveis saídas são:
[ ] adbc ou bcad
[x] badc ou bacd
[ ] abdc ou abcd
[ ] dbca ou dcab
[ ] Nenhuma das opções anteriores

Analise as seguintes afirmativas.
I. Condições de corrida podem ocorrer se múltiplas threads fazem leituras de um dado compartilhado, mesmo que nenhuma realize escritas.
II. O uso do mutex para exclusão mútua em seções críticas garante que não hajam condição de corrida, porém pode ocasionar deadlock se não for corretamente empregado.
III. Monitores são baseados em um tipo abstrato de dados e um controle de acesso aos dados. Apenas funções do monitor acessam os dados e apenas um thread ou processo pode executar funções de um monitor por vez.
IV. Semáforos têm duas operações, P( ) e V( ), sendo que apenas a operação P( ) pode bloquear um processo ou thread.
( a ) Apenas as afirmativas I, II e III são verdadeiras.
( b ) Apenas as afirmativas I, III e IV são verdadeiras.
( c ) Apenas as afirmativas II e IV são verdadeiras.
( d ) Apenas as afirmativas II, III e IV são verdadeiras.
( e ) Nenhuma das alternativas é verdadeira.

Prévia do material em texto

Prova 1 - Sistemas Operacionais
1) Um sistema monousuário pode ser um sistema multiprogramável? Por que e dê um exemplo.
Sim, pode, pois as características de um sistema multiprogramável não dependem de ele ser 
multiusuário, apenas de alguns pontos, como por exemplo: Existir interrupção, para assim 
poderem ser executadas tarefas “concorrentes”.
2) Qual o número máximo de células endereçadas em arquiteturas com MAR de 16, 32, e 64 bits? 
Explique.
Significado de MAR = 
MAR = 16 bits número max células = 216 
MAR = 32 bits número max células = 232 
MAR = 64 bits número max células = 264
3) Descreva os ciclos de leitura e gravação de dados na memória principal.
No ciclo de leitura, a UCP armazena no MAR, o endereço da célula a ser lida e gera um sinal de 
controle para a 
memória principal, indicando que uma operação de leitura deve ser realizada. O conteúdo da(s) 
célula(s), identificada(s) 
pelo endereço contido no MAR, é transferido para o MBR 
 
No ciclo de gravação, a UCP armazena no MAR, o endereço da célula que será gravada e 
armazena no MBR, a 
informação que deverá ser gravada. A UCP gera um sinal de controle para a memória principal, 
indicando que uma 
operação de gravação deve ser realizada e a informação contida no MBR é transferida para a 
célula de memória 
endereçada pelo MAR 
4) Por que o mecanismo de interrupção é fundamental para a implementação da 
multiprogramação?
É algo fundamental porque somente assim o sistema operacional pode trocar o que está sendo 
executado se quiser, ou seja, compartilhar o tempo de processamento, permitindo assim a 
multiprogramação, e caso tenha dado algum problema, não dependerá exclusivamente do 
programa que está sendo executado terminar para sair do processador.
5) Um processador tem cinco estágios de pipeline. Suponha que cada uma das etapas do 
processador (busca, decodificação, execução, leitura ou escrita de dados em memória e escrita 
em registrador) seja executada em 5ns.
O tempo total para que 5 instruções sejam executadas em pipeline, supondo que não haja 
dependência de dados entre as instruções é:
45ns
Justificativa:
“Escadinha"
Quando é carregada uma nova instrução, ela primeiramente passa pelo primeiro estágio, que 
trabalha nela durante apenas um ciclo de clock, passando-a adiante para o segundo estágio. A 
instrução continua então sendo processada sucessivamente pelo segundo, terceiro, quarto e 
quinto estágios do processador. A vantagem desta técnica, é que o primeiro estágio não precisa 
ficar esperando a instrução passar por todos os demais para carregar a próxima, e sim carregar 
uma nova instrução assim que se livra da primeira, ou seja, depois do primeiro pulso de clock.
6) O que é concorrência e como este conceito está presente nos sistemas operacionais 
multiprogramáveis?
Concorrência é o princípio básico para projeto e implementação dos sistemas operacionais 
multiprogramáveis onde é possível o processador executar instruções em paralelo com 
operações de E/S. Isso possibilita a utilização concorrente da UCP por diversos programas 
sendo implementada de maneira que, quando um programa perde o uso do processador 
e depois retorna para continuar o processamento, seu estado deve ser idêntico ao do momento 
em que foi interrompido. O programa deverá continuar sua execução exatamente na instrução 
seguinte àquela em que havia parado, aparentando 
ao usuário que nada aconteceu. 
7) Em relação aos sistemas operacionais, para que uma operação possa executar uma instrução 
privilegiada, o processador implementa o mecanismo de modos de acesso. Esse mecanismo 
está dividido basicamente em dois modos de acesso conhecidos por:
Modo Usuário e Modo Kernel
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
8) O que é um system call e qual sua importância para a segurança do sistema? Como as system 
calls são utilizadas por um programa?
9) Considere o seguinte código para implementar exclusão mútua entre dois processos i e j:
Processo Pi
	 do
	 	 while (turn != i); //Entrada da seção crítica
	 	 	 Seção Crítica
	 	 turn = j;
	 	 	 Código restante
	 	 while ( 1 );
Em relação ao código acima, todas as afirmativas estão corretas, exceto:
[ ] A implementação garante exclusão mútua.
[x] A implementação garante progresso.
[ ] Os processos fazem espera ativa.
[ ] Exige alternância estrita.
[ ] Um processo bloqueia o outro mesmo não estando na seção crítica.
10) Compare as arquiteturas monolíticas e de camadas de sistemas operacionais. Quais as 
vantagens e desvantagens de cada arquitetura?
11) Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis?
12) Os Sistemas Operacionais estão sujeitos a um fenômeno denominado deadlock. Para que 
uma situação de deadlock seja criada, as seguintes condições devem acontecer 
simultaneamente:
[x] Exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não 
preempção (no preemption) e espera circular (circular wait).
13) O que é contexto de hardware de um processo e como é a implementação da troca de 
contexto?
Lembrar daquele desenho… Pode ser que ajude
14) Sobre estados de processos em Sistemas Operacionais, analise as assertivas e assinale a 
alternativa que aponta a(s) correta(a).
I. Um processo, em um sistema multiprogramável (multitarefa), não é executado todo o tempo 
pelo processador. Durante sua existência, ele passa por uma séria de estados. Basicamente, 
existem três estados em que um processo pode se encontrar no sistema.
II. Execução (running), um processo é classificado como running quando aguarda uma 
oportunidade para executar, ou seja, esperando que o sistema operacional aloque a UCP 
para sua execução.
III. Pronto (ready), um processo é dito nesse estado quando está sendo processado pela UCP. 
Em sistemas com apenas um processador, somente um processo pode estar pronto em um 
dado instante de tempo.
IV. Espera (wait), neste estado um processo aguarda algum evento externo ou por algum recurso 
para poder prosseguir seu processamento. Como exemplo, podemos citar o término de uma 
operação de entrada/saída ou a espera de uma determinada data e/ou hora para poder 
continuar sua execução.
[x] Apenas I e IV estão corretas.
15) Quais as vantagens e desvantagens do compartilhamento do espaço de endereçamento 
entre threads de um processo?
Acredito que uma das vantagens seja não duplicar tais dados na memória do computador, e uma 
das desvantagens está só poder uma das threads poder acessar no modo escrita/alteração tais 
endereços.
(Pensar também no contexto de execução)
16) São vantagens da utilização de threads no espaço do usuário, exceto:
[ ] Nenhuma modificação é necessária no kernel.
[x] O sistema operacional escalona a thread.
[ ] O escalonamento pode ser específico para a aplicação.
[ ] A criação e o gerenciamento das threads são mais eficientes.
[ ] Maior portabilidade da aplicação.
Justificativa:
17) Considere o seguinte programa com dois processos concorrentes. O escalonador poderá 
alternar entre um e outro, isto é, eles poderão ser intercalados durante sua execução. As 
variáveis x e y são compartilhados pelos processos e inicializadas antes de sua execução.
program P
int x = 0;
int y = 0;
	 processo A{
	 	 while ( x == 0);
	 	 print (“a”) ;
	 	 y = 1;
	 	 y = 0;
	 	 print( “d”);
	 	 y = 1;
	 }
	 processo B{
	 	 print(“b”);
	 	 x = 1;
	 	 while ( y == 0 );
	 	 print(“c”);
	 }
As possíveis saídas são:
[ ] adbc ou bcad
[x] badc ou bacd
[ ] abdc ou abcd
[ ] dbca ou dcab
[ ] Nenhuma das opções anteriores
18) Analise as seguintes afirmativas.
I. Condições de corrida podem ocorrerse múltiplas threads fazem leituras de um dado 
compartilhado, mesmo que nenhuma realize escritas.
II. O uso do mutex para exclusão mútua em seções críticas garante que não hajam condição de 
corrida, porém pode ocasionar deadlock se não for corretamente empregado.
III. Monitores são baseados em um tipo abstrato de dados e um controle de acesso aos dados. 
Apenas funções do monitor acessam os dados e apenas um thread ou processo pode 
executar funções de um monitor por vez.
IV. Semáforos têm duas operações, P( ) e V( ), sendo que apenas a operação P( ) pode bloquear 
um processo ou thread.
( a ) Apenas as afirmativas I, II e III são verdadeiras.
( b ) Apenas as afirmativas I, III e IV são verdadeiras.
( c ) Apenas as afirmativas II e IV são verdadeiras.
( d ) Apenas as afirmativas II, III e IV são verdadeiras.
( e ) Nenhuma das alternativas é verdadeira.
Alternativa: C
Justificativa:
19) Uma alternativa para o aumento de desempenho de sistemas computacionais é o uso de 
processadores com múltiplos núcleos, chamadas multicores. Nesses sistemas, cada núcleo, 
normalmente, tem as funcionalidades completas de um processador, já sendo comuns, 
atualmente, configurações com 2, 4 ou mais núcleos. Com relação ao uso de processadores 
multicores, e sabendo que threads são estruturas de execução associadas a um processo, que 
compartilham suas áreas de código e dados, mas mantém contextos independentes, analise as 
seguintes asserções:
Ao dividirem suas atividades em múltiplas threads que podem ser executadas paralelamente, 
aplicações podem se beneficiar mais efetivamente dos diversos núcleos dos processadores 
multicores
Porque
O sistema operacional nos processadores multicores pode alocar os núcleos existentes para 
executar simultaneamente diversas sequências do código, sobrepondo suas execuções e, 
normalmente, reduzindo o tempo de resposta das aplicações às quais estão associadas.
Acerca dessas asserções, assinale a opção correta:
( b ) As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da 
primeira
20) 
21)

Mais conteúdos dessa disciplina