Segunda lista de exercícios de Sistema Operacionais

May 28, 2018 | Author: Vinicius César | Category: Booting, Hard Disk Drive, Process (Computing), Scheduling (Computing), Operating System
Share Embed Donate


Short Description

Download Segunda lista de exercícios de Sistema Operacionais...

Description

Segunda lista de exercícios de Sistema Operacionais  – Universiade Federal de Itajubá – Campus Itabira – 2013  – Vínicius César  – RA: 19319 1. Explica diferença entre fragmentação interna e externa.

Na fragmentação externa o espaço alocado na memória para o processo não é continuo, existem buracos entre os espaços de memória disponível para o processo. A fragmentação interna existe quando ocorre desperdicio de espaço da memória, a memória principal é subdivida em espaços iguais, um processo ocupa apenas uma parcela desse espaço, assim ele fica parcialmente utilizado e não mais disponível para outro processo. 2.

Dadas cinco partições de memória de 100 KB, 500 KB, 200 KB, 300 KB e 600 KB (na ordem), como cada um dos algoritmos de  first-fit , best-fit  e worst-fit  incluiria processos de 212 KB, 417 KB, 112 KB e 426 KB (na ordem)? Que algoritmo fez uso mais eficiente da memória?

 first-fit 

100KB

Frag. Int. Frag. ext.

500KB 212KB 288 KB

200KB 112KB 88 KB

100KB

300KB

600KB 417KB 183KB

300KB

Total 559KB 400KB

best-fit 

100KB

Frag. Int. Frag. ext.

500KB 417KB 83 KB

200KB 112KB 88 KB

500KB 417 KB 83KB

200KB

300KB 212KB 88 KB

600KB 426 KB 174 KB

100KB

Total 433KB 100KB

worst-fit 

100KB Frag. Int. Frag. ext.

100KB

300KB 112 KB 188KB

600KB 212 KB 388KB

200KB

Total 659KB 300KB

O algorítmo best-fit tem melhor eficiência em uso da memória.

3. Compare os esquemas da organização da memória principal de alocação de memória contígua, segmentação pura e paginação pura com relação aos seguintes aspectos: a. Método básico; b. Fragmentação externa; c.

Fragmentação interna;

d. Capacidade de compartilhar código entre processos. Alocação Contigua: aloca espaço na memória de forma contínua, sem deixar faixas de memória vazias. Um de seus problemas é a ocorrência de fragmentação externa, pois

um processo pode alocar mais memória do que necessita. Os processos não podem acessar espaços de memória de outros programas. Existe também o problema de páginação interna. Segmentação Pura: um processo é segmentado em vários blocos, uma vantagem é que não ocorre segmentação interna, porém se os espaços alocados forem maiores que os disponíveis ocorre a fragmentação externa. Nãe existe o compartilhamento entre os processos. Paginação Pura: páginas de tamanho fixo são disponibilizada para os processos, elas não são alocadas de tamanho contígua. Pode ocorrer fragmentação interna e ocorre fragmentação externa. As páginas de um processo não são compartilhadas à outro processos. 4. Explique como endereços lógicos são convertidos para endereços físicos nos esquemas da organização da memória principal de alocação de memória contígua, segmentação pura e paginação pura.

O endereço gerado pela CPU é denominado endereço lógico, o endereço carregado no resgistrador de endereços de memória, aquele visto pela unidade de memória, é chamado endereço físico.

5.

Considere a seguinte tabela de segmentos: Segmento

Base

Tamanho

0

219

600

1

2300

14

2

90

100

3

1327

580

4

1952

96

Quais os endereços físicos para os endereços lógicos a seguir: a) 0.430

649 b) 1.10

2310 c) 2.500

erro d) 3.400

1727 e) 4.112

erro 6. Qual a diferença entre a paginação pura e a paginação por demanda?

A páginação por demanda carrega as páginas de acordo com a necessiade do processo. A páginação pura todas as páginas do processo são carregadas.

7. O que é o recurso cópia na escrita, e sob quais circunstâncias é benéfico usar esse recurso?

