Você está na página 1de 13

UNIVERSIDADE CATOLICA DE MOCAMBIQUE

FACULDADE DE CIENCIAS SOCIAS E POLITICAS

Tecnologia de Informação 2º ano – Laboral

Cadeira: Administração e Manutenção de sistemas

Processos

Estudantes:

Alberto Companhia

Estangelão Fania Alberto Ligonha

Furcan de Barros Portugal

Inocente Azarias Chavane

Docente:

Msc. Suraiva Vaz

Quelimane, Abril de 2018


2

Índice
Introdução ....................................................................................................................................... 3
Processo .......................................................................................................................................... 4
Tipos de Processo ........................................................................................................................... 5
Representação ................................................................................................................................. 5
Memória compartilhada .................................................................................................................. 6
Vantagens ........................................................................................................................................ 6
Interface padronizada ...................................................................................................................... 6
Hierarquia de processos .................................................................................................................. 6
Estados de processos ....................................................................................................................... 7
Não Submetido................................................................................................................................ 7
Suspenso ......................................................................................................................................... 8
Pronto .............................................................................................................................................. 8
Executando...................................................................................................................................... 8
Espera .............................................................................................................................................. 8
Término de Completo ..................................................................................................................... 9
Criação de Processos....................................................................................................................... 9
Processos ......................................................................................................................................... 9
Bloco de Controlo de Processo (BCP) .......................................................................................... 10
Elementos do BCP ........................................................................................................................ 10
Localização dos processos ............................................................................................................ 10
Estados do processo em Linux ...................................................................................................... 11
Alguns comandos que podem ser utilizados ................................................................................. 11
Fork no UNIX ............................................................................................................................... 11
Conclusão...................................................................................................................................... 12
Bibliografia ................................................................................................................................... 13
3

Introdução

Ao longo do presente trabalho da cadeira de administração de sistemas, destaque o tema,


definição de processos, dissemos que em informática processos é um programa de computador
em execução, em sistemas operacionais, processo é um módulo executável único, que corre
concorrentemente com outros módulos executáveis.
4

Processo

No contexto da informática, é um programa de computador em execução. Em sistemas


operacionais, processo é um módulo executável único, que corre concorrentemente com outros
módulos executáveis. Por exemplo, em um ambiente multitarefa (como o Unix) que suporta
processos, um processador de texto, um navegador e um sistema de banco de dados são
processos separados que podem rodar em simultâneo.

Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser
carregadas. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além
das threads, o processo também inclui certos recursos, como arquivos e alocações dinâmicas de
memória e espaços de endereçamento.

A comunicação entre processos é o grupo de mecanismos que permite aos processos transferirem
informação entre si. A capacidade de um sistema operacional executar simultaneamente dois ou
mais processos é chamada multiprocessamento. Se existirem dois ou mais processos executados
em simultâneo e disputam o acesso a recursos partilhados, problemas da concorrência podem
ocorrer. Estes problemas podem ser resolvidos pelo gerenciamento adequado de múltiplas linhas
de execução ou processos através da sincronização (multitarefa) ou por outros recursos (como a
troca de contexto).

A execução de um processo ocorre de maneira sequencial, ou seja, uma instrução após a outra. A
qualquer instante, apenas uma instrução de um determinado processo é executada. Os processos
também exercem a atividade de executar operações concorrentes mesmo que possua apenas uma
Unidade Central de Processamento disponível.

Embora dois processos possam estar associados a um mesmo programa, são considerados duas
sequências de execução distintas. Por exemplo, cópias de um programa de correio eletrônico
podem estar sendo executadas por vários usuários ou o mesmo usuário pode estar usando
diversas cópias de um processador de texto. Cada um desses programas em execução constitui
um processo distinto e, por mais que o texto de alguns programas possa ser o mesmo, o estado de
cada um será diferente. É comum ter um processo que crie muitos processos durante sua
execução, criando uma hierarquia entre processos pais e filhos.
5

Tipos de Processo

Dentre os processos, podemos destacar dois principais tipos que estão relacionados a seu local de
execução, no caso CPU e Entrada e Saída de dados.

 Processos CPU bound (orientados à CPU): são processos que utilizam muito o
processador, em que o tempo de execução é definido pelos ciclos de processador.
 Processos I/O bound (orientados à E/S): são processos que realizam muitas operações de
entrada e saída de dados, em que o tempo de execução é definido pela duração destas.
 IDEAL: existir um balanceamento entre processos CPU-bound e I/O-bound;

Representação

