Sistemas Operacionais Flashcards

1
Q
  1. (CEBRASPE/SEDF/2017) Acerca dos princípios de sistemas operacionais, julgue o item a seguir.

A interface entre o sistema operacional e os programas de usuário é definida por um conjunto de instruções estendidas denominadas chamadas de sistema.

A

As chamadas de sistema (system calls) são “instruções estendidas”, abstraindo do programador os detalhes de “baixo nível” e garantindo que o programador não faça alguma “bobagem”.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. (CEBRASPE/ABIN/2018) Julgue o item a seguir, relativo a sistemas operacionais.

O início da execução de um programa provocada pelo usuário leva à criação de processos deamons.

A

Um daemon (“serviço”) é um tipo especial de processo executado em segundo plano, geralmente sem interação direta com o usuário.

O termo daemon tem origem do sistema operacional Unix e representa processos que são iniciados durante o boot do sistema e continuam a ser executados enquanto o sistema está ativo.

Alguns exemplos são o daemon do sistema de impressão (cupsd) e o daemon de agendamento de tarefas (cron).

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. (CEBRASPE/Min. da Economia/2020) Julgue o próximo item, relativos a sistemas operacionais.

O sistema operacional atua como alocador e gerenciador dos recursos que um sistema computacional possui, tais como tempo de CPU, espaço de memória e dispositivos de entrada/saída.

A

De uma forma bem específica, encontramos na literatura especializada quatro tipos de gerenciamento realizados por um S.O.:

● Gerenciamento de processos (unidade básica de trabalho do sistema operacional), o que inclui a sua criação, sua exclusão e o fornecimento de mecanismos para a sua comunicação e sincronização;

● Gerenciamento de memória, controlando que partes da memória estão sendo usadas e por quais processos. Além disso, é responsável pela alocação e liberação dinâmica de seu espaço;

● Gerenciamento de dispositivos de entrada/saída (E/S) ligados ao computador, o que inclui o envio de sinais que informam as ações que o usuário espera que o dispositivo realize, o tratamento das interrupções e erros gerados pelos dispositivos, entre outros;

● Gerenciamento de armazenamento, que inclui o fornecimento do sistema de arquivos para a representação de arquivos e diretórios e o gerenciamento do espaço em dispositivos de armazenamento de dados (HD, SSD, pen drive, entre outros).

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. (FGV/TJ-TO/2022) O journaling é um recurso suportado por alguns sistemas de arquivos e sua função é:

A) replicar os volumes de disco lógico em discos rígidos físicos separados para garantir disponibilidade contínua;

B) segmentar os dados e distribuí-los por diferentes dispositivos de armazenamento físico;

C) registrar metadados acerca das operações feitas nas estruturas de dados e diretórios do sistema de arquivo;

D) fazer cache da deduplicação de dados para reduzir as necessidades de armazenamento;

E) garantir que dados excluídos definitivamente do disco rígido sejam irrecuperáveis.

A

Journaling: técnica usada em sistemas de arquivos (gerenciamento de armazenamento) para melhorar a integridade e recuperação de dados em caso de falhas ou interrupções inesperadas.

É comum em sistemas de arquivos utilizados por sistemas operacionais modernos.

A ideia principal é manter um “jornal” (ou log) que registra as operações que serão realizadas antes de serem efetivamente aplicadas no sistema de arquivos.

Isso ajuda a garantir a consistência dos dados em caso de falhas (falta de energia, panes do sistema etc.).

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. (FCC/DPE-SP/2010) NÃO é uma função do sistema operacional:

A) Permitir aos programas armazenar e obter informações.

B) Controlar o fluxo de dados entre os componentes do computador.

C) Responder a erros e a pedidos do usuário.

D) Impor escalonamento entre programas que solicitam recursos.

E) Gerenciar apenas a base de dados.

A

De uma forma mais ampla, algumas funções do S.O. são:

● Permitir aos programas o armazenamento e a obtenção de informações;

● Controlar o fluxo de dados entre os componentes do computador;

● Responder a erros e a pedidos do usuário.

● Impor o escalonamento entre programas que solicitam recursos (memória, disco, entre outros).

A alternativa E está bem longe de ser uma função do S.O., ainda mais que expressa “APENAS” e ainda uma “BASE DE DADOS” genérica.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. (FCC/TRT16/2014) Um Sistema Operacional (SO) realiza o gerenciamento..I.. , que inclui o fornecimento do sistema de arquivos para a representação de arquivos e diretórios e o gerenciamento do espaço em dispositivos com grande capacidade de armazenamento de dados.

..II.. , que são a unidade básica de trabalho do SO. Isso inclui a sua criação, sua exclusão e o fornecimento de mecanismos para a sua comunicação e sincronização.

..III.. , controlando que partes estão sendo usadas e por quem. Além disso, é responsável pela alocação e liberação dinâmica de seu espaço.

As lacunas I, II e III são, correta e respectivamente, preenchidas por:

A) de armazenamento - de processos - de memória

B) em memória secundária - de serviços - em memória principal

C) de arquivos - de barramentos - de discos

D) de discos - de threads - de cache

E) de I/O - de tempos de CPU - de RAM

A

De uma forma bem específica, encontramos na literatura especializada quatro tipos de gerenciamento realizados por um S.O. (que serão abordados em tópicos específicos nesta aula):

● Gerência de processos (unidade básica de trabalho do sistema operacional), o que inclui a sua criação, sua exclusão e o fornecimento de mecanismos para a sua comunicação e sincronização;

● Gerência de memória, controlando que partes estão sendo usadas e por quem.

Além disso, é responsável pela alocação e liberação dinâmica de seu espaço;

● Gerência de dispositivos de entrada/saída (E/S) ligados ao computador, o que inclui o envio de sinais que informam as ações que o usuário espera que o dispositivo realize, o tratamento das interrupções e erros gerados pelos dispositivos, entre outros;

● Gerência de armazenamento, que inclui o fornecimento do sistema de arquivos para a representação de arquivos e diretórios e o gerenciamento do espaço em dispositivos de armazenamento de dados (HD, SSD, pen drive, entre outros).

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. (FCC/TRF3/2016) Um Técnico Judiciário de TI do TRF3, ao estudar os princípios dos sistemas operacionais, teve sua atenção voltada ao processo que perfaz a interface do usuário com o sistema operacional. Observou que este processo lê o teclado a espera de comandos, interpreta-os e passa seus parâmetros ao sistema operacional. Entendeu, com isto, que serviços como login/logout, manipulação de arquivos e execução de programas são, portanto, solicitados por meio do interpretador de comandos ou

A) Kernel.
B) System Calls.
C) Shell.
D) Cache.
E) Host.

A

Na atualidade é muito comum a utilização de GUI (Graphical User Interface), ou seja, o usuário apenas clica em janelas, ícones, entre outros elementos para interagir com S.O.

Mas ainda existe o shell, um processo que lê o teclado e espera por comandos, interpreta-os e passa seus parâmetros ao S.O.

Por isso também é conhecido como interpretador de comandos.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. (VUNESP/PC-BA/2018) As versões modernas do sistema operacional Windows, como a versão 10, aparentam ao seu usuário que várias tarefas são executadas ao mesmo tempo. Essa característica é conhecida como

A) monotarefa preemptiva.

B) monotarefa sem preempção.

C) multitarefa preemptiva.

D) multitarefa sem preempção.

E) time-sharing sem preempção.

A

Um sistema multitarefa possui a capacidade de executar vários processos simultaneamente.

O sistema operacional divide o tempo do processador (CPU) entre os processos para fornecer a ilusão de execução simultânea.

Importante ressaltar que essa ilusão de execução simultânea só ocorre se o sistema for preemptivo (multitarefa preemptiva), ou seja, se tiver a capacidade de interromper a execução de uma tarefa em andamento para que outra tarefa possa fazer uso do processador.

Dessa forma o escalonamento de processos pode ser realizado, através de algum algoritmo específico.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. (Quadrix/COFECI/2017) O gerenciador de memória é a parte do sistema operacional que gerencia, parcialmente, a hierarquia de memórias.
A

Vamos ver uma figura simples sobre a hierarquia de memória: O gerenciador de memória faz o gerenciamento parcial porque não gerencia a hierarquia completa, como por exemplo a memória secundária.

Para gravar/ler de um HD é necessário que sinais sejam enviados (gerência de E/S) e que o sistema de arquivos entre em ação, para definir onde está um arquivo (quais blocos do HD), o tamanho do bloco etc.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. (UPENET-IAUPE/UPE/2017) O software responsável pelo gerenciamento dos recursos do hardware para o usuário, a fim de que os softwares aplicativos não tenham que interagir diretamente com os dispositivos periféricos, é definido como

A) compilador.

B) driver.

C) sistema operacional.

D) drive.

E) controlador.

A

Seria muito complicado exigir que todo programador tivesse conhecimento do hardware a ser utilizado.

Também seria uma programação muito mais complexa e demorada! Podemos dizer que basicamente um S.O. possui duas funções:

● Apresentar ao usuário uma máquina estendida ou máquina virtual, afinal de contas “alguém” tem que “conversar” com o hardware;

● Gerenciar um sistema complexo: processadores, memórias, discos, dispositivos de E/S, arquivos etc.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. (IESES/IGP-SC/2017) Considere as afirmativas abaixo referentes as funções que são de
    responsabilidade de um Sistema Operacional Moderno:

I. Controlar os dispositivos de entrada/saída.

II. Efetuar o gerenciamento de programas em execução.

III. Oferecer mecanismos de proteção aos recursos básicos do computador.

Estão corretas as afirmativas:
A) I e III
B) II e III
C) I, II e III
D) I e II

A

(I) Faz parte da gerência de E/S; (II) Gerência de processos; (III) Como a questão fala em sistema operacional moderno, o oferecimento de mecanismos de proteção poderia ser considerado certo.

Aí depende de qual a fonte consultada para elaborar a questão.

De qualquer forma a questão foi anulada (eu marcaria a alternativa C), com a justificativa de que esse assunto não estava no edital.

Gabarito: Anulada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. (AOCP/PRODEB/2018) A difusão dos primeiros computadores pessoais (PCs), feita pela Apple e IBM, aconteceu em 1981, época em que houve um salto muito grande em termos de tecnologia e utilidade dessas máquinas, caracterizadas, já na década de 1990, pela versatilidade extraordinária de transformar o processamento e o armazenamento de dados centralizados em um sistema compartilhado e interativo de computadores em rede.

A partir de então, esse processo, veio só a se desenvolver e se disseminar em praticamente todas as áreas de atuação.

Desde aquela época até hoje, um dos pontos principais da computação são os Sistemas Operacionais (SO).

Assinale a alternativa correta sobre o que são os SO.

A) Um programa ou conjunto de programas cuja função é gerenciar os recursos do sistema, fornecendo uma interface entre o computador e o usuário.

B) São simples interfaces para a comunicação entre o hardware e o usuário.

C) São dispositivos conectados à placa mãe que têm como função gerenciar os recursos de hardware.

D) Sistemas que têm como única e exclusiva função realizar a ligação e a troca de dados entre computadores pessoais.

E) Sistemas para controle e gerenciamento de recursos, que existem exclusivamente em computadores pessoais.

A

Podemos dizer que basicamente um S.O. possui duas funções:

● Apresentar ao usuário uma máquina estendida ou máquina virtual, afinal de contas “alguém” tem que “conversar” com o hardware;

● Gerenciar um sistema complexo: processadores, memórias, discos, dispositivos de entrada e saída (E/S), arquivos etc.

De uma forma mais ampla, algumas funções do S.O. são:

● Permitir aos programas o armazenamento e a obtenção de informações;

● Controlar o fluxo de dados entre os componentes do computador;

● Responder a erros e a pedidos do usuário;

● Impor o escalonamento entre programas que solicitam recursos (memória, disco, entre outros);

● Etc.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. (Quadrix/CRQ 4ª Região-SP/2018) Quanto a sistemas operacionais, julgue o item.

Em ambiente multiprogramação, é necessário que exista uma proteção, por exemplo, contra o acesso de dispositivos de E/S ou a alocação de memória por mais de um programa ao mesmo tempo.

Assim, o sistema operacional e os programas de usuários operam em modo privilegiado, o que garante que os conflitos no uso dos recursos não ocorram.

A

