SóProvas


ID
705370
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os sistemas multiprogramáveis utilizam políticas de escalonamento para fazer a gerência do processador.

Um exemplo de escalonamento não preemptivo é o escalonamento

Alternativas
Comentários
  • Preemptividade significa antecipação, que cai na idéia de gerência de filas: no contexto de arquitetura de computadores, é normalmente ligado ao controle do tempo de processamento, onde o kernel de um sistema operacional preemptivo organiza o uso do processador para cada processo, estabelecendo prioridades, faixas de tempo e formas de retomada desse tempo.
    Das alternativas dadas:
    a) por prioridades: há preemptividade, conforme tag de prioridade atribuida ao processo
    b) circular (round robin): se não houver prioreidades, cada processo tem faixas de tempo equivalentes
    c) circular com prioridades: há preemptividade, atribuindo-se prioridade e faixas de tempo para cada processo
    d) multilevel queue: cada fila tem prioridade/faixa de tempo atribuida em relação às demais
    e) first-in-first-out: fila simples, sem preemptividade

    Mais referências:
     
    http://cs.nyu.edu/~gottlieb/courses/2001-02-fall/os/lectures/lecture-05.html

    "Preemption
    It is important to distinguish preemptive from non-preemptive scheduling algorithms.
       Preemption means the operating system moves a process from running to ready without the process requesting it.
       Without preemption, the system implements ``run to completion (or yield or block)''.
       The ``preempt'' arc in the diagram.
       We do not consider yield (a solid arrow from running to ready).
       Preemption needs a clock interrupt (or equivalent).
       Preemption is needed to guarantee fairness.
       Found in all modern general purpose operating systems.
       Even non preemptive systems can be multiprogrammed (e.g., when processes block for I/O)"
  • Discordo do colega Asdrubal em relação ao conceito de preempção.
    Preempção é a capacidade do sistema operacional interromper um processo em execução e trocar por outro.
    Esta caracteristica é obtida por um conjunto de software (Sistema Operacional que escalona o proximo Job) e Hardware (que interrompe o Job em execução e passa o controle para o S.O.)

    Em essência esta questão não possuiria resposta. Pois o apresentado não são escalonadores preemptivos, mas sim algoritmos de escalonamento que podem ou não ser utilizados em sistemas preemptivos.
    Na verdade cada um destes algoritmos poderia ser utilizado em sistemas não preemptivos para simplesmente decidir o proximo Job a ser posto em execução quando o Job corrente terminar sua execução.

    Entretando olhando na prática o algoritmo first-in-first-out não é utilizado por sistemas preemptivos, pois não faria sentido, a cada quantum de tempo substituir o job corrente por outro. Isso iria aumentar enormemente o tempo de resposta e o tempo de turn arround. sem contar que não haveria priorização dos Jobs

    Por esse motivo podemos marcar como correta a letra E
  • FIFO (acrônimo para First In, First Out, que em português significa primeiro a entrar, primeiro a sair) refere-se a estruturas de dados do tipo fila. Tem uma estrutura diferente da estrutura de uma LIFO (que significa Last In, First Out, as pilhas).

    As listas são amplamente utilizadas em programação para implementar filas de espera. Em uma fila de tipo FIFO os elementos vão sendo colocados na fila e retirados (ou processados) por ordem de chegada. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila e só podemos retirar o elemento do início.

  •  e) first-in-first-out-correto

    Em OS, preemptividade é tirar a prioridade de um processo  para outro mais urgente.

    FIFO -first in first out: estrutura de dados em fila. Significa que os dados são eecutados em uma fila, 1 por vez, não importando se o que estiver atrás seja mais importante. Todos são calculados por algoritmos de tempo (t), que após o tempo determinado, passa ao adiante.
  • Preempção é a interrupção de um processo para execução de outro.
    Algoritmos de escalonamento:
    1. FCFS = FIFO, é o mais simples, primeiro a chegar é o primeiro a sair.
    2. SJF - Shortest Jog First, Menor tarefa será executada primeiro. Ele associa a cada processo o tamanho do próximo burst de CPU do processo.
    3. Por prioridade, uma prioridade é associada ao processo e a cpu aloca os de maior prioridade. Processos com prioridades iguais obedecem ao FIFO.
    4. Round-Robin, revezamento. É semelhante ao FIFO mas a preempção é acrescentada para alternar os processos. A fila de pronto é tratada como uma fila circular.
    5. Multilevel Queue, divide a fila de prontos em várias filas separadas, com base em alguma propriedade do processo, como tamanho de memória, prioridade ou tipo do processo. Cada fila possui seu próprio algoritmo de escalonamento.
    6. Multilevel Feedback Queue, permite que os processos se movam entre as filas.