O recurso cópia na escrita permite que processos pais e filhos compartilhem páginas de memória, ao menos que a página seja editada. Se for esse o caso a pagina é copiada em uma nova página.

8. Descreva os passos executados pelo sistema operacional quando ocorre uma falha de página.

Primeiramente o sistema operacional procura por um espaço vazio para trazer á página à memória principal. Se não existir espaço sufiente para alocar a página, um processo é escolhido para ser transferido para disco com base em algum algorítmo de substituição de páginas. Sendo assim esta página é transferida para memória principal.

9. Discuta situações sob as quais o algoritmo de substituição de página usada menos freqüentemente gera menos falhas de páginas do que o algoritmo de substituição de página usada menos recentemente. Discuta também sob que circunstância acontece o oposto.

O algorítmo de substituição de páginas menos frequêntemente usadas, gera melhores resultados, pois a vítma escolhida foi poucas vezes acessada. O algorítimo de substituição de páginas menos recentementes utilizadas, a página que estiver mais tempo sem utilização é substituída. Um problema ocorre quando essa página está associada a um processo que esteve realizando entrada e saída, esse processo pode ainda ser importante para execução do sistema, mas foi substituído.

10. Discuta situações sob as quais o algoritmo de substituição de página usada mais freqüentemente gera menos falhas de página do que o algoritmo de substituição de página usada com menos freqüência. Discuta também sob que circunstância acontece o oposto.

Igual a questão anterior.

11. Considerando os algoritmos de substituição de página estudados em sala de aula, quantas falhas de página ocorrem para a seguinte string de referência, considerando-se 4 quadros: 1, 2, 3, 4, 5, 3, 4, 1, 6, 7, 8, 7, 8, 9, 7, 8, 9, 5, 4, 5, 4, 2

FIFO – 13 falhas 1

1

1

1

1

5

5

5

5

8

8

8

8

2

2

2

2

2

2

1

1

1

1

9

9

9

9

3

3

3

3

3

6

6

6

6

5

5

5

4

4

4

4

4

7

7

7

7

4

4

OPT – 10 falhas 1

1

1

1

1

1

1

1

8

8

8

2

2

2

2

5

5

5

5

5

5

3

3

3

3

6

7

7

7

7

4

4

4

4

4

4

9

4

LRU – 13 falhas 1

1

1

1

1

5

5

6

6

6

6

5

5

5

2

2

2

2

2

1

1

1

1

9

9

9

9

3

3

3

3

3

3

7

7

7

7

4

4

4

4

4

4

4

4

8

8

8

8

2

12. Qual a causa do thrashing ?

O thrashing ocorre quando um processo precisa de mais páginas, pois todos os outros estam ativos. Uma página de outro processo é substituida, mas esse outro processo precisa dessa página recentemente substituída. Esse estado cria trocas excessivas de páginas.

13. Diferencie alocação igual de alocação proporcional.

A alocação igual é quando a memória é divida em partes iguais, já a alocação porporcional o tamanho dos blocos é proporcional ao processo envolvido.

14. Diferencie substituição global de substituição local.

A substituição global as páginas selecionadas para substituição pode pertencer a qualquer outro processo sem distinção. A substuição local somente páginas do própio processo associado poderão ser substituídas.

15. Considere um sistema de arquivos em que um arquivo pode ser excluído e seu espaço em disco retomado enquanto os links para esse arquivo ainda existem. Que problemas poderão ocorrer se um novo arquivo for criado na mesma área de armazenamento ou com o mesmo nome de caminho absoluto? Como esses problemas podem ser evitados?

Provavelmente um erro além das ligações incorretas dos links aos seus reais programas, pois eles não estarão nas uas posições corretas.

16. A tabela de arquivos abertos é usada para manter informações sobre arquivos que estão atualmente abertos. O sistema operacional deve manter uma tabela separada para cada usuário ou manter apenas uma tabela que contém referências aos arquivos que estão sendo acessados por todos os usuários ao mesmo tempo? Se o mesmo arquivo estiver sendo acessado por dois programas ou usuários diferentes, deverá haver duas entradas separadas na tabela de arquivos abertos?