Os programas de usuário não operam em modo privilegiado, senão não haveria segurança nenhuma! Quando é necessário “baixar o nível” para ter acesso a funções no modo privilegiado, são realizadas chamadas de sistema (ex.: acessar um disco rígido ou outra mídia de armazenamento).

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. (Quadrix/CRQ 4ª Região-SP/2018) Quanto a sistemas operacionais, julgue o item.

No emprego da técnica denominada de multitarefa, mesmo que o sistema computacional possua somente um processador, tem‐se a ilusão de que vários programas estão sendo executados simultaneamente.

A

Um sistema multitarefa possui a capacidade de executar vários processos simultaneamente.

O sistema operacional divide o tempo do processador (CPU) entre os processos para fornecer a ilusão de execução simultânea.

Importante ressaltar que essa ilusão de execução simultânea só ocorre se o sistema for preemptivo (multitarefa preemptiva), ou seja, se tiver a capacidade de interromper a execução de uma tarefa em andamento para que outra tarefa possa fazer uso do processador.

Dessa forma o escalonamento de processos pode ser realizado, através de algum algoritmo específico.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. (COSEAC/UFF - 2019) Os sistemas operacionais normalmente possuem uma casca, que é a parte visível com a qual o usuário entra em contato, e outra parte interna.

Essas duas partes são conhecidas, respectivamente, por:

A) API e shell.

B) GUI e cluster.

C) shell e kernel.

D) kernel e CPU.

E) buffers e spooling.

A

“Casca” poderíamos interpretar como quem faz a interface de quem está “fora” com o núcleo e isso é papel do shell (ou alguma interface gráfica, claro).

A parte interna podemos interpretar como o núcleo, ou seja, o kernel.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. (AOCP/UFFS/2019) A interface entre o sistema operacional e os programas de usuários é definida por um conjunto de instruções estendidas disponibilizadas pelo sistema operacional.

Essas instruções são denominadas

A) processos.

B) chamadas de sistema.

C) prompt de comando.

D) shell.

E) vetores de interrupção.

A

As chamadas de sistema (system calls) são “instruções estendidas”, abstraindo do programador os detalhes de “baixo nível” e garantindo que o programador não faça alguma “bobagem”.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. (IBADE/Pref. de Itapemirim-ES/2019) Existe uma função em diversos sistemas operacionais que consiste em armazenar em disco os arquivos de impressão produzidos pelos aplicativos e promover sua impressão de forma sequencial, permitindo ao usuário intervir na ordem da fila, cancelar arquivos, suspender a impressão, etc.

Chama-se essa função de:

A) Buffer.

B) Spooling.

C) Print File.

D) Defrag.

E) Retain.

A

SPOOL é uma abreviação de Simultaneous Peripheral Operations On-Line (Operações Periféricas Simultâneas On-line) e geralmente está associado a impressões.

O termo “spool de impressão” refere-se a um sistema que permite que vários trabalhos de impressão sejam enviados para uma fila e processados em ordem.

A ideia do “spool de impressão” é melhorar a eficiência do processo de impressão, fazendo com que quando um trabalho de impressão é enviado para a fila, ele fique armazenado temporariamente em um local (conhecido como “spool”).

Enquanto um trabalho estiver no spool, ele pode ser cancelado, pausado, pode ser dado maior prioridade, entre outras atividades, dependendo do sistema operacional.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. (UPENET-IAUPE/Prefeitura de Carnaíba-PE/2019 ) Uma das características para o uso de diferentes programas, sendo executados ao mesmo tempo em um computador, denomina-se

A) Interpretativa.

B) Colegiada.

C) Multitarefa.

D) Conectado.

E) Diretório.

A

Um sistema multitarefa possui a capacidade de executar vários processos simultaneamente.

O sistema operacional divide o tempo do processador (CPU) entre os processos para fornecer a ilusão de execução simultânea.

Importante ressaltar que essa ilusão de execução simultânea só ocorre se o sistema for preemptivo (multitarefa preemptiva), ou seja, se tiver a capacidade de interromper a execução de uma tarefa em andamento para que outra tarefa possa fazer uso do processador.

Dessa forma o escalonamento de processos pode ser realizado, através de algum algoritmo específico.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. (UFMT/UFT/2019) Os sistemas operacionais constituem interfaces de abstração do hardware e permitem aos usuários de diferentes níveis de capacitação utilizarem adequadamente o computador.

Independentemente da interface de usuários, os sistemas operacionais são baseados em princípios comuns que permitem a interoperabilidade.

Sobre o assunto, assinale a afirmativa INCORRETA.

A) A manipulação de objetos como arquivos é feita pelas system calls, tornando transparente aos usuários as complexas operações.

B) Os programas dos usuários se comunicam com o sistema operacional por meio de system calls, que são procedimentos que devem ser escritos pelo usuário.

C) Um processo é basicamente um programa em execução que usa os recursos de hardware e do sistema operacional, como pilha, ponteiros, registradores e outros.

D) Os sistemas operacionais implementam os conceitos de processos, arquivos, chamadas de sistemas e interface de usuários (comandos ou gráficas).

A

A) CORRETA - Para tudo que envolver atividades de mais “baixo nível”, como por exemplo, o acesso a mídias de armazenamento, são utilizadas as chamadas de sistema (system calls).

B) INCORRETA - System calls não são escritas pelo usuário.

O programador apenas faz a chamada de sistema (system call).

Um exemplo clássico é para ler um arquivo.

C) CORRETA - Um processo é uma instância de um programa em execução.

D) CORRETA - Os sistemas operacionais implementam os conceitos de processos (instâncias de programas em execução), arquivos (armazenados em alguma mídia), chamadas de sistemas (para ter acesso ao modo kernel) e interface de usuários (comandos via shell ou gráficas).

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. (Consulplan/Pref. de Formiga-MG/2020) Um Sistema Operacional pode ser definido como um programa que gerencia o computador, de modo que trabalhe de maneira correta, gerando um ambiente de comunicação, que faz a interação entre o usuário e a máquina.

Dois subsistemas do Sistema Operacional desempenham essas funções; assinale-os.

A) BIOS e Setup.

B) Shell e Kernel.

C) Processador e Memória.

D) Registradores e Memória Cache.

A

Shell: lê, interpreta e executa comandos.

Faz o meio de campo entre o usuário e o kernel.

Kernel: núcleo do sistema operacional.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. (Quadrix/CREFITO-MG/2021) A manutenção de informações a respeito de seu estado (data atual, hora atual, lista dos usuários que estão usando o computador, entre outras) pode ser considerada como um serviço que é oferecido pelo sistema operacional.
A

Serviços prestados pelo sistema operacional: além dos gerenciamento fundamentais que o sistema operacional realiza (processos, memória, E/S e armazenamento), alguns outros também são realizados, tais como:

● manutenção da data/hora, permitindo inclusive a alteração (se houver permissão para isso);

● lista dos usuários que estão usando o computador;

● spool de impressão, permitindo a alteração (se houver permissão para isso);

● serviços de acessibilidade;

● sistema de segurança relacionado ao acesso de arquivos/diretórios: permissões de acesso a usuários autorizados;

● controle de acesso através de usuários e senhas;

● etc.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. (Quadrix/CREFITO-MG/2021) O objetivo do sistema operacional é distribuir recursos do computador, como, por exemplo, espaço na memória principal e tempo de processador, para torná-lo mais eficiente.
A

Um dos grandes objetivos do S.O. é gerenciar os recursos, incluindo:

● “espaço na memória principal”: faz parte do gerenciamento de memória;

● “tempo de processador”: faz parte do gerenciamento de processos;

● entre outros.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q
  1. (Quadrix/CRECI-MS/2021) Com relação aos fundamentos dos sistemas operacionais, julgue o item.

É função do sistema operacional gerenciar o sistema de segurança de modo que os arquivos sejam acessíveis apenas por usuários autorizados.

A

Serviços prestados pelo sistema operacional: além dos gerenciamento fundamentais que o sistema operacional realiza (processos, memória, E/S e armazenamento), alguns outros também são realizados, tais como:

● manutenção da data/hora, permitindo inclusive a alteração (se houver permissão para isso);

● lista dos usuários que estão usando o computador;

● spool de impressão, permitindo a alteração (se houver permissão para isso);

● serviços de acessibilidade;

● sistema de segurança relacionado ao acesso de arquivos/diretórios: permissões de acesso a usuários autorizados;

● controle de acesso através de usuários e senhas;

● etc.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q
  1. (Quadrix/CRECI-MS/2021) Com relação aos fundamentos dos sistemas operacionais, julgue o item.

Nem mesmo os sistemas operacionais mais modernos permitem que múltiplos programas estejam na memória principal ao mesmo tempo.

A

É característica comum aos sistemas operacionais modernos ser multitarefa, ou seja, permitem que mais de um processo seja executado ao mesmo tempo.

Existe uma ilusão de paralelismo, mas na verdade um processador compartilha o tempo com mais de um processo através de um algoritmo de escalonamento.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q
  1. (Quadrix/CRECI-MS/2021) Com relação aos fundamentos dos sistemas operacionais, julgue o item.

O sistema operacional tem como função, entre outras, ocultar as particularidades dos discos e de outros dispositivos de E/S, com a finalidade de fornecer ao programador um modelo de arquivos agradável e independente de dispositivos.

A

A característica ressaltada na questão está relacionada aos modos usuário e kernel.

As particularidades mais “baixo nível”, como acesso a discos e outros dispositivos de E/S são preocupação do modo kernel e o programador só tem que saber usar as chamadas de sistema para ter acesso.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q
  1. (Quadrix/CREFITO-MG/2021) Os utilitários (programas de sistema), uma modalidade específica de programa, são sempre executados dentro do kernel do sistema operacional.
A

No kernel (núcleo) estão as funções principais de um sistema operacional.

Os utilitários (software de compactação, por exemplo) não ficam no kernel! Eles são instalados no sistema operacional e atuam no modo usuário.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q
  1. (CEBRASPE/ABIN/2010) No contexto de sistemas operacionais, semáforos são tipos de variáveis que podem ser verificadas e alteradas em instruções atômicas, ou seja, sem possibilidades de interrupções.

Esse tipo de variável é empregado em tarefas como o compartilhamento de recursos entre processos.

A

Como vimos há pouco, um semáforo possui as operações atômicas up e down.

Esse tipo de variável (semáforo) é ideal para controlar o acesso a regiões críticas, evitando que mais processos (ou threads) que determinado limite consigam acessar tal região ao mesmo tempo.

Isso é o ideal no compartilhamento de recursos, evitando problemas como, por exemplo, o compartilhamento de uma impressora (imagine cada processo imprimindo uma página de seu documento ao mesmo tempo!).

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q
  1. (CEBRASPE/STF/2013) Em um algoritmo de escalonamento FIFO, os processos são executados na mesma ordem que chegam à fila.

Quando um processo do tipo cpu-bound está na frente da fila, todos os processos devem esperá-lo terminar seu ciclo de processador.

A

Um processo CPU-bound é aquele que usa muito o processador, ou seja, raramente é bloqueado.

Por isso os demais devem esperar acabar seu ciclo de uso do processador (quantum).

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q
  1. (CEBRASPE/TRE-PI/2016) A respeito das características do algoritmo de escalonamento SPF (shortest process first), assinale a opção correta.

A) Os processos são executados na ordem em que chegam à fila de espera e executados até o final, sem nenhum evento preemptivo.

B) No SPF, um processo recém-chegado e em espera, cujo tempo estimado de execução completa seja menor, provoca a preempção de um processo em execução que apresente tempo estimado de execução completa maior.

C) O SPF favorece processos longos em detrimento dos mais curtos.

Estes, ao chegarem à fila de espera, são obrigados a aguardar a conclusão dos processos longos que já estiverem em andamento, para, então, entrar em execução.

D) Os processos são despachados na ordem em que são colocados em espera e recebem uma quantidade limitada de tempo do processador para execução; além disso, são interrompidos caso sua execução não se conclua dentro do intervalo de tempo delimitado.

E) O escalonador seleciona o processo que estiver à espera e possuir o menor tempo de execução estimado e o coloca em execução até a sua conclusão.

A

O nome mudou um pouquinho, mas a ideia é a mesma: Shortest-Job First (SJF) (“Tarefa mais curta primeiro”): algoritmo não-preemptivo, presume que os tempos de execução sejam conhecidos previamente.

