Lista_SO_P2

8
LISTA 01 – SISTEMAS OPERACIONAIS – P2 1) Sobre gerenciamento de processos, responda: a) Qual a função de um bloco de controle de processo? Que tipo de informações ele armazena? O bloco de controle de processo (PCB) é uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a informação necessária para tratar um determinado sistema. Como o PCB contém informações críticas do processo, ele deve ficar armazenado em uma área da memória protegida do acesso de usuários. PCB possui todas as informações do processo > contextos de hardware, software, endereço de memória e etc. b) Existe algum custo associado à realização de uma operação de escalonamento entre dois processos? Caso exista, quais fatores ocasionam este custo? O escalonador de processos é responsável por escolher o processo que será executado pela CPU. O escalonamento é realizado com o auxílio do hardware. O escalonador deve se preocupar com a eficiência da CPU, pois o chaveamento de processos é completo e custoso (afeta o desempenho do sistema e satisfação do usuário). O escalonador de processo é um processo que deve ser executado quando há mudança de contexto (troca de processo). Situações nas quais escalonamento é necessário: Um novo processo é criado; Um processo terminou sua execução e um processo pronto deve ser executado; Quando um processo é bloqueado (Semáforo, dependência de E/S), outro deve ser executado; Quando uma interrupção de E/S ocorre, o escalonador deve decidir por: Executar o processo que estava esperando esse evento; Continuar executando o processo que já estava sendo executado; ou Executar um terceiro processo que esteja pronto para ser executado; c) Qual a diferença entre escalonamento de processos que funcionam de maneira preemptiva e nãopreemptiva? PREEMPTIVA: Escolhe um processo e o deixa executando por um tempo máximo; NÃOPREEMPTIVA: Estratégia de permitir que o processo que está sendo executado continue sendo executado até ser bloqueado por alguma razão (Semáforo, operações de E/S, interrupção) ou que libere a CPU voluntariamente; 2) Suponha que existam os seguintes processos para serem executados em um processador. Processo Burst Tempo de Chegada A 3 0 B 5 2 C 2 3 D 6 6 E 8 8 F 1 10 Forneça o diagrama de Gantt e o tempo de espera médio para ilustrar o comportamento dos processos para as disciplinas de escalonamento: Firstcome firstserved, shortest job first (preemptivo e nãopreemptivo) e Round Robin com

description

listas de exercicios de sistemas operacionais.