Deve existir uma tabela de arquivos diferentes para cada usuário, evitando o compartilhamento de dados que não deviam acontecer .

17. Quais as vantagens e desvantagens de fornecer locks obrigatórios em vez de locks de consulta, cujo uso fica a critério dos usuários?

O lock de consulta é mais plausível, pois outros usuários podem acessar um determinado arquivo, não podendo editar, mas podendo visualizar seu conteúdo.Uma das vantagens do lock obrigatório é a falta de acesso de um determinado arquivo por outros usuários, o que prejudica o acesso podendo atrapalhar os usuários que desejam acessar um determinado arquivo. Sua Vantagem é principalmente em termos de segurança.

18. Quais são as principais estruturas envolvidas na implementação de sistemas de arquivos.

Diretórios, arquivos, estruturas de árvores, grafos e listas.

19. Compare as formas como os diretórios podem ser implementados.

Diretórios de um nível: apenas um nível para todos os arquivos, que ficam dispostos na mesma estrutura. Diretórios de dois níveis: resolve o problema de múltiplos usuários, separando níveis diferentes de diretórios para diferentes usuários, Ótimo para segurança. Diretórios de estruturas de árvore : extensão de diretório de dois níveis para uma árvore sem tamanho definido. Diretório em grafo acíclico: liga os diretórios por meio de links, extensão dos anteriores, as ligações não precisam seguir uma estrutura de árvores.

20. Compare as formas como uma lista de espaço livre pode ser implementada.

Pode ser implementada como uma lista encadeada que liga os espaços vazios na memória.

21. Descreva os métodos de alocação de espaço em disco.

Alocação contígua: alocação de arquivos de forma contígua, ou seja sequencial. Alocação vinculada: alocação de espaços de memória de forma não contínua, por meio de links, que ligam partes diferentes da memória. Alocação indexada: um bloco é guardado com os blocos de memória a ser alocadas, como links, Os links estão guardados no bloco índice

22. Considere um sistema de arquivos em um disco que tenha tamanhos de bloco lógico e físico de 512 bytes. Considere que as informações sobre cada arquivo já estejam na memória. Para cada uma das três estratégias de alocação (contígua, interligada e indexada), responda a estas perguntas: a.

Como é realizado o mapeamento de endereço físico para lógico nesse sistema? (Para a alocação indexada, considere que um arquivo já tenha menos de 512 blocos de extensão.)

b. Se estivermos atualmente no bloco lógico 10 (o último bloco acessado foi o bloco 10) e quisermos acessar o bloco lógico 4, quantos blocos físicos precisam ser lidos do disco?

a. Alocação contígua  – Endereço lógico por 512 juntamente com o número do bloco (Q) e o deslocamento no mesmo (R). Alocação vinculada – endereço lógico por 511 juntamente com o número do bloco e o deslocamento no mesmo (R) deslocamento do bloco é R+1

Alocação indexada  – Endereço lógico por 512 juntamente com o deslocamento na tabela de índices e o deslocamento no bloco. b. 6*512, 6*511, Apenas 1 bloco, pois lê aposição na memória. c. 23. Descreva os algoritmos de escalonamento de disco: FCFS, SSTF, SCAN, C-SCAN, LOOK, CLOOK.

