Quiz sobre Gerenciamento de Processos em Sistemas Operacionais
52 Questions
2 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual das seguintes informações não é salvaguardada na Process Table quando um processo perde a CPU?

  • Tempo de CPU utilizado pelo processo
  • Estado do processo
  • Segurança da informação do utilizador (correct)
  • Conteúdo dos registos da CPU

Em um sistema LINUX, qual comando é utilizado para visualizar a hierarquia dos processos?

  • top
  • ps
  • pstree (correct)
  • kill

Qual das seguintes opções não é uma chamada ao sistema em LINUX?

  • exit(...)
  • fork()
  • kill(...)
  • CreateProcess(...) (correct)

Qual é uma característica que difere processos de threads?

<p>Processos podem ser compostos de várias threads (C)</p> Signup and view all the answers

Qual informação é armazenada sobre um processo na Process Table?

<p>Identificação do utilizador que lançou o processo (B)</p> Signup and view all the answers

O que a chamada ao sistema exit(...) faz em um processo?

<p>Termina o processo em execução (C)</p> Signup and view all the answers

Qual dos seguintes segmentos não está relacionado à gestão de memória na Process Table?

<p>Segmento de impressão (D)</p> Signup and view all the answers

Em um sistema Windows, qual função é utilizada para terminar um processo de forma não voluntária?

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

Qual é a principal limitação do algoritmo First-Come, First-Served (FIFO)?

<p>É incapaz de lidar com processos interativos. (C)</p> Signup and view all the answers

No algoritmo Round-Robin, o que acontece quando o quantum de tempo se esgota?

<p>O processo é colocado no fim da fila de processos executáveis. (C)</p> Signup and view all the answers

Qual afirmação é verdadeira sobre o impacto do dimensionamento do quantum no desempenho do sistema Round-Robin?

<p>Um quantum grande pode levar à perda de interatividade. (B)</p> Signup and view all the answers

Qual dos seguintes algoritmos é considerado muito simples e útil para sistemas batch?

<p>First-Come, First-Served (D)</p> Signup and view all the answers

Por que o algoritmo Round-Robin é preferido para interatividade?

<p>Porque dá a todos os processos um acesso igual ao CPU. (D)</p> Signup and view all the answers

Qual é a função dos semáforos no problema do consumidor e produtor?

<p>Eles sincronizam o acesso ao buffer para evitar condições de corrida. (C)</p> Signup and view all the answers

Qual deve ser o estado inicial do semáforo 'Livres'?

<p>N (B)</p> Signup and view all the answers

O que pode acontecer se a ordem dos DOWNs for trocada no código apresentado?

<p>Provocar uma situação de deadlock. (A)</p> Signup and view all the answers

Qual é a definição de deadlock?

<p>Um conjunto de processos bloqueados, cada um esperando por um sinal de outro processo do mesmo conjunto. (B)</p> Signup and view all the answers

O que acontece quando o consumidor tenta extrair um elemento de um buffer vazio?

<p>O consumidor é bloqueado até que um elemento esteja disponível. (D)</p> Signup and view all the answers

Qual é o propósito da inicialização do semáforo 'Ocups'?

<p>Contador de quantos itens estão atualmente em uso no buffer. (B)</p> Signup and view all the answers

Qual é a consequência de dois processos chamarem DOWN nos mesmos semáforos ao mesmo tempo?

<p>Ocorre uma situação de deadlock, se a ordem de chamadas não for adequada. (D)</p> Signup and view all the answers

Qual é a função da operação UP nos semáforos dentro do contexto do problema do consumidor e produtor?

<p>Aumentar a contagem do semáforo para sinalizar que um recurso foi liberado. (C)</p> Signup and view all the answers

Qual é a principal diferença entre um processo e um programa?

<p>Um programa é uma sequência de instruções que não tem atividade própria. (A)</p> Signup and view all the answers

O que caracteriza o pseudo-paralelismo em sistemas multi-programados?

<p>A impressão de que vários processos estão ativos simultaneamente, quando na realidade apenas um utiliza o processador de cada vez. (D)</p> Signup and view all the answers

Qual é a função do sequenciador de processos no sistema operativo?

<p>Escolher qual processo utilizará o processador após uma comutação. (A)</p> Signup and view all the answers