Imagine uma situação em que os jobs (tarefas) de uma empresa são executados há muitos anos e já se sabe que os jobs do tipo A levam 2 minutos, do tipo B 6 minutos e do tipo C 4 minutos.

Os jobs são agendados à tarde para serem executados às 8h do dia seguinte.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q
  1. (CEBRASPE/TRE-TO/2017) Considerando o contexto de gerenciamento de processos dos sistemas operacionais, assinale a opção que apresenta a estrutura de dados responsável por habilitar o sistema operacional a localizar e acessar rapidamente o bloco de controle de processo (PCB) de um processo.

A) árvore de processos.

B) lista de bloqueados.

C) tabela de processo.

D) região de pilha.

E) lista de prontos.

A

Existe uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a informação necessária para tratar um determinado processo.

Trata-se do Bloco de Controle do Processo (PCB - Proccess Control Block).

Como o PCB possui informações críticas do processo ele deve ficar armazenado em uma área da memória protegida do acesso de usuários.

Geralmente as informações contidas em um PCB incluem:

● Identificador do processo (PID);

● Registradores da CPU;

● O espaço de endereçamento do processo;

● Prioridade do processo;

● Entre outras.

E a estrutura de dados responsável por habilitar o sistema operacional a localizar e acessar rapidamente o bloco de controle de processo (PCB) de um processo é denominada Tabela de Processo.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q
  1. (CEBRASPE/TRF1/2017) Na técnica denominada escalonamento de processos, o sistema operacional mantém parte do espaço de endereçamento de um processo na memória principal e parte em dispositivo de armazenamento secundário, realizando trocas de trechos de código e de dados entre eles, de acordo com a necessidade.
A

Quando falamos em escalonamento de processos, estamos lidando com processos em execução, ou seja, estão na memória RAM.

Claro que parte dele pode estar na memória virtual, em disco.

Então podemos ver que a questão misturou os conceitos.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q
  1. (CEBRASPE/STJ/2018) Em relação aos fundamentos de sistema operacional, julgue o item a seguir.

Um processo existente no sistema operacional pode ter um número zero de processos-pai.

A

O único processo que pode ter número zero de processos pai é o init, do Linux, ou um equivalente, em outro sistema.

Como ele é o processo “inicial”, ele é pai, mas não possui pai! Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q
  1. (CEBRASPE/MPE-PI/2018) Julgue o item a seguir, acerca de sistemas operacionais.

Uma das causas de deadlocks em sistemas operacionais é a disputa por recursos do sistema que podem ser usados apenas por um processo de cada vez.

A

Essa é a primeira das quatro condições, a condição de exclusão mútua, a qual define que cada recurso ou está correntemente atribuído a exatamente um processo ou está disponível.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q
  1. (CEBRASPE/SLU-DF/2019) Em relação aos microcomputadores, julgue o item a seguir.

Uma das características dos sistemas preemptivos é o fato de eles serem monotarefa.

A

Um sistema preemptivo é aquele que pode tirar o recurso do processo, pode tirar por exemplo, o processador após ter passado o quantum.

Se isso acontece, é porque outro processo vai utilizar o processador, ou seja, trata-se de um sistema multitarefa! Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q
  1. (CEBRASPE/Min. da Economia/2020) Julgue o próximo item, relativos a sistemas operacionais.

No sistema operacional, o bloco de controle de processo (BCP) representa e guarda informações associadas a um processo, como, por exemplo, o seu estado pronto ou em execução.

A

Existe uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a informação necessária para tratar um determinado processo.

Trata-se do Bloco de Controle do Processo (BCP, ou PCB - Proccess Control Block).

Como o PCB possui informações críticas do processo ele deve ficar armazenado em uma área da memória protegida do acesso de usuários.

Geralmente as informações contidas em um PCB incluem:

● Identificador do processo (PID);

● Registradores da CPU;

● O espaço de endereçamento do processo;

● Prioridade do processo;

● Entre outras.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q
  1. (CEBRASPE/TJ-PA/2020) No Linux, um processo, por si só, não é elegível para receber tempo de CPU.

Essa ação depende, basicamente, do seu estado da execução.

O processo está administrativamente proibido de executar no estado

A) pronto.

B) dormente.

C) executável.

D) parado.

E) zumbi.

A

Para quem já estudou a aula de Linux fica mais fácil, mas digamos que você não tenha estudado e se depara com uma questão assim.

E aí? Vamos ver a figura novamente e tentar por eliminação:

(A) Pronto - podemos ver que pode executar;

(B) Dormente - específico do Linux, não vimos, vamos ver a próxima;

(C) Executável - parece ser o equivalente ao pronto, pois é “executável”, pode ser executado;

(D) Parado - parece o equivalente ao “bloqueado”, pois está parado esperando algo (ex.: leitura de HD);

(E) Zumbi - específico do Linux, não vimos, vamos ver a próxima.

Com essa análise, mesmo sem ter estudado Linux, daria para marcar a alternativa D, não é?

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q
  1. (CEBRASPE/SEFAZ-CE/2021) Julgue o próximo item, acerca de conhecimentos de informática.

O gerenciamento de processos é responsável por executar simultaneamente vários processos nos sistemas operacionais Windows e Linux, por meio do compartilhamento de tempo e processadores.

A

O gerenciamento de processos implementa algum algoritmo ou política, sendo possível executar simultaneamente vários processos (multitarefa) através do uso de quantum (fatia de tempo para o uso do processador).

O algoritmo mais usado é o round-robin.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q
  1. (CEBRASPE/SEFIN de Fortaleza-CE/2023) Acerca de primitivas de sincronização e deadlocks, julgue o próximo item.

No ambiente de programação, um semáforo é um sinal emitido pelo hardware para que o sistema operacional possa executar um laço com o objetivo de evitar um deadlock.1.

(FGV/TJ-RO/2015) Considere o trecho a seguir no contexto de sistemas operacionais.

“Um conjunto de processos está num bloqueio perpétuo quando cada processo do conjunto está esperando por um evento que apenas outro processo do conjunto pode causar.

” A situação descrita é típica da ocorrência de um:

A) timeout;

B) deadlock;

C) timestamp;

D) system halt;

E) pipeline.

A

Semáforo é um tipo de variável que pode ser verificada e alterada em instruções atômicas, ou seja, sem possibilidades de interrupções.

Esse tipo de variável é empregado em tarefas como o compartilhamento de recursos entre processos.

É uma variável do tipo inteiro que possui o valor 0 quando não tem nenhum sinal a despertar, ou um valor positivo quando um ou mais sinais para despertar estiverem pendentes (usamos o termo “despertar”, pois um fluxo de execução é “colocado para dormir” quando tenta entrar em uma região crítica que já está ocupada).

Existem as operações down e up (ou sleep e wakeup).

A operação down verifica se o valor é maior que 0.

Se for, ele decrementa um e continua.

Se o valor for 0, o processo (ou a thread) é “colocado para dormir” (bloqueado) sem completar a operação down.

É garantido que iniciada uma operação de semáforo, nenhum outro processo possa acessar o semáforo até que a operação tenha terminado ou sido bloqueada (ação atômica).

Isso evita as condições de corrida.

Vamos imaginar a seguinte situação: há um semáforo que está com o valor 0, ou seja, já tem processo(s) ocupando a região crítica.

Enquanto isso, outros 3 chegam a essa região e “tentam entrar”, ficando bloqueados.

Ao sair da região crítica, é aplicada a operação up (valor do semáforo passa para 1) e um dos três processos pode entrar (aleatório, fila ou outra maneira de escolher).

Quando tal processo entrar é aplicada a operação down (semáforo passa a ser 0).

Resumindo: o valor do semáforo diz quantos processos podem entrar! Gabarito: ErradoUm deadlock (impasse) ocorre quando um conjunto de processos está esperando por um evento que só pode ser causado por outro processo do conjunto.

Ou seja, ficam todos “amarrados” em um “abraço da morte”, sem poder continuar seus processamentos.

Alguns exemplos de recursos que só podem ser utilizados por um processo por vez: unidades de fita e impressoras.

Ou você acha que é possível dois processos escrevendo em uma fita ou mandando imprimir ao mesmo tempo? Ficaria uma bagunça! Por isso os sistemas operacionais possuem a capacidade de garantir (por algum tempo) que um processo tenha o acesso exclusivo a determinados recursos, sejam de hardware ou de software.

Vamos supor a seguinte situação: os processos A e B desejam digitalizar uma fotografia através de um scanner e em seguida gravar em um CD-R.

Digamos que A tenha requisitado primeiro o scanner e ao mesmo tempo B tenha requisitado o gravador de CD-R.

Em seguida A faz requisição do gravador de CD-R, mas ele está ocupado, pois B não o “largou”.

Assim fica o processo A aguardando o recurso gravador de CD-R e B aguardando o recurso scanner.

Assim temos um deadlock!

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q
  1. (FGV/IBGE/2016) Jonas, Analista de Suporte Operacional do IBGE, realizou uma análise minuciosa dos processos e threads do servidor que ele mantém.

Durante a análise, Jonas identificou que três processos estavam na lista de espera por um recurso compartilhado.

Além disso, Jonas também identificou uma situação inusitada: um desses processos nunca conseguia executar sua região crítica e, por conta disso, nunca acessava o recurso compartilhado.

A situação inusitada encontrada por Jonas é a de:

A) lock;

B) starvation;

C) sincronização condicional;

D) threads;

E) stack

A

Preempção: é o ato do S.O. utilizar as interrupções do relógio para retirar a CPU do processo em execução.

Ou seja, o processo não pode monopolizar o processador! Quando o sistema não for preemptivo pode ocorrer uma situação denominada starvation (inanição).

Traduzindo, starvation quer dizer “morrer de fome”, ou seja, aquele processo que nunca consegue chegar ao processador, fica eternamente aguardando, sempre tem alguém que “fura a fila”.

Gabarito: B

40
Q
  1. (FGV/FUNSAÚDE-CE/2021) Considere um sistema operacional onde o processo P1 precisa dos recursos R1 e R2 para prosseguir com seu processamento.

Concomitantemente, há um processo P2, que também precisa dos recursos R1 e R2.

A situação em que, simultaneamente, o processo P1 detém o recurso R1 e espera pelo recurso R2 e o processo P2 detém o recurso R2 e espera pelo recurso R1, é denominada A) Checkout.

B) Deadlock.

C) Livelock.

D) Lockdown.

E) Shutdown.

A

Um deadlock (impasse) ocorre quando um conjunto de processos está esperando por um evento que só pode ser causado por outro processo do conjunto.

Ou seja, ficam todos “amarrados” em um “abraço da morte”, sem poder continuar seus processamentos.

Alguns exemplos de recursos que só podem ser utilizados por um processo por vez: unidades de fita e impressoras.

Ou você acha que é possível dois processos escrevendo em uma fita ou mandando imprimir ao mesmo tempo? Ficaria uma bagunça! Por isso os sistemas operacionais possuem a capacidade de garantir (por algum tempo) que um processo tenha o acesso exclusivo a determinados recursos, sejam de hardware ou de software.

Vamos supor a seguinte situação: os processos A e B desejam digitalizar uma fotografia através de um scanner e em seguida gravar em um CD-R.

Digamos que A tenha requisitado primeiro o scanner e ao mesmo tempo B tenha requisitado o gravador de CD-R.

Em seguida A faz requisição do gravador de CD-R, mas ele está ocupado, pois B não o “largou”.

Assim fica o processo A aguardando o recurso gravador de CD-R e B aguardando o recurso scanner.

Assim temos um deadlock!

Gabarito: B

41
Q
  1. (FGV/Prefeitura de Manaus-AM/2022) Sobre o escalonamento de processos, analise as afirmativas abaixo:

I. O algoritmo Round Robin é preemptivo e baseado em quantum de tempo para cada processo, de forma rotativa.

II. O escalonamento não preemptivo é o mais indicado para ambientes de tempo compartilhado.

III. Em escalonadores não preemptivos, um processo permanece em execução tanto quanto possível, só saindo no caso de término de execução, ou quando executa uma instrução que ocasione uma mudança para um estado de espera.

Está correto apenas o que se afirma em

A) I.

B) II.

C) III.

D) I e II.

E) I e III.

A

I. CORRETA - O algoritmo Round Robin é preemptivo, ou seja, o processo pode ser retirado do processador.