Escalonamento FCFS: A forma mais simples de escalonamento de disco é, naturalmente, o algoritmo primeiro a chegar, primeiro a ser atendido (FCFS - FirstCome, First-Served). Esse algoritmo é intrinsecamente justo, mas em geral não provê o serviço mais rápido. Escalonamento SSTF: O algoritmo SSTF seleciona a requisição com o tempo de busca mínimo a partir da posição atual da cabeça. Como o tempo de busca aumenta com a quantidade de cilindros atravessados pela cabeça, SSTF escolhe a requisição pendente mais próxima da posição atual da cabeça. Escalonamento SCAN: No algoritmo SCAN, o braço do disco começa em uma extremidade do disco e passa para a outra extremidade, atendendo às requisições à medida que ele alcança cada cilindro, até chegar à outra extremidade do disco. Na outra extremidade, a direção do movimento da cabeça é invertida, e o atendimento continua. A cabeça passa continuamente para a frente e para trás no disco. Escalonamento C-SCAN: é uma variante do SCAN, projetada para oferecer um tempo de espera mais uniforme. Como SCAN, o C-SCAN move a cabeça de uma extremidade do disco para a outra, atendendo às requisições durante o caminho. No entanto, quando a cabeça atinge a outra extremidade, ela imediatamente retorna ao início do disco, sem atender a quaisquer requisições na viagem de volta. O algoritmo de escalonamento C-SCAN basicamente trata os cilindros como uma lista circular que contorna do último cilindro para o primeiro. Escalonamento LOOK: Conforme os descrevemos, tanto SCAN quanto C-SCAN movem o braço do disco por toda a extensão do disco. Na prática, nenhum desses algoritmos é implementado dessa maneira. Normalmente, o braço só vai até o ponto da última requisição em cada sentido. Depois, ele inverte o sentido, sem ir até a extremidade do disco. Essas versões de SCAN e C-SCAN são chamadas de escalonamento LOOK e CLOOK, pois  procuram (look for) uma requisição antes de continuar movendo em um sentido indicado

24. Qual a diferença entre formatação física e lógica?

Formatação Física: um disco magnético novo é como um quadro-negro vazio: tem apenas placas de um material de gravação magnético. Antes de um disco poder armazenar dados, ele precisa ser dividido em setores, que o controlador de disco possa ler e escrever. Esse processo é denominado formatação em baixo nível (ou formatação física). A formatação em baixo nível preenche o disco com uma estrutura de dados especial para cada setor. A estrutura dos dados para um setor consiste em um cabeçalho, uma área de dados (normalmente, 512 bytes de tamanho) e um término. Formatação lógica: para usar um disco para manter arquivos, o sistema operacional ainda precisa registrar suas própria estruturas de dados no disco. Ele faz isso em duas etapas. A primeira etapa é particionar o disco em um ou mais grupos de cilindros. Por exemplo, uma partição pode manter uma cópia do código executável do sistema operacional, enquanto outra mantém os arquivos do usuário. Depois do particionamento, a segunda etapa é a formatação lógica (ou criação de um sistema de arquivos). Nessa etapa, o sistema operacional armazena no disco as estruturas de dados inicial do sistema de arquivos. Essas estruturas de dados podem incluir mapas de espaço livre e alocado (um FAT ou inodes) e um diretório inicial vazio.

25. Porque o bloco de boot é tão importante?

Para um computador dar boot - por exemplo, quando é ligado ou reinicializado, ele precisa ter um programa inicial para executar. esse programa inicial de boot costuma ser simples. Ele inicializa todos os aspectos do sistema, dos registradores da CPU até os controladores de dispositivo e o conteúdo da memória principal e depois inicia o sistema operacional. Para realizar seu trabalho, o programa de boot encontra o kernel do sistema operacional no disco, carrega o kernel na memória e salta para um endereço inicial para iniciar a execução do sistema operacional.

26. Como o sistema operacional trata os blocos defeituosos?

Como os discos possuem partes móveis e tolerâncias pequenas (lembre-se de que a cabeça do disco voa logo acima da superfície do disco), eles são passíveis de falha. As vezes, a falha é completa, e o disco precisa ser substituído, com seu conteúdo restaurado de uma mídia de backup para o novo disco. No entanto, normalmente, um ou mais setores se tornam defeituosos. A maioria dos discos vem até mesmo com blocos defeituosos de fábrica. Dependendo dodisco e controlador em uso, esses

