Buscar

Lista Sistemas Operacionais I

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 13 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

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 6, do total de 13 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

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 9, do total de 13 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

Prévia do material em texto

Resolução Listas de Sistemas Operacionais I
Lista 1
1. O que são e para que servem Sistemas Operacionais?
Um sistema operacional é um programa, ou conjunto de programas, inter relacionados cuja
finalidade é agir como intermediário entre o usuário e o hardware; e o gerenciador de
recursos.
2. Explique porque computadores de propósito específico como o colossus ou o
ENIAC não requeriam sistemas operacionais para funcionarem.
Linguagens de programação eram desconhecidas (mesmo a linguagem de montagem era
desconhecida). Ninguém tinha ouvido falar ainda de sistemas operacionais. O modo usual de
operação consistia na reserva pelo programador de um bloco de tempo na ficha de registro na
parede, então ele descer até a sala de máquinas, inserir seu painel de programação no
computador e passar as horas seguintes torcendo para que nenhuma das cerca de 20.000
válvulas queimasse durante a operação.
3. Descreva em suas palavras como foi a transição de sistemas computacionais
completamente sem sistemas operacionais para a criação e especialização
paulatina de sistemas computacionais dependentes de sistemas operacionais.
(Lembrem-se das bibliotecas de E/S, programa de inicialização, maximização da
potencialidade do sistema computacional, etc...)
Em sistemas computacionais os programadores acabavam se preocupando com detalhes do
hardware que agora com os sistemas operacionais acabam deixando de ser uma preocupação
já que ele realiza a comunicação entre a aplicação e os dispositivos de hardware.
4. Quais foram as motivações que levaram a criação de sistemas multiusuário?
Um sistema operacional multiusuário pode ter muitos usuários trabalhando ao mesmo tempo,
geralmente em tarefas independentes, originalmente usando terminais seriais.
5. Quais foram as motivações que levaram a criação de sistemas multitarefas?
Mantém mais de um programa simultaneamente na memória principal, para permitir o
compartilhamento efetivo do tempo de CPU e demais recursos.
6. Como sistemas multitarefas e multiusuário se relacionam.
Um sistema operacional multiusuário pode ter muitos usuários trabalhando ao mesmo tempo,
geralmente em tarefas independentes, originalmente usando terminais seriais. Um sistema
operacional multitarefa pode ter muitas tarefas sendo executadas ao mesmo tempo.
7. Porque sistemas operacionais eram escritos diretamente em assembly e não em
uma das linguagens de alto nível disponíveis tais como FORTRAM ou COBOL?
Isso ocorre porque o assembly possui um número reduzido de instruções que precisam ser
combinadas para realizar o que uma única instrução em código alto nível realiza. No meio da
década de 70 os sistemas operacionais e montadores eram todos escritos em assembly, pois as
memórias eram pequenas e os compiladores eram ineficientes.
8. Descreva o funcionamento de um sistema operacional em lotes.
Os programas, também chamados de jobs, eram executados a partir de cartões perfurados,
onde poderiam possuir metadados associados ou alguma indicação de prioridade de recursos
eles eram executados um após o outro.
9. Em um sistema operacional moderno típico, quais são os seis serviços principais
providos pelo sistema operacional?
Execução do programa, Operações de I / O, Manipulação do sistema de arquivos,
Comunicação, Detecção de erro, Alocação de recursos e proteção
10. Qual é a diferença entre sistemas de compartilhamento de tempo e de
multiprogramação?
Os sistemas de compartilhamento de tempo, também chamados de time-sharing, possibilitam
que vários programas sejam executados através de uma divisão de tempo do processador em
intervalos curtos. Os sistemas de multiprogramação ou multitarefa são uma evolução dos
programas de monoprogramação. Eles possibilitam, por exemplo, que enquanto um programa
esteja em operação de leitura outros possam ser executados.
11. Descreva o que é a BIOS e o que geralmente está contido nela.
É um programa presente na placa mãe que realiza checagem dos componentes de hardware, lê
o MBR, primeiro setor de boot na memória e o executa, inicializa o SO e carrega os drivers.
12. Embora a arquitetura von Neumann seja ainda hoje o modelo utilizado para a
criação de sistemas computacionais, várias melhorias e pequenas alterações
foram propostas e são comumente empregadas. Discorra sobre o assunto.
É uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina
digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim
manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de
programa armazenado que utiliza uma unidade de processamento (CPU) e uma de
armazenamento ("memória") para comportar, respectivamente, instruções e dados.
13. Qual a diferença entre Código de Máquina e linguagem Assembly?
O código de máquina é uma linguagem que consiste em binários que podem ser executados
diretamente por um computador, enquanto uma linguagem assembly é uma linguagem de
programação de baixo nível que requer um software chamado assembler para convertê-lo em
código de máquina.
Lista 2
14. Defina com suas palavras o conceito de Processo?
Um processo é caracterizado por programas em execução, cada processo possui um programa,
um espaço de endereço na memória, contextos de hardware e software
15. Qual a função do Gerenciador de Processos? Descreva de maneira resumida
como ele funciona.
O gerenciador de processos gerencia a criação e a finalização de processos e threads,
incluindo estabelecer as políticas e parâmetros que os controlam, ele aloca e inicializa o
objeto de processos.
16. Discorra sobre o inter-relacionamento entre processos e multiprogramação.
Um processo é dividido em subprocessos que executam em sistemas multiprocessados e em
redes de computadores ou até mesmo em sistemas virtualmente paralelos.
17. Em sistemas de multiprogramação podemos definir processos como CPU Bound
ou I/O bound. Qual a diferença entre eles?
https://pt.wikipedia.org/wiki/Programa_de_computador
https://pt.wikipedia.org/wiki/Mem%C3%B3ria_(computador)
https://pt.wikipedia.org/wiki/CPU
Os processos CPU Bound são orientados a CPU ou seja utilizam muito o processador onde
será definido o tempo de execução, já os processos I/O Bound são orientados a entrada e saída
sendo essa que definirá seu tempo de execução.
18. O que são interrupções e como elas funcionam?
Uma interrupção é um evento externo que faz com que o processador pare a execução do
programa corrente desvie a execução para um bloco de código chamado rotina de interrupção
(normalmente são decorrentes de operações de E/S) ao terminar o tratamento de interrupção o
controle retorna ao programa interrompido exatamente no mesmo estado em que estava
quando ocorreu a interrupção.
19. Quais são os principais estados em que um processo pode estar? Cite o(s)
possível(is) eventos que colocam um processo em cada um destes estados.
Executando: Utilizando a CPU, escalonador seleciona o processo
Bloqueado: Executando operação de E/S, se fizer chamada de sistema ou de E/S
Pronto: Possui tudo menos a CPU, Utilizou todo tempo disponível
20. O que é hierarquia de processos e porque todo processo deve ter um pai? Há
alguma exceção?
A hierarquia entre processos se dá quando um processo cria outro e os processos pai e filho
ficam associados, o processo filho pode criar mais filhos formando assim uma hierarquia, por
outro lado no windows não temos bem uma hierarquia e quando ocorre o identificador de um
processo pai pode ser passado para outro processo.
21. Qual a diferença entre algoritmos preemptivos e não-preemptivos de
escalonamento.
No preemptivo o processo é bloqueado enquanto está sendo executado e no não-preemptivo é
bloqueado por alguma interrupção seja um semáforo ou E/S.
22. Porque chavear processos é caro? Descreva os passos necessários para que
ocorra uma troca de processos.
Pois é necessário salvar as informações do processo que está deixando/entrando a/na CPU em
seu BCP e também salvar o conteúdo dos registradores para depois voltá-lo para a CPU, isso
acaba sobrecarregando osistema por isso é caro.
23. Descreva como o algoritmo de escalonamento FCFS funciona. Como ele pode ser
implementado? Esboce um pseudo-algoritmo.
Define as políticas de escalonamento, o primeiro que chegar será o primeiro a ser escalonado
ele é não-preemptivo sendo interrompido apenas por E/S.
24. Descreva como o algoritmo de escalonamento SJF funciona. Como ele pode ser
implementado? Esboce um pseudo-algoritmo.
O algoritmo escolhe primeiro as tarefas mais curtas porém primeiro necessita saber os jobs
para que possa escolher isso pode ser ruim pois nem todos podem ser executados.
25. O algoritmo SJF requer que o tempo de execução do processo seja conhecido a
priori. Cite exemplos em que este tempo de execução pode ser conhecido. É
possível estimar estes tempos em outros contextos?
Sabendo-se o tempo de execução de todos os processos para assim conseguir o tempo de
execução.
26. Descreva como o algoritmo de escalonamento Round-Robin funciona. Como ele
pode ser implementado? Esboce um pseudo-algoritmo.
É um algoritmo preemptivo onde cada processo recebe um tempo de execução e ao final
desse tempo o processo é suspenso e outro entra em execução, esse que estão em uma lista
mantida pelo escalonador.
27. Quais são as vantagens e desvantagens de se definir um quanta longo?
Vantagem: Com um quanta longo pode evitar que o processo saia de execução uma vez que
não corre o risco do tempo acabar.
Desvantagem: o processo pode entrar em inanição uma vez que estará no final da fila por ter
um quanta longo.
28. Quais são as três principais formas de comunicação entre processos? Detalhe-as
Mecanismos locais ( Pipes ) são ficheiros especiais que servem de canal de comunicação entre
processos. Um processo abre o FIFO para escrita, outro para leitura.
Mecanismos cliente/servidor ( Sockets ) Os sockets também são considerados IPC, embora
mais orientados para uma arquitetura cliente-servidor.
Sincronização entre processos A sinalização é um mecanismo largamente utilizado em UNIX
e funciona análogamente a um trigger (disparo). Um processo receptor de um sinal irá parar a
sua execução imediatamente, para passar a processar o sinal. Desta forma, o processo é assim
"despertado" para um qualquer evento, consoante o sinal recebido. Um exemplo comum é o
sinal KILL (matar) enviado a um processo bloqueado:
29. O que é o problema da CONDIÇÃO DE CORRIDA? Cite exemplos de situações
em que ele pode ocorrer?
Situações onde dois ou mais processos estão lendo ou escrevendo algum dado compartilhado
e o resultado depende de quem processa no momento propício.
Exemplo: Quando um processo deseja imprimir um arquivo, ele coloca o nome do arquivo em
uma lista de impressão (spooler directory), um processo chamado “printer daemon”, verifica a
lista periodicamente para ver se existe algum arquivo para ser impresso, e se existir, ele os
imprime e remove seus nomes da lista.
30. Defina o conceito de REGIÃO CRÍTICA? Quais são as quatro condições que
definem uma região crítica?
Seção do programa onde são efetuados acessos (para leitura e escrita) a recursos partilhados
por dois ou mais processos
1. Dois ou mais processos não podem estar simultaneamente dentro de uma região
crítica
2. Não se podem fazer afirmações em relação à velocidade e ao número de CPUs
3. Um processo fora da região crítica não deve causar bloqueio a outro processo
4. Um processo não pode esperar infinitamente para entrar na região crítica
31. O que são semáforos e como eles funcionam?
O semáforo é um mecanismo bastante geral para resolver problemas de sincronismo e
exclusão mútua
1. Inicialização: Recebe um valor inteiro indicando a quantidade de processos que
podem acessar um determinado recurso
2. Operação wait ou P: Decrementa o valor do semáforo. Se o semáforo está com valor
zero, o processo é posto para dormir.
3. Operação signal ou V: Se o semáforo estiver com o valor zero e existir algum
processo adormecido, um processo será acordado. Caso contrário, o valor do
semáforo é incrementado.
32. Defina o que são Threads? Como elas se relacionam com processos?
Consiste de um espaço de endereço e múltiplas linhas de controle utilizando um mesmo
espaço de endereçamento, as linhas de uma thread compõem a execução de um processo
33. Monte uma tabela listando as diferenças entre Processos e Threads?
34. A solução de Peterson para o problema da exclusão mútua funciona quando o
escalonamento de processos é preemptivo? E quando ele é não preemptivo?
Uma variável é utilizada para bloquear a entrada de outro processo na região crítica quando
um outro processo já se encontra lá dentro, essa variável é compartilhada pelos processos
impossibilitando processos não-preemptivos.
35. Quais são os problemas associados com o tratamento de regiões críticas por meio
de desabilitação de interrupções?
Processo pode esquecer de reabilitar as interrupções
Em sistemas com várias CPUs, desabilitar interrupções em uma CPU não evita que as outras
acessem a memória compartilhada.
36. O que são Locks e como eles funcionam?
Consiste de uma variável de travamento. O processo que deseja utilizar uma região crítica
atribui um valor a uma variável chamada lock, se a variável está com valor 0 (zero) significa
que nenhum processo está na região crítica; Se a variável está com valor 1 (um) significa que
existe um processo na região crítica.
37. Como discutimos em aula, com a evolução dos sistemas operacionais suporte em
hardware para o seu funcionamento se tornou uma necessidade. Este fato ocorre
em diversos contextos dentro de sistemas operacionais. Descreva o
funcionamento da instrução TSL - Test and Lock.
A instrução TSL utiliza registradores do hardware seu funcionamento é: ela lê o conteúdo de
uma palavra de memória e armazena um valor diferente de zero naquela posição, em sistemas
multiprocessados: esta instrução trava o barramento de memória, proibindo outras CPUs de
acessar a memória até ela terminar.
Mensagens e Outros Processos de Comunicação
38. Descreva a principal diferença entre comunicação com sockets e RPC.
Sockets são um tipo de arquivo que realiza a comunicação entre portos enquanto o RPC é um
processo que pode comandar um procedimento situado em outra máquina.
39. Em que contexto a troca de mensagens se aplica melhor?
Elas se aplicam melhor em rotinas de bibliotecas como send e receive e são utilizada
comumente em sistemas de programação paralela
40. Faça uma comparação entre o funcionamento de um send bloqueante e de um
send não-bloqueante
Em um send bloqueante o processo que estiver em execução fica bloqueado até que sua
operação seja bem sucedida com a entrega efetiva ou recebimento efetivo pelo processo
destino enquanto um send não bloqueante ele realiza sua execução normalmente mesmo que
não haja uma confirmação de efetivo recebimento da mensagem pelo processo destino.
41. Identifique os três tipos possíveis de falhas que podem comprometer o
funcionamento de um esquema de comunicação baseado em troca de mensagens.
No mínimo uma vez: Cliente retransmite a mensagem até obter a resposta desejada;
Exatamente uma vez: Toda a chamada é executada uma vez;
No máximo uma vez: Se o servidor cair o cliente saberá do erro, mas não saberá se a operação
foi executada.
42. Suponha que temos um sistema de passagem de mensagens usando caixas de
correio (mailbox). Ao enviar para uma caixa de correio cheia ou ao tentar
receber de uma caixa vazia, um processo não é bloqueado. Em vez disso, ele
recebe um código de erro. O processo responde ao código de erro apenas
tentando novamente, repetidamente, até ser bem-sucedido. Esse esquema leva a
condições de corrida?
Não, condição de corrida ocorre quando dois ou mais processos tentam acessar
recursos compartilhados concorrentemente onde quando um primeiro processo entra
na região crítica ele bloqueia o acesso e o próximo processo deve esperar que o
primeiro termine sua execução e quando o primeiro terminar de executar deve avisar
ao próximo processo que a região crítica está livre.
Problemas Clássicos de Comunicação entre Processos43. O problema dos leitores e escritores pode ser formulado de várias maneiras com
relação a qual categoria de processos pode ser iniciada e quando. Descreva
completamente três variações diferentes do problema, cada uma favorecendo (ou
não favorecendo) alguma categoria de processos. Para cada variação, especifique
o que acontece quando um leitor ou um escritor se torna pronto para acessar a
base de dados e o que acontece quando um processo tiver terminado de usar a
base de dados.
VAR1: leitores têm prioridades ,nenhum escritor pode iniciar enquanto um leitor estiver ativo.
VAR2: escritores têm a prioridade,nenhum leitor pode iniciar enquanto houver escritor ativo.
VAR3:simétrica,quando o leitor ou escritor estiver ativo,ambos novos podem ser iniciados
imediatamente.
Deadlocks ou Impasses
44. O que são impasses no contexto de Sistemas Operacionais? Forneça um exemplo
de impasse.
É quando um processo não pode continuar sua execução pois está dependendo um recurso que
está sendo utilizado por outro processo, um exemplo seria um cruzamento sem semáforo ou
placas onde carros em sentido transversal ocupam a mesma via.
45. No contexto de Sistemas Operacionais defina o conceito de recursos e apresente
exemplos.
Recursos podem ser de hardware (ex: HD) quanto software (entrada em base de dados)
46. Defina e diferencie recursos preemptivos de não preemptivos.
Recursos preemptivos ocorrem quando um processo está detendo porém pode ser retirado sem
grande prejuízo, por exemplo desalocar memória, já o não preemptivo pode gerar um grande
prejuízo ao ser desalocado como por exemplo a impressora.
47. Explique com suas palavras quais são as duas formas de espera por recursos
geralmente empregadas.
Processo que requisitou o recurso fica bloqueado até que o recurso seja liberado, ou;
Processo que requisitou o recurso falha, com uma mensagem de erro, cabendo a ele
esperar um pouco e tentar novamente
48. Levando em consideração o ciclo de alocação e utilização de recursos, explique
como é possível que caso um impasse ocorra os processos em impasses possam
ficar completamente CPU-Bound.
Pode ocorrer que se tenha uma fila de processos esperando a execução ocorrendo assim que o
tempo de processamento dependa mais do processador do que das entradas e saídas.
49. Considere o grafo de alocação de recursos abaixo. Ele indica que o sistema está
ou não em um estado de impasse?
Sim, o sistema está em estado de deadlock.
50. Quais são as 4 (quatro) condições necessárias para a existência de um impasse?
Descreva-as em detalhes. (Sub)
Exclusão mútua: um recurso é alocado para um processo em um certo momento.
Uso e Espera: processos que possuem recurso,podem requerer outros.
Não-Preempção: recurso alocado não pode ser retirado do processo que o alocou, apenas
liberado pelo mesmo.
Espera Circular: processo espera recursos em uma cadeira circular.
51. Quais são as 4 (quatro) estratégias para resolução de impasses? Descreva-as em
detalhes.
Ignorar o problema.
Detecção e recuperação do problema.
Evitar dinâmica o problema e fazer a alocação cuidadosa de recursos.
Prevenção do problema por meio das 4 condições
52. É possível para um sistema operacional evitar completamente impasses? Se não
há a possibilidade sob certas circunstâncias? Explique dando exemplos.
É praticamente impossível ou difícil evitar uma vez que a retirada de recursos de um processo
não preemptivo causará grandes prejuízos.
53. Aprendemos em sala de aula quão caro pode ser detectar impasses. Sempre vale
a pena detectar e corrigir impasses? Como Sistemas Operacionais modernos
como o Windows e o Linux lidam com impasses?
O sistema operacional salva estados em um checkpoint apropriado, toda vez que o sistema
avança ele salva o estado, ao perceber o deadlock ele retorna ao estado seguro, pode também
eliminar o processo (linux utilizando kill-9), nem sempre vale a pena detectar e corrigir
impasse, imagine um processo que está realizando uma compilação ou uma consulta no banco
de dados, caso eles sejam eliminados podem gerar grande prejuízo.
54. O que são estados seguros e inseguros? Defina fornecendo exemplos.(P2)
Estados seguros: não provocam deadlocks e atendem todas as requisições
pendentes,finalizando todos os processos.
Estados inseguros: possibilidade de provocar deadlocks mas não necessariamente provocam,
não é possível garantir que um processo termine de forma segura.
55. Considere as tabelas de alocação de recursos (únicos) dadas abaixo. Avalie se as
tabelas dadas se encontram em estados seguros ou não. Em caso afirmativo
forneça as tabelas adicionais até a completude da execução dos processos. Em
caso negativo, demonstra o estado de impasse.
Seguros: A,B,E,F.
Não Seguros: C,D.
Gerenciamento de memória
56. O Gerenciador de Memória tem como objetivo principal fornecer aos processos
um espaço de endereçamento. Este espaço de endereçamento gera um conjunto
de endereços virtuais que precisam de tradução para endereços físicos antes que
a memória possa ser acessada. Há alguma forma de implementar
multiprogramação sem a utilização de endereços virtuais? Se sim, descreva o
funcionamento. (P2)
Imagine que em um sistema computacional exista um único processo, na multiprogramação
existirão vários disputando a memória, para que isso aconteça de forma eficiente a memória
deve ser particionada e alocada a cada processo, essa alocação pode ser feita de forma fixa ou
dinâmica.
57. O que é realocação estática e como ela funciona?
A realocação estática é um processo em que um programa é linkado, ele deve saber em que
endereço deve iniciar na memória para que possa ser executado, na realocação ele é dividido
em várias seções contendo um tipo de dado e posteriormente sendo alocado a memórias pelo
seu tipo.
58. Antes do advento da memória virtual, alguns sistemas operacionais
implementavam multiprogramação. Para tal eles utilizavam hardware de
proteção. Descreva como este esquema funcionava.
Eles funcionavam Com várias partições e programas ocupando diferentes espaços da memória
é possível acontecer um acesso indevido.
59. Descreva o conceito de espaço de endereçamento.
Consiste em um processo pelo qual o programa é carregado na memória para que seja
executado, na realocação ele é dividido em várias partes menores contendo tipos de dados ou
códigos onm, pode ser dado pela memória virtual
60. Como funciona o esquema de realocação intitulado REGISTRADORES
BASE|LIMITE
Esse armazena um valor base e um limite, imagine um programa de 40k que foi armazenado
no endereço 20, sendo assim seu endereço base será 20 e o limite 60 (20+40=60)
61. Em relação às políticas de alocação de memória estudamos duas formas
principais. São elas: Mapas de Bits e Listas Livres. Descreva em suas palavras
como elas funcionam. (Sub)
Em mapas de bits a memória é dividida em unidades de alocação em KB onde cada cada
unidade corresponde a um bit no bitmap, já as listas livres consistem em uma lista ligada de
segmentos de memória livre alocada.
62. Considerando o esquema de alocação de memória intitulado Mapa de Bits,
considere um sistema que utiliza blocos de 32 bits. Com uma memória RAM de
8GB qual seria o tamanho do mapa de bits em bytes?
para resolvermos a questão utilizamos o valor do tamanho da memória em bits dividido pelo
tamanho do bloco, por fim dividimos por 8 pois a questão pede em bytes resultando em:
268435456
63. Considerando o esquema de alocação de memória intitulado Mapa de Bits,
considere um sistema que utiliza blocos de 2KBytes. Com uma memória RAM de
8GB qual seria o tamanho do mapa de bits em bytes?
para resolvermos a questão utilizamos o valor do tamanho da memória em KBytes dividido
pelo tamanho do bloco resultando em: 4000000000
64. Considerando o esquema de alocação de memória intitulado Listas Livres. A
memória poderia estar alocada como o diagrama abaixo. Desenhe a lista
encadeada que representa este esquema de alocação.
65. O que é memória virtual e porque ela é necessária em sistemas operacionais
modernos?
É uma técnica que utiliza memória secundáriacomo cache para partes do espaço dos
processos, ela permite softwares maiores, maior grau de multiprogramação e executa
programas maiores que a memória RAM
66. Para a implementação de um esquema de memória virtual faz-se necessário
algum suporte em hardware. Um módulo adicional intitulado MMU é
adicionado ao processador. Descreva de que trata a MMU e quais as suas
atribuições. (Sub)
A MMU é um hardware que realiza a transformação de endereços lógicos em físicos, sua
atribuição é fazer a realocação de valores lógicos em endereços físicos onde impede que os
programas tenham acesso direto aos endereços físicos.
67. Quantas páginas terá uma tabela de paginação considerando que o espaço de
endereçamento seja de 32 bits e o tamanho da página seja de 4k bytes?
16 páginas virtuais e 8 físicas.
68. Devido a memória virtual um acesso a memória acaba se tornando dois acessos a
memória pois para a tradução do endereço virtual em endereço físico a MMU
precisa consultar a tabela de paginação que deve residir em algum lugar e é
muito grande para residir internamente na MMU. Há alguma forma de aliviar
esta situação? Descreva o que é a TLB e como ela funciona(P2)
O TLB é um tipo de memória cache que realiza a tradução de um endereço virtual para um
endereço físico, muitas vezes o endereço virtual não equivalerá ao físico, sendo assim ele irá
chamar o HIT quando o endereço virtual está no TLB então produz a tradução ou se chama o
MISS quando o endereço não se encontra no TLB, nesse caso se tem a falta de página, o
gerenciador de memória, o TLB primeiro verifica se a página já está na memória principal; se
não estiver na memória principal, uma falha de página é emitida, então o TLB é atualizado
para incluir a nova entrada de página.
Gerência de Arquivos e sistemas de arquivos
69. Explique com suas palavras porque a abstração de Arquivo é um dos três pilares
dos Sistemas Operacionais. (Apenas para relembrarmos, porque o importante
mesmo é o conhecimento, quais são os outros 2?)
Pois é ela quem realiza a implementação da organização de dados em disco dando acesso e
subsídio à interface armazenando a informação de forma persistente no disco
70. Explique citando exemplos porque discos magnéticos (HDD) são mais lentos se
comparados aos dispositivos de armazenamento baseados em semicondutores
(SSD). Discuta também a principal razão que leva aos HDDs possuírem maior
espaço de armazenamento que os SDDs. Por fim qual a razão que justifica o fato
de que os discos HDD não serem completamente substituídos pelo SDD. (Sub)
Devido a utilização de discos magnéticos serem de baixo capacidade de leitura e escrita, e
SSD utiliza chips flash NAND com alta capacidade, porém com maior custo e menor validade
de uso,por isso para armazenar arquivos são usados HDDS.
71. As regras de nomeação de arquivos são intimamente dependentes do sistema de
arquivos que as implementa. No entanto, um conjunto mínimo de regras
geralmente é suportado por virtualmente todos os sistemas de arquivo. Por que
este fato é importante? Cite exemplos.
Sistemas operacionais modernos permitem cadeias de uma a oito letras como nomes de
arquivos legais. Desse modo, andrea, bruce e cathy são nomes de arquivos possíveis. Não
raro, dígitos e caracteres especiais também são permitidos, assim nomes como 2, urgente! e
Fig.2-14 são muitas vezes válidos também. Muitos sistemas de arquivos aceitam nomes com
até 255 caracteres
72. Visto que o Windows e o Linux utilizam sequência desestruturada de bytes, as
aplicações do usuário estruturam internamente a informação como melhor lhe
convêm. Um formato de arquivo especifica como a informação contida no
arquivo será organizada. Descreva cada formato de arquivo. a) .bmp b) .doc c)
.iso d) .jpg e) .png f) .exe g) .zip h) .mpeg
A - é um arquivo que descreve quantos pixels a imagem tem e qual é a cor de cada pixel.
B - Esse tipo de extensão usa o formato binário, é composto de quadros, registros de texto,
gráficos, diagramas, tabelas, imagens e certos documentos
C - Um arquivo ISO é uma imagem dos arquivos gravados num CD ou DVD, sendo
composto por sistema de boot, número de setores gravados, sistema operacional e sistema de
arquivos.
D - Imagem codificada segundo padrões JPEG.
E - Este formato usa compressão para reduzir o peso de arquivos, reunindo características do
.JPG e do .GIF, porém com opções mais avançadas.
F - Um .exe tem código de referência e detalhes que podem ser usados para localizar e
carregar arquivos do aplicativo correspondente.
G - Zip é um formato de arquivo utilizado para compactar arquivos juntos em um único local,
reduzindo o tamanho e facilitando o transporte dos arquivos.
H - MPEG é um arquivo de vídeo do Moving Pictures Experts Group que usa a compactação
MPEG-1 ou MPEG-2. Normalmente, contendo áudio e vídeo digitais codificados conforme
os padrões indicados pelo comitê ISO.
73. Há duas formas de se acessar arquivos. Acesso sequencial e aleatório. Explique
as diferenças entre elas. Escreva tudo que você se lembra sobre o impacto
histórico dos dispositivos de armazenamento sob a forma como programamos
acesso a arquivos até hoje(P2).
O acesso sequencial é buscado o endereço inicial para depois percorrer pelos endereços
contínuos sequencialmente até encontrar o arquivo desejado (fita magnética)
No acesso aleatório o arquivo é encontrado de forma instantânea desde que seja possível
acessar um endereço próximo a assim encontrar o arquivo mais rapidamente (RAM)
74. Com relação a caminhos de diretórios há 4 (quatro) conceitos importantes. São
eles: a) diretório raiz; b) diretório de trabalho; c) "." e d) "..". Explique o que
cada um deles significa e como são utilizados.
Diretório Raiz: diretório principal de um volume.
diretório de trabalho: onde um terminal está rodando.
“.” ponteiro próprio diretor.
“..” ponteiro filho.
75. Com relação a alocação de arquivos em disco, descreva como funciona a técnica
de alocação contígua.
O arquivo é armazenado de forma contínua no disco, por exemplo, com blocos de 1KB um
arquivo de 50KB será alocado em 50 blocos consecutivos, é simples de ser implementado,
utiliza apenas endereço inicial porém com o tempo se torna fragmentado.
76. Com relação a alocação de arquivos em disco, descreva como funciona a técnica
de alocação por lista encadeada.
Na alocação encadeada um arquivo pode ser organizado como um conjunto de blocos ligados
logicamente no disco, independente da sua localização física, sendo que cada bloco possui um
ponteiro para o bloco seguinte do arquivo e assim sucessivamente.
77. Com relação a alocação de arquivos em disco, descreva como funciona a técnica
de alocação por lista encadeada usando uma tabela na memória.
O ponteiro agora fica em um bloco na memória deixando os blocos inteiro disponíveis para os
dados e tornando assim também o acesso aleatório mais rápido
78. Escreva um resumo sistemático sobre I-nodes. Considere o livro de Sistemas
Operacionais do Tanenbaum. Identifique as seções que tratam do assunto de
Inodes e então produza um resumo.
São estruturas utilizadas por Unix e Linux contendo atributos de arquivos como nome,
atributos de segurança, endereço nos blocos de um arquivo, é carregado somente quando
abertos, porém cada I-Node tem espaço para um endereço fixo no disco e o último espaço no
bloco é reservado para apontar para um bloco livre.
Gerência de dispositivos I/O
79. Descreva passo a passo como funciona o processo de abertura de um diretório.
Identificar o diretório raiz que deseja ler, identificar o bloco, identificar o subdiretório,
identificar o endereço do bloco e pegar o arquivo.
80. Qual a função do gerenciador de entrada e saída? A entrada e saída em um
sistema computacional moderno pode ser dividida em três componentes, quais
são eles e quais são suas funções?
Sua função é controlar todos os dispositivos de entrada/saída do computador. Podem ser
divididas em componentes mecânicos (discos pratos) controladora de dispositivo (parte
programável)
81. O que são controladores de dispositivos também chamados de adaptadores?Quais são suas características físicas e funcionais?(P2)
Consiste da parte programável (Nos PCs é normalmente uma placa de circuito impresso); A
Comunicação entre CPU e controladores é feita através de barramentos comuns (interface de
alto nível)
82. Descreva com suas palavras como funciona a interface entre o adaptador e o
dispositivo que este controla. Utilize exemplos.
Interface entre controlador e dispositivo: baixo nível como exemplo podemos citar os
executados diretamente no hardware de computação que utilizam linguagem de máquina ou
assembly.
83. No caso específico da interface entre o adaptador de disco e o HD descreva passo
a passo como a comunicação funciona?
A CPU requisita uma leitura no disco e deixa que a controladora faça a leitura dos dados
enquanto a CPU se dedica a outras tarefas, ao final a controladora envia uma interrupção a
CPU para dizer que finalizou a tarefa, assim a CPU solicita os dados e a controladora envia a
memória.
84. Quais são as vantagens de se implementar drivers de dispositivo de maneira
modular?
pois a modularização permite o controle de recursos conforme necessário além de permitir a
criação de módulos genéricos que podem ser usados por diversos dispositivos.
85. Quais são as vantagens de se mapear dispositivos de entrada e saída como
arquivos?
Pois em vez de fazer leituras e gravações, o arquivo pode ser acessado como um grande
arranjo de caracteres na memória. Em algumas situações, os programadores consideram esse
modelo mais conveniente, Desse modo, este mecanismo fornece um canal de largura de banda
elevada entre processos e é muitas vezes usado como tal (a ponto de mapear até mesmo um
arquivo temporário).
86. O que são drivers de dispositivos (device drivers)? (P2)
É uma camada na qual se encontra no nível de software que se comunica com a camada
controladora para acessar ao dispositivo, eles contêm todo o código dependente do dispositivo
controlando-o por meio de uma sequência de comandos.
87. Explique com suas palavras o que é DMA, e porque ela é utilizada.
É um dispositivo que realiza o gerenciamento de entrada e saída de um sistema, ela é utilizada
pois reduz as interrupções na CPU uma vez que dispositivos de entrada e saída envie ou
receba dados direto da RAM
88. Quais são as vantagens e desvantagens de se utilizar DMA? (Sub)
Vantagem: Executa entrada e saída programada realizando todo o trabalho e deixando a CPU
livre
Desvantagem: mais lenta que a CPU podendo deixá-la ociosa enquanto a DMA está a todo
vapor

Continue navegando