Gerência do Processador

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Qual é um objetivo fundamental da gerência do processador em sistemas multiprogramáveis?

  • Compartilhar o uso da CPU entre vários processos. (correct)
  • Limitar o número de processos em estado de 'pronto'.
  • Aumentar os tempos de turnaround, espera e resposta.
  • Reduzir a quantidade de memória principal utilizada.

Qual das alternativas a seguir NÃO é uma função básica da gerência do processador?

  • Balancear o uso da CPU entre os processos.
  • Maximizar o throughput do sistema.
  • Manter o processador ocupado a maior parte do tempo.
  • Priorizar o uso de aplicações não críticas. (correct)

Qual componente do sistema operacional é responsável por implementar os critérios da política de escalonamento?

  • Memória Virtual
  • Gerenciador de Dispositivos
  • Escalonador (Scheduler) (correct)
  • Dispatcher

O que é o 'throughput' em uma política de escalonamento?

<p>O número de processos executados em um determinado intervalo de tempo. (A)</p> Signup and view all the answers

O que caracteriza o escalonamento 'Não-Preemptivo'?

<p>Nenhum evento externo pode ocasionar a perda do processador. (D)</p> Signup and view all the answers

Qual é a principal característica do algoritmo de escalonamento 'First-Come-First-Served' (FCFS)?

<p>O primeiro processo na fila de pronto é o primeiro a ser executado. (D)</p> Signup and view all the answers

Como o escalonamento SJF (Shortest Job First) seleciona o próximo processo a ser executado?

<p>Pelo menor tempo de processador. (D)</p> Signup and view all the answers

O que é 'starvation' no contexto de escalonamento de processos?

<p>Um processo que nunca é executado devido a outros processos de maior prioridade. (B)</p> Signup and view all the answers

Qual a principal desvantagem do escalonamento circular (Round Robin) com uma fatia de tempo muito pequena?

<p>Causa excessivas mudanças de contexto, aumentando o tempo de turnaround. (D)</p> Signup and view all the answers

No escalonamento por prioridades, qual critério é usado para determinar qual processo deve ser executado primeiro?

<p>Um valor associado a cada processo. (D)</p> Signup and view all the answers

O que é a técnica de 'aging' no contexto de escalonamento por prioridades?

<p>O aumento gradual da prioridade de processos na fila de pronto. (D)</p> Signup and view all the answers

Em um sistema de 'Escalonamento por Múltiplas Filas', qual critério determina a associação de um processo a uma fila?

<p>Características do processo, como importância para a aplicação. (A)</p> Signup and view all the answers

Em 'Escalonamento por Múltiplas Filas com Realimentação', quando o escalonamento em uma fila acontece?

<p>Quando todas as outras filas estiverem vazias. (A)</p> Signup and view all the answers

Qual dos seguintes NÃO é um benefício fornecido pela gerência de processos?

<p>Eliminação completa de erros de programação. (D)</p> Signup and view all the answers

Qual a diferença fundamental entre sistemas multiprogramáveis e sistemas com múltiplos processadores?

<p>Sistemas multiprogramáveis utilizam um único processador, enquanto sistemas com múltiplos processadores utilizam vários. (A)</p> Signup and view all the answers

Qual é a definição de 'mudança de contexto' em termos de gerenciamento de processos?

<p>A troca de um processo por outro no processador pelo S.O. (B)</p> Signup and view all the answers

Quais são as três partes que compõem um processo?

<p>Contexto de hardware, contexto de software e espaço de endereçamento. (A)</p> Signup and view all the answers

Qual é a função do 'contexto de hardware' de um processo?

<p>Armazenar o conteúdo nos registradores do processo em execução. (B)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente a função do 'contexto de software' de um processo?

<p>Especificar limites e características dos recursos que podem ser alocados ao processo. (B)</p> Signup and view all the answers

Qual componente do contexto de software de um processo é responsável por identificar o usuário que o criou?

<p>UID (User Identification) (C)</p> Signup and view all the answers

O que é o 'espaço de endereçamento' de um processo?

<p>A área de memória pertencente ao processo. (B)</p> Signup and view all the answers