É baseado em quantum de tempo para cada processo, ou seja, há uma fatia de tempo para cada processo, de forma rotativa.

II. ERRADA - O correto seria: “O escalonamento não preemptivo é o mais indicado para ambientes de processamento em lote.”

III. CORRETA - “Em escalonadores não preemptivos, um processo permanece em execução tanto quanto possível, só saindo no caso de término de execução, ou quando executa uma instrução que ocasione uma mudança para um estado de espera.”.

Ou seja, monopoliza o processador e só sai nas duas condições mostradas.

Gabarito: E

42
Q
  1. (FGV/TJ-SE/2023) A rotina do Sistema Operacional (SO) que tem como principal função implementar os critérios da política de escalonamento é:

A) dispatcher;

B) preempção;

C) tempo de resposta;

D) processamento batch;

E) escalonador (scheduler).

A

Escalonador (scheduler): rotina responsável por determinar a ordem de execução dos processos.

Ele gerencia a alocação de recursos da CPU entre os vários processos concorrentes em um sistema.

Gabarito: E

43
Q
  1. (FGV/TJ-SE/2023) A política de escalonamento é a base da gerência do processador.

Ryu é analista de sistemas e sabe que as características de cada Sistema Operacional (SO) determinam quais são os principais aspectos para a implementação de uma política de escalonamento adequada.

Brevemente Ryu adotará, em seu projeto de SO, o critério de escalonamento que representa o número de processos executados em um determinado intervalo de tempo.

Em seu projeto de SO, Ryu deve utilizar o critério de escalonamento:

A) throughput;

B) tempo de espera;

C) tempo de turnaround;

D) tempo de processador;

E) utilização do processador.

A

Throughput (“Taxa de Transferência”): critério de escalonamento que representa o número de processos executados em um determinado intervalo de tempo.

O throughput refere-se à quantidade de trabalho realizado em um sistema durante um período específico.

Essa medida é frequentemente expressa em termos de processos ou tarefas completadas por unidade de tempo.

Quanto maior o número de processos que podem ser concluídos em um intervalo de tempo, maior é o throughput.

Gabarito: A

44
Q
  1. (FGV/TJ-SE/2023) As propriedades de cada sistema operacional determinam quais são os principais aspectos para a implementação de uma política de escalonamento adequada.

A política de escalonamento classificada como preemptiva tem a seguinte característica:

A) sistemas operacionais que implementam escalonamento com preempção são mais simples, contudo, possibilitam políticas de escalonamento menos flexíveis;

B) foi a primeira política de escalonamento implementada nos sistemas monoprogramáveis, onde predominava tipicamente o processamento batch;

C) quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso do processador;

D) o processo sai do estado de execução caso termine seu processamento ou execute instruções do próprio código que ocasionem uma mudança para o estado de espera;

E) o sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP.

A

Preempção: é o ato do S.O. utilizar as interrupções do relógio para retirar a CPU do processo em execução.

Ou seja, o processo não pode monopolizar o processador! Quando o sistema não for preemptivo pode ocorrer uma situação denominada starvation (inanição).

Traduzindo, starvation quer dizer “morrer de fome”, ou seja, aquele processo que nunca consegue chegar ao processador, fica eternamente aguardando, sempre tem alguém que “fura a fila”.

Gabarito: E

45
Q
  1. (FGV/TJ-SE/2023) Para um usuário interagir com um computador sem o Sistema Operacional (SO), ele deve conhecer profundamente diversos detalhes sobre o hardware do equipamento.

Um técnico de programação de sistemas está testando um SO e verificou que se trata de uma arquitetura multiprogramada na qual vários processos são executados de forma concorrente.

Nesse contexto, o algoritmo de escalonamento que seleciona o processo que tiver o menor tempo de processador ainda por executar é o:

A) não preemptivo;

B) por prioridade;

C) circular;

D) First-In-First-Out (FIFO);

E) Shortest-Job-First (SJF).

A

Shortest-Job First (SJF) (“Tarefa mais curta primeiro”): algoritmo não-preemptivo que presume que os tempos de execução são conhecidos previamente.

Imagine uma situação em que os jobs (tarefas) de uma empresa são executados há muitos anos e já se sabe que os jobs do tipo A levam 2 minutos, do tipo B 6 minutos e do tipo C 4 minutos.

Os jobs são agendados à tarde para serem executados às 8h do dia seguinte.

Vamos ver como ficaria o escalonamento para a execução no dia seguinte dos jobs que foram adicionados na ordem B1, A1, C1, A2 e C2: Não concordo muito com a resposta, mas é a melhor das opções.

Na minha opinião o correto seria o Shortest Remaining Time Next (SRT) (“Menor tempo de execução restante”), versão preemptiva do algoritmo SJF.

Nesse algoritmo, o escalonador sempre escolhe o job com tempo de execução mais curto (obviamente o tempo precisa ser conhecido previamente).

Quando um novo job chega, seu tempo é comparado com o que falta para concluir o job corrente.

Se o novo precisar de menos tempo, o processo corrente é suspenso e o novo é iniciado.

Esse esquema permite que jobs novos curtos tenham prioridade.

Gabarito: E

46
Q
  1. (FGV/DPE-RS/2023) Ana trabalha na empresa X, que presta serviço de Tecnologia da Informação à DPE/RS.

Durante o funcionamento do site da Defensoria, notou a ocorrência de deadlock.

Ana iniciou uma investigação para identificar a tarefa que ocasionou o deadlock.

A atividade executada pela aplicação que ocasionou o deadlock foi:

A) um processo de update da aplicação que corrompeu um dado no banco de dados, impedindo o acesso ao banco;

B) o excesso de processos enviados para a execução em memória principal, causando lentidão;

C) a execução de alguns processos, em background, que não liberavam recursos para a inicialização de outras tarefas;

D) o uso compartilhado dos recursos causando lentidão ao sistema para o controle de alterações;

E) o bloqueio de um usuário em virtude de ter esgotado a quantidade de erro de senha durante o processo de autenticação.

A

O deadlock ocorre quando processos ficam esperando um ao outro para liberar recursos.

Uma figura que mostra a espera circular é mostrada abaixo.

Gabarito: C

47
Q
  1. (FCC/Câmara Municipal-SP/2014) No escalonamento usando o algoritmo Round-Robin,

A) o escalonador seleciona o processo à espera com o menor tempo de execução estimado até a conclusão, reduzindo o tempo médio de espera, mas aumentando a variância dos tempos de resposta.

B) processos são despachados na ordem FIFO (First-in-First-Out), mas recebem uma quantidade limitada de tempo de processador denominada quantum.

C) a prioridade de cada processo é uma função não apenas do seu tempo de serviço, mas também do tempo que passou esperando pelo serviço.

D) o escalonador ajusta dinamicamente o comportamento do processo, de tal forma que o próximo processo a obter o processador seja aquele que chegar à frente da fila de nível mais alto, que não estiver vazia, na rede de filas.

E) o processo que tem o prazo de execução mais curto é favorecido, medindo a diferença entre o tempo que um processo requer para finalizar e o tempo restante até atingir o seu prazo final.

A

Algoritmo Round-robin: é realizado um rodízio entre os processos, sendo que a cada processo é atribuído um intervalo de tempo (quantum), durante o qual ele pode ser executado.

Se ao final do quantum o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada a um outro processo.

Obviamente que se o processo tiver terminado antes do quantum ter expirado ou se tiver sido bloqueado, a troca da CPU é realizada neste momento.

Gabarito: B

48
Q
  1. (FCC/DPE-RS/2017) Considere a figura abaixo.Do ponto de vista do sistema operacional, a situação indica que a caixa I deve ser preenchida com?

A) starvation.

B) multithreading.

C) superthreading.

D) deadlock.

E) hyperthreading.

A

Note que a thread 1 está realizando uma operação de impressão, bloqueando o teclado e está à espera da impressora.

A thread 2 está realizando uma operação de E/S, bloqueando a impressora e à espera do teclado.

Ou seja, nenhuma thread libera o recurso que está usando e cada uma quer um recurso que a outra possui.

As duas ficarão “trancadas”, esperando…

isso é um deadlock!

Gabarito: D

49
Q
  1. (FCC/DPE-RS/2017) Dentre as políticas de escalonamento de processos a seguir, a que apresenta maior probabilidade de ocasionar o starvation é a

A) Round Robin.

B) de tempo compartilhado.

C) First In First Out.

D) preemptiva.

E) não preemptiva.

A

Uma política de escalonamento não-preemptiva é aquela que um recurso não pode ser retirado de um processo, a não ser que “ele queira”.

Imagine um processo que comece a utilizar a CPU e fique utilizando por 1h.

Além disso digamos que há uma certa prioridade entre os processos e existe uma demanda muito grande pelo uso da CPU.

Pode ocorrer que um processo com prioridade baixa jamais seja executado! Ou seja, starvation!

Gabarito: E

50
Q
  1. (FCC/DPE-AM/2018) Em um sistema operacional típico, os estados de um processo são:

A) Ativo, Desocupado, Finalizado e Executando.

B) Bloqueado, Desbloqueado, Ativo e Suspenso.

C) Executando, Bloqueado e Pronto.

D) Parado, Ocupado, em Execução e Finalizado.

E) Pronto, Terminado, Ativo e Processando.

A

Gabarito: C

51
Q
  1. (FCC/DPE-AM/2018) Em um sistema operacional de computador, três processos estão na seguinte situação: – o processo P1 tem a posse do recurso R1.

– o processo P2 tem a posse do recurso R2.

– o processo P3 tem a posse do recurso R3.

O processo P1 solicita o recurso R2, o processo P2 solicita o recurso R3, e o processo P3 solicita o recurso R1.

Sobre essa situação, é correto afirmar que

A) não haverá deadlock, pois o processo P1 não solicitou o recurso R3.

B) tem-se uma condição de deadlock.

C) não haverá deadlock, pois o processo P3 não solicitou o recurso R2

D) só ocorrerá deadlock caso P1 solicite o recurso R3, P2 solicite o recurso R1 e P3 solicite o recurso R2.

E) não haverá deadlock, pois o processo P2 não solicitou o recurso R1.

A

Podemos ver que nenhum processo “larga” o recurso que possui.

Além disso, cada processo solicita um recurso que está alocado por outro processo, de forma circular.

Isso caracteriza um deadlock!

Gabarito: B

52
Q
  1. (FCC/DPE-AM/2018) Em um sistema operacional típico de um computador, três processos se encontram na seguinte situação:

– o processo P1 envia uma mensagem ao Processo P2.

– o processo P2, ao receber a mensagem de P1, responde essa mensagem a P1.

– o processo P1, ao receber a mensagem de resposta de P2, responde a P2 com uma nova mensagem, e assim sucessivamente.

– o processo P3 se encontra bloqueado, situação da qual sairá apenas quando receber uma mensagem do processo P1.

Considerando que a prioridade do processo P3 é menor do que as prioridades dos processos P1 e P2, tem-se que

A) a cada troca de mensagens entre P1 e P2 as respectivas prioridades automaticamente serão reduzidas, e quando elas forem inferior à do processo P3, esse será executado.

B) após passar 1 segundo bloqueado, o relógio de tempo real do sistema operacional automaticamente dará oportunidade de o processo P3 ser desbloqueado.

C) o processo P3 sairá dessa situação assim que uma interrupção qualquer ocorra.

D) ocorrerá uma situação conhecida como impasse (deadlock).

E) ocorrerá uma situação conhecida como inanição (starvation).

A

Podemos ver que as mensagens ficam apenas entre P1 e P2, enquanto P3 está no estado bloqueado, esperando uma mensagem de P1, que não ocorrerá! Ou seja, ele vai ficar eternamente esperando, vai “morrer de fome” (starvation)! Vamos ver o conceito de starvation abaixo.

Starvation (inanição, ou privação): situação na qual um processo ou thread é incapaz de prosseguir com a execução devido à não recepção dos recursos necessários para avançar.

Isso pode ocorrer em ambientes multitarefa quando um processo fica impedido de obter acesso a recursos cruciais, como processador, memória, ou dispositivos de entrada e saída.

Gabarito: E

53
Q
  1. (VUNESP/Pref. de Caieiras-SP/2015) Em um sistema operacional típico, vários processos podem se encontrar no estado “pronto” em um dado instante.

A gerência do processador efetua a escolha de qual desses processos receberá o processador.

