Pular para o conteúdo principal

Questão de Sistemas Operacionais — Conceitos Básicos em Sistemas Operacionais — Quadrix 2025

Sistemas OperacionaisConceitos Básicos em Sistemas Operacionais
Código
qg598466
Banca
Quadrix
Órgão
CRM-ES
Ano
2025
Nível
Médio
Cargo
Técnico de TI
Certa entidade de um sistema operacional é a instância autônoma de um programa em execução, incluindo o seu código, dados, variáveis, registradores e informações de controle do sistema operacional. Essa entidade representa a execução ativa de um programa, sendo tratada pelo sistema operacional como uma unidade de trabalho que pode ser criada, suspensa, retomada e finalizada. Cada entidade dessas tem um identificador único e pode se comunicar com outras entidades de mesma natureza.Com base nessa informação, é correto afirmar que essa entidade é denominada
  1. Apipe.
  2. Bprocesso.
  3. Cthread.
  4. Ddriver.
  5. EPID (process identifier).
Revelar gabarito e comentário

GabaritoC — thread.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Processos e Threads em Sistemas Operacionais

Gabarito: letra B. A entidade descrita — instância autônoma de um programa em execução, com código, dados, registradores e informações de controle — é o processo, conceito central da gerência de tarefas do sistema operacional. A alternativa C (thread) é o distrator clássico: a thread é a unidade de execução dentro do processo, compartilhando seu espaço de endereçamento, e não uma instância autônoma completa.

O sistema operacional moderno distingue dois conceitos que a banca adora confundir: programa e processo. O programa é um conjunto estático de instruções armazenado em disco — um arquivo, algo passivo. O processo é a execução ativa desse programa: quando você dá duplo clique num executável, o SO carrega o código na memória, aloca recursos, cria o contexto de execução e passa a gerenciar aquela atividade. É essa atividade dinâmica que o enunciado descreve.

O processo carrega consigo tudo o que define seu estado de execução: o código (as instruções), os dados (variáveis globais e estáticas), a pilha, os registradores da CPU (incluindo o contador de programa, que aponta para a próxima instrução), e as informações de controle do SO (como prioridade, estado, identificador). Cada processo tem um PID (Process Identifier) — número único que o identifica no sistema — e pode se comunicar com outros processos por mecanismos de IPC (Interprocess Communication), como pipes, filas de mensagens e memória compartilhada.

O ciclo de vida do processo é gerenciado pelo SO: ele pode ser criado (fork/exec no Linux, CreateProcess no Windows), suspenso (bloqueado aguardando E/S ou recurso), retomado (volta à fila de prontos) e finalizado (exit). Essa é a essência da gerência de tarefas — o SO alterna a execução entre processos, dando a ilusão de que todos rodam simultaneamente (multiprogramação).

A distinção que importa aqui é processo × thread. A thread é uma linha de execução dentro do processo: um processo pode ter várias threads, que compartilham o mesmo espaço de endereçamento (código, dados, heap) mas têm pilha e registradores próprios. Enquanto o processo é a "unidade de propriedade de recursos", a thread é a "unidade de despacho" — é a thread que efetivamente executa na CPU. O enunciado fala em "instância autônoma" com "código, dados, variáveis, registradores e informações de controle" — isso descreve o processo completo, não a thread, que compartilha código e dados com suas irmãs.

A pegadinha da banca está exatamente aí: o candidato que confunde os dois conceitos marca thread (C), mas o texto é claro ao dizer que a entidade inclui código e dados próprios — característica do processo. A thread não tem código e dados próprios; ela herda os do processo que a criou. Guarde essa fronteira: processo = instância completa e autônoma; thread = linha de execução dentro do processo.

Processo
  • 1Definição
    • Instância autônoma de programa em execução
    • Código, dados, registradores e controle do SO
  • 2Ciclo de vida
    • Criado
    • Suspenso
    • Retomado
    • Finalizado
  • 3Identificação
    • PID (número único)
  • 4Comunicação (IPC)
    • Pipes
    • Filas de mensagens
    • Memória compartilhada
  • 5Thread
    • Linha de execução dentro do processo
    • Compartilha código e dados
    • Pilha e registradores próprios
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Pipe é um mecanismo de comunicação entre processos (IPC), não uma entidade de execução. Ele é um canal unidirecional de dados que conecta a saída de um processo à entrada de outro (ex.: ls | grep txt). Não possui código, registradores nem informações de controle — é apenas um buffer de comunicação. A banca o coloca aqui para testar se você sabe que pipe é um mecanismo, não uma unidade de trabalho.

Alternativa B — ✅ Correta ⟵ GABARITO

O processo é exatamente o que o enunciado descreve: a instância autônoma de um programa em execução, com seu próprio código, dados, variáveis, registradores e informações de controle do SO. É tratado como unidade de trabalho — pode ser criado, suspenso, retomado e finalizado — e tem identificador único (PID). A definição clássica de Tanenbaum e Maziero: o processo é a "atividade dinâmica" resultante da execução de um programa, distinguindo-se do programa estático. É a unidade fundamental da gerência de tarefas.

Alternativa C — ❌ Incorreta

Thread é a unidade de execução dentro do processo. Um processo pode conter várias threads, que compartilham o mesmo espaço de endereçamento (código, dados, heap) e os recursos do processo. Cada thread tem sua própria pilha e registradores, mas não é uma "instância autônoma" com código e dados próprios — ela usa os do processo. O enunciado descreve a entidade completa e autônoma, o que aponta para processo, não thread. A banca explora exatamente essa confusão conceitual.

Alternativa D — ❌ Incorreta

Driver (ou controlador de dispositivo) é um componente de software que permite ao SO comunicar-se com um dispositivo de hardware específico (impressora, placa de rede, disco). Ele abstrai as particularidades do hardware e oferece uma interface padronizada ao núcleo. Não é uma unidade de execução com código, dados e registradores próprios — é um módulo de software de baixo nível, parte da camada de abstração de hardware do SO.

Alternativa E — ❌ Incorreta

PID (Process Identifier) é o identificador numérico único atribuído a cada processo pelo SO. Ele é uma característica do processo — mencionada no enunciado ("identificador único") — mas não é a entidade em si. O PID é usado pelo SO e pelos usuários para referenciar e controlar processos (ex.: comando kill 1234 no Linux). Confundir o identificador com a entidade é um erro comum: o PID é um atributo, não a unidade de trabalho.

NÃO CAIA NESSA!

A banca coloca thread (C) como distrator principal justamente porque é o conceito mais próximo de processo. A armadilha: o enunciado diz "instância autônoma" com "código, dados, variáveis" — isso é processo. A thread compartilha código e dados com o processo que a contém; ela não é autônoma nesse sentido. Se a questão falasse em "linha de execução" ou "unidade de despacho", aí sim seria thread. Fique atento a essas palavras-chave: autônoma + código/dados próprios = processo; compartilha recursos + linha de execução = thread.

PEGA ESSA DICA!

Para não errar mais, monte o quadro mental: Programa (estático, em disco) → Processo (instância em execução, com recursos próprios) → Thread (linha de execução dentro do processo). Na prova, leia o enunciado procurando por "instância autônoma" (processo) ou "linha de execução" (thread). E lembre: PID é o número do processo, não o processo em si.

Gabarito: letra B

Link permanente: /questoes/qg598466