Qual é a principal diferença entre o modelo clássico e o modelo atual de threads?

<p>No modelo atual, cada processo pode ter várias threads. (A)</p> Signup and view all the answers

Quais das seguintes afirmações sobre concorrência e cooperação são verdadeiras?

<p>Processos concorrentes competem entre si pela atenção do processador. (B)</p> Signup and view all the answers

O que não deve ser assumido em relação à ordem de comutação do processador?

<p>Os processos são comutados em uma sequência fixa. (C)</p> Signup and view all the answers

Em um servidor web, qual é a função da thread 'dispatcher'?

<p>Iniciar uma thread 'worker' quando um pedido de página chega. (B)</p> Signup and view all the answers

Em um sistema multi-programado com um único processador, o que é verdade sobre a execução dos processos?

<p>A gestão do CPU permite que processos individuais sejam intercalados na utilização do processador. (B)</p> Signup and view all the answers

O que é IPC (InterProcess Communication)?

<p>Um conjunto de técnicas para permitir a comunicação entre processos. (C)</p> Signup and view all the answers

Por que a exclusão mútua é importante em regiões críticas?

<p>Para garantir que um recurso não seja acessado simultaneamente por processos diferentes. (B)</p> Signup and view all the answers

Qual é a responsabilidade do sistema operativo em relação aos processos?

<p>Controlar a execução e o contexto de cada processo ativo. (C)</p> Signup and view all the answers

O que ocorre quando um processo é interrompido em um sistema multi-programado?

<p>A execução do processo é suspensa até que ele seja novamente acionado pelo sistema operativo. (B)</p> Signup and view all the answers

Qual das opções é um exemplo de utilização de threads em um processador de texto?

<p>Salvar o documento automaticamente. (D)</p> Signup and view all the answers

Quais são os mecanismos desejáveis que um sistema operacional deve incluir para a programação concorrente?

<p>Mecanismos de sincronização e comunicação. (D)</p> Signup and view all the answers

O que caracteriza uma thread em um processo?

<p>Cada thread possui seu próprio estado e stack. (C)</p> Signup and view all the answers

Como a programação concorrente pode beneficiar a elaboração de tarefas?

<p>Facilita a execução simultânea de várias tarefas. (D)</p> Signup and view all the answers

Qual é a principal característica do mutex em comparação com um semáforo?

<p>É um mecanismo de controle de concorrência que assume apenas os valores 0 e 1. (C)</p> Signup and view all the answers

Como funcionam as barreiras em sistemas multiprocessador?

<p>Impedem processos de avançar até que todos tenham completado a fase atual. (D)</p> Signup and view all the answers

Qual é a função principal dos monitores na programação concorrente?

<p>Simplificar a programação concorrente ao gerenciar as regiões críticas. (C)</p> Signup and view all the answers

Qual é o principal desafio da comunicação baseada em arquivos?

<p>Possui muitas limitações e é uma forma trivial. (A)</p> Signup and view all the answers

Qual é a diferença chave entre comunicação síncrona e assíncrona?

<p>A comunicação síncrona envolve o bloqueio do emissor até que a mensagem seja recebida. (A)</p> Signup and view all the answers

O que caracteriza as filas de mensagens (mailboxes) na comunicação entre processos?

<p>Cada mensagem pode ter um tipo associado, facilitando o acesso. (D)</p> Signup and view all the answers

Qual é uma limitação dos pipes half-duplex?

<p>Só podem ser utilizados entre processos relacionados hierarquicamente. (D)</p> Signup and view all the answers

O que caracteriza o pipe nomeado (FIFO) em relação ao pipe half-duplex?

<p>Baseia-se em um canal de comunicação em um arquivo especial. (D)</p> Signup and view all the answers

Qual é um dos principais mecanismos de comunicação disponíveis no Linux?

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

Qual mecanismo de comunicação é considerado lento e trivial?

<p>Comunicação via arquivo. (B)</p> Signup and view all the answers

O que acontece com um processo em comunicação síncrona?

<p>Ele bloqueia até que a resposta seja recebida. (B)</p> Signup and view all the answers

Qual é uma característica da memória partilhada entre processos?

<p>É rápida, porém sem mecanismos de sincronização. (C)</p> Signup and view all the answers

Qual é a função da chamada ao sistema 'pipe(.)'?

<p>Criar um pipe. (C)</p> Signup and view all the answers

O que acontece com a chamada 'read(.)' quando o pipe está vazio?

<p>Bloqueia até que dados estejam disponíveis. (D)</p> Signup and view all the answers

Qual é uma função dos semáforos na sincronização de processos?

<p>Controlar o acesso a recursos compartilhados. (C)</p> Signup and view all the answers

Flashcards

O que é um processo?

Uma entidade ativa que executa um programa e possui seu próprio espaço de endereçamento. Os sistemas operativos gerenciam os processos por meio de estruturas de dados especiais, conhecidas como "process tables", contendo informações sobre o contexto de execução de cada processo. Inclusive, o próprio sistema operacional consiste em um conjunto de processos.

O que é um programa?

Uma sequência de instruções sem atividade própria. Não deve ser confundido com um processo.

O que é multi-programação?

Permite que vários processos estejam ativos simultaneamente, mesmo em um sistema com apenas um processador. Cada processo utiliza o processador por um tempo determinado, dando a ilusão de que vários processos estão executando em paralelo.

O que é pseudo-paralelismo?

A capacidade de vários processos compartilharem um único processador, cada um executando por um período de tempo. Isso permite que vários processos sejam executados simultaneamente, mesmo que um único processador esteja disponível.

Signup and view all the flashcards

Por que a ordem de execução dos processos não é determinística?

A ordem em que o processador alterna entre os processos não é previsível, devido a interrupções, falta de recursos e entrada de processos com alta prioridade.

Signup and view all the flashcards

O que é o sequenciador de processos?

O componente do sistema operacional que escolhe o próximo processo a ser executado pelo processador após uma comutação de contexto.

Signup and view all the flashcards

Como os processos interagem em um sistema multi-programado?

Os processos competem entre si para utilizar o processador, mas também podem colaborar na realização de tarefas mais complexas.

Signup and view all the flashcards

O que é concorrência?

A capacidade de vários processos compartilharem recursos do sistema, como a memória principal, e interagirem entre si, o que pode levar à competição ou à cooperação.

Signup and view all the flashcards

Process Table e Mudança de Estado

Cada vez que um processo muda de estado, o sistema operacional salva e atualiza informações relevantes na Process Table do processo que perdeu a CPU. Essa informação inclui informações essenciais como o conteúdo dos registradores da CPU, o estado do processo, a prioridade do processo, entre outros detalhes.

Signup and view all the flashcards

O que é a Process Table?

A Process Table armazena várias informações sobre cada processo em execução. Essas informações ajudam o sistema operacional a gerenciar os processos de forma eficiente, permitindo a troca entre eles.

Signup and view all the flashcards

O que é o PID (Process ID)?

O ID do processo (PID) é um número exclusivo associado a cada processo em execução em um sistema. Ele identifica cada processo de forma única, facilitando o acesso e controle do sistema operacional.

Signup and view all the flashcards

O que é o PPID (Parent Process ID)?

O PPID (Parent Process ID) é um número que identifica o processo pai, ou seja, o processo que criou um determinado processo. Isso permite organização e controle na hierarquia dos processos.

Signup and view all the flashcards

O que é um processo pai?

O processo pai é aquele que cria um novo processo, conhecido como processo filho. Essa relação parental se torna importante para controle e gerenciamento de recursos.

Signup and view all the flashcards

O que é um processo filho?

O processo filho é aquele que é criado a partir de um processo pai. Ele recebe recursos e informações do seu pai, e geralmente herda parte de suas características.

Signup and view all the flashcards

Como criar um novo processo em Linux?

A chamada ao sistema 'fork()' é usada em Linux para criar um novo processo. O processo criado é um clone exato do processo que chamou 'fork()', mas com um PID diferente.

Signup and view all the flashcards

Como finalizar um processo em Linux?

A chamada ao sistema 'exit()' é usada para finalizar um processo em Linux após a conclusão da sua execução. O processo entrega os recursos que estava usando para o sistema.

Signup and view all the flashcards

Threads no Modelo Atual

Um modelo de programação onde vários processos compartilham os mesmos recursos do sistema, como memória e unidades de E/S.