Essa escolha atende a critérios previamente definidos, que fazem parte da política de

A) alocação de memória.

B) escalonamento de processos.

C) minimização do throughput do sistema

D) particionamento da Unidade Central de Processamento.

E) virtualização da memória principal.

A

Na figura abaixo podemos ver que a partir do estado pronto o processo vai para a execução, no processador.

Para saber qual dos processos utilizará o processador, existe uma política de escalonamento de processos, que pode ser a round-robin (mais cobrada em provas de concurso), SJF (Shortest Job First), entre outras.

Gabarito: B

54
Q
  1. (VUNESP/Pref. de P. Prudente-SP/2016) Os sistemas operacionais modernos empregam elementos que são fluxos independentes de execução que pertencem a um mesmo processo e que exigem menos recursos de controle do sistema operacional.

Esses elementos são denominados

A) Bash.

B) Buffers.

C) Kernel.

D) Semáforos.

E) Threads.

A

Um processo “tradicional” possui um espaço de endereçamento e um fluxo de controle (execução do código).

Porém, há situações em que se deseja ter mais de um fluxo de controle e execução no mesmo processo, executando quase em paralelo.

Esses fluxos são chamados threads (ou processos leves).

Resumindo: threads de um mesmo processo compartilham a mesma seção de código na memória.

Imagine um editor de texto, que possui inúmeras funcionalidades: contador de palavras, contador de páginas, correção ortográfica instantânea, entre outras.

Cada uma delas geralmente é implementada em uma thread, então a cada digitação elas verificam se a quantidade de palavras aumentou/diminuiu (e atualiza essa informação na tela), se a quantidade de páginas foi alterada, se a palavra digitada está correta (após consultar um arquivo de dicionário), e assim por diante.

Abaixo podemos ver as threads dentro de um processo.

Gabarito: E
55
Q
  1. (VUNESP/FUNDUNESP/2016) Considere a seguinte situação ocorrendo no ambiente de um sistema operacional no qual um conjunto de processos está sendo executado: “em determinado momento, cada processo está esperando um evento que somente outro processo poderá fazer acontecer”.

Essa descrição refere-se a

A) deadlock.

B) interrupts.

C) multitasking.

D) throughput.

E) time-sharing.

A

Um deadlock (impasse) ocorre quando um conjunto de processos está esperando por um evento que só pode ser causado por outro processo do conjunto.

Ou seja, ficam todos “amarrados” em um “abraço da morte”, sem poder continuar seus processamentos.

Alguns exemplos de recursos que só podem ser utilizados por um processo por vez: unidades de fita e impressoras.

Ou você acha que é possível dois processos escrevendo em uma fita ou mandando imprimir ao mesmo tempo? Ficaria uma bagunça! Por isso os sistemas operacionais possuem a capacidade de garantir (por algum tempo) que um processo tenha o acesso exclusivo a determinados recursos, sejam de hardware ou de software.

Vamos supor a seguinte situação: os processos A e B desejam digitalizar uma fotografia através de um scanner e em seguida gravar em um CD-R.

Digamos que A tenha requisitado primeiro o scanner e ao mesmo tempo B tenha requisitado o gravador de CD-R.

Em seguida A faz requisição do gravador de CD-R, mas ele está ocupado, pois B não o “largou”.

Assim fica o processo A aguardando o recurso gravador de CD-R e B aguardando o recurso scanner.

Assim temos um deadlock!

Gabarito: A

56
Q
  1. (VUNESP/PC-BA/2018) As versões modernas do sistema operacional Windows, como a versão 10, aparentam ao seu usuário que várias tarefas são executadas ao mesmo tempo.

Essa característica é conhecida como

A) monotarefa preemptiva.

B) monotarefa sem preempção.

C) multitarefa preemptiva.

D) multitarefa sem preempção.

E) time-sharing sem preempção.

A

Sistema multitarefa preemptivo: um sistema que possibilita a execução de mais de um processo ao mesmo tempo geralmente é preemptivo, ou seja, em algum momento o S.O. retira o processador do processo e coloca outro no lugar.

Gabarito: C

57
Q
  1. (VUNESP/Câm. Piracicaba-SP/2019) No contexto de gerenciamento de processos e fluxos de execução (threads) em sistemas operacionais, assinale a alternativa em que todos os itens listados sejam privados para cada thread, isto é, não são compartilhados com outros threads no mesmo processo.

A) Arquivos abertos e registradores.

B) Arquivos abertos e pilha.

C) Registradores e pilha.

D) Espaço de endereçamento e registradores.

E) Espaço de endereçamento e arquivos abertos.

A

Um processo “tradicional” possui um espaço de endereçamento e um fluxo de controle (execução do código).

Porém, há situações em que se deseja ter mais de um fluxo de controle e execução no mesmo processo, executando quase em paralelo.

Esses fluxos são chamados threads (ou processos leves).

Resumindo: threads de um mesmo processo compartilham a mesma seção de código na memória.

Porém, cada thread possui os seus valores nos registradores e na pilha, ou seja, a cada troca de contexto entre as threads, esses valores são atualizados.

Gabarito: C

58
Q
  1. (VUNESP/Câm. de Piracicaba-SP/2019) Deadlock é um problema potencial em qualquer sistema operacional.

Sejam dois processos PA e PB, e dois recursos RX e RY.

Assinale a alternativa que reflete a ocorrência de um deadlock.

A) PA possui acesso exclusivo a RX e RY, enquanto PB aguarda por acesso exclusivo a RX.

B) PA possui acesso exclusivo a RX, enquanto PB solicita acesso exclusivo a RY.

C) PA possui acesso exclusivo a RX e aguarda por acesso exclusivo a RY, enquanto PB possui acesso exclusivo a RY e aguarda por acesso exclusivo a RX.

D) PA possui acesso exclusivo a RX, enquanto PB possui acesso exclusivo a RY. PA libera RX e então PB requisita acesso exclusivo a RX.

E) PA possui acesso exclusivo a RX, enquanto PB possui acesso exclusivo a RY. PA então libera RX ao mesmo tempo que PB libera RY.

A

Vimos em aula a figura abaixo como exemplo de ocorrência de deadlock.

Das alternativas propostas, a que se encaixa é “PA possui acesso exclusivo a RX e aguarda por acesso exclusivo a RY, enquanto PB possui acesso exclusivo a RY e aguarda por acesso exclusivo a RX”.

Podemos substituir PA por A, RX por R2, PB por B e RY por R1.

Gabarito: C

59
Q
  1. (VUNESP/Câmara de Tatuí-SP/2019) Em um sistema operacional, existem diversas situações que poderiam acarretar o deadlock.

Algumas estratégias podem ser utilizadas no seu tratamento, a exemplo daquela conhecida como “Algoritmo do Avestruz”, que

A) ignora a sua existência.

B) detecta o deadlock e recupera o sistema.

C) detecta a possibilidade de sua ocorrência e evita que ele ocorra.

D) elimina os processos causadores do deadlock, sem afetar os demais.

E) reinicia o sistema se o travamento ultrapassar um tempo predefinido.

A

O algoritmo do avestruz age igual uma ave avestruz, mesmo! A ave costuma colocar o cabeça em um buraco, certo? Então é isso! O algoritmo “coloca a cabeça em um buraco” e ignora a existência do deadlock.

Gabarito: A

60
Q
  1. (VUNESP/Prefeitura de Pindamonhangaba-SP/2023) O deadlock é um fenômeno que pode ocorrer em sistemas operacionais.

Assinale a alternativa correta relacionada a ele.

A) A sua ocorrência se manifesta em computadores com um único processador, mas não ocorre em computadores com mais de um processador.

B) Ele pode ser evitado dinamicamente, pela alocação cuidadosa de recursos entre os processos.

C) Não existe forma de detectá-lo, e quando ele ocorrer, o computador deve ser reinicializado.

D) O deadlock torna a execução dos processos mais lenta devido à atribuição inadequada de prioridades aos processos, mas não interrompe a execução de nenhum deles.

E) Um algoritmo utilizado no seu tratamento é o Algoritmo do Avestruz, que identifica a sua ocorrência e reinicia os processos envolvidos.

A

A) ERRADA - O deadlock pode ocorrer com ou mais processadores, depende da alocação de recursos e a dependência entre eles.

B) CORRETA - Não é uma tarefa fácil, mas o deadlock pode ser evitado dinamicamente, se houver uma alocação cuidadosa de recursos entre os processos, para evitar um impasse, quando um recurso está alocado por um processo, não o libera e precisa de outro recurso, também alocado, e assim por diante.

C) ERRADA - Existem formas de detecção e pode-se “matar” algum processo, por exemplo.

Ou reiniciar a máquina, também, para “zerar” tudo.

D) ERRADA - O deadlock “trava” alguns processos, fica um dependendo do outro.

E) ERRADA - O Algoritmo do Avestruz ignora a existência de deadlock, igual uma ave avestruz que coloca a cabeça em um buraco.

Gabarito: B

61
Q
  1. (CESGRANRIO/TRANSPETRO/2011) Os Sistemas Operacionais estão sujeitos a um fenômeno denominado deadlock.

Para que uma situação de deadlock seja criada, as seguintes condições devem acontecer simultaneamente

A) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não preempção (no preemption) e espera circular (circular wait).

B) exclusão mútua (mutual exclusion), transferência excessiva de páginas (thrashing), superposição de processos (process overlapping) e espera circular (circular wait).

C) transferência excessiva de páginas (thrashing), superposição de processos (process overlapping), monopolização de recursos (hold and wait) e não preempção (no preemption).

D) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), superposição de processos (process overlapping) e falha de escalonamento (scheduling fail).

E) transferência excessiva de páginas (thrashing), não preempção (no preemption), espera circular (circular wait) e falha de escalonamento (scheduling fail).

A

As quatro condições que devem ser verdadeiras para que ocorra um deadlock são:

  1. Condição de exclusão mútua: cada recurso ou está correntemente atribuído a exatamente um processo ou está disponível;
  2. Condição de posse e espera: os processos que possuem recursos garantidos anteriormente podem solicitar novos recursos (um acumulador de recursos!);
  3. Ausência de preempção: os recursos garantidos não podem ser retirados à força de um processo;
  4. Condição de espera circular: um encadeamento circular de dois ou mais processos, cada um esperando por um recurso mantido pelo próximo do encadeamento:

Gabarito: A

62
Q
  1. (CESGRANRIO/UNIRIO/2016) Dentre as funções realizadas por Sistemas Operacionais está o escalonamento de processos, que é responsável pela decisão de qual processo deve receber atenção do processador a cada instante.

Uma certa política de escalonamento coloca todos os processos em uma fila circular para o atendimento, especificando uma fatia de tempo (chamada quantum) após a qual o processo em execução é, preemptivamente, suspenso, e o próximo da fila passa a executar.

Que nome se dá a essa política de escalonamento?

A) Round-Robin

B) Shortest-Job-First

C) Priority Scheduling

D) First-Come-First-Served

E) Multilevel Queue Scheduling

A

Round-robin: trata-se do algoritmo mais conhecido e cobrado! Com ele é realizado um rodízio entre os processos, sendo que a cada processo é atribuído um intervalo de tempo (quantum), durante o qual ele pode ser executado.

Se ao final do quantum o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada a um outro processo.

Obviamente que se o processo tiver terminado antes do fim do quantum ou se tiver sido bloqueado, a troca da CPU é realizada neste momento.

Um ponto interessante é a definição da duração do quantum, pois trocar de um processo para outro exige uma quantidade de tempo para salvar e carregar registradores e mapas de memória, atualizar tabelas e listas etc.

Vamos supor que esse chaveamento de contexto demore 1ms e que o quantum seja de 9ms.

Nesse caso, 10% da CPU seriam desperdiçados em sobrecarga administrativa.

Gabarito: A

63
Q
  1. (CESGRANRIO/IBGE/2016) Processos de sistemas operacionais podem se encontrar em um dentre três estados.

O estado que caracteriza que um processo está adormecido, aguardando a ocorrência de um evento externo, caracterizando a entrega voluntária do uso do processador ao sistema operacional é chamado de

A) bloqueado

B) despacho

C) em execução

D) preemptivo

E) pronto

A

O processo, quando em execução, e antes de terminar a “fatia de tempo dele” (quantum), pode entregar o processador para ficar esperando alguma coisa, como por exemplo a leitura de um arquivo do disco rígido.

