Podcast
Questions and Answers
Qual das seguintes informações não é salvaguardada na Process Table quando um processo perde a CPU?
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?
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?
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?
Qual é uma característica que difere processos de threads?
Qual informação é armazenada sobre um processo na Process Table?
Qual informação é armazenada sobre um processo na Process Table?
O que a chamada ao sistema exit(...) faz em um processo?
O que a chamada ao sistema exit(...) faz em um processo?
Qual dos seguintes segmentos não está relacionado à gestão de memória na Process Table?
Qual dos seguintes segmentos não está relacionado à gestão de memória na Process Table?
Em um sistema Windows, qual função é utilizada para terminar um processo de forma não voluntária?
Em um sistema Windows, qual função é utilizada para terminar um processo de forma não voluntária?
Qual é a principal limitação do algoritmo First-Come, First-Served (FIFO)?
Qual é a principal limitação do algoritmo First-Come, First-Served (FIFO)?
No algoritmo Round-Robin, o que acontece quando o quantum de tempo se esgota?
No algoritmo Round-Robin, o que acontece quando o quantum de tempo se esgota?
Qual afirmação é verdadeira sobre o impacto do dimensionamento do quantum no desempenho do sistema Round-Robin?
Qual afirmação é verdadeira sobre o impacto do dimensionamento do quantum no desempenho do sistema Round-Robin?
Qual dos seguintes algoritmos é considerado muito simples e útil para sistemas batch?
Qual dos seguintes algoritmos é considerado muito simples e útil para sistemas batch?
Por que o algoritmo Round-Robin é preferido para interatividade?
Por que o algoritmo Round-Robin é preferido para interatividade?
Qual é a função dos semáforos no problema do consumidor e produtor?
Qual é a função dos semáforos no problema do consumidor e produtor?
Qual deve ser o estado inicial do semáforo 'Livres'?
Qual deve ser o estado inicial do semáforo 'Livres'?
O que pode acontecer se a ordem dos DOWNs for trocada no código apresentado?
O que pode acontecer se a ordem dos DOWNs for trocada no código apresentado?
Qual é a definição de deadlock?
Qual é a definição de deadlock?
O que acontece quando o consumidor tenta extrair um elemento de um buffer vazio?
O que acontece quando o consumidor tenta extrair um elemento de um buffer vazio?
Qual é o propósito da inicialização do semáforo 'Ocups'?
Qual é o propósito da inicialização do semáforo 'Ocups'?
Qual é a consequência de dois processos chamarem DOWN nos mesmos semáforos ao mesmo tempo?
Qual é a consequência de dois processos chamarem DOWN nos mesmos semáforos ao mesmo tempo?
Qual é a função da operação UP nos semáforos dentro do contexto do problema do consumidor e produtor?
Qual é a função da operação UP nos semáforos dentro do contexto do problema do consumidor e produtor?
Qual é a principal diferença entre um processo e um programa?
Qual é a principal diferença entre um processo e um programa?
O que caracteriza o pseudo-paralelismo em sistemas multi-programados?
O que caracteriza o pseudo-paralelismo em sistemas multi-programados?
Qual é a função do sequenciador de processos no sistema operativo?
Qual é a função do sequenciador de processos no sistema operativo?
Qual é a principal diferença entre o modelo clássico e o modelo atual de threads?
Qual é a principal diferença entre o modelo clássico e o modelo atual de threads?
Quais das seguintes afirmações sobre concorrência e cooperação são verdadeiras?
Quais das seguintes afirmações sobre concorrência e cooperação são verdadeiras?
O que não deve ser assumido em relação à ordem de comutação do processador?
O que não deve ser assumido em relação à ordem de comutação do processador?
Em um servidor web, qual é a função da thread 'dispatcher'?
Em um servidor web, qual é a função da thread 'dispatcher'?
Em um sistema multi-programado com um único processador, o que é verdade sobre a execução dos processos?
Em um sistema multi-programado com um único processador, o que é verdade sobre a execução dos processos?
O que é IPC (InterProcess Communication)?
O que é IPC (InterProcess Communication)?
Por que a exclusão mútua é importante em regiões críticas?
Por que a exclusão mútua é importante em regiões críticas?
Qual é a responsabilidade do sistema operativo em relação aos processos?
Qual é a responsabilidade do sistema operativo em relação aos processos?
O que ocorre quando um processo é interrompido em um sistema multi-programado?
O que ocorre quando um processo é interrompido em um sistema multi-programado?
Qual das opções é um exemplo de utilização de threads em um processador de texto?
Qual das opções é um exemplo de utilização de threads em um processador de texto?
Quais são os mecanismos desejáveis que um sistema operacional deve incluir para a programação concorrente?
Quais são os mecanismos desejáveis que um sistema operacional deve incluir para a programação concorrente?
O que caracteriza uma thread em um processo?
O que caracteriza uma thread em um processo?
Como a programação concorrente pode beneficiar a elaboração de tarefas?
Como a programação concorrente pode beneficiar a elaboração de tarefas?
Qual é a principal característica do mutex em comparação com um semáforo?
Qual é a principal característica do mutex em comparação com um semáforo?
Como funcionam as barreiras em sistemas multiprocessador?
Como funcionam as barreiras em sistemas multiprocessador?
Qual é a função principal dos monitores na programação concorrente?
Qual é a função principal dos monitores na programação concorrente?
Qual é o principal desafio da comunicação baseada em arquivos?
Qual é o principal desafio da comunicação baseada em arquivos?
Qual é a diferença chave entre comunicação síncrona e assíncrona?
Qual é a diferença chave entre comunicação síncrona e assíncrona?
O que caracteriza as filas de mensagens (mailboxes) na comunicação entre processos?
O que caracteriza as filas de mensagens (mailboxes) na comunicação entre processos?
Qual é uma limitação dos pipes half-duplex?
Qual é uma limitação dos pipes half-duplex?
O que caracteriza o pipe nomeado (FIFO) em relação ao pipe half-duplex?
O que caracteriza o pipe nomeado (FIFO) em relação ao pipe half-duplex?
Qual é um dos principais mecanismos de comunicação disponíveis no Linux?
Qual é um dos principais mecanismos de comunicação disponíveis no Linux?
Qual mecanismo de comunicação é considerado lento e trivial?
Qual mecanismo de comunicação é considerado lento e trivial?
O que acontece com um processo em comunicação síncrona?
O que acontece com um processo em comunicação síncrona?
Qual é uma característica da memória partilhada entre processos?
Qual é uma característica da memória partilhada entre processos?
Qual é a função da chamada ao sistema 'pipe(.)'?
Qual é a função da chamada ao sistema 'pipe(.)'?
O que acontece com a chamada 'read(.)' quando o pipe está vazio?
O que acontece com a chamada 'read(.)' quando o pipe está vazio?
Qual é uma função dos semáforos na sincronização de processos?
Qual é uma função dos semáforos na sincronização de processos?
Flashcards
O que é um processo?
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?
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?
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?
O que é pseudo-paralelismo?
Signup and view all the flashcards
Por que a ordem de execução dos processos não é determinística?
Por que a ordem de execução dos processos não é determinística?
Signup and view all the flashcards
O que é o sequenciador de processos?
O que é o sequenciador de processos?
Signup and view all the flashcards
Como os processos interagem em um sistema multi-programado?
Como os processos interagem em um sistema multi-programado?
Signup and view all the flashcards
O que é concorrência?
O que é concorrência?
Signup and view all the flashcards
Process Table e Mudança de Estado
Process Table e Mudança de Estado
Signup and view all the flashcards
O que é a Process Table?
O que é a Process Table?
Signup and view all the flashcards
O que é o PID (Process ID)?
O que é o PID (Process ID)?
Signup and view all the flashcards
O que é o PPID (Parent Process ID)?
O que é o PPID (Parent Process ID)?
Signup and view all the flashcards
O que é um processo pai?
O que é um processo pai?
Signup and view all the flashcards
O que é um processo filho?
O que é um processo filho?
Signup and view all the flashcards
Como criar um novo processo em Linux?
Como criar um novo processo em Linux?
Signup and view all the flashcards
Como finalizar um processo em Linux?
Como finalizar um processo em Linux?
Signup and view all the flashcards
Threads no Modelo Atual
Threads no Modelo Atual
Signup and view all the flashcards
Região Crítica
Região Crítica
Signup and view all the flashcards
Exclusão Mútua
Exclusão Mútua
Signup and view all the flashcards
Mecanismos de Comunicação entre Processos
Mecanismos de Comunicação entre Processos
Signup and view all the flashcards
Mecanismos de Sincronização
Mecanismos de Sincronização
Signup and view all the flashcards
Comunicação por Mensagens
Comunicação por Mensagens
Signup and view all the flashcards
Condições de corrida (Buffer Cheio/Vazio)
Condições de corrida (Buffer Cheio/Vazio)
Signup and view all the flashcards
Semáforos
Semáforos
Signup and view all the flashcards
Deadlock
Deadlock
Signup and view all the flashcards
Deadlock por ordem de aquisição
Deadlock por ordem de aquisição
Signup and view all the flashcards
prevenção de deadlocks
prevenção de deadlocks
Signup and view all the flashcards
Detecção de Deadlocks
Detecção de Deadlocks
Signup and view all the flashcards
Problema Produtor-Consumidor
Problema Produtor-Consumidor
Signup and view all the flashcards
FIFO (First-In, First-Out)
FIFO (First-In, First-Out)
Signup and view all the flashcards
Round-Robin
Round-Robin
Signup and view all the flashcards
Quantum no Round-Robin
Quantum no Round-Robin
Signup and view all the flashcards
FIFO em Sistemas Batch
FIFO em Sistemas Batch
Signup and view all the flashcards
Round-Robin em Sistemas Interativos
Round-Robin em Sistemas Interativos
Signup and view all the flashcards
Mutex
Mutex
Signup and view all the flashcards
Barreira
Barreira
Signup and view all the flashcards
Monitor
Monitor
Signup and view all the flashcards
Modelo de Comunicação por Mensagens
Modelo de Comunicação por Mensagens
Signup and view all the flashcards
Comunicação por Ficheiro
Comunicação por Ficheiro
Signup and view all the flashcards
Memória Partilhada
Memória Partilhada
Signup and view all the flashcards
Caixa de Correio (Fila de Mensagens)
Caixa de Correio (Fila de Mensagens)
Signup and view all the flashcards
Comunicação Síncrona (Rendez-vous)
Comunicação Síncrona (Rendez-vous)
Signup and view all the flashcards
Pipes Half-duplex
Pipes Half-duplex
Signup and view all the flashcards
Named Pipes (FIFOS)
Named Pipes (FIFOS)
Signup and view all the flashcards
IPC (Inter-Process Communication) no Linux
IPC (Inter-Process Communication) no Linux
Signup and view all the flashcards
Sockets
Sockets
Signup and view all the flashcards
fork()
fork()
Signup and view all the flashcards
exit()
exit()
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.
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.