TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Resumo Threads Sistemas Operacionais

Por:   •  7/6/2019  •  Resenha  •  5.176 Palavras (21 Páginas)  •  324 Visualizações

Página 1 de 21

Sistemas Operacionais

Processos

  • Base para implementação de um sistema multiprogramável;
  • Caracterizado por um programa em execução;
  • O processador apenas executa os processos, não sendo capaz de distinguir qual programa se encontra em execução;
  • Um processo pode: alocar recursos, compartilhar dados, trocar informações e sincronizar a execução;
  • Ambiente onde o programa é executado;
  • Um processo é uma instância de um programa e possuí dados de entrada, saída e um estado  é a maneira que o SO vê um programa e possibilita sua execução;
  • Um programa pode ter várias instâncias em execução, em diferentes processos  maneira como o programador vê a tarefa a ser executada;

Estrutura

  • Contexto de Hardware  Armazena as informações referentes ao processo (pilha de execução).

- Armazena o conteúdo dos registradores gerais.

- Quando um processo está em execução, seu contexto de hardware está armazenado nos registradores.
- Quando um processo perde a utilização da UCP o sistema salva as informações do contexto de hardware;

- A troca de processos  mudança de contexto..

  • Contexto de Software  Características do processo..
    As informações são provenientes do arquivo de contas.


Identificação  PID (identificação do processo), UID (identificação do usuário ou processo que o criou). Apenas objetos da mesma UID podem ser acessados. 

Quotas  Limites para acesso dos recursos do SO que cada processo pode alocar. Caso uma quota seja insuficiente o processo pode ser executado lentamente ou ser interrompido.

 
Privilégios
 As ações que um processo pode fazer em relação à:

Ele mesmo  permite que suas características sejam alteradas.

Outros processos  Além de alterar suas características, também pode alterar as dos outros.

Sistema Operacional  Gerencia do ambiente, desativação do sistema....

  • Espaço de Endereçamento Área da memória pertencente ao processo, onde as instruções e dados do programa são armazenados.

- Cada processo possuí seu próprio espaço de endereçamento.

Bloco de Controle

  • Um processo é implementado através de uma estrutura de controle  bloco de controle do processo;
  • PCB - Contém todas as informações do contexto de hardware, software e espaço de endereçamento.;
  • Residem em uma área da memória principal.

Estados do Processo

  • Um processo não deve alocar a UCP com exclusividade em sistemas multiprogramáveis;
  • Processos passam por diferentes estados ao longo do seu processamento, de acordo com eventos síncronos e assíncronos;

  • Processo Ativo:
  • Execução  Quando o processo está sendo executado pelo processador.
  • Pronto  Aguardando para ser executado.
  • Espera  Aguarda algum evento externo ou algum recurso para prosseguir processamento.

pronto  execução

execução  espera

espera  pronto

pronto - execução

  • Processo:
  • Execução  Pronto  Espera
  • Criação  SO adiciona um novo PCB à sua estrutura e aloca espaço de endereçamento na memória para uso.
    A partir da criação, o SO reconhece a existência do processo, mas ainda não o colocou na lista de processos prontos.
  • Terminado  O processo não pode ter mais nenhuma execução, porém o SO ainda terá suas informações presentes na memória.

Um processo terminado não é mais considerado ativo, mas como o PCB ainda existe, o SO pode recuperar suas informações.

Pode ocorrer por: termino de execução, eliminação por outro processo ou eliminação forçada.

Concorrência

Uma maneira de implementar a concorrência em processos é subdividir o código em partes para trabalhar de forma cooperativa.

Processos Independentes

  • Maneira mais simples de implementação;
  • Não existe vínculo do processo criado com o criador;
  • Exige alocação de um PCB independente;
  • Consumo de recursos: alocação e desalocação de contexto de software, hardware e espaço de endereçamento.

Processos Subprocessos

  • Estrutura hierárquica  pais e filhos;
  • Dependência entre processo criador (pai) e o subprocesso (filho);
  • Caso o pai deixe de existir os filhos são automaticamente eliminados;
  • Cada subprocesso possuí seu próprio PCB;
  • O processo pai cede parte de suas Quotas com os filhos.
  • Consumo de recursos: alocação e desalocação de contexto de software, hardware e espaço de endereçamento.

Threads

  • Tentativa de reduzir o tempo gasto na criação, eliminação e troca de contextos;
  • Economiza recursos do SO;
  • Compartilham o processador da mesma maneira que um processo  enquanto um thread aguarda uma operação outra pode ser executada;
  • Compartilha o mesmo contexto de software e espaço de endereçamento, uma vez que o espaço referenciado pelo loader é o mesmo do contexto de software e espaço de endereçamento;

Multithread  Compartilham o mesmo espaço de endereçamento e contexto de software.

Foreground e Background

  • Todo processo é associado à sua estrutura pelo menos dois canais de comunicação.
  • Foreground  Permite a comunicação direta entre o usuário e o processo. Canais de entrada e saída.
  • Background  Não existe comunicação com o usuário e o processo. Processamento batch.
  • Pipe  Faz a ligação entre os processos, sendo possível associar o canal de saída de um processo ao canal de entrada de outro.

CPU-Bound e I/O-Bound

  • Processos classificados de acordo com o modo que utilizam o processador e os dispositivos de E/S.
  • CPU-Bound  Quando passa a maior parte do tempo em estado de execução, poucas operações de leitura e gravação.
  • I/O-Bound  Quando passa a maior parte do tempo em estado de espera

Sinais

  • Permite notificar processos de eventos gerados pelo SO ou por outros processos;
  • Maior parte gerado pelo SO ou pelo hardware  exceções, interrupções, alarmes;
  • O SO é notificado do problema através de uma exceção, o sistema deve notificar o processo que gerou o problema através de um sinal.

Threads

  • Antigamente os SO suportavam apenas processos com uma única thread (monothread);
  • Lightweight  Espaço de endereçamento de um processo compartilhado por várias aplicações;

Conceitos

  • Sub-rotina de um programa que pode ser executada de forma assíncrona, paralela ao programa que a chamou;
  • Conjunto de threads compões as linhas de execução de um processo;
  • Possuem recursos particulares  PC, registradores e pilha.;
  • Compartilham um mesmo espaço de endereçamento e contexto de software.;
  • Sub-rotina de um programa que pode ser executada de forma assíncrona, paralela ao programa que a chamou;
  • São implementadas internamente dentro de uma estrutura de dados  TCB.
  • Cada thread tem sua própria pilha de execução, embora compartilhem espaço de endereçamento;
  • Usuário vê o programa, o SO reconhece o processo, não as threads.;
  • São concorrentes dentro do processo em que foram criadas;
  • Processos são concorrentes e Threads são simultâneas;
  • Threads são sincronizadas, caso contrário uma interferiria na outra.

  • Exemplo: Editor de texto

Threads  identação, fonte, correção, mudança de linha;

Monothread

  • Suporta apenas um programa no seu espaço de endereçamento.
  • Aplicações concorrentes com o uso de múltiplos processos independentes e subprocessos.
  • Endereçamento individual e protegido 
  • Um processo com uma Thread;
  • Threads concorrentes;
  • Problemas  Consumo de diversos recursos do sistema devido a alocação e desalocação dos recursos e comunicação lenta.

Multithread

...

Baixar como (para membros premium)  txt (29.1 Kb)   pdf (301.1 Kb)   docx (297.1 Kb)  
Continuar por mais 20 páginas »
Disponível apenas no TrabalhosGratuitos.com