Nesse momento ele fica bloqueado, esperando pela leitura do arquivo e não precisaria ficar usando o processador.

Gabarito: A

64
Q
  1. (CESGRANRIO/Petrobras/2018) A política de escalonamento de processos de um sistema operacional é uma das partes que mais pode influenciar no seu desempenho.

A estratégia que associa, a cada processo, um valor baseado no tempo em que ele deverá ocupar a CPU e escolhe o de menor valor para a execução é denominada

A) First-Come-First-serve

B) Last-Come-First-Serve

C) Longest-job-first

D) Round Robin

E) Shortest-job-first

A

Shortest-Job First (SJF) (“Tarefa mais curta primeiro”): algoritmo não-preemptivo que presume que os tempos de execução são conhecidos previamente.

Imagine uma situação em que os jobs (tarefas) de uma empresa são executados há muitos anos e já se sabe que os jobs do tipo A levam 2 minutos, do tipo B 6 minutos e do tipo C 4 minutos.

Os jobs são agendados à tarde para serem executados às 8h do dia seguinte. Vamos ver como ficaria o escalonamento para a execução no dia seguinte dos jobs que foram adicionados na ordem B1, A1, C1, A2 e C2:

Gabarito: E

65
Q
  1. (CESGRANRIO/Transpetro/2018) A política de escalonamento estabelece os critérios utilizados para selecionar o processo que fará uso do processador.

No escalonamento não preemptivo, quando um processo está em execução,

A) apenas o sistema operacional pode ocasionar a perda do uso do processador.

B) qualquer processo em espera pode ocasionar a perda do uso do processador.

C) qualquer processo pronto pode ocasionar a perda do uso do processador.

D) nenhum evento externo pode ocasionar a perda do uso do processador.

E) nem mesmo o próprio processo pode ocasionar a perda do uso do processador.

A

Preempção é o ato do S.O. utilizar as interrupções do relógio para retirar a CPU do processo em execução. Ou seja, o processo não pode monopolizar o processador!

Quando o sistema não for preemptivo pode ocorrer uma situação denominada starvation (inanição). Traduzindo, starvation quer dizer “morrer de fome”, ou seja, aquele processo que nunca consegue chegar ao processador, fica eternamente aguardando, sempre tem alguém que “fura a fila”.

Como a questão busca o conceito de escalonamento não preemptivo, então “nenhum evento externo pode ocasionar a perda do uso do processador”, ou seja, o processo começa a usar o processador e só deixa de usar quando terminar por completo.

Gabarito: D

66
Q
  1. (CESGRANRIO/Transpetro/2018) Em sistemas operacionais multitarefas e interativos é comum utilizar um algoritmo de escalonamento de processos. Um algoritmo amplamente usado é conhecido como round-robin.

Nesse algoritmo, cada processo

A) vai para uma fila de acordo com sua prioridade. As filas de maior prioridade são executadas primeiro. Cada fila é executada em ordem de chegada. Quando todas as filas são executadas, inicia-se de novo pela fila de maior prioridade.

B) recebe um número. A CPU seleciona aleatoriamente um dos processos em espera e o executa por um tempo fixo. Se esse tempo se esgota, a CPU seleciona aleatoriamente outro processo para substituí-lo.

C) possui um grau de importância que define sua ordem em uma lista de espera. Na sua vez, o processo é executado por um tempo fixo. Se esse tempo é ultrapassado, a CPU dá o controle para o próximo da lista, e o processo que estava sendo executado volta para uma posição à frente de todos os outros processos de menor importância

D) na lista de espera recebe um intervalo de tempo fixo em que é permitido executar. Na sua vez, se esse intervalo é ultrapassado, a CPU dá o controle para o próximo processo da lista, e o processo que estava sendo executado vai para o fim da lista.

E) na fila de espera possui uma prioridade. As prioridades são usadas para calcular o intervalo de tempo que o processo deve ficar na CPU, quanto maior a prioridade, maior o tempo. Quando esse tempo se esgota, a CPU dá o controle para o próximo processo da lista, e o processo que estava sendo executado vai para o fim da lista.

A

O round-robin realiza um rodízio entre os processos, sendo que a cada processo é atribuído um intervalo de tempo (quantum), durante o qual ele pode ser executado. Se ao final do quantum o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada a um outro processo.

Obviamente que se o processo tiver terminado antes do fim do quantum ou se tiver sido bloqueado, a troca da CPU é realizada neste momento.

Um ponto interessante é a definição da duração do quantum, pois trocar de um processo para outro exige uma quantidade de tempo para salvar e carregar registradores e mapas de memória, atualizar tabelas e listas etc.

Vamos supor que esse chaveamento de contexto demore 1ms e que o quantum seja de 9ms.

Nesse caso, 10% da CPU seriam desperdiçados em sobrecarga administrativa.

Gabarito: D

67
Q
  1. (CESGRANRIO/LIQUIGÁS/2018) A gerência do processador visa a otimizar o seu uso a partir do emprego de técnicas de escalonamento de processos.

Dentre os critérios adotados para interromper o processo que está em execução, o término da fatia de tempo é amplamente utilizado pelos sistemas operacionais.
Esse critério é adotado no escalonamento

A) Shortest Job First

B) First In First Out

C) First Come First Served

D) Round Robin (Circular)

E) por Prioridade

A

O round-robin realiza um rodízio entre os processos, sendo que a cada processo é atribuído um intervalo de tempo (quantum), durante o qual ele pode ser executado.

Se ao final do quantum o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada a um outro processo.

Obviamente que se o processo tiver terminado antes do fim do quantum ou se tiver sido bloqueado, a troca da CPU é realizada neste momento.

Gabarito: D

68
Q
  1. (CESGRANRIO/UNIRIO/2019) Um sistema operacional deve ter o completo domínio sobre os recursos da máquina. O escalonamento de recursos, o controle de entrada e saída (E/S), a gerência da memória, a gerência do processador, o escalonamento de processos e a segurança são funções que o sistema operacional deve exercer.

Um conceito fundamental em todos os sistemas operacionais é o processo, que significa

A) basicamente um programa em execução

B) atividades para gerenciar a memória

C) chamadas ao sistema (system calls)

D) um serviço oferecido pelo sistema operacional

E) um controlador das entradas e saídas

A

Um processo é simplesmente uma instância de um programa em execução, incluindo os valores correntes dos registradores (PC, IR, entre outros) e das variáveis (ex.: soma, total, em um programa que realiza cálculos).

Cada processo pensa que está “sozinho no mundo” e executa em um processador (CPU) virtual, mas sabemos que na prática o processador alterna de um processo para outro.

Gabarito: A

69
Q

11.(CESGRANRIO/UNIRIO/2019) Deadlock, no contexto de um sistema operacional, é uma

A) ação ou função implementada como uma sequência de uma ou mais instruções que são indivisíveis, ou seja, nenhum outro processo pode interromper a operação.

B) situação em que dois ou mais processos não podem continuar suas execuções, visto que cada um deles espera pelos recursos alocados entre eles.

C) situação em que um processo executável é esquecido indefinidamente pelo escalonador; embora esteja apto a executar, nunca é escolhido.

D) seção de código dentro do processo que requisita acesso a recursos compartilhados, e que não deve ser executado se outro processo está na mesma seção de código.

E) condição na qual múltiplos threads ou processos leem e gravam em uma área de dados compartilhada, e o resultado final depende do tempo relativo a cada operação executada.

A

Um deadlock (impasse) ocorre quando um conjunto de processos está esperando por um evento que só pode ser causado por outro processo do conjunto. Ou seja, ficam todos “amarrados” em um “abraço da morte”, sem poder continuar seus processamentos.

Alguns exemplos de recursos que só podem ser utilizados por um processo por vez: unidades de fita e impressoras. Ou você acha que é possível dois processos escrevendo em uma fita ou mandando imprimir ao mesmo tempo?

Ficaria uma bagunça!

Gabarito: B

70
Q
  1. (CESGRANRIO/Caixa/2021) A sincronização entre processos concorrentes é fundamental para garantir a confiabilidade dos sistemas multiprogramáveis.

Um mecanismo de sincronização simples, que permite implementar a exclusão mútua sem a deficiência da espera ocupada (busy wait), é o

A) deadlock

B) mutual lock

C) escalonamento binário

D) buffer contador

E) semáforo mutex

A

Mutex: versão simplificada do semáforo, quando não for necessário “contar”, utilizando-se apenas os estados “livre” ou “ocupado”.

Consequentemente é necessário apenas um bit para representá-lo, mas na prática geralmente é utilizado um valor inteiro.

Quando um processo precisa entrar na região crítica, ele chama mutex_lock, que será bem-sucedida se a região estiver livre.

Caso contrário, o processo ficará bloqueado até que o processo que estiver na região crítica saia (mutex_unlock).

Gabarito: E

71
Q

13.(CESGRANRIO/Transpetro/2023) Em um sistema operacional moderno, vários processos devem ser atendidos simultaneamente, dando ao usuário a impressão de estarem rodando simultaneamente.

Para isso, é necessário gerenciar o processador por meio de algoritmos de escalonamento, que definem que processo executa e quais ficam esperando, de acordo com diferentes parâmetros.

Um dos critérios que podem ser usados para comparar esses algoritmos é o tempo de turnaround, que conta o tempo

A) entre a submissão de um pedido e a primeira resposta a ele.

B) que o processo realmente passa sendo executado pelo processador.

C) que um processo passa em estado de bloqueio, geralmente aguardando uma operação de E/S ser concluída.

D) total, desde a submissão do processo até a sua conclusão.

E) total que um processo passa na fila de pronto, aguardando para ser executado pelo processador.

A

Tempo de turnaround: tempo de existência de um processo, ou seja, o tempo desde a sua criação até seu término. As políticas de escalonamento buscam minimizar o tempo de turnaround.
Gabarito: D

72
Q
  1. (IADES/PG-DF/2011) O escalonamento de tarefas é uma atividade de processamento realizada pela CPU de um computador.

Esta atividade permite executar de forma mais eficiente os processos considerados prioritários para o sistema operacional.

Assinale a alternativa que apresenta o escalonamento de tarefas em um computador, utilizado como servidor de arquivos de uma rede.

A) O escalonamento garantido busca atender a demanda da rede, priorizando ações de leitura

B) O algoritmo de escalonamento FIFO (First In, First Out) atua na gravação de arquivos em disco, implementando o conceito de pilha de escalonamento.

C) Os algoritmos de escalonamento preemptivos devem permitir que um processo seja interrompido durante sua execução.

D) O algoritmo de escalonamento de múltiplas filas permite o acesso simultâneo a arquivos e banco de dados disponibilizados na rede.

E) O escalonador de longo prazo seleciona os processos na interface de rede, dando prioridade às ações de I/O (Input/Output).

A

(A) O escalonamento garantido é aquele que busca fazer promessas realistas aos usuários sobre o desempenho;

(B) O algoritmo de escalonamento FIFO (First In, First Out) é uma fila, o primeiro a entrar é o primeiro a sair;

(C) Exato! Os preemptivos permitem que um processo seja interrompido durante sua execução, evitando uma monopolização do uso da CPU;

(D) O algoritmo de escalonamento de múltiplas filas atua com classes de prioridade;

(E) Não chegamos a ver na aula.

Trata-se de um escalonador que seleciona os processos que estão na memória secundária e que serão levados para a memória principal.

Gabarito: C

73
Q
  1. (FUNRIO/IF-PA/2016) Sistemas operacionais compartilham recursos, havendo a possibilidade de deadlocks.

A literatura especializada indica quatro condições necessárias para que um deadlock ocorra.

O algoritmo de Avestruz utiliza uma estratégia para lidar com deadlocks conhecida como

A) detectar.

B) detectar e recuperar.

C) evitar.

D) ignorar.

E) prevenir.

A

Algoritmo do avestruz: estratégia mais simples! O que um avestruz faz? Coloca a cabeça em um buraco… pois é, é isso mesmo! O algoritmo finge que nada aconteceu, simplesmente ignora.

E, por incrível que pareça, é a estratégia adotada pela maioria dos sistemas operacionais (Windows, Linux, entre outros).

Por quê? Porque o preço seria alto em realizar muitas restrições ao usuário.

