Professional Documents
Culture Documents
exerccios
Sistemas
Operacionais
1. Os servios e funes oferecidas por um sistema operacional podem ser divididas em duas categorias. Descreva brevemente as duas categorias e discuta como elas se diferem.
Convenincia
Execuo de programas Operaes de I/O Sistema de arquivos Deteco de erros Eficincia Alocao de recursos Proteo Contabilizaes
2. Liste 5 (cinco) servios, oferecidos por um sistema operacional, que so projetados para tornar o sistema de computao mais conveniente para os usurios.
1. Gerenciamento de processos, criao, fechamento, escalonamento, prioridades e comunicao entre eles. 2. Gerenciamento da memria principal: Alocao, desalocao, proteo e abstrao da memria virutal. 3. Gerenciamento dos sistemas de I/O. 4. Conexo em rede: Conexo com os dispositivos e implementao dos protocolos de rede. 5. Sistema de proteo (autorizao a usurios). 6. Implementao de sistema de arquivos.
Espera sinal
4. Os sistemas operacionais podem ser construdos de diferentes maneiras. Descreva as principais arquiteturas existentes.
Do ponto de vista de projeto (arquitetura), segundo Tanenbaum (1999): * Ncleo monoltico ou monobloco: o ncleo consiste em um nico processo executando numa memria protegida executando as principais funes. * Microncleo ou modelo cliente-servidor: o ncleo consiste de funes mnimas (comunicao e gerenciamento de processos), e outras funes, como sistemas de arquivos e gerenciamento de memria, so executadas no espao do usurio como servios; as aplicaes (programas) so os clientes.
5. Descreva as aes tomadas pelo kernel para fazer a troca de contexto entre processos.
A troca de contexto exige que o estado do processo antigo (a sair do processamento) seja salvo e que o estado do processo novo (a entrar no processamento) seja carregado. O contexto representado no PCB que inclui o valor dos registradores.
6. Explique o que so os anis de execucao. Qual a diferena entre cdigo executando no nvel 0 e em outros nveis.
So extenes dos processadores que possibilitam separar os cdigos sendo executados na CPU por camadas. Nos CHIPs Intel Vo de RING0 (Kernel), passado por RING1 (Drivers), RING2 (Drivers) at RING3 (Aplicativos). O Kernel do Linux e do Windows XP usam somente o RING0 e RING3. O cdigo executado em RING0 o que tem mais privilgios (ou seja mais acesso ao hardware).
8.1. As principais sees de um processo so Pilha, Heap, Dados e Cdigo. Quais destas sees podem e/ou devem ser compartilhadas entre threads?
Os threads do mesmo processo compartilham com outros sua seo de cdigo, sua seo de dados, arquivos abertos e sinais.
9. Mostre um exemplo de uso do fork(). Explique quais so os valores retornados pela funo.
int i; i=fork(); if(i==0) { printf("Processo Filho\n"); } else if(i>0) { printf("Processo Pai, que criou um filho numero: %i\n", i); }
10. Na criao de processos utilizando fork() um novo processo criado com a imagem do processo pai. Como o kernel Linux evita a necessidade de realizar esta cpia no momento da chamada do fork?
Sim, uma otimizao do Kernel do Linux implementa Copy-on-write. Consistem em compartilhar os dados somente referenciando a mesma rea nos forks criados pelo
mesmo processo. Ao modificar alguma das pginas uma cpia da pgina feita.
13. O que starvation? Mostre um algoritmo que poderia levar a essa condio.
Ocorre quando um processo depende de um recurso e seu acesso negado perptuamente. Sem este recurso o processo no pode terminar sua tarefa.
15. Quais dos seguintes algoritmos de escalonamento podem levar a "starvation" e porque? a) First-come, Fist-served
Pode ocorrer inanio (starvation), se o primeiro processo (que chega primeiro) da fila for longo. Ento o tempo de espera mdio de todos os outros processos ser muito grande.
c) Round Robin
Depende exclusivamente do tamanho do quantum da CPU. Se for muito grande ser equivalente a FCFS, mas se for pequeno ser a sensao de dividir a CPU pelo numero de processos.
d) Priority
Um processo que esteja pronto para executar, mas no tennha a posse da CPU pode ser considerado bloqueado. Um algoritmo por prioridades pode deixar alguns processos de baixa prioridade esperando indefinidamente pela CPU.
16. Que tcnica usada para evitar que um processo em um algoritmo de escalonamento por Multilevel Feedback-Queue nunca execute?
Define-se que os processos que esto esperando por muito tempo na fila de menor prioridade so promovidos com maior prioridade.
17. O que deve ser considerando ao escrever um algoritmos de escalonamento em um sistema SMP?
Primeiramente deve ser considerado que os processadores so idnticos (ou homogneos), esta diferena mudaria toda a abordagem. Depois pode-se criar uma fila de processos para cada processador, ou se for uma fila deve se evitar que 2 processadores peguem o mesmo processo ou que algum processo se perca da fila.
18. Explique como funcionava o escalonador de prioridades no Kernel Linux (de 2.6 at 2.6.23)
1. Escalonador por prioridade dinmica. 2. Heurstica para dizer se o processo IO bound, CPU bound ou interativo. 3. Quantum varia durante o tempo e processos. 4. O(1)
5. Todo processo tem prio esttica entre 100 e 139 e dinmica entre 100 e 139 (menor valor maior prioridade) 6. Quantum base => Prio_estat > 120 ? (140-Prio_estat)*20 : (140-Prio_estat) * 5 7. Prioridade dinmica => max(100, min(prio_estat bonus + 5, 139))
19. Explique o algoritmo de escalonamento Completely Fair Scheduler que atualmente utilizando no kernel Linux.
1. No tem 1 fila, 2. Dividir n CPU's entre os processos igualmente 3. linha do tempo de execuo 4. Redblack tree O(log(n)) 5. Relgio preciso de nano segundos 6. Relgio para incrementar este tempo baseado no wallclock / nm de processos esperando para executar 7. Quando executa decrementa waiting time 8. Prioridade padro do decaimento do waiting time
20. Mostre como funciona a soluo de alternncia estrita. Explique qual sua limitao na prtica.
Esta uma soluo a qual obriga que a regio crtica seja dada a um dos processos por vez, em uma estrita alternncia. O problema com a soluo de alternncia estrita que requer que os dois processos se alternem precisamente, o que significa que o nmero de acessos de cada processo deve ser exatamente igual ao do outro. Alm disso pode acontecer de um dos processos no poder prosseguir normalmente. Pois aps entregar a seo crtica para o outro processo no pode mais pedi-la novamente.
21. O que o problema da Regio Crtica? Mostre um exemplo onde no trat-lo poderia levar a um erro.
Regio crtica um segmento de cdigo que enquanto est em execuo no permitido a nenhum outro processo sua execuo ao mesmo tempo. Pode ser a operao em tabelas, arquivos e assim por diante.
O algoritmo de Peterson um algoritmo de programao concorrente para excluso mtua, que permite a dois ou mais processos ou subprocessos compartilharem um recurso sem conflitos, utilizando apenas memria compartilhada para a comunicao (Wikipedia).
flag[0] = 0; flag[1] = 0; turn; P0: flag[0] = 1; turn = 1; P1: flag[1] = 1; while (flag[1] == 1 && turn == 1) turn = 0; { while (flag[0] == 1 && turn == 0) // busy wait { } // busy wait // critical section } ... // critical section // end of critical section ... flag[0] = 0; // end of critical section flag[1] = 0;
O algoritmo utiliza duas variveis, flag e turn. O valor de flag 1 indica que o processo quer entrar na regio crtica. A varivel turn guarda o ID do processo com a vez. A entrada na regio crtica garantida para P0 se P1 no quiser entrar na regio crtica ou se P1 deu prioridade para P0 atribuindo o valor de turn para 0. Este algoritmo satisfaz os 3 problemas de regies crticas: a excluso mtua, o progresso e espera limitada.
Exemplo de uso: do{ wait(mutex); <SEO CRITICA> signal(mutex); <SEO REMANESCENTE> }while(1);
A fragmentao externa ocorre em sistemas de arquivo quando muitos arquivos de tamanhos diferentes so criados, modificados em seu tamanho, e/ou eliminados. O efeito pior se um arquivo que dividido em muitas pequenas partes for eliminado, porque isto deixa regies pequenas de espao livre.
Quanto maior for o tamanho dos clusters no sistema de arquivos usado e maior for o nmero de arquivos pequenos armazenados, maior o ndice de fragmentao interna, que alm de perda de espao, causa perda de desempenho, j que teremos reas vazias entre os arquivos armazenados nos discos magnticos.
2. Dadas parties de memria de 100KB, 500KB, 200KB, 300KB e 600KB (em ordem), como cada um dos algoritmo: Fist-fit, best-fit e worst-fit, alocariam processos de 212Kb, 417Kb, 112KB e 426KB? Qual dos algoritmos faria o uso mais eficiente de memria.
First Fit acomoda espao na memria pelo comeo da memria disponvel at o fim, at encontrar o primeiro espao livre que seja grande o suficiente. Se no retorna erro. Best Fit tenta determinar o melhor lugar para alocar os dados. A definio de melhor varia nas implementaes, mas por exemplo pode ser escolhido o espao que deixaria menor resduo no final do bloco.
Worst Fit. O algoritmo seleciona o maior espao possvel que a informao pode ser armazenada (maior que a informao). o completamente oposto do best-fit que procura o menor espao possvel.
3. Explique os seguintes algoritmos para substituio de pginas (page replacement): FIFO, Optimal e LRU. No caso do LRU, voc deve explicar quais so as polticas de aproximao para o LRU.
FIFO uma fila normal onde o primeiro que entra o primeiro que sai. simples e tem desempenho ruim (pode aumentar o paginamento com aumento de memria o que absurdo)
Optimal: Quando uma pgina precisa ser trocada, o sistema operacional troca a pgina que o seu prximo uso ser num futuro distante. Por exemplo, uma pgina que no ser usada nos prximos 6 segundos ser trocada por uma pgina que ser usada em 0.4 segundos.
LRU: Quando uma pgina usada marcada como referenciada. Em certo momento por interrupo de relgio, atribui-se a pgina os bits de no referenciados. Ento divide-se a pgina em 4 classes, referenciado ou no e modificado ou no.
4. Como funciona o mapeamento de arquivos em memria, qual a vantagem de utilizar esse modo de acesso.
o mapeamento de um arquivo como se fosse um array em memria. eficinte porque utiliza leitura preguiosa s lendo os dados que realmente precisam ser lidos. No Posix pode ser feito por mmap()
que pode ser alocado) e inferior (menor bloco que pode ser alocado). Quando feita uma requisio arredonda-se o tamanho requisitado e se o tamanho maior que a metade do bloco inicial ento o bloco inteiro alocado. Seno o bloco dividido em dois "buddies" e assim recursivamente. O mtodo de liberar a memria eficiente e relativamente rpido. Tipicamente implementado por uma rvore binria que representa blocos usados e no usados. Contudo ainda existem problemas de fragmentao interna.
9. O que significa dizer que a memria virtual de um processo 50MB, a memria residente 20MB e a memria compartilhada 10MB.
Significa que 20 mb esto na memria RAM, e 10 mb compartilhado com outro processo por ter gerado (ou sido gerado) por um Fork e estas pginas no sofreram escrita ainda.
10. Quais as vantagens e desvantagens de guardar o nome do programa criador junto aos atributos do arquivo?
Vantagem: Livra o sistema operacional de saber com qual aplicativo deve ser aberto o arquivo, facilita tambm a vida do usurio por ter acesso rpido e simples a leitura e edio do arquivo. Desvantagem: Um terceiro pode alterar o arquivo para apontar para um programa mal intencionado.
11. Na semntica de sistema de arquivos do Unix o que acontece quando um arquivo que est aberto removido?
Ele no ficar mais acessvel aos programas que quiserem o acessar logo aps o momento de remoo. Porm continuar acessvel por aqueles programas que j estavam com o arquivo aberto no momento da remoo. Para cada arquivo o file system mantem um contador que indica quantos procesos o esto usando, quando removido o arquivo se o contador no for 0 apagado somente o acesso ao mesmo, mas o arquivo mantido no disco at que todos os processos se encerrem.
12. No NFS (Network File System) o que o "Silly Rename"? Porque surgem os arquivos .nfsXXXXXX ?
(Segundo NFS FAQ) Aplicaes em Unix geralmente criam arquivos de rascunho e removem sua ligao. Quando fazem isso o arquivo passa a no ser visvel no sistema de arquivos para quando a aplicao fechar o arquivo este ser removido. Conhecido como "delete on last close", comum em aplicaes Unix. Pela forma como o NFS foi especificado, no existe maneira de apagar o arquivo do sistema, o deixando disponvel para aplicaes. O que o NFS faz emular este comportamento renomeando o arquivo para algo como ".nfsXXXXX". que esconde o arquivo para seu uso. Isso conhecido como "silly rename." Aps o fechamento do processo o arquivo apagado. Ou fica residual em caso de crash da aplicao.
O NFS stateless, e no sabe quais arquivos esto sendo utilizados, assim pra manter compatibilidade com os programas linux (onde um arquivo aberto pode ser excludo sem problemas) ele renomeia o arquivo e deixa ele oculto, quem estava com o arquivo aberto continua lendo deste .nfsX
13. Sobre mtodos de alocao de espao, responder: a) Como funciona a alocao de espao contgua? Que problemas apresenta?
Cada arquivo ocupa um conjunto de blocos contguos no disco. Somente necessrio armazenar a localizao inicial (nmero do bloco) e o tamanho do arquivo (quantidade de blocos). Pode ser feito mapeamento de endereo lgico para o fsico, mas os arquivos no podem crescer. A alocao de espao contgua requer que cada arquivo ocupe um conjunto de blocos contguos no disco. Os endereos de disco definem um ordenamento linear no disco. Com isso, o nmero de operaes de busca no disco, exigidos para acesso a arquivos alocados contiguamente, mnimo, assim como o tempo de busca quando uma operao de busca for necessria. Como problemas encontrados na alocao contgua temos: - a dificuldade de encontrar espao para um novo arquivo. Sistemas de gerenciamento de espao livre devem ser utilizados para realizar esta operao, mas tais sistemas geram fragmentao externa; - a dificuldade de determinar a quantidade de espao necessrio para um arquivo. Pela falta de conhecimento na hora da criao do arquivo, ou para futura ampliao do mesmo. Em geral, o espao necessrio superestimado. Gerando assim fragmentao interna.
b) Como funciona a alocao de espao por encadeamento (linked allocation). Quais os problemas apresentados por este mtodo?
Cada arquivo uma lista encadeada de blocos em disco. Os blocos podem ser espalhados no disco. Tem pouca perda de espao porm no tem acesso direto, tem que percorrer a lista. O diretrio contm um ponteiro para o primeiro e ltimo blocos do arquivo. E cada bloco contm um ponteiro para o proximo bloco. No gera fragmentao externa.
Como problemas encontrados na alocao por encadeamento temos: - O principal problema que ela so pode ser efetivamente utilizada para arquivos de acesso sequencial. - O espao perdido com a alocao dos ponteiros, logo, cada arquivo ir requerer um pouco mais de espao do que necessitaria em outra situao. - O problema da confiabilidade, como a integridade do arquivo mantida por intermedio de ponteiros espalhados por todo o disco, se um desses ponteiros for corrompido, pode-se ter grandes perdas de dados ou de espao livre.
c) Como funciona a FAT (File-Allocation Table) usado pelo MS-DOS, qual a diferena em relao alocao por encadeamento simples?
A FAT usa uma tabela de alocao de arquivos, esta tabela fica alocada em uma seo do disco no inicio de cada partio. A FAT tem uma entrada para cada bloco do disco e indexada pelo nmero do bloco. A entrada da tabela, indexada pela entrada do arquivo no diretrio, contm o nmero do bloco do prximo bloco no aquivo. Assim continua at o bloco que contm o identificador de fim de arquivo. Ao contrario da alocao por encadeamento a FAT no utiliza um espao em cada bloco do disco como ponteiro (utiliza os blocos com valor igual a zero na tabela que representam blocos livres).
e) Em um sistema de arquivos usando uma FAT o que acontece se ocorrer a corrupo total da tabela de alocao de arquivos?
Se a tabela FAT (tabela 1) corromper, existe uma tabela 2 de backup usada pelo scandisk.
f) Como funciona a alocao de espao indexada? Que problemas da alocao usando encadeamento ela tenta resolver?
A alocao indexada utiliza ponteiros, como a alocao por encadeamento, mas agora todos esses ponteiros so armazenados juntos em um bloco de ndices. Cada arquivo possui seu prprio bloco de ndices que um array de endereos de blocos de disco. O diretrio contm o endereo do bloco de ndices, e a -esima entrada
do bloco de ndices aponta para o -esimo bloco do arquivo. Desta maneira possvel realizar com facilidade o acesso direto ao arquivo. A alocao indexada tenta resolver o problema da falta de eficincia no acesso direto a arquivos, que ocorre quando se usa a alocao por encadeamento.
contm os endereos de blocos que contm ponteiros para os blocos de dados reais). O ltimo ponteiro conteria o endereo de um bloco indireto triplo.
14. Considere um sistema com i-nodes com 15 ponteiros. Nestes i-nodes os 12 primeiros so usados para alocao direta; o 13 ponteiro para alocao simples indireta; o 14 para alocao dupla indireta e o 15 para alocao triplaindireta. Considere ainda que cada bloco tem 512Kb. Como ficaria a estrutura de inodes para armazenar um arquivo de 129024 bytes (252 blocos)?
Pra salvar um arquivo de 252 blocos, no caso, seria os primeiros 12 blocos do primeiro i-node ocupado, depois mais 15 blocos do i-node nvel 1. Depois vem o i-node de nvel 2, que ficaria os quinze nveis dele apontando cada um para um inode distinto, e cada i-node destes teria 15 blocos; Ou seja, mais 225 blocos, e totalizando 242 blocos, faltam 10. O i-node de nvel 3 apontaria para um de nvel dois, que usaria apenas um de seus apontadores, pra um de nvel 1, que salvaria 10 blocos nele.
[] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> [] x15-> 12 blocos
[] -> [] x15-> [] x15 -> 225 blocos [] -> [] x1 -> [] x1 -> [] x10 -> 10 blocos
15. Qual a diferena de simbolic links e hard links? E como a implentao de cada um? Como feito o controle de remoo de arquivo em cada caso?
Existem dois conceitos de "links" no Unix, usualmente nomeadas de symbolic link e hard link. Um hard link exatamente um nome para o arquivo (E um arquivo pode ter vrios nomes. Aquilo s apaguado do disco somente quando o ltimo nome removido.) Um symlink totalmente diferente: um pequeno arquivo especial que contm o nome de caminho. Assim, a ligao fraca pode apontar arquivos em diferentes sistemas de arquivos (talvez NFS montadas de diferentes mquinas), e no precisa de ponto para o arquivo existente atualmente. Quando acessado (com a chamada de sistema open ou stat, uma referncia para o symlink substituda pelo kernal do sistema operacional com uma referncia para o arquivo nomeado no nome de caminho. (De qualquer forma, com rm ou unlink a ligao removida, no o arquivo que ela aponta).
16. Considere um sistema onde o espao livre gernciado por uma lista de espao livre. Suponha que o ponteiro para a lista de espaos-livres foi perdido. Esta lista pode ser reconstruda? Explique sua resposta.
Uma possvel soluo seria veirificar todos os blocos utilizados pelos diretrios/arquivos/sistema e considerar os outros como livres. Deve-se pensar no fato de que ao um arquivo ser deletado, no necessariamente os dados que ele tem so deletados nos blocos (geralmente que eu saiba no, apenas deletado a ligao para ele).
-Vetor de bits: A lista de espao livre implementada como um mapa de bits ou um vetor de bits. Cada bloco representado por 1 bit. Se o bloco estiver livre o bit ser 1; se o bloco estiver alocado o bit ser 0. A principal vantagem que relativamente simples e eficiente encontrar o primeiro bloco livre, ou n blocos livres consecutivos no disco. Mas so ineficientes a no ser que todo o vetor seja mantido na memria principal. -Lista Encadeada: Encadear todos os blocos de disco livres, mantendo um ponteiro ao primeiro bloco livre em uma posio especial no disco e armazenando-os em cache na memria. Esse primeiro bloco contm um ponteiro ao prximo bloco livre de disco, e assim por diante. No eficiente, para percorrer a lista, precisamos ler cada bloco, o que requer tempo substancial de I/O. -Agrupamento:
Armazena os endereos de n blocos livres no primeiro bloco livre. Os primeiros n-1 desses blocos esto realmente livres. O bloco final contm os endereos de outros n blocos livres, e assim por diante. Assim os endereos de um grande nmero de blocos livres podem ser rapidamente encontrados. -Contadores: Em vez de manter uma lista de n endereos de disco livres, mantm o endereo do primeiro bloco livre e o nmero n de blocos contguos livres que seguem esse primeiro bloco. Cada entrada na lista de espao livre consiste ento em um endereo de disco e um contador.Embora cada entrada exija mais espao que um endereo de disco simples, a lista global fica mais curta. Aproveita o fato de que em geral vrios blocos contguos podem ser alocados ou liberados simultaneamente.
19. Como funcionam os sistema de arquivos baseados em Journaling? Quais suas vantagem? O que tentam garantir?
Um sistema de arquivos com journaling d permisso ao Sistema Operacional de manter um log (journal), de todas as mudanas no sistema de arquivos antes de escrever os dados no disco. Normalmente este log um log circular alocado em uma rea especial do sistema de arquivos. Por ser mais bem localizado em espao menor costuma ter melhor desempenho tambm.
Este tipo de sistema de arquivos tem a oferecer uma melhor probabilidade de no sofrer corrupo de dados no caso de o sistema travar ou faltar energia, e uma recuperao mais rpida, pois no
necessita verificar todo o disco, somente aqueles que pertenciam a um log que no fora fechado devidamente.
20. Explique os seguintes algoritmos de escalonamento de requisies de disco: FCSF, SSTF (Shortest-Seek First), SCAN, C-SCAN e LOOK.
FCSF atende as requisies em fila, SSTF escolhe o endereo com menor deslocamento, e isso pode causa inanio. Scan o mtodo elevador, o ponteiro do disco percorre de um lado para o outro atendendo as requisies. O C-SCAN similar mas s funciona em um sentido e melhor no tempo de resposta mdio. O Look como o SCAN implementado na prtica que no vai at o fim do disco mas s at o ltimo endereo requisitado.
21. Quais sao os algoritmos de escalonamentos disponveis atualmente do kernel Linux? Descreva cada um deles.
NOOP
o escalonador de I/O mais simples do Linux. Ele insere todas as requisies de I/O uma fila FIFO (First In First Out) no ordenada.
O escalonador assume que a otimizao do desempenho de I/O ser feito em alguma outra camada da hierarquia de I/O (por exemplo, no dispositivo de blocos, por um controlador RAID "inteligente" ou por um controlador externo como um subsistema de armazenamento (storage).
O NOOP melhor para dispositivos de estado slido (SSD - Solid State Devices) como memria flash ou, em linhas gerais, dispositivo que no dependam de movimento mecnico para acesso aos dados (como a tecnologia tradicional de "disco rgido" que depende do tempo de acesso - seek time - e da latncia rotacional). Dispositivos no-mecnicos no necessitam de reordenamento de mltiplas requisies de I/O, uma tcnica que agrupa as requisies de I/O que esto fisicamente prximas no disco, dessa forma reduzindo o tempo
ANTICIPATORY
utilizao
do
disco
"Deceptive idleness" uma situao onde um processo parece ter terminado a leitura do disco quando na verdade est processando dados enquanto se prepara para a prxima operao de leitura. Isto far com que um escalonador que procura reduzir trabalho mude para outro processo no relacionado. Esta situao prejudicial vazo de leituras sncronas, pois sobrecarrega o trabalho de "acesso". A soluo do escalonador Anticipatory para o "Deceptive idleness" fazer uma pausa por um pequeno tempo (alguns milisegundos) aps uma operao de leitura em antecipao a outra requisio de leitura fisicamente prxima.
O Anticipatory pode reduzir o desempenho em discos usando TCQ (Tagged Command Queuing), discos de alto desempenho e conjuntos (arrays) RAID feitos via hardware. Este escalonador foi o padro no Linux entre o kernel 2.6.0 e o 2.6.18, sendo substitudo pelo CFQ.
DEADLINE
A principal meta deste escalonador tentar garantir um tempo inicial para atender uma requisio. Ele faz isso impondo uma "deadline" em todas as operaes de I/O para evitar "starvation" dos recursos. So mantidas duas filas de "deadline" alm das filas ordenadas (ambas de leitura e escrita). As filas de "deadline" so minimamente
ordenadas por seu tempo de expirao, enquanto que as filas ordenadas usam o nmero do setor para definir a ordem.
Antes de atender a prxima requisio, o Deadline decide qual fila usar. Filas de leitura recebem prioridade maior porque os processos usalmente "param" em operaes de leitura. Em seguida, o escalonador verifica se a primeira requisio na fila "deadline" expirou, se no ele serve uma sequncia de requisies da fila ordenada. Nos dois casos, o escalonador tambm serve uma sequncia de requisies seguindo a requisio escolhida na fila ordenada.
A documentao indica que este o escalonador recomendado para sistemas de bancos de dados, especialmente em discos que trabalham com TCQ (Tagged Command Queuing) ou quaisquer sistemas com discos de alto desempenho.
CFQ (Completely Fair Queuing): 1 fila de I/O por processo, o objetivo ser justo entre os processos.
O CFQ funciona colocando requisies sncronas enviadas pelos processos em uma certa quantidade de filas por-processo e ento alocando espaos de tempo para que cada uma das filas acesse o disco. A quantidade de tempo e o nmero de requisies que uma fila pode enviar depende da prioridade de IO de um determinado processo.
Requisies assncronas para todos os processos so processadas em conjunto em um nmero menor de filas que esto separadas por prioridade (uma fila por prioridade).
Embora o CFQ no faa explicitamente escalonamento de I/O anticipatrio, ele atinge o mesmo efeito de ter boa vazo para o sistema como um todo, permitindo que uma fila de processo "no faa nada" (idle) ao final de um IO sncrono e, dessa forma, "antecipando" IOs prximos vindos do mesmo processo.
O CFQ pode ser considerado uma extenso natural da ao de conceder "fatias de tempo de IO" a um processo.
23. Suponha que voc possui 4 discos rgidos de 750GB. Quanto espao disponvel voc obteria usando RAID5 e quanto espao voc obteria com RAID6? Quantos discos poderiam falhar em cada um destes casos?
Com RAID5 para cada 2 blocos tem 1 bloco de paridade. Ento, como os blocos esto espalhados, voc teria 2000GB de espao utilizvel e 1 disco podendo falhar. Com RAID6 teria 1 paridade a mais que d (4-2)*750 = 1500GB de espao utilzvel, mas podendo falhar 2 discos.
Questo FCC DPE SP Agente de Defensoria Analista de Sistemas /2010 tags: FCC, Agente de Defensoria, Analista de Sistemas, concursos TI, Sistemas Operacionais, Processos; Algoritmo de Escalonamento;
Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento de processos do tipo a) RR Round-Robin. b) FIFO First in, first out. c) FCFS First come, first served. d) SJF Shortest Job First. e) SRT Shortest Remaining Time. Comentrio O Escalonamento permite que o Sistema Operacional faa o compartilhamento do CPU entre os os processos. Os principais algoritmos de escolamento so os citados na questo. Mapas Mentais Mapas mental dos algoritmos de escalonamento
E agora o mapa mental do principal algoritmo de escalonamento Roud-Robin. Neste algoritmo duas informaes importantssimas: Fatia de tempo (Timeslice/Quantum) e Preempitivo.
Gabarito: A