O que é o 'Process Control Block' (PCB)?

<p>Uma estrutura de dados que armazena informações sobre um processo. (A)</p> Signup and view all the answers

Onde residem os PCBs dos processos ativos?

<p>Na memória principal, na parte exclusiva do S.O. (B)</p> Signup and view all the answers

Qual das alternativas a seguir representa uma característica dos 'Processos Independentes'?

<p>Possuem seu próprio PCB com contexto de hardware, contexto de software e espaço de endereçamentos próprios. (C)</p> Signup and view all the answers

O que distingue subprocessos de processos independentes?

<p>Subprocessos são criados dentro de uma estrutura hierárquica. (B)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente um ambiente 'monothread'?

<p>Suporta apenas uma única thread em execução. (B)</p> Signup and view all the answers

Em programação concorrente, o que é uma 'condição de corrida'?

<p>Um conjunto de eventos que geram resultados não determinísticos devido à ordem de execução. (C)</p> Signup and view all the answers

O que é uma 'região crítica' ou 'seção crítica'?

<p>Uma parte do código onde a memória compartilhada é acessada. (A)</p> Signup and view all the answers

Qual condição é essencial para garantir a integridade dos dados em uma região crítica?

<p>Exclusão Mútua. (C)</p> Signup and view all the answers

Quais são as quatro condições necessárias para que ocorra um 'deadlock'?

<p>Exclusão mútua, posse e espera, não preempção e espera circular. (B)</p> Signup and view all the answers

Qual estratégia de tratamento de deadlock envolve simplesmente ignorar o problema?

<p>Algoritmo da Avestruz. (B)</p> Signup and view all the answers

No contexto de gerenciamento de processos, como o 'escalonamento cooperativo' difere do 'escalonamento preemptivo'?

<p>No escalonamento cooperativo, um processo voluntariamente libera o processador, enquanto no preemptivo o SO pode interromper o processo. (C)</p> Signup and view all the answers

Qual é o propósito principal do algoritmo do banqueiro na prevenção de deadlocks?

<p>Garantir que o sistema permaneça em um estado seguro, evitando deadlocks. (D)</p> Signup and view all the answers

Qual das seguintes opções descreve a relação entre threads do Modo Usuário (TMU) e o kernel do sistema operacional?

<p>As TMUs são implementadas pela aplicação e não acessam o kernel diretamente. (C)</p> Signup and view all the answers

Como a implementação de Threads Modo Kernel (TMK) difere das Threads Modo Usuário (TMU)?

<p>TMK são implementadas diretamente no núcleo (kernel) do sistema operacional. (A)</p> Signup and view all the answers

O que é 'Interprocess Communication' (IPC)?

<p>Um conjunto de técnicas para comunicação entre dois ou mais processos. (D)</p> Signup and view all the answers

Em um sistema com escalonamento 'SJF com preempção' (SRT), considere três processos (P1, P2, P3) que chegam quase simultaneamente. P1 tem uma estimativa de tempo de execução de 8 unidades, P2 de 4 unidades e P3 de 2 unidades. Após 1 unidade de tempo, P1 ainda precisa de 7 unidades, P2 de 3 unidades e P3 de 1 unidade. Qual processo será executado a seguir?

<p>P3 (D)</p> Signup and view all the answers

Um sistema usa 'Escalonamento por Prioridades', onde valores menores indicam maior prioridade. Se um processo de prioridade 2 está em execução e um processo de prioridade 1 entra na fila de prontos, o que acontece?

<p>O processo de prioridade 1 interrompe o processo de prioridade 2 imediatamente. (C)</p> Signup and view all the answers

Um sistema de filas múltiplas usa o seguinte esquema: Filas de alta prioridade têm um quantum de tempo de 4ms, enquanto as de baixa prioridade, 8ms. Um processo na fila de alta prioridade precisa de 10ms de CPU, enquanto um processo na fila de baixa prioridade precisa de 12ms. Qual das seguintes afirmações é verdadeira?

<p>O processo de alta prioridade será interrompido após 4ms, mas permanecerá na fila de alta prioridade. (B)</p> Signup and view all the answers