Melhor deixar acontecer…e se for o caso, o usuário reinicia a máquina ou mata um processo, caso ocorra algum travamento.

Gabarito: D

74
Q
  1. (IESES/IGP-SC/2017) Acerca da gerência de processos dos sistemas operacionais, assinale a alternativa correta:

A) Um conjunto de processos está em estado de deadlock quando todos os processos no conjunto estão esperando por um evento que só pode ser causado por outro processo do conjunto.

B) Em um escalonamento preemptivo, um processo só perde o processador se terminar ou entrar em estado de espera.

C) No algoritmo de escalonamento de processos Round Robin, o escalonador sempre escolhe para execução o processo com menor expectativa de tempo de processamento. Esse algoritmo baseia-se no fato de que privilegiando processos pequenos o tempo médio de espera decresce.

D) Starvation é uma situação que não pode ocorrer quando um sistema operacional provê prioridades a processos.

A

(A) Isso aí… fica um aguardando o outro liberar um recurso, que por sua vez aguarda um terceiro e por aí vai…

(B) Em um escalonamento preemptivo um processo perde o processador se terminar, ficar bloqueado ou se terminar seu quantum; (C) No algoritmo de escalonamento de processos Round Robin ocorre um “rodízio”, sendo que cada processo recebe a mesma quantidade de quantum em uma ordem FIFO; (D) Starvation justamente ocorre quando um sistema operacional provê prioridades a processos.

Imagine o uso do recurso processador, sendo que um processo tenha a prioridade máxima e um outro tenha a mínima.

O primeiro leve 4 dias para terminar a execução e antes disso outros processos “surgiram” com uma prioridade maior do que aquele que tem a mínima… quando ele terá acesso ao processador?

Gabarito: A

75
Q
  1. (CONSULPLAN/TRE-RJ/2017) Quando um processo aguarda por um recurso que nunca estará disponível ou mesmo um evento que não ocorrerá, acontece uma situação denominada deadlock (ou como alguns autores denominam: impasse ou adiamento indefinido).

Para que um deadlock ocorra, quatro condições são necessárias.

Uma delas tem a seguinte definição: “cada recurso só pode estar alocado a um único processo em um determinado instante”.

Assinale a alternativa que apresenta tal condição.

A) Espera circular.

B) Exclusão mútua.

C) Não-preempção.

D) Espera por recurso.

A

Ou um processo ou outro pode utilizar determinado recurso.

O nome é bem intuitivo: exclusão mútua.

Ou seja, se um processo A está utilizando um recurso R, um processo B não pode utilizar o recurso R ao mesmo tempo!

Gabarito: B

76
Q
  1. (COMPERVE/UFRN/2018) Sistemas operacionais modernos têm uma gerência de processos e de threads bem definida.

Nesse contexto, é correto afirmar:

A) threads de um mesmo processo compartilham a mesma seção de código na memória.

B) threads de um mesmo processo compartilham a mesma seção da pilha na memória.

C) todas as variáveis de uma thread são compartilhadas com as outras threads do mesmo processo.

D) todos os contextos de uma thread são compartilhados com as outras threads do mesmo processo.

A

A figura abaixo ajuda a entender.

Note que existem 3 threads em um único processo, ou seja, 3 fluxos de execução do mesmo código.

Por exemplo: um editor de textos com 3 threads é carregado na memória, uma responsável pela correção gramatical, uma pela contagem de palavras e a outra pelo resto (na “vida real” existem bem mais, claro).

Então o processo é carregado na memória, no endereçamento X a Y, os fluxos de execução das 3 threads ocorrem “quase em paralelo” e todos eles estarão entre X e Y!

Gabarito: A

77
Q
  1. (FUNDEP/CODEMIG/2018) O escalonamento de processos permite que um computador possa executar diversos programas em pseudoparalelismo, o que viabiliza aspectos como a multiprogramação.

Qual entre os algoritmos de escalonamento a seguir seria mais adequado para sistemas de processamento em lote?

A) Primeiro a chegar, primeiro a ser servido.

B) Round Robin.

C) Escalonamento em duas fases.

D) Escalonamento por loteria.

A

Processamento em lote não possui interação, os processos são colocados lá e podem ser executados na sequência.

Quando a natureza das tarefas for adequada a esse tipo de processamento, a grande vantagem é que não há perda de desempenho com chaveamentos de contexto!

Desse modo, os algoritmos apresentados o mais adequado seria o “Primeiro a chegar, primeiro a ser servido”, pois segue a ordem de chegada e não tem chaveamento de processos com a designação de um quantum a cada um.

Gabarito: A

78
Q
  1. (FUNDEP/CODEMIG/2018) Um dos problemas relacionados ao gerenciamento de um sistema operacional diz respeito ao deadlock, o qual também pode ocorrer em banco de dados.

Uma vez que gerenciar o deadlock pode ser uma tarefa que exija muito tempo do processador, a maior parte dos sistemas operacionais não trata desse problema.

Em alguns sistemas críticos, entretanto, tratar os deadlocks é uma tarefa importante.

Qual entre as formas de tratamento a seguir se baseia em retirar o recurso do processo?

A) Através de preempção.

B) Revertendo o estado do processo.

C) Matando o processo.

D) Verificando a trajetória do processo.

A

O exemplo mais comum é retirar um processo do processador após um determinado tempo (quantum) e essa possibilidade de retirar um recurso do processo tem o nome de preempção.

Gabarito: A

79
Q
  1. (COPESE/Câmara de Palmas-TO/2018) Os sistemas operacionais modernos possuem diversos mecanismos para detecção e tratamento de situações de deadlock.

Assinale a alternativa que NÃO apresenta um destes mecanismos.

A) O sistema irá escolher criteriosamente um processo e o terminará. Se a situação de deadlock não for resolvida, outros processos serão eliminados até que tudo esteja resolvido.

B) Os recursos são retirados dos processos e entregue aos outros até que o deadlock seja eliminado.

C) Os processos podem ser capazes de detectar um deadlock e voltar ao estado de execução anterior antes de pedir um recurso.

D) Um processo que detém um recurso fica esperando pela liberação de outro recurso, eliminando assim o deadlock.

A

A única alternativa que não fala em preempção (retirar algum recurso) ou voltar a um estado anterior (que não havia deadlock) é a letra D.

Pelo contrário, ainda afirma que detém um recurso e FICA ESPERANDO pela liberação de outro recurso, o que não ajuda em nada a liminar a situação de impasse.

Gabarito: D

80
Q
  1. (FUNDEP/CODEMIG/2018) Um dos problemas relacionados ao gerenciamento de um sistema operacional diz respeito ao deadlock, o qual também pode ocorrer em banco de dados.

Uma vez que gerenciar o deadlock pode ser uma tarefa que exija muito tempo do processador, a maior parte dos sistemas operacionais não trata desse problema.

Em alguns sistemas críticos, entretanto, tratar os deadlocks é uma tarefa importante.

Qual entre as formas de tratamento a seguir se baseia em retirar o recurso do processo?

A) Através de preempção.

B) Revertendo o estado do processo.

C) Matando o processo.

D) Verificando a trajetória do processo.

A

Preempção é o ato do S.O. utilizar as interrupções do relógio para retirar a CPU do processo em execução.

Ou seja, o processo não pode monopolizar o processador! Quando o sistema não for preemptivo pode ocorrer uma situação denominada starvation (inanição).

Traduzindo, starvation quer dizer “morrer de fome”, ou seja, aquele processo que nunca consegue chegar ao processador, fica eternamente aguardando, sempre tem alguém que “fura a fila”.

Abaixo podemos ver o conceito de starvation.

Gabarito: A

81
Q
  1. (COPESE/Câmara de Palmas-TO/2018) Os sistemas operacionais modernos possuem diversos mecanismos para detecção e tratamento de situações de deadlock.

Assinale a alternativa que NÃO apresenta um destes mecanismos.

A) O sistema irá escolher criteriosamente um processo e o terminará. Se a situação de deadlock não for resolvida, outros processos serão eliminados até que tudo esteja resolvido.

B) Os recursos são retirados dos processos e entregue aos outros até que o deadlock seja eliminado.

C) Os processos podem ser capazes de detectar um deadlock e voltar ao estado de execução anterior antes de pedir um recurso.

D) Um processo que detém um recurso fica esperando pela liberação de outro recurso, eliminando assim o deadlock.

A

A) APRESENTA - Após uma escolha criteriosa, matar um processo que está “trancando a rua” pode resolver a situação!

B) APRESENTA - Se os recursos que estavam sendo usados e não estavam sendo “largados” por um processo, forem retirados, pode ser que o deadlock seja eliminado.

C) APRESENTA - Se os processos conseguirem detectar um deadlock e voltar ao estado de execução anterior antes de pedir um recurso, é possível eliminar o deadlock.

D) NÃO APRESENTA - O simples fato de ficar esperando esperando não resolve nada! Aí vai depender da sorte! Gabarito: D

82
Q
  1. (UFCG/UFCG/2019) Deadlocks (impasses) podem ocorrer em sistemas operacionais, bancos de dados e outros sistemas concorrentes.

Leia as assertivas abaixo e marque a alternativa correta.

I- Um conjunto de processos estão em condição de deadlock se cada processo no conjunto estiver aguardando um evento que apenas outro processo no conjunto cause.

II- Um deadlock ocorre se e somente se as quatro condições de Coffman forem satisfeitas.

III- Um deadlock pode ocorrer ao utilizar somente recursos não-preemptivos.

IV- Uma forma de evitar deadlocks é garantir que a condição de posse-e-espera não ocorra.

V- Uma forma de evitar deadlocks é garantir que a condição de preempção não ocorra.

A) Somente I está correta.

B) Somente I e II estão corretas.

C) Somente I e III estão corretas.

D) Somente I, II e IV estão corretas.

E) I, II, III, IV e V estão corretas.

A

I- CORRETA - Fica um dependendo do outro, um “abraço da morte”.

II- CORRETA - Exato, são elas: condição de exclusão mútua, condição de posse e espera, ausência de preempção e condição de espera circular.

III- INCORRETA - Além de recursos não preemptivos (ausência de preempção), existem as outras três condições de Coffman: condição de exclusão mútua, condição de posse e espera e condição de espera circular, para que ocorra um deadlock.

IV- CORRETA - Condição de posse-e-espera é uma das condições de Coffman.

Basta que uma delas não ocorra para não ocorrer o deadlock.

V- INCORRETA - Na verdade deve-se garantir que a condição de preempção ocorra!

Gabarito: D

83
Q
  1. (Quadrix/CRA-PR/2019) A respeito do gerenciamento de processos e do gerenciamento de memória nos sistemas operacionais, julgue o item.

Embora os sistemas operacionais executem diversas operações de processo, como, por exemplo, criar e suspender um processo, eles não são capazes de alterar a prioridade de um processo.

A

É possível alterar a prioridade de um processo sim! Inclusive um comando bastante utilizado no Linux para isso é o “renice” (alteração da prioridade pelo usuário).

Se o usuário pode, é claro que o S.O. também pode!

Gabarito: Errado

84
Q
  1. (IF-PA/IF-PA/2019) Em relação à gerência de processo, marque a alternativa CORRETA:

A) o processo é um programa em no estado de pronto.

B) os estados do processo são (execução, pronto, bloqueado ou espera).

C) a thread permite que apenas uma execução ocorra no mesmo ambiente do processo.

D) os sinais são mecanismos que permitem notificar o sistema operacional de eventos gerados pelo processador.

E) escalonamento é a escolha do processo, em estado de execução.

A

(A) Processo é um programa em execução;

(B) Melhor ver na figura abaixo;

(C) Thread permite que fluxos de execução em um mesmo processo ocorram quase que em paralelo;

(D) Interrupções são mecanismos que permitem notificar o sistema operacional de eventos gerados pelo processador;

(E) escalonamento é a escolha do processo, em estado de pronto.

Obs.: Bloqueado ou em espera é a mesma coisa!

Gabarito: B

85
Q
  1. (UFCG/UFCG/2019) Com relação a inanição (starvation) em sistemas multitarefa, escolha a alternativa INCORRETA.

A) Starvation ocorre quando um processo nunca é executado porque outros processos (de maior prioridade, por exemplo) sempre são executados.

B) Starvation pode ocorrer por falhas no algoritmo de agendamento.