Transcript of Lista_SO_P2

  • LISTA 01 SISTEMAS OPERACIONAIS P2

    1) Sobre gerenciamento de processos, responda: a) Qual a funo de um bloco de controle de processo? Que tipo de informaes ele armazena? - O bloco de controle de processo (PCB) uma estrutura de dados no ncleo do sistema operacional que serve para armazenar a informao necessria para tratar um determinado sistema. - Como o PCB contm informaes crticas do processo, ele deve ficar armazenado em uma rea da memria protegida do acesso de usurios. - PCB possui todas as informaes do processo -> contextos de hardware, software, endereo de memria e etc. b) Existe algum custo associado realizao de uma operao de escalonamento entre dois processos? Caso exista, quais fatores ocasionam este custo? - O escalonador de processos responsvel por escolher o processo que ser executado pela CPU. O escalonamento realizado com o auxlio do hardware. O escalonador deve se preocupar com a eficincia da CPU, pois o chaveamento de processos completo e custoso (afeta o desempenho do sistema e satisfao do usurio). - O escalonador de processo um processo que deve ser executado quando h mudana de contexto (troca de processo). - Situaes nas quais escalonamento necessrio:

    Um novo processo criado; Um processo terminou sua execuo e um processo pronto deve ser executado; Quando um processo bloqueado (Semforo, dependncia de E/S), outro deve

    ser executado; Quando uma interrupo de E/S ocorre, o escalonador deve decidir por:

    Executar o processo que estava esperando esse evento; Continuar executando o processo que j estava sendo executado; ou Executar um terceiro processo que esteja pronto para ser executado;

    c) Qual a diferena entre escalonamento de processos que funcionam de maneira preemptiva e no-preemptiva? PREEMPTIVA: Escolhe um processo e o deixa executando por um tempo mximo; NO-PREEMPTIVA: Estratgia de permitir que o processo que est sendo executado continue sendo executado at ser bloqueado por alguma razo (Semforo, operaes de E/S, interrupo) ou que libere a CPU voluntariamente; 2) Suponha que existam os seguintes processos para serem executados em um processador. Processo Burst Tempo de Chegada A 3 0 B 5 2 C 2 3 D 6 6 E 8 8 F 1 10 Fornea o diagrama de Gantt e o tempo de espera mdio para ilustrar o comportamento dos processos para as disciplinas de escalonamento: First-come-first-served, shortest job first (preemptivo e no-preemptivo) e Round Robin com quantum (fatia de tempo) igual a 2.

  • First-come-first-served

    A | B | C | D | E | F

    0 3 8 10 16 24 25 TEMPO DE ESPERA MDIO: (0+1+5+4+8+14) = 32 = 5,33 6 6

    Shortest Job First (preemptivo e no-preemptivo) NO-PREEMPTIVO

    A | C | B | F | D | E 0 3 5 10 11 17 25 TEMPO DE ESPERA MDIO: (0+0+3+0+5+9) = 2,8 6

    PREEMPTIVO

    A | C | B | F | D | E 0 3 5 10 11 17 25 TEMPO DE ESPERA MDIO: (0+0+3+0+5+9) = 2,8 6

    Round Robin com quantum (fatia de tempo) igual a 2.

    A | B | C | D | E | F | A | B | D | E | B | D | E | E | 0 2 4 6 8 10 11 12 14 16 18 19 21 23 25 TEMPO DE ESPERA MDIO: (9+12+1+9+9+0) = 6,67 6 3) Explique como funciona um escalonamento de processos alocado em diferentes nveis de filas. - A fila de prontos dividida em filas distintas:

    - Primeiro plano (interativo) - Segundo plano (batch) - Cada fila possui seu prprio algoritmo de escalonamento: - Primeiro plano RR (Round Robin) - Segundo plano FCFS (First-come-first-served) - necessrio haver escalonamento entre filas - Escalonamento de prioridade fixa (ou seja, serve a todos a partir do primeiro plano e

    depois do segundo plano). Probabilidade de estagnao. - Fatia de tempo cada fila recebe uma certa parte do tempo de CPU, que pode ser escalonado entre seus processos; por exemplo, 80% para o primeiro plano RR e 20% para o segundo plano no FCFS.

  • 4) Dentre os modelos de particionamento de memria, explique o modelo de parties fixas e suas possveis formas de gerenciamento. - O modelo de parties fixas possui tamanho e numero de parties fixos (estticos), no atrativo porque parties fixas tendem a desperdiar memria (qualquer espao no utilizado literalmente perdido), e mais simples. - Gerenciamento por filas mltiplas: - PROBLEMA: filas no balanceadas. - Gerenciamento por fila nica: - Melhor utilizao da memria, pois procura o melhor processo para a partio considerada; - PROBLEMA: processos menores so prejudicados. 5) Explique o funcionamento do mecanismo de memria virtual e o seu propsito prtico. - O mecanismo da memria virtual permite que programas possam ser executados mesmo que estejam apenas parcialmente carregados na memria principal. - Programas maiores que a memria eram divididos em pedaos menores chamados overlays; - Programador define reas de overlay; - VANTAGENS: expanso da memria principal; - DESVANTAGENS: custo muito alto; - Seu propsito prtico criar a sensao de se ter mais memria principal do que realmente a que se tem presente. 6) Para as estratgias de substituio de pginas First-in-First-out, Optimal Replacement e Last Recently Used em uma memria virtual paginada, mostre a quantidade de faltas de pgina cometidas por cada uma das estratgias para a seguinte sequencia de endereos referenciados em uma memria com capacidade de trs frames. - Optimal replacement

    2 4 0 8 6 2 3 0 2 4 3 0 5 2 0 3 2 0 5 0 2 3

    2 2 2 2 2 | 2 | | 4 | | 5 2 | | | | 2 | | 2 4 4 8 6 | 3 | | 3 | | 3 3 | | | | 5 | | 3 0 0 0 | 0 | | 0 | | 0 0 | | | | 0 | | 0 * Para a string de busca apresentada so causadas 11 faltas de pgina. - First-in-first-out

    2 4 0 8 6 2 3 0 2 4 3 0 5 2 0 3 2 0 5 0 2 3

    2 2 2 8 8 8 3 3 | 3 | | 5 5 5 3 | | 3 | 3 | 4 4 4 6 6 6 0 | 0 | | 0 2 2 2 | | 5 | 5 | 0 0 0 2 2 2 | 4 | | 4 4 0 0 | | 0 | 2 | * Para a string de busca apresentada so causadas 15 faltas de pgina.

  • - Last Recently Used (LRU) 2 4 0 8 6 2 3 0 2 4 3 0 5 2 0 3 2 0 5 0 2 3

    2 2 2 8 8 8 3 3 | 4 4 4 5 5 | 3 | | 5 | | 3 4 4 4 6 6 6 0 | 0 3 3 3 2 | 2 | | 2 | | 2 0 0 0 2 2 2 | 2 2 0 0 0 | 0 | | 0 | | 0 * Para a string de busca apresentada so causadas 16 faltas de pgina. 7) Cite as diferenas e eventuais vantagens e desvantagens de trabalhar com memria virtual paginada ou memria virtual segmentada. Memria Virtual Paginada: - Memria principal e memria secundria so organizadas em pginas de mesmo

    tamanho; - Pgina a unidade bsica para transferncia de informao; - Tabela de paginas responsvel por armazenar informaes sobre as paginas virtuais;

    DESVANTAGENS: - Fragmentao interna, definio do tamanho das pginas; - Pginas maiores : leitura mais eficiente, tabela menor, mas maior fragmentao interna. - Pginas menires : leitura menos eficiente, tabela maior, mas menor fragmentao interna.

    VANTAGENS: rpido e melhor desempenho comparado ao segmentado. Memria Virtual Segmentada: - Tabelas de segmentos com n linhas, cada qual apontando para um segmento de

    memria; - Vrios espaos de endereamento; VANTAGENS: - Facilita proteo dos dados; - Facilita compartilhamento de procedimento e dados entre processos.

    DESVANTAGENS: - Embora haja espao na memria, no h espao contnuo; - Poltica de relocao: um ou mais segmentos so realocados para abrir espao contnuo; - Poltica de compactao: todos os espaos so compactados; - Poltica de bloqueio: fila de espera; - Poltica de troca: substituio de segmentos; - Sem fragmentao interna, com fragmentao externa.

    8) Explique o passo-a-passo do funcionamento do algoritmo do relgio, para a substituio de pginas na memria principal atravs de um exemplo que trate todas as possibilidades. - Lista circular com ponteiro apontando para a pgina mais antiga, na forma de um

    relgio. - A cabea aponta para a pgina mais antiga. - Quando ocorre um page fault: Inspeciona a cabea da lista; Se R=0 Substitui-se a pgina da cabea pela nova pgina e avana-se a cabea em uma

    nova posio. Se R=1

    Avana a cabea em uma posio e repete o processo at achar pgina com R=0.

  • LISTA 02 SISTEMAS OPERACIONAIS P2 (Prova do Semestre Passado)

    1) A ilustrao a seguir ilustra o processo de utilizao da memria virtual. Explique o funcionamento descrevendo as operaes que esto sendo realizadas nos pontos indicados pela numerao de 1 a 6. --- 2) Algumas das formas de gerenciamento de memria do sistema so atravs do

    uso de parties fixas ou de parties variveis. Descreva o funcionamento destes mtodos, explique diferenas entre estes e as limitaes e/ou dificuldades de cada um. O particionamento da memria pode ser realizado de duas maneiras: - Parties fixas (alocao esttica); - Parties variveis (alocao dinmica);

    PARTIES FIXAS: - Tamanho e nmero de parties so fixos (estticos); - No atrativo, porque parties fixas tendem a desperdiar memria

    (qualquer espao no utilizado literalmente perdido); - Mais simples;

    FILAS MLTIPLAS: - Problema: Filas no balanceadas;

    FILA NICA: - Melhor utilizao da memria, pois procura o melhor processo para a partio

    considerada; - Problema: processos menores so prejudicados; - Parties Fixas: problemas com fragmentao:

    - Interna: Desperdcio dentro da rea alocada para um processo; - Externa: Desperdcio fora da rea alocada para um processo;

    PARTIES VARIVEIS: - Tamanho e nmero de parties variam; - Otimiza a utilizao da memria, mas complica a alocao e liberao da

    memria; - Parties so alocadas dinamicamente; - SO mantm na memria uma lista com os espaos livres; - Menor fragmentao interna e grande fragmentao externa; - Soluo: Compactao.

    3) Suponha que existam os seguintes processos para serem escalonados para a

    UCP Processo Burst Tempo de Chegada A 6 0 B 3 2 C 1 3 D 8 5 E 2 6 Fornea o diagrama de Gantt e o tempo de espera mdio para ilustrar o comportamento dos processos para as disciplinas de escalonamento: First-come-first-served, shortest job first (preemptivo e no-preemptivo) e Round Robin com quantum (fatia de tempo) igual a 3.

  • Obs.: Em situaes que um novo processo surge para ser colocado na fila de escalonamento no mesmo instante que um processo antigo est sendo reinserido no final da fila, considere que o novo processo inserido primeiro.

    First-come-first-served

    A | B | C | D | E 0 6 9 10 18 20 TEMPO DE ESPERA MDIO: (0+4+6+5+12) = 5,4 5

    Shortest Job First (preemptivo e no-preemptivo) NO-PREEMPTIVO

    A | C | E | B | D 0 6 7 9 12 20 TEMPO DE ESPERA MDIO: (0+7+3+7+1) = 3,6 5

    PREEMPTIVO

    A | B | C | B | E | A | D 0 2 3 4 6 8 12 20 TEMPO DE ESPERA MDIO: (6+1+0+7+0) = 2,8 5

    Round Robin com quantum (fatia de tempo) igual a 3.

    A | B | C | D | E | A | D | D 0 3 6 7 10 12 15 18 20 TEMPO DE ESPERA MDIO: (9+1+3+7+4) = 4,8 5 4) Ainda sobre os algoritmos de gerenciamento de pginas na memria principal, o que caracteriza os algoritmos classificados como de segunda chance? Exemplifique atravs do algoritmo do relgio. - Algoritmo da segunda chance:

    - FIFO + bit R; - Pgina mais velha candidata em potencial; - Inspeciona o bit R da pgina mais velha - Se for 0, ela velha e no foi usada recentemente -> trocada; - Se for 1, o bit 0 - A pgina colocada no final da fila. - Seu tempo de carga modificado, fazendo parecer que recm chegou na

    memria (recebe uma segunda chance); - A busca continua.

    5)Para as estratgias de substituio de pginas First-in-first-out (FIFO), Optimal Replacement e Last Recently used (LRU) em uma memria virtual paginada, mostre a quantidade de faltas de pgina cometidas por cada uma das estratgias para a

  • seguinte sequncia de endereos referenciados, em uma memria com capacidade de trs page frames. - FIFO (First-in-first-out)

    3 1 5 2 3 1 2 4 5 3 2 4 6 2 1 4 5

    3 3 3 2 2 2 | 4 4 4 2 2 2 | 1 | 1 1 1 1 3 3 | 3 5 5 5 4 4 | 4 | 5 5 5 5 1 | 1 1 3 3 3 6 | 6 | 6 * Para a string de busca apresentada so causadas 14 faltas de pgina. - OPT (Optimal Replacement)

    3 1 5 2 3 1 2 4 5 3 2 4 6 2 1 4 5

    3 3 3 3 | | | 3 3 | | 4 4 | 4 | 4 1 1 1 | | | 4 5 | | 5 6 | 1 | 1 5 2 | | | 2 2 | | 2 2 | 2 | 5 * Para a string de busca apresentada so causadas 10 faltas de pgina. - Last Recently Used (LRU)

    3 1 5 2 3 1 2 4 5 3 2 4 6 2 1 4 5

    3 3 3 2 2 2 | 2 2 3 3 3 6 | 6 4 4 1 1 1 3 3 | 4 4 4 2 2 2 | 2 2 5 5 2 5 1 | 1 5 5 5 4 4 | 1 1 1 * Para a string de busca apresentada so causadas 15 faltas de pgina. 6) Sobre escalonamento de processos, responda: a) Explique o modelo que emprega filas de escalonamento multinveis para um conjunto de processos (sendo alguns pertencentes ao prprio S.O. e outros criados por diferentes grupos de usurio) no estado de pronto. O modelo que emprega filas de escalonamento multinveis dividido em dois tipos: - Escalonamento de prioridade fixa (ou seja, serve a todos a partir do primeiro plano e

    depois do segundo plano). Possibilidade de estagnao. - Fatia de Tempo: cada fila recebe uma certa parte do CPU, que pode ser escalonado

    entre seus processos; por exemplo 80% para o primeiro plano no RR (Round Robin) e 20% para o segundo plano FCFS (first-come-first-served).

    - Fila de prontos dividida em filas distintas: - Primeiro plano (interativo); - Segundo plano (Batch);

    - Cada fila possui seu prprio algoritmo de escalonamento: - Primeiro plano Round Robin (RR) - Segundo planot First-come-first-served (FCFS).

  • 7) Para implementar o aspecto multiprogramado, interessante que o sistema operacional realize o escalonamento entre os processos na fila de prontos com uma grande frequncia, ou seja, alternar os processos em uso da UCP a todo instante? Justifique sua resposta. No, como a troca de contexto um procedimento complexo e custoso, se ele for efetuado com grande frequncia far com que a eficincia e rapidez do escalonamento de processo se perca. Portanto, ideal que haja um equilbrio entre frequncia de escalonamento e o tempo mximo que um processo pode fazer uso da UCP. 8) O que pode mudar na eficcia do algoritmo de escalonamento Round Robin se for estabelecida uma fatia de tempo (quantum) demasiadamente grande ou demasiadamente pequena para os processos? - Quantum grande : o algoritmo roda muito parecido com o FCFS (First-come-first-

    served). - Quantum pequeno : precisa ser grande com relao ao tempo de troca de contexto

    ou o custo adicional ser muito alto, sendo o quantum de tempo.