Buscar

Atividade - Resolvida

Prévia do material em texto

NOME: EMYLLY SABRINA DE SÁ 
PROFESSOR: Cícero Woshingnton Saraiva Leite SEMESTRE: 2020.1 
CURSO: Sistemas de Informação TURMA: 1 
DISCIPLINA: Sistemas Operacionais AV: AV1 
DATA: 25/03/2020 TIPO: 1 NOTA: 
 
 
1) Diferencie threads no processo e threads no 
núcleo. Cite justificativas, vantagens, desvantagens 
se necessário. 
O modelo de processo é baseado em dois 
conceitos independente (agrupamento de 
recursos e execução). Às linhas de execução de 
um thread compõe a execução de um processo, 
qualquer processo deve possuir thread. Pois ela 
permite que ocorram múltiplas execuções no 
mesmo ambiente, com alto grau de 
independência uma da outra. Compartilha o 
mesmo espaço de endereçamento que pertence 
ao processo, sendo assim o S.O. precisa criar 
mecanismos para não haver competição no uso 
dos recursos. (espaço de endereçamento). 
Threads no núcleo: o núcleo conhece o thread, 
pode tirar CPU de um thread, há interrupção de 
relógio. Às chamadas de sistema são iguais e 
gerenciadas pelo S.O., os threads bloqueados 
não bloqueiam o processo, as chamadas são 
mais demoradas, o núcleo tem uma tabela que 
controla todos os threads no sistema. 
2) Se você fosse o responsável por um projeto de 
sistema operacional e tivesse que determinar o 
funcionamento do escalonador, qual(is) algoritmo(s) 
escolheria para um sistema desktop? E para um 
servidor? Justifique. 
Escolheria um algoritmo para sistemas 
interativos por causa das prioridades para o 
usuário, separação dos processos (complexos e 
comuns), múltiplas filas processadas de 
maneiras diferentes, escalonamento garantido 
(ideia – definir metas a cumprir/prioriza 
processos fora de meta). Parar um servidor 
usaria um algoritmo de escalonamento para 
sistemas em lote (SRTN) por ser uma evolução 
do SJF e por ter um tempo de espera menor 
quanto ao tempo de término. 
3) Desenhe um esquema que representa os 
estados de um processo e as ações que acontecem 
ao mudar de um estado para outro. 
 
 
 
4) Marque V ou F: 
(F) Mutexes são barreiras para número par de 
processos. 
(V) Semáforos aceitam operações de up() e down(). 
(V) Desabilitar interrupções é uma solução que 
deve ser utilizada apenas por rotinas do próprio SO. 
(F) Barreiras usam mensagens que bloqueiam o 
processo requisitante até que a resposta chegue. 
(V) TLS consiste em manipular uma variável de 
trava com uma operação indivisível (um ciclo de 
processador apenas). 
5) Sabendo que a fórmula que define a 
multiprogramação é dada por 1-pn, onde p é a fração 
de tempo ocioso e n é o número de processos iguais, 
qual o grau de multiprogramação para um sistema 
com p=0,3 e n=4? 
 
O grau é 99,19% 
 
6) Sobre região crítica marque V ou F: 
(V) Um processo que executa sua região crítica não 
pode ser bloqueado por outro. 
(F) Um processo completamente fora de sua região 
crítica pode bloquear outro. 
(V) Um processo que executa sua região crítica 
pode acessar variáveis compartilhadas se as regras 
de exclusão mútuas foram devidamente cumpridas. 
 
7) Verifique o código a seguir. 
void producer (void) { 
int item; 
while (TRUE) { 
up($mutex) 
produce_item(&item) 
enter_item(&item) 
down(&mutex)} 
Considerando que existe um semáforo (mutex) e 
que vários processos produtores podem estar 
executando ao mesmo tempo. Considerando ainda 
que o mutex foi inicializado com 0, comente os 
problemas desse código. 
O (producer) (item) precisa estar antes do up 
e necessariamente não precisava está na região 
critica. E é recomendável iniciar por 1 e fazer o down 
assim que entrar na região crítica e só no final fazer 
up novamente. 
 
8) Marque um X para as características 
relacionadas ao algoritmo circular (fatia de tempo): 
(X) pseudoparalelismo. 
( ) ideal para sistemas em lote. 
(X) garantia de igualdade a longo prazo tanto para 
processos CPU/bound quanto IO/bound. 
 No estado EXECUTANDO, um processo pode fazer 
chamada de sistema. Até a chamada de sistema ser 
atendida o processo não pode continuar sua execução. 
Ele fica BLOQUEADO e só volta a disputar o processador 
após a conclusão da chamada. Enquanto espera pelo 
término da chamada de sistema, o processo está no 
estado de bloqueado. 
 
 
9) Observe os comandos time e dd em uma única 
linha sublinhada abaixo e a respectiva saída. 
time dd if=/dev/zero of=./apagar.dat 
count=1000000 bs=1024 
1000000+0 registros de entrada 
1000000+0 registros de saída 
1024000000 bytes (1,0 GB, 977 MiB) 
copiados, 4,06709 s, 252 MB/s 
real 0m6,715s 
user 0m0,342s 
sys 0m2,266s 
Sabendo que o arquivo apagar.dat criado pelo dd 
foi salvo em um disco mecânico e que o comando 
time contabilizou os tempos relacionados à criação 
do referido arquivo. Sabendo também que as três 
últimas linhas são as medições do comando time e 
que user significa tempo de execução em modo 
usuário e sys tempo de execução em modo núcleo 
responda: 
a) Por qual motivo a soma dos tempos user e sys 
não é equivalente ao tempo real? 
 
Porque o tempo real foi superior a 3 segundos, 
e o restante do tempo ele passou ocioso. 
 
b) Por qual motivo o tempo sys é maior que o 
tempo user? 
Por que é trabalho do sistema operacional 
 
10) Relacione as colunas: 
(1) lote 
(2) interativo 
(2) Loteria 
(1) SJF 
(2) Fração justa 
(1) SRTN 
(2) Round-robin 
(2) Prioridades 
(1) FCFS (FIFO)

Continue navegando