Em um cenário de 'deadlock', os processos A e B precisam acessar os recursos R1 (uma impressora) e R2 (um scanner). O processo A já alocou R1 e está solicitando R2, enquanto o processo B já alocou R2 e está solicitando R1. Qual técnica de prevenção de deadlock seria mais eficaz aqui?

<p>Definir uma ordem global para a alocação de recursos (ex: sempre solicitar a impressora antes do scanner). (A)</p> Signup and view all the answers

Considere um sistema operacional que implementa 'Threads Modo Híbrido'. Uma Thread Modo Usuário (TMU) está sendo executada dentro de uma Thread Modo Kernel (TMK). Se a TMK encontrar uma operação de E/S bloqueante, qual o comportamento mais provável?

<p>A TMK é bloqueada, mas o sistema operacional migra a TMU para outra TMK disponível. (D)</p> Signup and view all the answers

Flashcards

Gerência do Processador

Processo de gerenciar e alocar o uso da CPU entre os processos.

Funções básicas da Gerência do Processador

Manter o processador ocupado, balancear o uso da CPU e oferecer respostas rápidas.

Escalonador (Scheduler)

Rotina que implementa a política de escalonamento.

Dispatcher

Rotina responsável pela troca de contextos dos processos.

Signup and view all the flashcards

Tempo Compartilhado (Time Sharing)

Permite que todos os processos sejam executados de forma justa.

Signup and view all the flashcards

Tempo Real (Real Time)

Garante que processos críticos sejam executados primeiro.

Signup and view all the flashcards

Tempo de Processador (CPU)

Tempo que um processo leva no estado de execução.

Signup and view all the flashcards

Tempo de Espera

Tempo total de um processo na fila de espera.

Signup and view all the flashcards

Tempo de Turnaround

Tempo desde a criação até o término de um processo.

Signup and view all the flashcards

Tempo de Resposta

Tempo entre requisição e resposta do sistema.

Signup and view all the flashcards

Escalonamento Preemptivo

Possibilidade de o SO interromper um processo em execução e substituí-lo.

Signup and view all the flashcards

Escalonamento Não-Preemptivo

SO não interrompe processo a menos que ele termine ou espere.

Signup and view all the flashcards

First-Come-First-Served (FCFS)

Processos são executados na ordem de chegada.

Signup and view all the flashcards

Shortest-Job-First (SJF)

Processo com menor tempo de processador é executado primeiro.

Signup and view all the flashcards

Escalonamento Cooperativo

Aumentam o grau de multiprogramação em políticas não preemptivas.

Signup and view all the flashcards

Escalonamento Circular (Round Robin)

Processos recebem fatias de tempo para uso do processador.

Signup and view all the flashcards

Escalonamento por Prioridades

Valor associado a cada processo determina a prioridade.

Signup and view all the flashcards

Aging

Incremento gradual de prioridade para evitar starvation.

Signup and view all the flashcards

Escalonamento Circular por Prioridades

Combina fatia de tempo e prioridade de execução.

Signup and view all the flashcards

Escalonamento por Múltiplas Filas

Diversas filas com prioridades específicas para processos.

Signup and view all the flashcards

Múltiplas Filas com Realimentação

Processos podem mudar de fila durante o processamento.

Signup and view all the flashcards

Processo

Instância de um programa em execução.

Signup and view all the flashcards

Sistemas Multiprogramáveis

Um único processador executa vários processos.

Signup and view all the flashcards

Sistemas com Múltiplos Processadores

Múltiplos processadores executam processos.

Signup and view all the flashcards

Funcionamento do Processador

Ciclos de busca e execução de instruções.

Signup and view all the flashcards

Mudança de Contexto

Troca de um processo por outro no processador.

Signup and view all the flashcards

Contexto de Hardware

Informações sobre registradores do processo em execução.

Signup and view all the flashcards

Contexto de Software

Informações sobre limites e prioridades do processo.

Signup and view all the flashcards

Informações do Contexto de Software

PID, UID, quotas e privilégios de um processo.

Signup and view all the flashcards

Espaço de Endereçamento