Signup and view all the flashcards

Região Crítica

Uma seção de código que pode ser acessada por mais de um processo ao mesmo tempo. Essa seção pode conter dados compartilhados, e o acesso a ela precisa ser cuidadosamente sincronizado para evitar problemas de integridade de dados.

Signup and view all the flashcards

Exclusão Mútua

Um mecanismo que garante que apenas um processo por vez pode acessar uma região crítica, garantindo a integridade de dados e a coerência do estado do sistema.

Signup and view all the flashcards

Mecanismos de Comunicação entre Processos

Permite que processos diferentes troquem informações entre si, seja em forma de mensagens ou compartilhamento de memória. Isso permite que os processos coordenem suas ações e compartilhem informações importantes.

Signup and view all the flashcards

Mecanismos de Sincronização

Um método que ajuda a garantir que os processos acessam os recursos compartilhados em uma ordem específica, evitando conflitos e garantindo a integridade dos dados.

Signup and view all the flashcards

Comunicação por Mensagens

Um tipo de mecanismo de comunicação entre processos que permite que os processos troquem informações através de mensagens. As mensagens podem ser simples mensagens de texto, dados binários ou objetos complexos.

Signup and view all the flashcards

Condições de corrida (Buffer Cheio/Vazio)

Ocorre quando um consumidor tenta remover um item de um buffer vazio, ou um produtor tenta adicionar um item a um buffer cheio. Não há bloqueio, o processo continua executando.

Signup and view all the flashcards

Semáforos

Uma ferramenta de sincronização que permite controlar o acesso a recursos compartilhados. Pode ser usado para garantir a exclusão mútua, evitando que vários processos acessem recursos ao mesmo tempo.

Signup and view all the flashcards

Deadlock

Em um sistema multitarefa, um deadlock ocorre quando dois ou mais processos ficam bloqueados indefinidamente, cada um esperando que o outro termine uma operação antes de continuar.

Signup and view all the flashcards

Deadlock por ordem de aquisição

Um deadlock pode ocorrer quando dois processos tentam adquirir recursos na ordem inversa um do outro. Por exemplo, o processo A tenta adquirir X, depois Y, enquanto o processo B tenta adquirir Y, depois X.

Signup and view all the flashcards

prevenção de deadlocks

Para evitar deadlocks, é importante assegurar que os processos acquiram recursos de forma ordenada, evitando que dois processos esperem um pelo outro em um loop infinito.

Signup and view all the flashcards

Detecção de Deadlocks

O sistema operacional pode detectar um deadlock e tentar resolvê-lo, liberando recursos, abortando processos ou forçando os processos a compartilhar recursos.

Signup and view all the flashcards

Problema Produtor-Consumidor

Em sistemas operacionais, o problema do produtor-consumidor descreve a interação entre dois tipos de processos, produtores e consumidores, que compartilham um buffer de dados.

Signup and view all the flashcards

FIFO (First-In, First-Out)

O algoritmo FIFO (First-In, First-Out) é uma abordagem básica de sequenciamento que atribui o processador aos processos na ordem em que eles chegam. Cada processo mantém o controle do processador até terminar sua execução ou até que seja bloqueado devido a uma operação de E/S (Entrada/Saída).

Signup and view all the flashcards

Round-Robin

O algoritmo Round-Robin é um método de sequenciamento que distribui o tempo do processador igualmente entre os processos. Cada processo recebe um quantum de tempo definido, após o qual é movido para o final da fila de processos executáveis. Isso permite a troca constante entre processos, garantindo que todos recebam uma fatia do tempo do processador.

Signup and view all the flashcards

Quantum no Round-Robin

O algoritmo Round-Robin oferece flexibilidade através do ajuste do quantum de tempo. Quantum pequeno permite maior interatividade, mas pode reduzir a eficiência do processador, enquanto um quantum grande maximiza a eficiência do processador, mas pode diminuir a interatividade.

Signup and view all the flashcards

FIFO em Sistemas Batch

O algoritmo FIFO é adequado para sistemas em lote (batch), onde uma série de tarefas, geralmente independentes, precisam ser processadas sequencialmente, sem interação do usuário.

Signup and view all the flashcards

