Lista 1
Lista 1
Desta forma, todo sistema de compartilhamento permite multiprogramação, mas nem todo
Para usar a memória de cache, a memória principal é dividida em linhas de cache, em geral
Qual é a vantagem de fazer isso com uma linha inteira em vez de um único byte ou palavra
de cada vez?
referência, onde, se um local é lido, a probabilidade de acessar locais próximos é muito alta,
disso, o hardware moderno pode fazer uma transferência em bloco de 32 ou 64 bytes para
uma linha de cache muito mais rápido do que ler os mesmos dados que palavras individuais.
Nos primeiros computadores, cada byte de dados lido ou escrito era executado pela CPU
(isto é, não havia DMA). Quais implicações isso tem para a multiprogramação?
O principal motivo da multiprogramação é dar à CPU algo para fazer enquanto aguarda
a
portanto, não há nada a ser ganho (pelo menos em termos de utilização da CPU) pela
multiprogramação. Não importa quanta E / S um programa faça, a CPU estará 100% ocupada.
Obviamente, isso pressupõe que o grande atraso é a espera enquanto os dados são copiados.
Uma CPU poderia fazer outro trabalho se a E / S estivesse lenta por outros motivos (chegando
privilegiadas, isto é, podem ser executadas em modo núcleo, mas não em modo usuário. Dê
diferentes usuários. Alguns usuários podem imprimir quantas páginas quiserem, outros podem
não imprimir, enquanto alguns podem se limitar a imprimir apenas um determinado número
de páginas. Essas restrições são definidas pelos administradores do sistema com base
em
algumas políticas. Essas políticas precisam ser aplicadas para que os programas no nível
do
Uma razão para a adoção inicialmente lenta das GUIs era o custo do hardware necessário
para dar suporte a elas. Quanta RAM de vídeo é necessária para dar suporte a uma tela de
bits de 1.200 900 pixels? Qual era o custo desta RAM em preços de 1980 (US$ 5/KB)?
Quanto é agora?
bitmap colorido de 24 bits de 1200 × 900 pixels requer 3.240.000 bytes. Em 1980, essas duas
Considere justiça e tempo real. A justiça exige que cada processo aloque seus recursos
de
maneira justa, sem que nenhum processo obtenha mais do que seu quinhão. Por outro lado, o
tempo real exige que os recursos sejam alocados com base nos horários em que
diferentes
processos devem concluir sua execução. Um processo em tempo real pode ter uma parcela
Qual é a diferença entre modo núcleo e modo usuário? Explique como ter dois modos
usuário somente um sub-conjunto das instruções é permitido. Desta forma, programas criados
pelos usuários rodaram no modo usuário e não terão acesso a recursos críticos do
sistema
diretamente.
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 do
Considere um sistema que tem duas CPUs, cada uma tendo duas threads (hiper-threading).
Suponha que três programas, P0, P1 e P2, sejam iniciados com tempos de execução de 5, 10
programas? Presuma que todos os três programas sejam 100% ligados à CPU, não bloqueiem
estiverem agendados na mesma CPU e P0 estiver agendado na outra CPU, serão necessários
Um computador tem um pipeline com quatro estágios. Cada estágio leva um tempo
para
fazer seu trabalho, a saber, 1 ns. Quantas instruções por segundo essa máquina consegue
executar?
Cada instrução de nanossegundo emerge do pipeline. Isso significa que a máquina está
possui. Um pipeline de 10 estágios com 1 nsec por estágio também executaria 1 bilhão
de
instruções por segundo. O que importa é a frequência com que uma instrução
concluída
Considere um sistema de computador que tem uma memória de cache, memória principal
(RAM) e disco, e um sistema operacional que usa memória virtual. É necessário 1 ns para
acessar uma palavra da cache, 10 ns para acessar uma palavra da RAM e 10 ms para acessar
uma palavra do disco. Se o índice de acerto da cache é 95% e o índice de acerto da memória
principal (após um erro de cache) 99%, qual é o tempo médio para acessar uma palavra?
= 5001.445 nsec
= 5.001445 μ sec
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
Uma instrução de trap alterna o modo de execução de uma CPU do modo de usuário para o
modo de kernel. Esta instrução permite que um programa do usuário chame funções no kernel
do sistema operacional.
Qual é a diferença essencial entre um arquivo especial de bloco e um arquivo especial de
caractere?
Os arquivos especiais de bloco consistem em blocos numerados, cada um dos quais pode ser
começar a ler ou escrever. Isso não é possível com arquivos especiais de caracteres.
Isso permite que um programa executável seja carregado em diferentes partes da memória da
máquina em diferentes execuções. Além disso, permite que o tamanho do programa exceda o
Para um programador, uma chamada de sistema parece com qualquer outra chamada para
No que diz respeito à lógica do programa, não importa se uma chamada para um
um problema, se uma tarefa puder ser realizada sem uma chamada do sistema, o programa
será executado mais rapidamente. Toda chamada de sistema envolve tempo extra na
multiusuário, o sistema operacional pode agendar outro processo para ser executado quando
uma chamada do sistema for concluída, retardando ainda mais o progresso em tempo real de
um processo de chamada.
A Figura 1.23 mostra que uma série de chamadas de sistema UNIX não possuem
equivalentes na API Win32. Para cada uma das chamadas listadas como não tendo um
Link: um programa Win32 não pode se referir a um arquivo por um nome alternativo ou vê-lo
em mais de um diretório. Além disso, tentar criar um link é uma maneira conveniente de testar
caminho padrão, porque em sistemas com várias unidades de disco, a parte do nome
da
kill: os programadores do Windows não podem matar um programa que não esteja se
Um sistema operacional portátil é um sistema que pode ser levado de uma arquitetura de
sistema para outra sem nenhuma modificação. Explique por que é impraticável construir um
sistema operacional que seja completamente portátil. Descreva duas camadas de alto nível
que você terá ao projetar um sistema operacional que seja altamente portátil.
Toda arquitetura de sistema possui seu próprio conjunto de instruções que pode ser
executado. Portanto, um Pentium não pode executar programas SPARC e um SPARC não pode
barramento usada (como VME, ISA, PCI, MCA, SBus, ...), bem como no tamanho da palavra da
CPU (geralmente 32 ou 64 bits). Devido a essas diferenças de hardware, não é possível criar
portátil consistirá em duas camadas de alto nível - uma camada dependente da máquina
e
arquiteturas. Essa camada fornece uma interface uniforme na qual a camada independente da
uma vez. Para ser altamente portátil, o tamanho da camada dependente da máquina deve ser
o menor possível.
não dependem de nenhuma política específica. Eles podem ser usados para
implementar
Máquinas virtuais tornaram-se muito populares por uma série de razões. Não obstante, elas
Lista 2
Na Figura 2.2, são mostrados três estados de processos. Na teoria, com três estados, poderia
haver seis transições, duas para cada. No entanto, apenas quatro transições são mostradas.
Existe alguma circunstância na qual uma delas ou ambas as transições perdidas possam
ocorrer?
bloqueada, é impossível. Um processo pronto não pode executar E / S ou qualquer outra coisa
Empresa
Sobre Nós
Bom Trabalho
Integridade Acadêmica
Vagas
Dutch Website
Perguntas Frequentes
Contato
Legal
Termos
Política De Privacidade
Declaração De Cookie
Social
YouTube
TikTok
Blog
Baixe o aplicativo
Copyright © 2021 StudeerSnel B.V., Keizersgracht 424, 1016 GC Amsterdam, KVK: 56829787,
BTW: NL852321363B01