Em geral, processos de sistemas computacionais são formados pelos seguintes recursos:

 Uma imagem do código de máquina executável associado com um programa.


 Memória, que inclui o código executável, dados específicos do processo (dados da entra e
saída), uma chamada de pilha (para manter a pilha de sub-rotinas ativas e/ou outros
eventos) e um heap (alocação dinâmica de memória) para manter a computação
intermediária gerada durante o tempo de execução.
 Descritores de sistema operacional que são alocados aos processo, como os descritores de
arquivo do (segundo a terminologia UNIX) ou handles (usado no Windows) e os códigos
e sinks.
 Atributos de segurança, tais como conjunto de permissões para o usuário que criou o
processo, são as operações permitidas.
 Contexto de estado do processador, tal como o conteúdo dos registradores, memória
física de endereçamento. O estado é normalmente guardado nos registradores quando o
processo está em execução, e na memória principal caso contrário.
6

O sistema operacional mantém a maior parte da informação sobre processos dentro de estruturas
de dados chamadas Bloco de controlo de processos

Qualquer subconjunto de recursos, mas normalmente ao menos o estado do processador, pode


ser associado com cada um dos processos threads no sistema operacional, que suporte threads ou
processos 'filho'.

O sistema operacional mantém esses processos separados e aloca recursos necessários para cada
um deles, diminuindo as chances de um processo atrapalhar o outro (e.g., deadlock). O sistema
operacional pode além disso prover mecanismos para comunicação entre processos, permitindo
assim interação e comportamento mais seguro entre os processos.

Memória compartilhada

Vantagens

 Melhora o desempenho de processos que acessão frequentemente dados compartilhados.


 Os processos podem compartilhar a mesma quantidade de dados que podem endereçar.

Interface padronizada

 Memória compartilhada System V


 Memória compartilhada POSIX
 Não permite que os processos mudem privilégios de uns segmentos de memória
compartilhados.

Hierarquia de processos

Em alguns sistemas, quando um processo cria outro, o processo pai e o processo filho continuam,
de certa forma, associados. Os processos filhos pode criar mais processos, formando assim uma
hierarquia de processos, porém nela apenas existirá um processo pai e ter ou não um ou mais
processos filhos.
7

Este tipo de organização dificulta a propagação de vírus em nossos sistemas operacionais, pois
quando um processo pai é “morto” seja pelo sistema ou pelo próprio usuário, todos que
estiverem abaixo dele na hierarquia serão mortos também.

No UNIX, um processo, todos os seus filhos e descendentes formam um grupo de processos.


Exemplos da atuação de hierarquia ocorrem quando há envio de sinal do teclado, onde o sinal é
entregue a todos os processos associados ao teclado. Individualmente, cada processo pode
capturar o sinal, ignorá-lo ou tomar a ação predefinida, isto é, ser finalizado pelo sinal. Além
disso, os processos filhos não podem ser deserdados do processo pai.

Por outro lado, o Windows não apresenta esse conceito de hierarquia, nele todos os processos
são iguais. Algo parecido com uma hierarquia ocorre somente quando um processo é criado. Ao
pai é dado um identificador especial, que ele pode usar para controlar o filho. Contudo, ele é
livre para passar o identificador para alguns outros processos, invalidando, assim, a hierarquia.

Estados de processos

Estados possíveis param um processo, e seus relacionamentos entre si.

Não Submetido

É o processo que ainda não está submetido à CPU, está nas mãos do usuário. "Até onde interessa
aos sistemas, ele não existe, porque o usuário ainda não o submeteu. Ele é simplesmente
apresentado como sendo o primeiro passo na vida de um processo. O Sistema Operacional,
naturalmente, não reconhece esse estado.[1]". Pode por exemplo, ser um arquivo executável que
está armazenado no HD.
8

Suspenso

É o processo que já foi submetido, porém permanece suspenso até que o horário ou evento
programado ao usuário venha acontecer. Processo suspenso é aquele que esta no aguarde de uma
entrada de dados.

Pronto

O processo já foi submetido e está pronto para receber a CPU, porém ainda aguarda o
escalonador de processos para ter controlo da CPU. Processos que estão esperando E/S não se
aplicam a esse estado.

Executando

A execução propriamente dita. O código está sendo processado. Se ocorrer durante a execução
uma requisição de E/S o processo é colocado no estado de espera e outro processo da fila de
prontos poderá então concorrer a CPU.

Espera