Round-Robin em Sistemas Interativos

O Round-Robin é frequentemente usado em sistemas interativos para fornecer melhor resposta e desempenho para os usuários, garantindo que todos os processos tenham uma chance regular de executar.

Signup and view all the flashcards

Mutex

Um mecanismo de sincronização que permite apenas um processo em uma seção crítica de código, bloqueando outros que tentam acessá-la até que o processo atual termine.

Signup and view all the flashcards

Barreira

Um mecanismo de sincronização usado em arquiteturas multiprocessador para coordenar o processamento em fases. Garante que todos os processos terminem uma fase antes de qualquer um começar a próxima.

Signup and view all the flashcards

Monitor

Um mecanismo de sincronização de alto nível que simplifica a programação concorrente. Define regiões críticas de código dentro de uma rotina especial, a qual garante que somente um processo esteja ativo dentro dela.

Signup and view all the flashcards

Modelo de Comunicação por Mensagens

Um modelo que representa a comunicação entre processos, onde um processo (emissor) envia mensagens para outro (receptor) através de um canal.

Signup and view all the flashcards

Comunicação por Ficheiro

Comunicação entre processos usando um ficheiro. Uma solução simples, mas lenta e com limitações.

Signup and view all the flashcards

Memória Partilhada

Comunicação onde dois ou mais processos compartilham um segmento de memória. Comunicação rápida, mas sem mecansimos de sincronização.

Signup and view all the flashcards

Caixa de Correio (Fila de Mensagens)

Uma estrutura de dados que armazena mensagens entre processos, com capacidade limitada. Permiti a troca de mensagens entre diversos processos e a organização por tipo de mensagem.

Signup and view all the flashcards

Comunicação Síncrona (Rendez-vous)

Comunicação onde o processo que envia uma mensagem aguarda a leitura por outro processo, realizando a troca dos dados diretamente. Uma comunicação mais rápida, mas com perda de eficiência.

Signup and view all the flashcards

Pipes Half-duplex

Um mecanismo de comunicação entre processos no Linux que permite a comunicação unidirecional entre um processo pai e um processo filho.

Signup and view all the flashcards

Named Pipes (FIFOS)

Um tipo de pipe que utiliza um ficheiro especial (FIFO) para comunicação entre processos, permitindo a comunicação através do sistema de ficheiros.

Signup and view all the flashcards

IPC (Inter-Process Communication) no Linux

Um conjunto de mecanismos disponíveis no Linux para comunicação e sincronização de processos, incluindo pipes, memória partilhada, filas de mensagens, sockets e semáforos.

Signup and view all the flashcards

Sockets

Um mecanismo de comunicação que utiliza um endereço único para comunicação entre processos em máquinas diferentes.

Signup and view all the flashcards

fork()

A chamada ao sistema usada em Linux para criar um novo processo (fork). O novo processo é um clone exato do processo que fez a chamada, cada um com seu PID exclusivo.

Signup and view all the flashcards

exit()

A chamada ao sistema usada em Linux para finalizar um processo (exit). O processo libera os recursos que estava usando e termina sua execução.

Signup and view all the flashcards

Study Notes