blocos são tratados de varias maneiras. Em discos simples, como alguns discos com controladores IDE, os blocos defeituosos são tratados manualmente. Por exemplo, o comando format do MS-DOS realiza uma formação lógica e, como parte do processo, analisa o disco para encontrar blocos defeituosos. Se format encontrar um bloco defeituoso, ele escreve um valor especial na entrada correspondente na FAT, para indicar às rotinas de alocação para não usar esse bloco. Se os blocos apresentarem defeito durante a operação normal, um programa especial (como chkdsk) precisa ser executado manualmente para procurar os blocos defeituosos e separá-los como antes. Os dados que residiam nos blocos defeituosos normalmente são perdidos. Discos mais sofisticados, como os discos SCSI, usados em PCs de topo de linha e na maioria das estações de trabalho e servidores, são mais inteligentes em relação à recuperação de blocos defeituosos. O controlador mantém uma lista de blocos defeituosos no disco. A lista é inicializada durante a formatação em baixo nível, na fábrica, e é atualizada durante o tempo de vida do disco. A formatação em baixo nível também reserva setores não visíveis ao sistema operacional. O controlador pode ser informado para substituir logicamente cada setor defeituoso por um dos setores de reserva. Esse esquema é conhecido como reserva de setor (sector sparing ou sector forwarding). Uma transação típica com setor defeituoso poderia ser a seguinte: • O sistema operacional tenta ler o bloco lógico 87. • O controlador calcula o ECC e descobre que o setor está defeituoso. Ele informa essa

descoberta ao sistema operacional. • Da próxima vez em que o sistema for reinicializado um comando especial é

executado para dizer ao controlador SCSI para substituir o setor defeituoso por um reserva; • Depois disso, sempre que o sistema requisitar o bloco lógico 87, a requisição é

traduzida para o endereço do setor substituto pelo controlador.

27. Diferencie os níveis de RAID.

RAID nível 0: RAID nível 0 refere-se aos arrays de disco com espalhamento no nível de blocos, mas sem redundância (como espelhamento ou bits de paridade). RAID nível 1: RAID nível 1 refere-se ao espelhamento de disco. A Figura abaixo mostra uma organização espelhada que mantém o conteúdo de quatro discos de dados. RAID nível 2: RAID nível 2 também é conhecido como organização com código para correção de erros (ECC) no estilo da memória. Os sistemas de memória há muito tempo têm implementado a detecção de erros usando bits de paridade. Cada byte em

um sistema de memória pode ter um bit de paridade associado a ele, que registra se a quantidade de bits no byte definidos como 1 é par (paridade = 0) ou ímpar (paridade = 1). Se um dos bits no byte for modificado (ou 1 tornando-se 0, ou 0 tornando-se 1), a paridade do byte muda e, assim, não combinará com a paridade armazenada. De modo semelhante, se o bit de paridade for modificado, ele não combinará com a paridade calculada. Assim, todos os erros em único bit são detectados pelo sistema de memória. Os esquemas de correção de erro armazenam dois ou mais bits extras e podem reconstruir os dados se um único bit for danificado. A idéia do ECC pode ser usada diretamente nos arrays de disco por meio do espalhamento de bytes entre os discos. Por exemplo, o primeiro bit de cada byte poderia ser armazenado no disco 1, o segundo bit no disco 2, e assim por diante, até o oitavo bit ser armazenado no disco 8, e os bits de correção de erro serem armazenados em outros discos. Esse esquema é mostrado em forma representativa na Figura abaixo, onde os discos rotulados com P (paridade) armazenam os bits de correção de erro. Se um dos discos falhar, os bits restantes do byte e os bits de correção de erro associados podem ser lidos de outros discos e usados para reconstruir os dados danificados. A Figura acima mostra um array de tamanho 4; observe que RAID nível 2 exige apenas o custo adicional de três discos para quatro discos de dados, ao contrário do RAID nível 1, que exige um custo adicional de quatro discos. RAID nível 3: RAID nível 3, ou organização com paridade intercalada por bits, melhora o nível 2 observando que, diferente dos sistemas de memória, os controladores de disco podem detectar se um setor foi lido corretamente, de modo que um único bit de paridade pode ser usado para correção de erro, bem como para detecção. A idéia é a seguinte. Se um dos setores for danifica do, sabemos qual é esse setor e, para cada bit no setor, podemos descobrir se ele é 1 ou 0, calculando a paridade dos bits correspondentes a partir dos setores nos outros discos. Se a paridade dos bits restantes for igual à paridade armazenada, o bit que falta é 0; caso contrário, é 1. RAID nível 3 é tão bom quanto o nível 2, porém, menos dispendioso na quantidade de discos extras (ele tem o custo adicional de apenas um disco), de modo que o nível 2 não é usado na prática. RAID nível 4: O RAID nível 4, ou organização com paridade intercalada por blocos, utiliza o espalhamento no nível de bloco, como no RAID 0, e também mantém um bloco de paridade em um disco separado, para os blocos correspondentes dos N outros discos. Esse esquema aparece representado na Figura abaixo. Se um dos discos falhar, o bloco de paridade pode ser usado com os blocos correspondentes a partir dos