C) Uma forma de evitar starvation é utilizar uma política de alocação first-come, first-served, de forma que os primeiros que chegarem, serão os primeiros a serem atendidos.

D) Algoritmos modernos de agendamento, que utilizam prioridades em processos, não possuem estratégias para impedir starvation.

E) Starvation pode ocorrer em um algoritmo de agendamento que sempre executa os trabalhos com menor tempo de execução primeiro.

A

A) CORRETA - Starvation é “morrer de fome”, quando um processo fica esperando “eternamente” e nunca é executado.

B) CORRETA - Falhas no algoritmo de agendamento podem fazer com que um processo nunca seja executado.

C) CORRETA - A política de alocação FCFS não dá prioridades diferentes, assim, em algum momento o processo será executado (na ordem da fila).

D) INCORRETA - Algoritmos modernos de agendamento que utilizam prioridades em processos possuem estratégias para impedir starvation, pois é um problema bem conhecido e normalmente é tratado!

E) CORRETA - Starvation pode ocorrer em um algoritmo de agendamento que sempre executa os trabalhos com menor tempo de execução primeiro, pois sempre pode chegar um processo “pequeno” e vai “furando a fila”.

Gabarito: D

86
Q
  1. (FURB/Pref. de Porto Belo-SC/2019) Sobre gerência de processos, verifique as afirmativas a seguir:

I- Para que dois processos sejam considerados em deadlock, devem acatar de forma simultânea a pelo menos 3 das 4 condições: posse e espera, não preempção, exclusão mútua e espera circular.

II- FCFS é considerada a forma de escalonamento mais elementar e se caracteriza por simplesmente acatar as tarefas na sequência em que surgem, sendo um algoritmo não preemptivo.

III- O Round-Robin (RR) é considerado um algoritmo bem adequado para sistemas de tempo compartilhado.

IV- A JVM (Java Virtual Machine) utiliza um algoritmo de escalonamento de threads não preemptivo e baseado em prioridade que seleciona para execução sempre as threads mais antigas.

V- O algoritmo SJF é um caso especial do algoritmo geral de escalonamento por prioridade e sua maior dificuldade em seu uso é a estimativa, a priori, da duração de cada tarefa.

Assinale a alternativa correta:

A) Apenas as afirmativas I, IV e V estão corretas.

B) Apenas as afirmativas I, II e III estão corretas.

C) Apenas as afirmativas II, III, e V estão corretas.

D) Apenas as afirmativas II, IV e V estão corretas.

E) Apenas as afirmativas I, II, III e V estão corretas.

A

I- INCORRETA - As quatro condições de Coffman devem ser atendidas para ocorrer o deadlock!

II- CORRETA - FCFS é uma fila comum, sem direito a furar a fila! É um algoritmo não preemptivo, ou seja, o processo não é tirado do processador.

III- CORRETA - É considerado bem adequado porque faz um “rodízio”, dividindo o uso do processador.

IV- INCORRETA - A JVM emprega um modelo de escalonamento de threads que é influenciado pelas prioridades atribuídas às threads, mas a implementação exata pode variar entre diferentes máquinas virtuais Java.

V- CORRETA - A prioridade é para os processos “menores” (shortest), mas como estimar o tempo de uso do processador de cada processo? É difícil! Gabarito: C

87
Q
  1. (IF-PA/IF-PA/2019) Em relação à gerência de processo, marque a alternativa CORRETA:

A) o processo é um programa no estado de pronto.

B) os estados do processo são (execução, pronto, bloqueado ou espera).

C) a thread permite que apenas uma execução ocorra no mesmo ambiente do processo.

D) os sinais são mecanismos que permitem notificar o sistema operacional de eventos gerados pelo processador.

E) escalonamento é a escolha do processo, em estado de execução.

A

A) INCORRETA - o processo é um programa em execução. Dependendo do momento pode estar no estado de pronto, em execução ou bloqueado (em espera).

B) CORRETA - Veja a figura abaixo.

C) INCORRETA - a thread é um fluxo de execução dentro do processo. Pode haver várias threads em um único processo.

D) INCORRETA - sinais são mecanismos que permitem que processos ou o kernel de um sistema operacional sejam notificados sobre eventos específicos que ocorrem no sistema. São usados para lidar com eventos assíncronos, como interrupções de hardware, erros de execução ou solicitações de terminação de processo.

E) INCORRETA - escalonamento é a escolha do processo, em estado de pronto, para ir para o estado “em execução”.

Gabarito: B

88
Q
  1. (IDECAN/IF-RR/2020) Os processos inicializados em um sistema operacional podem possuir três estados quanto ao processamento na CPU:

i) pronto;

ii) em execução; e

iii) bloqueado.

Assinale a alternativa que contém o responsável pelo gerenciamento e o controle dos estados de cada processo.

A) Thread

B) Escalonador

C) Memória

D) Arquivos

E) Dispositivos de Entrada e Saída

A

Escalonador (scheduler): rotina responsável por determinar a ordem de execução dos processos.

Ele gerencia a alocação de recursos da CPU entre os vários processos concorrentes em um sistema.

Gabarito: B

89
Q
  1. (IDECAN/IF-RR/2020) Em sistemas operacionais, há o conceito “É uma instância de um programa em execução, incluindo as variáveis”.

Assinale a alternativa ao que ele se refere:

A) Thread

B) Sistema operacional

C) Multiprogramação

D) Escalonador

E) Processo

A

Processo é simplesmente uma instância de um programa em execução, incluindo os valores correntes dos registradores (PC, IR, entre outros) e das variáveis (ex.: soma, total, em um programa que realiza cálculos).

Cada processo pensa que está “sozinho no mundo” e executa em um processador (CPU) virtual, mas sabemos que na prática o processador alterna de um processo para outro.

Essa possibilidade de alternância entre processos é conhecida como multiprogramação ou multitarefa.

Gabarito: E

90
Q

21.(Quadrix/CRECI-MS/2021) Com relação aos fundamentos dos sistemas operacionais, julgue o item.

O processo é um conjunto de instruções originário de uma chamada. Logo, ele não pode criar um ou mais processos.

A

Um processo é um programa em execução.

É possível criar um processo a partir de outro.

Ex.: a partir de um shell (processo) é possível executar um script (outro processo).

Gabarito: Errado

91
Q
  1. (SELECON/EMGEPRON/2021) Os atuais sistemas operacionais empregam um recurso por meio do qual as aplicações são executadas em áreas independentes, possibilitando, no caso de um funcionamento anormal de uma delas, que esta possa ser finalizada, mantendo as demais em processamento normal.

Esse recurso é denominado multitarefa:

A) compartilhada

B) distributiva

C) preemptiva

D) otimizada

A

Sistema multitarefa preemptivo é um sistema que possibilita a execução de mais de um processo ao mesmo tempo geralmente é preemptivo, ou seja, em algum momento o S.O. retira o processador do processo e coloca outro no lugar.

Gabarito: C

92
Q
  1. (CESGRANRIO/Caixa/2021) A sincronização entre processos concorrentes é fundamental para garantir a confiabilidade dos sistemas multiprogramáveis.

Um mecanismo de sincronização simples, que permite implementar a exclusão mútua sem a deficiência da espera ocupada (busy wait), é o

A) deadlock

B) mutual lock

C) escalonamento binário

D) buffer contador

E) semáforo mutex

A

Mutex: versão simplificada do semáforo, quando não for necessário “contar”, utilizando-se apenas os estados “livre” ou “ocupado”.

Consequentemente é necessário apenas um bit para representá-lo, mas na prática geralmente é utilizado um valor inteiro.

Quando um processo precisa entrar na região crítica, ele chama mutex_lock, que será bem-sucedida se a região estiver livre.

Caso contrário, o processo ficará bloqueado até que o processo que estiver na região crítica saia (mutex_unlock).

Gabarito: E

93
Q
  1. (CETAP/SEPLAD-PA/2021) Em um sistema operacional, quais das transições de estado listadas nas alternativas a seguir não é uma transição possível?

A) Do estado de pronto para executando.

B) Do estado de pronto para bloqueado.

C) Do estado de executando para pronto.

D) Do estado de executando para bloqueado.

A

Abaixo podemos ver todas as transições possíveis.

Não são possíveis do estado pronto para bloqueado, nem do estado bloqueado para executando (“em execução”).

Gabarito: B

94
Q
  1. (AOCP/ITEP-RN/2021) Alguns problemas podem ocorrer durante o funcionamento de um sistema operacional.

Quando se trata de processos, o deadlock é um dos problemas mais conhecidos.

Qual das alternativas a seguir caracteriza corretamente um deadlock?

A) O usuário do sistema tem a sua conta bloqueada após esgotar o limite das tentativas de login no processo de autenticação.

B) Uma falha no funcionamento de um processo dentro do espaço de usuário acaba corrompendo um arquivo em edição.

C) Um funcionamento anômalo de um dos componentes de energia causa a interrupção do processador, resultando na falha de processos vitais do sistema operacional e, consequentemente, no seu travamento.

D) A quantidade de processos em execução, devido ao grande número de aplicações executadas pelo usuário, causa esgotamento da memória RAM, gerando lentidão no sistema.

E) A execução dos processos nunca termina, ocupando os recursos do sistema a ponto de impedir a inicialização de outras tarefas.

A

Abaixo vemos uma representação de deadlock.

Agora imagine em uma escala de centenas de processos/recursos em uma espera circular.

Isso poderia acarretar em uma situação em que a execução dos processos nunca termina, com a ocupação dos recursos do sistema a ponto de impedir a inicialização de outras tarefas.

Gabarito: E

95
Q
  1. (IDECAN/SEFAZ-RR/2023) As interrupções do sistema operacional atuam como auxiliares na interação entre camadas de software de entrada e saída.

Selecione a alternativa que ocorre quando várias tarefas concorrem para a utilização de um mesmo recurso, em um sistema operacional.

A) Thread

B) Segmentação

C) DeadLock

D) Multithreading

E) Swapping

A

As quatro condições (de Coffman) que devem ser verdadeiras para que ocorra um deadlock são:

  1. Condição de exclusão mútua: cada recurso ou está correntemente atribuído a exatamente um processo ou está disponível;
  2. Condição de posse e espera: os processos que possuem recursos garantidos anteriormente podem solicitar novos recursos (um acumulador de recursos!);
  3. Ausência de preempção: os recursos garantidos não podem ser retirados à força de um processo;
  4. Condição de espera circular: um encadeamento circular de dois ou mais processos, cada um esperando por um recurso mantido pelo próximo do encadeamento:

Gabarito: C

96
Q
  1. (UFMA/UFMA/2023) Em sistemas operacionais, o “algoritmo do Banqueiro”, desenvolvido por Edsger Dijkstra é utilizado para:

A) encerrar deadlocks

B) resolver deadlocks

C) recuperar-se de deadlocks

D) iniciar deadlocks

E) evitar deadlocks

A

Algoritmo do banqueiro (Banker’s algorithm): utilizado para evitar deadlock em sistemas operacionais.

Ele foi proposto por Edsger Dijkstra e é utilizado em sistemas que têm um número fixo de recursos e processos concorrentes que solicitam e liberam esses recursos.

Gabarito: E

97
Q
  1. (ESAF/CGU/2008) Analise as seguintes afirmações, levando em conta as chamadas de sistemas usadas com semáforos, e assinale a opção verdadeira.

I. A chamada de sistema UP adiciona uma unidade ao valor corrente de um semáforo.

II. Se o valor do semáforo é zero, uma chamada de sistema DOWN não será completada e o processo será suspenso.

III. Quando um processo inicia a execução de uma chamada de sistema UP ou DOWN, nenhum outro processo terá acesso ao semáforo até que o processo complete a execução ou seja suspenso.

A) Apenas I e II são verdadeiras.

B) Apenas I e III são verdadeiras.

C) Apenas II e III são verdadeiras.

D) I, II e III são verdadeiras.

E) I, II e III são falsas.

A

Em um semáforo existem as operações down e up (ou sleep e wakeup).

A operação down verifica se o valor é maior que 0.

Se for, ele decrementa um e continua.

Se o valor for 0, o processo (ou a thread) é “colocado para dormir” (bloqueado) sem completar a operação down.

É garantido que iniciada uma operação de semáforo, nenhum outro processo pode acessar o semáforo até que a operação tenha terminado ou sido bloqueada (ação atômica).

Isso evita as condições de corrida.

Gabarito: D