Conceitos Básicos de Sistemas Operativos

  • Sistemas operativos são softwares que gerenciam os recursos do computador, como processador, memória e dispositivos de entrada/saída.
  • Os sistemas operativos permitem aos usuários e outros programas interagir com o hardware do computador.
  • Um programa é uma sequência de instruções.
  • Um processo é uma entidade ativa, que corresponde a um programa em execução. Cada processo tem um espaço de endereçamento próprio.
  • A gestão de processos é da responsabilidade do sistema operativo, usando estruturas de dados (process tables).
  • O próprio sistema operativo também é um conjunto de vários processos.
  • A multiprogramação permite que vários processos estejam ativos simultaneamente, mesmo com um único processador, criando a ilusão de paralelismo.
  • A comutação do processador entre processos é não determinista, devido a interrupções, falta de recursos e entrada de processos prioritários.
  • Processos podem estar em diferentes estados: execução (running), pronto (ready), bloqueado (blocked).
  • Estados de um processo incluem bloqueado à espera de input, pronto para executar, em execução, e inactivo.
  • A criação de processos pode acontecer na inicialização do sistema, por um utilizador ou criação de outro processo.
  • Processos podem terminar voluntariamente (de forma normal ou por erro) ou involuntariamente (erro durante a execução ou terminados por outro processo).
  • Processos podem ter uma hierarquia (pai/filho), com o pai criando os filhos.
  • A representação de processos no sistema operativo utiliza tabelas de processos (Process Tables) para guardar dados como o contexto de execução, dados da CPU (PC, SP), e estado do processo.
  • A gestão de memória inclui segmentos de texto, dados e pilha (stack).
  • A gestão de ficheiros inclui informações como o diretório atual, diretórios padrão (e.g., /root, /home) e descritores de arquivos abertos.
  • Comandos da shell, como ps e pstree, permitem listar e visualizar processos em Linux.
  • O TaskManager permite visualizar e permitir a terminação de processos no Windows 2000.
  • Thread é uma entidade ativa, pertencente a um processo, que compartilha os mesmos recursos, mas possui seu próprio estado e contador de programa (program counter).
  • Existem modelos clássico e atual de threads.
  • Threads são usadas em processadores de texto, servidores web (dispatcher/worker) para tarefas paralelas.
  • Comunicação entre processos (IPC) é essencial para tarefas complexas, com mecanismos de sincronização e comunicação.
  • Regiões críticas são seções de código onde recursos compartilhados são acessados e mecanismos de exclusão mútua são necessários para o correto funcionamento.
  • Exemplos de regiões críticas incluem filas de impressão, semáforos, e monitores usados para sincronização de threads.
  • Regras para programação concorrente envolvem exclusão mútua, sem permitir que mais de um processo entre em uma região crítica ao mesmo tempo.
  • Mecanismos de sincronização como desativação de interrupções, trincos lógicos (locks), espera ativa, instrução TSL (Test and Set Lock), e Sleep e Wakeup permitem gerenciar acesso concorrente a recursos compartilhados.
  • Existem outros mecanismos como semáforos (operações UP e DOWN), problema do produtor-consumidor, deadlocks (bloqueios mútuos), e mecanismos de nomeação de pipes.
  • Unix e Linux usam IPC (Inter-Process Communication) com mecanismos como pipes, memória partilhada, filas de mensagens.
  • Pipes half-duplex (Unix/Linux) permitem comunicação unidirecional entre pai e processo filho, enquanto "Named Pipes" (FIFOs) utilizam arquivos.
  • Filas de mensagens e chamadas como msgget, msgsnd, e msgrcv no Linux permitem comunicação semelhante a caixa de correio.
  • Memória partilhada no Linux permite a comunicação rápida, mas requer mecanismos de sincronização, com shmget, shmat, e shmdt.
  • Semáforos podem ser mais complexos, mas permitem exclusão mútua, com extensões como semáforos não binários.
  • O sequenciamento de processos (scheduling) envolve algoritmos que determinam qual processo ganha acesso ao processador.
  • Objetivos de sequenciamento incluem justiça, equilíbrio, prioridade, previsibilidade e outros objetivos de maximização de desempenho.
  • Tipos de processos incluem CPU-bound e I/O-bound.
  • Algoritmos de sequenciamento podem ser preemptivos (como round-robin, que é muito usado) ou não preemptivos (esperando por bloqueio ou interrupções para escalar).
  • Escalonamento multifila implementa filas hierárquicas de prioridade.
  • Os sistemas Unix utilizam esquemas de prioridade para cada processo. Cada thread possui "goodness" que o escalonador usa para decidir entre threads.

Studying That Suits You

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

Quiz Team

Related Documents

Description

Teste seus conhecimentos sobre gerenciamento de processos em sistemas operacionais como Linux e Windows. Este quiz aborda questões sobre a Process Table, chamadas de sistema e diferenças entre processos e threads. Ideal para estudantes de computação e profissionais da área que desejam revisar conceitos fundamentais.

More Like This

Operating System Lab Journal 7
10 questions

Operating System Lab Journal 7

DurableChalcedony2267 avatar
DurableChalcedony2267
Processes on a Linux System
32 questions

Processes on a Linux System

FastestGrowingFairy2438 avatar
FastestGrowingFairy2438
Use Quizgecko on...
Browser
Browser