outros discos para restaurar os blocos do disco que falhou. Uma leitura de bloco, por exemplo, acessa apenas um disco, permitindo que outras requisições sejam processadas pelos outros discos. Assim, a taxa de transferência de dados para cada acesso é mais lenta, mas vários acessos de leitura podem ser feitos em paralelo, levando a uma taxa de E/S geral maior. RAID nível 5: RAID nível 5, ou paridade distribuída intercalada por blocos, difere do nível 4 por espalhar os dados e a paridade entre todos os N + 1 discos, em vez de armazenar dados em N discos e paridade em um disco. Para cada bloco, um dos discos armazena a paridade, e os outros armazenam os dados. Por exemplo, com um array de cinco discos, a paridade para o bloco n é armazenada no disco (n mod 5) + 1; os blocos ndos outros quatro discos armazenam os dados reais para esse bloco. Essa

configuração é representada na Figura 14.9f, onde os Ps são distribuídos por todos os discos. Espalhando a paridade por todos os discos no conjunto, RAID 5 evita o potencial de uso demasiado de um único disco de paridade que pode ocorrer com RAID 4. RAID nível 6: RAID nível 6, também chamado esquema de redundância P+Q, é muito semelhante ao RAID nível 5, mas armazena informações redundantes extras para proteger contra múltiplas falhas no disco. Em vez de usar a paridade, são usados códigos para correção de erros, como os códigos Reed-Solomon. No esquema mostrado na Figura 14.9g, 2 bits de dados redundantes são armazenados para cada 4 bits de dados em vez de 1 bit de paridade no nível 5 - e o sistema pode tolerar duas falhas de disco. 28. 29. Diferencie os mecanismos de  polling e interrupções.

Interrupções: O mecanismo básico de interrupção funciona da seguinte maneira. O hardware da CPU possui um fio chamado linha de requisição de interrupção (interrupt request), que a CPU percebe depois de executar cada instrução. Quando a CPU detecta que um controlador enviou um sinal na linha de requisição de interrupção, ela salva uma pequena quantidade de estado, como o valor atual do ponteiro de instrução (PC) e desvia para a rotina do tratador de interrupção, em um endereço fixo na memória. O tratador de interrupção determina a causa da interrupção, efetua o processamento necessário e executa uma instrução de retorno da interrupção para a CPU voltar ao estado de execução anterior à interrupção.

Polling: O mecanismo de  polling em um dispositivo normalmente significa ler seu registrador de estado tantas vezes for necessário, até que este indique não está mais em uso, para assim poder receber uma requisição.

30. Diferencie PIO e DMA. Descreva as etapas para uma transferência DMA.