É o processo que foi colocado na fila de espera de E/S devido ao processador de E/S ser mais
lento que a CPU principal. O processo tornaria a CPU mais escrava dele se não houvesse esse
estado, pois como ele não está concorrendo à CPU ao executar um E/S, pode-se então colocá-lo
no estado de espera para que os demais processos do estado pronto possam concorrer a CPU.

Como podemos notar, a instrução scanf (uma requisição de entrada e saída) é gerada se não
fosse possível colocar o processo em estado de espera; caso o usuário não entrasse com nenhum
valor, o programa ficaria suspenso e não liberaria a CPU para outros processos.
9

Completo

Neste estado temos a finalização do processo.

Criação de Processos

Há várias razões para o início de um processo, os principais são:

 Início do sistema;

 Solicitação de chamada de execução ao sistema de criação de processo;

 Solicitação do usuário;

 Início de um job em lote.


 Quando se cria um processo, o sistema operacional realiza os seguintes passos:
 Atribui um identificador único ao processo. Cria-se o BCP, mas só se preenche o campo
do identificador.
 Atribui memória ao processo.
 Inicializa o BCP.
 Inserir o processo na lista de processos que corresponda. Por exemplo na lista de
processos prontos.
 Outras operações, como atualizar todas as estruturas de controle que mantenha o sistema
operacional.

Término de Processos

Os processos podem terminar de forma voluntária e involuntária. Aqui estão alguns exemplos de
motivos para os processos cessarem sua execução e sua forma:

 Saída normal: A tarefa anteriormente solicitada já terminou sua execução (saída


voluntária);

 Saída por erro: O arquivo não é encontrado (saída voluntária);


10

 Erro fatal: é efetuado uma divisão por 0 (saída involuntária);

 Cancelamento por um outro processo: kill, Terminate Process (saída involuntária).

Bloco de Controlo de Processo (BCP)

BCP é a estrutura de dados que contém a informação a cerca de um processo se denomina bloco
de controlo de processos (BCP)

A manifestação de um processo em um sistema operacional é um BCP. Um BCP é a


representação de um processo durante sua execução. Um BCP é criado quando se cria seu
processo associado. O conjunto de BCPs representa o estado do sistema. São acedidos e
mantidos por rotinas do sistema operacional.

Elementos do BCP

 Informações importantes para o controlo


 Identificação do processo, estado em que ele se encontra, prioridade.
 registradores, r status
 ponteiros: pilha, código e dados
 Tempos: início, de CPU, alarmes, dos filhos
 diretórios: raiz, trabalho
 descritores de arquivos

O BCP permite ao sistema operacional localizar toda a informação dos processos. O conjunto
de BCP forma as tabelas de processos. O vão do processo usa-se como índice nas tabelas dos
processos.

Localização dos processos

 Processos ficam em estruturas que os classificam conforme seu estado. Processos Prontos
à serem escalonados para a execução ficam na lista/fila de prontos.
11

Estados do processo em Linux

O linux trabalha com 4 estados de processo.

 Executável: O processo pode ser executado imediatamente.


 Dormente: precisa aguardar algo para ser executado.
 Parado: Não pode ser executado.
 Zumbi: O processo é considerado "morto", mas ainda existe.

Alguns comandos que podem ser utilizados

 Ps - Pelo comando ps é possível saber quais os processos em execução atualmente, quais


os PIDs correspondentes e outros.
 Kill - O comando Kill tem a função de "matar" um processo, e é usado em momentos
críticos.
 Jobs - Este comando visualiza os processos que estão parados ou executando em segundo
plano.
 Bg - Coloca a última tarefa que estiver em segundo plano em execução.

Fork no UNIX

O Fork no Unix cria um processo filho, que diferencia – se a partir do processo pai somente em
suas PID e PPID. O fork consome tempo e memória requerida para duplicar as tabelas do
processo pai. Se funcionar, a PID do processo filho é devolvido para o pai e retorna-se um 0 para
o filho. Caso contrário, um -1 é retornado no contexto pai, e não se cria o processo filho.
12

Conclusão

Ao fim deste trabalho nos destacamos processo com sendo a comunicação entre processos é o
grupo de mecanismos que permite aos processos transferirem informação entre si. A capacidade
de um sistema operacional executar simultaneamente dois ou mais processos é chamada
multiprocessamento. Se existirem dois ou mais processos executados em simultâneo e disputam
o acesso a recursos partilhados, problemas da concorrência podem ocorrer.
13

Bibliografia

http://www.cultura.ufpa.br/dicas/definição/processo/li-libib.htm

Willian, Shay “sistemas operacionais” (1996), sao Paulo: Brazil, Makron Books

Você também pode gostar