Você está na página 1de 3

CENTRO UNIVERSITÁRIO FARIAS BRITO

Felipe Haiashida Carvalho


Disciplina: SISTEMAS OPERACIONAIS Professor: Data:
LUCIANO COMIN NUNES

Lista de Exercícios – SO

OBS.: Para subsidiar respostas, usar material apresentado em sala de aula, disponível nos livros citados na bibliografia
do Plano de Ensino da Disciplina.

1) Conceitue Processo e explique o porquê da importância deste conceito para sistemas


multiprogramáveis.

R: Processos são, de maneira simplificada, programas em execução no computador que possuem seu
espaço de enderaçamento e uma lsita de posições de memória
Os processos são importântes principalmente em SO de multitarefas pois permitem que mais de u
programa seja utilizado por vez permitindo que eles sejam executados em segundo plano

2) O que é contexto de processo? Quais são as modalidades de contexto existentes? Descreva cada
uma, exemplificando-as.

R: O contexto é o estado atual de um processo, incluindo informações como o valor dos registradores,
o conteúdo da memória e o estado de E/S (entrada/saída). Essas informações permitem que o
sistema operacional pause e retome a execução do processo de onde ele parou anteriormente. O
contexto do processo é gerenciado pelo sistema operacional e é essencial para a multitarefa,
permitindo que vários processos compartilhem o uso do processador
Suas modalidades são:

 Contexto de Hardware: Constitui-se do conteúdo de registradores.


 Contexto de Software: São delimitados características e limites de recursos que podem ser utilizados.
 Espaço de Endereçamento: Local da memória onde o processo pode ser executado, além do espaço
para dados utilizados por eles

3) Quais são os cinco estados possíveis de um processo? Exemplifique cada mudança de estado de um
processo, associando eventos para cada mudança.
R:
New: Processo está sendo criado
Ready: Processo está pronto para ser executado
Running: Instruções do processo estão executando
Waiting: Processo está esperando ocorrência de algum evento
Terminated: Processo terminou a execução

4) Dê um exemplo que apresente todas as mudanças de estado de um processo, juntamente com o


evento associado a cada mudança.
R: Um exemplo de processo que apresente todas as mudanças de estado e os eventos associados
seria um processo de edição de texto. Inicialmente, o processo está no estado de pronto (ready),
esperando para ser executado. Quando o usuário inicia a edição de um arquivo, o processo passa
para o estado de execução (running). Se o usuário salvar o arquivo, o processo pode passar para o
estado de bloqueado (blocked) enquanto o sistema operacional grava as alterações no disco. Quando
a operação de salvamento é concluída, o processo retorna ao estado de pronto e espera para ser
executado novamente.

5) Explique o que são Processos Independentes, Subprocessos e Processos Multithread. Apresente a


diferença entre eles.

R:

Processos independentes são processos que não compartilham recursos com outros processos. Eles são
executados de forma isolada e, portanto, não podem afetar ou serem afetados por outros processos. Cada
processo independente é executado em seu próprio espaço de endereço e é gerenciado separadamente pelo
sistema operacional.

Subprocessos são processos que são criados a partir de um processo existente (pai). Eles compartilham
recursos com o processo pai e podem ser usados para executar tarefas específicas do processo pai. Os
subprocessos são gerenciados pelo sistema operacional como processos independentes, mas compartilham
alguns recursos com o processo pai.

Processos multithread são processos que têm vários threads de execução em execução simultaneamente.
Cada thread é uma unidade independente de execução dentro do processo e pode executar tarefas
diferentes. Os threads compartilham recursos comuns, como memória e arquivos, e podem se comunicar
entre si para coordenar suas atividades. Diferentes threads em um processo podem ser executados em
paralelo em múltiplos núcleos de CPU, o que pode melhorar significativamente o desempenho do aplicativo.

A principal diferença entre eles é a forma como compartilham recursos. Processos independentes são
totalmente isolados e não compartilham recursos com outros processos, enquanto subprocessos
compartilham alguns recursos com o processo pai e processos multithread compartilham recursos comuns,
como memória e arquivos, entre seus threads. Os subprocessos são gerenciados pelo sistema operacional
como processos independentes, enquanto os threads são gerenciados pelo sistema operacional como parte
do processo que os contém.

6) Em que consistem processos Foreground e Background? Diferencie-os.


R:
Os processos foreground são aqueles que estão em primeiro plano, ou seja, estão sendo executados
atualmente e exigem interação do usuário. Esses processos geralmente têm prioridade sobre os
processos em segundo plano e podem interromper a execução de outros processos para concluir
suas tarefas.
Já os processos background são aqueles que estão em segundo plano, ou seja, estão sendo
executados, mas não exigem interação do usuário. Esses processos geralmente executam tarefas em
segundo plano, como atualizações de sistema, backups ou downloads, e não interferem na execução
de processos foreground. Os processos background geralmente têm uma prioridade menor do que os

2
processos foreground e podem ser interrompidos temporariamente para permitir que um processo
foreground execute suas tarefas.

7) Conceitue processos quanto ao tipo I/O-Bound e CPU-Bound. Exemplifique cada um.

R: Os processos CPU-bound são aqueles que exigem principalmente o uso da CPU para sua execução e não
dependem muito de operações de entrada e saída. Um exemplo pode ser um programa de edição de imagem
que executa muitos cálculos complexos para aplicar efeitos em uma imagem.

Por outro lado, os processos I/O-bound são aqueles que dependem principalmente de operações de entrada
e saída, como leitura e gravação em disco ou comunicação de rede. Um exemplo pode ser um aplicativo de
download de arquivos que passa a maior parte do tempo esperando por dados de entrada ou saída.

8) Explique o porquê da afirmação: “Sinais estão para Processos” assim como “Interrupções e Exceções
estão para o SO”. Exemplifique.

R: A afirmação "Sinais estão para Processos" se deve ao fato de que os sinais são mecanismos usados
pelos processos para se comunicarem com o sistema operacional e com outros processos. Os sinais podem
ser usados para avisar um processo de que ocorreu uma exceção ou para solicitar que um processo termine
sua execução. Dessa forma, os sinais são uma forma de um processo interagir com o sistema operacional e
com outros processos.

Já a afirmação "Interrupções e Exceções estão para o SO" se deve ao fato de que as interrupções e
exceções são mecanismos usados pelo sistema operacional para lidar com eventos inesperados ou
excepcionais. As interrupções podem ser geradas por dispositivos de hardware, como teclados ou discos
rígidos, enquanto as exceções podem ser geradas por erros de programação ou violações de segurança.
Quando uma interrupção ou exceção ocorre, o sistema operacional é responsável por lidar com ela e garantir
que o sistema continue a funcionar corretamente.

Por exemplo, um programa de edição de texto pode usar sinais para se comunicar com o sistema operacional
e solicitar que um arquivo seja salvo. Se ocorrer um erro de hardware, como um disco rígido com falha, o
sistema operacional pode gerar uma interrupção para lidar com a situação e garantir que o sistema continue a
funcionar corretamente.

Você também pode gostar