Threads Flashcards

definir o conceito, as características, a hierarquia e os estados dos processos e threads; analisar as características sobre a comunicação, como condições de disputa, regiões críticas e exclusão mútua com espera ociosa; explicar como é realizado o escalonamento entre processos e threads, distinguir os tipos de escalonamento e seus principais algoritmos

1
Q

Um processo pode ser definido como:

A

Um processo pode ser definido como um programa em execução incluindo os valores do contador de programa atual, registradores e variáveis.

Podemos considerar também que um processo é uma atividade que contém um programa, uma entrada, uma saída e um estado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é o pseudoparalelismo?

A

É a falsa impressão de que todos os programas estão executando ao mesmo tempo, mas na verdade o que acontece é que um processo em execução é suspenso temporariamente para dar lugar ao processamento de outro processo e assim sucessivamente.

Nos computadores atuais, o processador funciona como uma linha de produção executando vários programas ao mesmo tempo de forma sequencial, como ler um livro on-line, baixar um arquivo e navegar na internet. A CPU é responsável por alternar os programas, executando-os por dezenas ou centenas de milissegundos, para que cada um tenha acesso ao processamento, dando a ilusão ao usuário de paralelismo ou pseudoparalelismo (TANENBAUM, 2003).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Defina multiprogramação

A

CPU alterna de um processo para outro a cada momento, essa alternância é conhecida como multiprogramação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Os serviços que os sistemas operacionais podem implementar através de processos são (MACHADO; MAIA, 2007):

A
  • auditoria e segurança do sistema.
  • a contabilização do uso de recursos.
  • a contabilização de erros.
  • gerência de impressão.
  • comunicação de eventos.
  • serviços de redes.
  • interface de comandos (Shell), entre outros.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Use a analogia de fazer um bolo para exemplificar a diferença entre processo e programa.

A

Para fazer um bolo, é necessário todos os ingredientes e a receita. A receita pode ser considerada como o programa, os ingredientes são os dados de entrada e a pessoa que prepara o bolo é o processador.

Os processos são as atividades que a pessoa faz durante a preparação do bolo: ler a receita, buscar os ingredientes, misturar a massa e colocar o bolo para assar, que é o processo final desse programa “receita de bolo”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Segundo Tanenbaum (2003), existem quatro eventos que fazem com que um processo seja criado:

A

1) início do sistema: quando o sistema operacional é inicializado, são criados vários processos. Existem os de primeiro plano, que interagem com os usuários e suas aplicações, e os de segundo plano, que possuem uma função específica, como um processo para atualizar e-mails quando alguma mensagem é recebida na caixa de entrada.
Para visualizar os processos em execução no Windows, pressione as teclas CTRL+ALT+DEL e no Linux utilize o comando ps.

2) execução de uma chamada ao sistema de criação por um processo em execução: por exemplo, quando um processo está fazendo download, ele aciona um outro processo para ajudá-lo. Enquanto um faz o download, o outro está armazenando os dados em disco.

3) uma requisição do usuário para criar um novo processo: quando o usuário digita um comando ou solicita a abertura de um ícone para a abertura de um aplicativo.

4) início de um job em lote: esses processos são criados em computadores de grande porte, os mainframes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Existem os processos de primeiro plano, que são processos dos usuários e interagem com suas aplicações, e os de segundo plano, que possuem função específica. Os processos de segundo plano, ao executarem uma função específica, são chamados de

A

daemons

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Após a criação, os processos podem ser finalizados em quais condições?

A
  • saída normal (voluntária): acontece quando o processo acaba de executar por ter concluído seu trabalho.
  • saída por erro (voluntária):acontece quando o processo tenta acessar um arquivo que não existe e é emitida uma chamada de saída do sistema. Em alguns casos, uma caixa de diálogo é aberta perguntando ao usuário se ele quer tentar novamente.
  • erro fatal (involuntário): acontece quando ocorre um erro de programa, por exemplo, a execução ilegal de uma instrução ou a divisão de um número por zero. Neste caso, existe um processo com prioridade máxima que supervisiona os demais processos e impede a continuação do processo em situação ilegal.
  • cancelamento por um outro processo:acontece quando um processo que possui permissão emite uma chamada ao sistema para cancelar outro processo.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é e como funciona a hierarquia de processos no sistema UNIX?

A

Segundo Tanenbaum (2003), em alguns sistemas, quando um processo cria outro, o processo-pai e o processo-filho ficam associados. O filho pode gerar outros processos, criando, assim, uma hierarquia de processos.

No Unix, um processo-pai, seus filhos e descendentes formam um grupo de processos. Por exemplo, quando um usuário envia um sinal do teclado (como CTRL + ALT + DEL), este sinal é entregue para todos os processos que compõem o grupo de processos do teclado. Quando um processo-pai é “morto”, todos os filhos vinculados a ele são “mortos” também.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O Windows possui uma hierarquia de processos?

A

Não. Cada um possui um identificador próprio e quando um processo cria outro, existe uma ligação entre eles, mas ela é quebrada quando o processo- pai passa seu identificador para outro processo. Quando um processo-pai é “morto”, os processos vinculados a ele não são mortos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Os processos podem passar por diferentes estados ao longo do processamento. Um processo ativo pode estar em quantos estados?

A

Um processo pode estar em 3 estados. (MACHADO; MAIA, 2007):

  • em execução: um processo está em execução quando está sendo processado pela CPU. Os processos são alternados para a utilização do processador.
  • pronto: um processo está no estado de pronto quando possui todas as condições necessárias para executar e está aguardando. O sistema operacional é quem define a ordem e os critérios para execução dos processos.
  • espera ou Bloqueado: um processo está no estado de espera quando aguarda por um evento externo (um comando do usuário, por exemplo) ou por um recurso (uma informação de um dispositivo de entrada/saída, por exemplo) para executar.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly