Processos e Threads
Processos e Threads
Processos e Threads
2.1 Processos
PCs modernos faz muitas tarefas ao mesmo tempo.
Por exemplo, um processo pode ser inicializado para esperar pela chegada de e-mails. Outro
pode ser executado em prol do programa antivírus para conferir periodicamente se há novas
definições de vírus disponíveis. Além disso, processos explícitos de usuários podem ser
executados, imprimindo arquivos e salvan do as fotos do usuário em um pen-drive, tudo isso
en quanto o usuário está navegando na Web. Toda essa atividade tem de ser gerenciada, e
um sistema de multiprogramação que dê suporte a múltiplos processos é muito útil nesse
caso.
Paralelismo é sobre a execução paralela de tarefas, ou seja, mais de uma por vez.
Em um multiprocessador, permitir que cada processo execute em uma CPU diferente também
pode fazer com que a tarefa seja realizada mais rápido.
2.1.3 Término de processos
1. Saída normal (voluntária).
Quando um processo bloqueia, ele o faz porque logica mente não pode continuar, em geral
porque está esperando pela entrada que ainda não está disponível. Também é pos sível que
um processo que esteja conceitualmente pronto e capaz de executar seja bloqueado porque o
sistema ope racional decidiu alocar a CPU para outro processo por um tempo
2. Pronto (executável, temporariamente parado para deixar outro processo ser executado).
3. Bloqueado (incapaz de ser executado até que al gum evento externo aconteça).
ponteiro de pilha
vetor de interrupção.
O esqueleto do que o nível mais baixo do sistema operacional faz quando ocorre uma
interrupção.
1. O hardware empilha o contador de programa etc. minal (ou clicar em um ícone) está no
estado de espera
2.2 Thread
significa "fio" ou "linha", e no contexto dos microprocessadores representa uma ordem
de execução, com instruções encadeadas que são desempenhadas uma por vez.
2.3.5 Semáforos
Um semáforo podia ter o valor 0, indicando que nenhum sinal de despertar fora salvo, ou
algum valor positivo se um ou mais sinais de acordar estivessem pendentes. E. W. Dijkstra