Você está na página 1de 4

Unidade 3

Introdução a processos

*Os sistemas de computador atuais são capazes de desenvolver uma grande variedade de
tarefas simultaneamente

*Muitas vezes passa despercebido para nós e só nos lembramos desta capacidade quando a
mesma falha, ou quando o sistema já está sobrecarregado e notamos a degradação de
desempenho nas tarefas da quais não estamos tendo o devido desempenho.

*Em todos os sistemas com suposto conceito de paralelismo, temos a CPU trabalhando por
algumas dezenas ou centenas de milissegundos numa única aplicação ou subsequentemente
na próxima até o ciclo se completar.

*A sequência continua até termos todos os processos concluídos, sem esquecer que outros
processos entraram na fila em todo o momento.

*Devido a velocidade dos ciclos esse suposto paralelismo gera a sensação de quem o ambiente
está processando as requisições e atendendo as aplicações de forma simultânea

*Somente em sistemas com múltiplos processadores e que teremos de falo múltiplos


programas sendo atendidos no mesmo instante.

CONTROLAR MULTIPLAS atividades e algo que vem sendo desenvolvido e aprimorado com
base no modelo conceitual de processos sequenciais que facilita o PARALELISMO que
estudaremos nesta UNIDADE

->TODOS os computadores tem a capacidade de fazer várias coisas ao mesmo tempo


*Executar programas

*Ler dados no HD

*Exibir mensagens na tela.

-Tudo sendo executado ao mesmo tempo-

*Este mecanismo de troca rápida e chamado de multiprogramação


*Vale destacar que um processo e um programa possuem conceitos distintos, sendo que o
processo constitui uma atividade possuindo programa, entrada, saída e um estado

*Processos podem conter mais do que uma atividade, conceituando que tarefa e processo são
distintos

*Processos são criados e destruídos constantemente nos sistemas

*Essas operações disponibilizam aplicações por meio de chamadas de sistema que diferem
entre sistemas operacionais.

*Em sistemas de propósito geral e necessário algum mecanismo para criar e terminar
processos durante a operação quando for necessário.

*Temos nos sistemas 4 EVENTOS que fazem que processos sejam criados

 Início do sistema
 Chamada de sistema feita por um processo em execução para criar outro
processo
 Requisição direta do usuário para criar um novo processo
 Início de tarefas em lote (batch jobs) gerenciadas pelo sistema

*Ao iniciar o sistema operacional, vários processos são criados, entre eles temos o que estão
em primeiro plano e interagindo com o usuário e outros que estão em segundo plano,
portando este não está diretamente interagindo com o usuário.

*Para exemplificar um processo em segundo plano, podemos pegar o caso de um servidor FPT
(file transfer protocol) que fica inativo durante boa parte do tempo, sendo ativado somente
quando um cliente FTP solicita a abertura de uma nova conexão - usamos o termo daemons
para descrever o processo que fica em segundo plano com a finalidade de lidar com algumas
atividades como a descrita

*Processos que estão em execução podem fazer chamadas de sistema (system calls) para criar
um ou mais processos.

*criar processos e indicado quando a tarefa a ser executada puder ser facilmente em vários
processos, interagindo de maneira diferente

*os usuários podem iniciar um novo processo começando um novo programa no ambiente GUI
ou no ambiente SHELL

*Em sistemas em lote, que e típico de computadores de grande porte o usuário admin ou até
mesmo um alinhamento prévio pode submeter tarefa em lote para o sistema.

O S.O criara um novo processo e o executara quando tiver recurso disponível e/ou redefinindo
prioridades e executando o processo no momento determinado.

*Posteriormente, o processo filho executara subsequentemente ou uma chamada de sistema


similar para mudar sua imagem de memória e executar um novo programa.

*No ambiente Windows, uma única chamada, denominada de CREATEPROCESS de função do


win32 trata o processo de criação e carga do programa correto no novo processo.

*O processo win32 possui dezenas de funções para gerenciar e sincronizar processos e tópicos
relacionados

*Tanto em UNIX quando em WINDOWS quando um novo processo filho e criado, o processo
pai e filho possuirão seus próprios espaços de endereçamento de memória, permitindo que se
o processo pai ou filho alterar uma palavra em seu espaço de endereçamento, a mudança não
impacte o outro processo.

*ao termino, o processo e finalizado com base em 4 condições típicas.

 Normal
 Erro
 Erro fatal
 Cancelado por terceiros

Sendo as duas primeiras voluntarias e as duas últimas involuntárias.


*Processos terminados de forma INVOLUNTARIA não são comuns em sistemas em perfeito
funcionamento (Verificaremos as 4 condições e notaremos por qual motivo essa afirmação e
um fato)

 1º caso, que e a condição normal, de se encerrar um processo.

É verificado pela chamada Exit no UNIX ou EXITPROCESS no Windows, nesses casos o processo
termina após finalizar a tarefa, mesmo que seja um usuário finalizando um programa,
fechando a janela no ambiente GUI ou pela opção relativa no ambiente SHELL

Você também pode gostar