Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


SO-4- Processos e Threads, Notas de estudo de Informática

Redes - Redes

Tipologia: Notas de estudo

2011

Compartilhado em 05/10/2011

flavio-marques-passos-4
flavio-marques-passos-4 🇧🇷

1 documento

1 / 34

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sistemas Operacionais
Processos e Threads
Carine Rodrigues da Costa
UnematAlto Araguaia MT, 31/08/2011
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Pré-visualização parcial do texto

Baixe SO-4- Processos e Threads e outras Notas de estudo em PDF para Informática, somente na Docsity!

Sistemas Operacionais

Processos e Threads

Carine Rodrigues da Costa

UnematAlto Araguaia – MT, 31/08/

Processo e Programa

PROCESSO

 Entidade dinâmica e “breve”

 Altera seu estado à medida que avança sua execução

 Composto por código, dados, pilha e contexto (registradores e informações de controle)

PROGRAMA

 Entidade estática e “permanente”

 Sequência de instruções

 Passivo sob o ponto de vista do SO

Multiprogramação

 Torna mais eficiente o aproveitamento dos recursos do computador

 Execução “simultânea” de vários programas

 Diversos programas são mantidos na memória

 Conceitos necessários à multiprogramação

 Processo  Interrupção  Proteção entre processos

Ciclo de vida – criação

Principais eventos que levam à criação de processos

 Início do sistema

 Execução de chamada ao sistema de criação de processos

  • Exemplos: fork , CreateProcess
  • Podem ser associados a uma sessão de trabalho Exemplo: login de usuário cria um (shell) ou vários processos (ambiente gráfico)

 Solicitação do usuário para criar um novo processo

 Início de um job em lote

Ciclo de vida – execução (cont.)

Processos podem:

 Utilizar muito a CPU ( CPU bound )

  • Ciclo de processador >> ciclo de E/S

 Realizar muitas operações de E/S ( I/O bound )

  • Ciclo de E/S >> ciclo de processador

Situação ideal:

 Misturar processos CPU bound com I/O bound

  • Uso eficiente dos recursos (CPU + E/S)

Ciclo de vida - término

Condições que levam ao término de processos

 Término normal (voluntária)

 Término por erro (voluntária)

 Erro fatal (involuntário)

 Cancelamento por um outro processo (involuntário)

Estados (cont.)

 Implementação dos estados através de filas

Estruturas de controle (cont.)

Cada processo é composto por:

Programa (texto ou código)

Dados (parte alterável)

Pilha (usada para armazenar parâmetros e endereços)

Bloco de controle de processo (ou bloco de controle da tarefa ou descritor do processo ou descritor da tarefa)

 Contém os dados necessários para SO controlar o processo

Soluções para o problema de concorrência

 Buffering

 Reentrância

Buffering

 Implementação para minimizar o problema da disparidade da velocidade de processamento existente entre a UCP e os dispositivos de E/S.

Objetivo: manter, na maior parte do tempo, UCP e dispositivos ocupados.

Utilização de uma área de memória para a transferência entre os periféricos e a memória principal denominada buffer.

Reentrância

 Capacidade de um código de programa (código reentrante) poder ser compartilhado por diversos usuários , exigindo que apenas uma cópia do programa esteja na memória.

 O código não pode ser modificado por nenhum usuário no momento em que está sendo executado.

 Permite que cada usuário possa estar em um ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário.

Reentrância

 Exemplo: vários usuários utilizam o mesmo editor de textos. Várias cópias  desperdício de espaço.

 Outros exemplos: utilitários do sistema, como editores de texto, compiladores.

Modos de implementar concorrência

Concorrência: mecanismo que permite manter vários processos seqüenciais ativos, em uma máquina com um só processador, e diversos dispositivos de E/S.

 Princípio básico para projeto e implementação dos SO multiprogramáveis.

Modos de implementar concorrência

 Processos independentes

 Subprocessos e

 Threads

 Objetivo: dividir o código em partes para trabalhar de maneira cooperativa.