Direct Memory Access e Programmed Input / Output, DMA e PIO respectivamente, são duas formas de transferência de informações em dispositivos eletrônicos; mais famosa em computadores e outros dispositivos semelhantes. PIO é um método mais antigo, que desde então tem sido substituído por DMA na maioria das aplicações, devido a algumas vantagens. DMA é mais recente e melhor do que a PIO de muitas maneiras e muitos dispositivos já utilizam principalmente DMA com mínimosuporte PIO para compatibilidade e estabelecer modos DMA. A principal desvantagem da PIO, e a principal razão para o advento da DMA, é a sobrecarga que leva a CPU. Com PIO, a CPU é responsável por mover os dados de um ponto a outro. Quanto maior a velocidade de transferência, o mais ocupado a CPU torna-se, produzindo um grande gargalo no desempenho do computador. DMA não funcionam da mesma maneira como PIO faz. A CPU não facilita a transferência de informação, ficando livre para realizar outras tarefas, independentemente da taxa de transferência de informação. Isto significa que o processador não é um factor, quando se trata de considerar a taxa máxima de transferência.

31. Compare os métodos de E/S síncrona e assíncrona.

Uma operação de E/S é dita síncrona se o processo que a invoca fica bloqueado até que ela “se complete” síncrona = bloqueadora

Uma operação de E/S é dita assíncrona: o processo que a invoca não fica bloqueado assíncrona = não bloqueadora

32. Como pode ser realizado o escalonamento de E/S?

Escalonar um conjunto de requisições de E/S significa determinar uma boa ordem em que serão executadas. A ordem em que as aplicações emitem chamadas de sistema raramente é a melhor opção. O escalonamento pode melhorar o desempenho geral do sistema, pode compartilhar o acesso ao dispositivo de forma mais justa entre os processo e pode reduzir o tempo de espera médio para o término da E/S. Os desenvolvedores de sistema operacional implementam o escalonamento mantendo

uma fila de requisições para cada dispositivo. Quando uma aplicação emite uma chamada de sistema de E/S com bloqueio, a requisição é colocada na fila para esse dispositivo. O escalonador de E/S arruma a ordem da fila para melhorar a eficiência geral do sistema e o tempo de resposta médio experimentado pelas aplicações. O sistema operacional também pode tentar ser justo, de modo que nenhuma aplicação receba um serviço especialmente fraco, ou então poderá dar atendimento prioritário para requisições sensíveis a atraso. Por exemplo, requisições do subsistema de memória virtual podem ter prioridade em relação a requisições da aplicação. Como existem diversos algoritimos de escalonamento a disposição, o contexto que determina o modo que o escalonamento será executado para otimizar o sistema em geral.

33. Descreva os mecanismos de buffers , caches e spooling .

Buffers: Um buffer é uma área da memória que armazena dados enquanto são transferidos entre dois dispositivos ou entre um dispositivo e uma aplicação. Caches: Um cache é uma região da memória rápida que mantém cópias dos dados. O acesso à cópia em cache é mais eficiente do que o acesso aos dados originais. Por exemplo, as instruções do processo em execução são armazenadas em disco, colocadas em cache na memória física e copiadas novamente para os caches secundário e principal da CPU. A diferença entre um buffer e um cache é que um buffer pode manter a única cópia existente de um item de dados, enquanto um cache, por definição, simplesmente mantém uma cópia, em armazenamento mais rápido, de um item que reside em outro lugar Spooling e reserva de dispositivo: Um spool é um buffer que mantém a saída para um dispositivo, como uma impressora, que não pode aceitar fluxos de dados intercalados. Embora uma impressora só possa atender a uma única tarefa de cada vez, várias aplicações podem querer imprimir sua saída ao mesmo tempo, sem que ela fique misturada. O sistema operacional resolve esse problema interceptando toda a saída para a impressora. A saída de cada aplicação é mantida em um arquivo de disco separado. Quando uma aplicação termina de imprimir, o sistema de spooling envia o arquivo de spool correspondente para saída na impressora. O sistema de spooling copia os arquivos de spool enfleirados para a impressora, um de cada vez. Em alguns sistemas operacionais, o spooling é controlado por um processo daemon do sistema. Em outros sistemas operacionais, ele é manipulado por uma thread no kernel. De qualquer forma, o sistema operacional provê uma interface de controle que permite que usuários e administradores

do sistema apresentem a fila, removam tarefas indesejadas antes de elas serem impressas, suspenderem a impressão enquanto a impressora está trabalhando e assim por diante.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF