Podcast
Questions and Answers
Qual é um objetivo fundamental da gerência do processador em sistemas multiprogramáveis?
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?
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?
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?
O que é o 'throughput' em uma política de escalonamento?
O que caracteriza o escalonamento 'Não-Preemptivo'?
O que caracteriza o escalonamento 'Não-Preemptivo'?
Qual é a principal característica do algoritmo de escalonamento 'First-Come-First-Served' (FCFS)?
Qual é a principal característica do algoritmo de escalonamento 'First-Come-First-Served' (FCFS)?
Como o escalonamento SJF (Shortest Job First) seleciona o próximo processo a ser executado?
Como o escalonamento SJF (Shortest Job First) seleciona o próximo processo a ser executado?
O que é 'starvation' no contexto de escalonamento de processos?
O que é 'starvation' no contexto de escalonamento de processos?
Qual a principal desvantagem do escalonamento circular (Round Robin) com uma fatia de tempo muito pequena?
Qual a principal desvantagem do escalonamento circular (Round Robin) com uma fatia de tempo muito pequena?
No escalonamento por prioridades, qual critério é usado para determinar qual processo deve ser executado primeiro?
No escalonamento por prioridades, qual critério é usado para determinar qual processo deve ser executado primeiro?
O que é a técnica de 'aging' no contexto de escalonamento por prioridades?
O que é a técnica de 'aging' no contexto de escalonamento por prioridades?
Em um sistema de 'Escalonamento por Múltiplas Filas', qual critério determina a associação de um processo a uma fila?
Em um sistema de 'Escalonamento por Múltiplas Filas', qual critério determina a associação de um processo a uma fila?
Em 'Escalonamento por Múltiplas Filas com Realimentação', quando o escalonamento em uma fila acontece?
Em 'Escalonamento por Múltiplas Filas com Realimentação', quando o escalonamento em uma fila acontece?
Qual dos seguintes NÃO é um benefício fornecido pela gerência de processos?
Qual dos seguintes NÃO é um benefício fornecido pela gerência de processos?
Qual a diferença fundamental entre sistemas multiprogramáveis e sistemas com múltiplos processadores?
Qual a diferença fundamental entre sistemas multiprogramáveis e sistemas com múltiplos processadores?
Qual é a definição de 'mudança de contexto' em termos de gerenciamento de processos?
Qual é a definição de 'mudança de contexto' em termos de gerenciamento de processos?
Quais são as três partes que compõem um processo?
Quais são as três partes que compõem um processo?
Qual é a função do 'contexto de hardware' de um processo?
Qual é a função do 'contexto de hardware' de um processo?
Qual das seguintes opções descreve corretamente a função do 'contexto de software' de um processo?
Qual das seguintes opções descreve corretamente a função do 'contexto de software' de um processo?
Qual componente do contexto de software de um processo é responsável por identificar o usuário que o criou?
Qual componente do contexto de software de um processo é responsável por identificar o usuário que o criou?
O que é o 'espaço de endereçamento' de um processo?
O que é o 'espaço de endereçamento' de um processo?
O que é o 'Process Control Block' (PCB)?
O que é o 'Process Control Block' (PCB)?
Onde residem os PCBs dos processos ativos?
Onde residem os PCBs dos processos ativos?
Qual das alternativas a seguir representa uma característica dos 'Processos Independentes'?
Qual das alternativas a seguir representa uma característica dos 'Processos Independentes'?
O que distingue subprocessos de processos independentes?
O que distingue subprocessos de processos independentes?
Qual das seguintes opções descreve corretamente um ambiente 'monothread'?
Qual das seguintes opções descreve corretamente um ambiente 'monothread'?
Em programação concorrente, o que é uma 'condição de corrida'?
Em programação concorrente, o que é uma 'condição de corrida'?
O que é uma 'região crítica' ou 'seção crítica'?
O que é uma 'região crítica' ou 'seção crítica'?
Qual condição é essencial para garantir a integridade dos dados em uma região crítica?
Qual condição é essencial para garantir a integridade dos dados em uma região crítica?
Quais são as quatro condições necessárias para que ocorra um 'deadlock'?
Quais são as quatro condições necessárias para que ocorra um 'deadlock'?
Qual estratégia de tratamento de deadlock envolve simplesmente ignorar o problema?
Qual estratégia de tratamento de deadlock envolve simplesmente ignorar o problema?
No contexto de gerenciamento de processos, como o 'escalonamento cooperativo' difere do 'escalonamento preemptivo'?
No contexto de gerenciamento de processos, como o 'escalonamento cooperativo' difere do 'escalonamento preemptivo'?
Qual é o propósito principal do algoritmo do banqueiro na prevenção de deadlocks?
Qual é o propósito principal do algoritmo do banqueiro na prevenção de deadlocks?
Qual das seguintes opções descreve a relação entre threads do Modo Usuário (TMU) e o kernel do sistema operacional?
Qual das seguintes opções descreve a relação entre threads do Modo Usuário (TMU) e o kernel do sistema operacional?
Como a implementação de Threads Modo Kernel (TMK) difere das Threads Modo Usuário (TMU)?
Como a implementação de Threads Modo Kernel (TMK) difere das Threads Modo Usuário (TMU)?
O que é 'Interprocess Communication' (IPC)?
O que é 'Interprocess Communication' (IPC)?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
Flashcards
Gerência do Processador
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
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)
Escalonador (Scheduler)
Rotina que implementa a política de escalonamento.
Dispatcher
Dispatcher
Signup and view all the flashcards
Tempo Compartilhado (Time Sharing)
Tempo Compartilhado (Time Sharing)
Signup and view all the flashcards
Tempo Real (Real Time)
Tempo Real (Real Time)
Signup and view all the flashcards
Tempo de Processador (CPU)
Tempo de Processador (CPU)
Signup and view all the flashcards
Tempo de Espera
Tempo de Espera
Signup and view all the flashcards
Tempo de Turnaround
Tempo de Turnaround
Signup and view all the flashcards
Tempo de Resposta
Tempo de Resposta
Signup and view all the flashcards
Escalonamento Preemptivo
Escalonamento Preemptivo
Signup and view all the flashcards
Escalonamento Não-Preemptivo
Escalonamento Não-Preemptivo
Signup and view all the flashcards
First-Come-First-Served (FCFS)
First-Come-First-Served (FCFS)
Signup and view all the flashcards
Shortest-Job-First (SJF)
Shortest-Job-First (SJF)
Signup and view all the flashcards
Escalonamento Cooperativo
Escalonamento Cooperativo
Signup and view all the flashcards
Escalonamento Circular (Round Robin)
Escalonamento Circular (Round Robin)
Signup and view all the flashcards
Escalonamento por Prioridades
Escalonamento por Prioridades
Signup and view all the flashcards
Aging
Aging
Signup and view all the flashcards
Escalonamento Circular por Prioridades
Escalonamento Circular por Prioridades
Signup and view all the flashcards
Escalonamento por Múltiplas Filas
Escalonamento por Múltiplas Filas
Signup and view all the flashcards
Múltiplas Filas com Realimentação
Múltiplas Filas com Realimentação
Signup and view all the flashcards
Processo
Processo
Signup and view all the flashcards
Sistemas Multiprogramáveis
Sistemas Multiprogramáveis
Signup and view all the flashcards
Sistemas com Múltiplos Processadores
Sistemas com Múltiplos Processadores
Signup and view all the flashcards
Funcionamento do Processador
Funcionamento do Processador
Signup and view all the flashcards
Mudança de Contexto
Mudança de Contexto
Signup and view all the flashcards
Contexto de Hardware
Contexto de Hardware
Signup and view all the flashcards
Contexto de Software
Contexto de Software
Signup and view all the flashcards
Informações do Contexto de Software
Informações do Contexto de Software
Signup and view all the flashcards
Espaço de Endereçamento
Espaço de Endereçamento
Signup and view all the flashcards
Process Control Block (PCB)
Process Control Block (PCB)
Signup and view all the flashcards
Processos Independentes, Subprocessos e Threads
Processos Independentes, Subprocessos e Threads
Signup and view all the flashcards
Processos Independentes
Processos Independentes
Signup and view all the flashcards
Subprocessos
Subprocessos
Signup and view all the flashcards
Thread
Thread
Signup and view all the flashcards
Ambientes monothread
Ambientes monothread
Signup and view all the flashcards
Ambientes multithread
Ambientes multithread
Signup and view all the flashcards
Threads Modo Usuário (TMU)
Threads Modo Usuário (TMU)
Signup and view all the flashcards
Threads Modo Kernel (TMK)
Threads Modo Kernel (TMK)
Signup and view all the flashcards
Threads Modo Híbrido
Threads Modo Híbrido
Signup and view all the flashcards
Condição de Corrida
Condição de Corrida
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.