Área de memória pertencente ao processo.

Signup and view all the flashcards

Process Control Block (PCB)

Estrutura de dados que contém informações sobre o processo.

Signup and view all the flashcards

Processos Independentes, Subprocessos e Threads

Maneiras de implementar concorrência em uma aplicação.

Signup and view all the flashcards

Processos Independentes

Processos que trabalham de forma cooperativa.

Signup and view all the flashcards

Subprocessos

Processos criados dentro de uma estrutura hierárquica.

Signup and view all the flashcards

Thread

Conceito para reduzir tempos de criação e troca de contextos.

Signup and view all the flashcards

Ambientes monothread

Suportam apenas uma única thread em execução.

Signup and view all the flashcards

Ambientes multithread

Suportam múltiplos threads.

Signup and view all the flashcards

Threads Modo Usuário (TMU)

Implementadas pela aplicação e não pelo SO.

Signup and view all the flashcards

Threads Modo Kernel (TMK)

Implementadas diretamente pelo núcleo do SO.

Signup and view all the flashcards

Threads Modo Híbrido

O uso de TMU e TMK combinados.

Signup and view all the flashcards

Condição de Corrida

Conjunto de eventos que geram resultados não determinísticos.

Signup and view all the flashcards

Study Notes

Gerência do Processador

  • A gestão do processador surge com sistemas que executam vários programas simultaneamente.
  • Vários processos ocupam a memória principal e compartilham o uso da CPU.
  • A política de escalonamento considera vários processos prontos para execução.
  • A escolha do processo a ser executado depende do algoritmo definido.
  • Objetivos principais: maximizar a utilização do processador, aumentar o throughput e diminuir os tempos de turnaround, espera e resposta.

Funções Básicas do Processador

  • As funções básicas incluem manter o processador ocupado o máximo possível.
  • O processador balanceia o uso da CPU entre os processos, além de privilegiar aplicações críticas.
  • O processador maximiza o throughput do sistema e oferece tempos de resposta razoáveis aos usuários.

Escalonador (Scheduler)

  • O escalonador é responsável por implementar os critérios da política de escalonamento.
  • Todo o uso da CPU depende dessa rotina.

Dispatcher

  • É a rotina do SO que gerencia a troca de contexto entre os processos.
  • A latência do dispatcher é o tempo necessário para realizar essa troca.

Critérios de Escalonamento

  • Implementados baseados nas características de cada sistema operacional.
  • Tempo Compartilhado (Time Sharing) permite a execução justa de todos os processos.
  • Tempo Real (Real Time) garante que processos críticos sejam executados prioritariamente.

Critérios de Política de Escalonamento

  • Os principais critérios incluem maximizar a utilização do processador.
  • O throughput (número de processos executados por unidade de tempo) conta como requisito.
  • O tempo de processador (CPU) é o tempo que um processo leva em execução.
  • O tempo de espera é o tempo total que um processo passa na fila de prontos.
  • O tempo de turnaround é o período desde a criação até o término de um processo, englobando alocação de memória, tempo na fila de prontos, uso da CPU e espera.
  • O tempo de resposta é o intervalo entre a solicitação e a resposta do sistema, influenciado pela velocidade dos dispositivos de E/S.

Escalonamentos Não-Preemptivo e Preemptivo

  • São classificados conforme a capacidade do SO de interromper e substituir processos em execução.

Escalonamento Não-Preemptivo

  • Não há perda do processador causada por eventos externos.
  • A execução termina quando o processo conclui sua tarefa ou aguarda uma instrução do código.

Escalonamento Preemptivo

  • O SO pode interromper processos em execução, movendo-os para o estado de "pronto".
  • Aloca outro processo para uso da CPU.

Escalonamento First-In-First-Out (FIFO)

  • Também é conhecido como First-Come-First-Served (FCFS).
  • O primeiro processo na fila de prontos é o primeiro a ser executado, de forma não-preemptiva.
  • A impossibilidade de prever o início da execução é um problema.

Escalonamento SJF (Shortest-Job-First) e SRT (Shortest Remaining Time)

  • O SJF seleciona o processo com o menor tempo de processador para executar, ele é não preemptivo.
  • O SRT realiza a preempção dos processos em execução por processos com menor tempo de processamento.

Escalonamento Cooperativo

  • Aumenta a capacidade de executar múltiplos processos, especialmente em políticas não-preemptivas como FIFO e SJF.
  • Um processo libera o processador voluntariamente e retorna à fila de espera.

Escalonamento Circular (Round Robin)

  • É semelhante ao FIFO.
  • Trabalha com fatias de tempo (time-slice) ou quantum de uso do processador.
  • A preempção ocorre por tempo.
  • A vantagem é que não permite que um processo monopolize a CPU.
  • Fatias de tempo muito pequenas levam a preempções excessivas, mudança de contexto e aumento do tempo de resposta.

Escalonamento por Prioridades

  • Baseado em um valor associado a cada processo, ele sendo preemptivo.
  • Processos com maior prioridade são escalonados primeiro.
  • Processos com mesma prioridade seguem o critério FIFO.
  • Ocorre preempção por interrupção de clock.
  • A starvation (inação) se caracteriza como problema: um processo nunca é executado por ser de menor prioridade.
  • A técnica de aging aumenta gradualmente a prioridade para mitigar a inanição.

Escalonamento Circular por Prioridades

  • Baseado em fatia de tempo e prioridade para execução.
  • Permite balancear do uso da CPU em sistemas "time-sharing".

Escalonamento por Múltiplas Filas

  • Utiliza diversas filas de processos em estado de "pronto", cada uma com prioridades específicas.
  • As filas são divididas por importância, tipo de processamento ou área de memória necessária.
  • O SO só executa processos de uma fila se todas as filas de maior prioridade estiverem vazias.
  • Uma vantagem é a convivência de mecanismos variados no mesmo SO.
  • Uma desvantagem é a impossibilidade de realocar um processo para outra fila se seu comportamento mudar.

Escalonamento por Múltiplas Filas com Realimentação

  • Processos podem trocar de filas durante seu processamento.
  • Utiliza um mecanismo FIFO adaptado, exceto na fila de menor prioridade, que usa escalonamento circular.
  • O escalonamento em uma fila só acontece com as outras filas vazias.
  • Para fatias de tempo, prioridade da fila é inversamente proporcional a fatia de tempo.

Gerência de Processos

  • Possibilita aos programas alocação de recursos, compartilhamento de dados, troca de informações e sincronização da execução.
  • Um programa em execução sempre estará associado a um processo.

Sistemas Multiprogramáveis

  • Um único processador executa vários processos de forma concorrente.
  • Eles compartilham recursos como CPU, memória e E/S.

Sistemas com Múltiplos Processadores

  • Vários processadores executam processos simultaneamente.

Estrutura do Processo

  • O processador executa ciclos de busca e instruções, busca a instrução na memória, armazena no registrador IR, decodifica bits e executa.
  • Cabe ao SO implementar a concorrência entre programas.

Processo - Conceitos

  • Um processo é um programa em execução para que o SO implemente a concorrência.
  • É a troca de um processo por outro no processador por meio do SO.

Composição do Processo

  • Um processo é formado por: contexto de hardware, software e espaço de endereçamento.

Contexto de Hardware

  • Armazena o conteúdo dos registradores do processo em execução.
  • Os registradores incluem os de uso geral e os específicos: (PC - Program Counter, SP - Stack Pointer, Status).

Contexto de Software

  • Determina os limites e as características dos recursos que podem ser alocados ao processo.
  • Limita o número de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer para E/S.
  • Determinação de informações de identificação, quotas e previlégios ou direitos.

Espaço de Endereçamento

  • Área de memória pertencente ao processo utilizada para armazenar instruções e dados; cada processo tem seu próprio espaço.

Bloco de Controle de Processo (PCB)

  • É uma estrutura de dados implementada pelo S.O.
  • Armazena o contexto de hardware, software e espaço de endereçamento dos processos e contém os PCBs dos processos ativos ficam na memória principal.
  • O SO localiza as informações do PCB por meio de uma tabela de processos.

Processos Independentes, Subprocessos e Threads

  • Processos independentes, subprocessos e threads são formas diferentes de se implementar concorrência.
  • São formas de implementar concorrência em uma aplicação.
  • A divisão de código dos processos independentes permite compartilhamento.
  • Processos independentes possuem seu próprio PCB com contexto de hardware, software e espaço de endereçamentos.

Subprocessos

  • São criados dentro de uma estrutura hierárquica.
  • O processo criador é chamado processo-pai, e os outros são subprocessos ou processo-filho.
  • Um subprocesso pode criar outros subprocessos, de forma que há dependência entre o processo criador e o subprocesso.

Processos Independentes e Subprocessos

  • A criação de processos independentes e subprocessos gera consumo de diversos recursos do sistema.
  • Os recursos consumidos são alocados e desalocados.

Thread

  • Um conceito criado para reduzir os tempos de criação, eliminação e troca de contextos de processos.
  • Possuem contexto simplificado (hardware e software), mas compartilham o espaço de endereçamento,
  • Se compartilham espaço, não existe proteção no acesso à memória e uma thread pode alterar dados outras threads.

Ambientes

  • Ambientes monothread suportam apenas uma única thread em execução.
  • Ambientes multithread suportam um único processo, múltiplos threads.
  • Existe uma parte do código da aplicação associada a cada thread.

Implementação de Threads

  • Existem três tipos: Modo Usuário (TMU), Modo Kernel (TMK) e Modo Híbrido.

Threads Modo Usuário (TMU)

  • A implementação é feita pela aplicação, não pelo SO.
  • São rápidos e eficientes por não acessarem o kernel.

Threads Modo Kernel (TMK)

  • A implementação é feita diretamente pelo núcleo (kernel) do SO.

Threads Modo Híbrido

  • Combina implementações de threads em modo usuário e modo kernel.
  • O núcleo reconhece os TMKs e pode escaloná-los individualmente.
  • Um TMU pode ser executado em um TMK em um momento e em outro em outro momento.

Comunicação entre Processos

  • Aplicações concorrentes compartilham recursos do sistema incluindo arquivos, registro, dispositivos.
  • Interprocess Communication (IPC) envolve comunicação.
  • A comunicação ocorre por mecanismos como variáveis em memória ou troca de mensagens.
  • O objetivo é garantir integridade e confiabilidade em aplicações concorrentes.

Condição de Corrida

  • Conjunto de eventos gerando resultados não determinísticos.
  • Quando dois ou mais processos leem ou gravam dados compartilhados e a ordem de execução afeta o resultado final.

Região Crítica ou Seção Crítica

  • É uma parte do código onde a memória compartilhada é acessada.
  • É necessário garantir exclusão mútua para permitir que um processo tenha acesso à região crítica por vez.
  • Um processo deve aguardar a exclusividade.

Deadlock (Impasse)

  • Sistemas computacionais usam recursos de uso exclusivo.
  • O SO concede temporariamente acesso exclusivo.
  • Um deadlock existe quando dois ou mais processos entram em impasse aguardando por um recurso indisponível.

Condições Necessárias para o Deadlock

  • Quatro condições devem estar presentes simultaneamente: exclusão mútua, posse e espera, não preempção, espera circular.

Deadlock – Prevenção

  • Soluções incluem usar spool, requisitar todos os recursos necessários inicialmente, retomar recursos alocados e forçar ter apenas um recurso por vez.

Deadlock - Tratamento

  • O algorítimo da Avestruz ignora o problema.
  • Detecção e Recuperação envolve monitoramento de requisições e mortes de processos se houver ciclos.
  • O algorítimo do banqueiro envolve informar informações e estados de alocação de recursos.

Starvation (Inanição)

  • Um processo não ser executado por processos de alta performance estarem sendo executados.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

CPU Scheduling Algorithms Quiz
15 questions
CPU Scheduling Algorithms
14 questions

CPU Scheduling Algorithms

ImaginativePortland9036 avatar
ImaginativePortland9036
Round Robin Scheduling Algorithm
13 questions
Use Quizgecko on...
Browser
Browser