Sistema Operacionais P2
Slides 2
Processos
É uma atividade de um programa que contém o código e dados (de uma atividade).
O processo é um trecho de código em execução em uma máquina.
Processador junto com S.O. realiza.
Leitura e escrita de dados;
Cálculos no processador;
Comunicação com o usuário;
Comunicação com a rede inteira ou externa.
Problemas com Processos:
Processo que executa um único fluxo de execução era diferente dos requisitos dos S.O.s distribuídos.
Aplicativos mais sofisticados que exigiam um único processador, exigem concorrência de suas atividades.
Foi necessário aprimorar a noção de processo, para que o processo pudesse ser associado a múltiplas atividades internas a ele.
O processo é uma entidade a nível de kernel, que possui um espaço de endereçamento.
Só através de system calls que um programa acessar dados na estrutura de um processo.
Contexto de um Processo:
Um identificador do processo (PID).
Um segmento de código.
Um segmento de dados.
Os valores dos registradores da CPU.
Um contador de programa lógico.
Uma pilha de execução.
O estado do processo.
Informações para escalonamento (prioridade, tempo)
Dados para contabilização de uso.
Recursos alocados: arquivos, portas, eventos, outros.
Com surgimento de processadores de mais alto desempenho, um mesmo processo pode ter diversos fluxos de execução. Cada fluxo de execução é chamado de Thread.
Threads
Unidade de processamento concorrente nos S.O.s atuais, dentro de um processo.
Contexto de um Thread:
Um identificador do processo (PID).
Um segmento de código.
Um segmento de dados.
Os valores dos registradores da CPU.
Um contador de programa lógico.
Uma pilha de execução.
O estado do processo.
Informações para escalonamento (prioridade, tempo)
Dados para contabilização de uso.
Recursos alocados: arquivos, portas, eventos, outros.
Os threads surgiram com a necessidade de ter múltiplas execuções durante um único processo devido aos processadores de mais alto desempenho. Eles são as