Você está na página 1de 15

Universidade Wutivi - UniTiva

Faculdade de Engenharia, Arquitetura e Planeamento Físico.


Licenciatura em Engenharia de Sistemas e Redes, 2º ano – II Semestre.

SISTEMAS OPERATIVOS
TEMA: GESTÃO DE PROCESSOS

Estudantes: Docente:
• Edilson Mário Maloa • Horácio Nhamtumbo
• Francisco Severino Engonga
• Jéssica Salomão Chambul
• Olga do Rosário Macaringue

Docente: Vasco Abudo

Boane, outubro de 2021


ÍNDICE

Introdução ......................................................................................................................... 3
1. GESTÃO DE PROCESSOS ..................................................................................... 4
I. Tipos de Processos .................................................................................................... 4
2. ESTADO DE PROCESSO: CICLO DE VIDA DE UM PROCESSO ..................... 5
3. ESCALONAMENTO DE PROCESSOS ................................................................. 6
I. Tipos de Escalonamentos .......................................................................................... 6
II. Critérios de Escalonamento....................................................................................... 6
4. COMUNICAÇÃO ENTRE PROCESSOS ............................................................... 7
5. SINCRONIZAÇÃO ENTRE PROCESSOS ............................................................. 7
6. ALGORITMOS DE ESCALONAMENTO .............................................................. 8
I. FIFO( Fisrt In, Fisrt Out) .......................................................................................... 8
II. Shortest Job First (SJF) ............................................................................................. 9
III. Round-Robin (RR) .............................................................................................. 10
IV. Escalonamento por Prioridade ............................................................................. 11
7. DEADLOCK ........................................................................................................... 12
I. Conceito .................................................................................................................. 12
II. Ocorrência de Deadlock .......................................................................................... 12
III. Prevenção de Deadlock ....................................................................................... 12
IV. Estratégias de tratamento do Deadlock ............................................................... 13
V. Correção do Deadlock ............................................................................................. 13
Conclusão ....................................................................................................................... 14
Bibliografia ..................................................................................................................... 15

2
Introdução

No presente trabalho falaremos sobre o gerenciamento de processos onde


deixaremos ficar alguns fundamentos básicos sobre os processos, no presente trabalho
também aprofundaremos acerca da gestão de processos, estados dos mesmos processos
princípios de funcionamento, sincronização dos processos, e também falaremos do
funcionamento dos sistemas operativos ate os gerenciamentos de deadlocks.

3
DEFINIÇOES A TER EM CONTA

Gestão: assumir o controle de uma situação, refere-se ao processo de determinar e


orientar o caminho a ser seguido para atingimento de objetivos e metas, envolvendo
decisões liderança, motivação e analise

Processo: é um programa em execução ou acção. Em quanto que um programa é uma


entidade inanimada; somente quando um processador lhe "sopra vida" é que ele se torna
a entidade activa que chamamos de processo.

1. GESTÃO DE PROCESSOS

E o gerenciamento de recursos disponíveis para todas aplicações a nível do


processador, que é compartilhado entre todas aplicações em execução que processador e
os dispositivos de entrada e saída utilizam de forma eficiente.

I. Tipos de Processos

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.

4
2. ESTADO DE PROCESSO: CICLO DE VIDA DE UM PROCESSO

O sistema operacional deve assegurar que cada processo receba uma quantidade
suficiente de tempo de processador. Em qualquer sistema, o número de processos
verdadeiramente executados em concorrência é obrigatoriamente igual ao número de
processadores, mas, em geral, há um número muito maior de processos do que de
processadores em um sistema. Portanto, a qualquer dado instante, alguns processos
podem ser executados outros não. Durante seu tempo de vida um processo passa uma
série de estados de processos distintos. Vários eventos podem fazer um processo mudar
de estado :

✓ Processo está a ser executado "No Estado de Execução" se estiver executando um


processador.
✓ Processo está no Ponto “Em estado de Ponto" quando poderia executar em
processador se houvesse algum disponível.
✓ Processo está bloqueado "No estado Bloqueado” se estiver esperando que algum
evento aconteça.

Consideremos uns sistemas monotarefas embora a extensão para


multiprocessamento não é difícil. Em um sistema monotarefa apenas um processo pode
ser executado por vez, mas diversos outros podem estar prontos e diversos e bloqueados.
O sistema operacional mantém uma lista de pontos, de processos prontos, e lista de
bloqueados, de processos bloqueados. A lista de prontos é organizada por ordem de
prioridade, de modo que o processo a receber o processador será o primeiro da lista
(Processo de prioridade, mas alta).

5
3. ESCALONAMENTO DE PROCESSOS

O escalonamento de processos consiste em distribuir o acesso aos recursos do


sistema entre os processos que o solicitam, o escalonamento consiste em otimizar o
rendimento dos recursos e priorizar os recursos disponíveis. Basicamente os recursos que
necessitam de escalonamento, são os dispositivos de entrada e saída a nível do disco,
processador e as memorias.

I. Tipos de Escalonamentos

➢ Escalonamento de longo prazo


É o responsável de controlar o grau de multiprogramação do sistema, ou seja
número de processos que serão executados “ao mesmo tempo”. Admite novos
trabalhos no sistema, convertendo estes em processos.
➢ Escalonamento de médio prazo
É o responsável de escolher os processos que serão removidos total ou
parcialmente da memória para serem levados ao disco (suspensos) e ainda no
medio prazo mantemos rendimento do sistema.
➢ Escalonamento de curto prazo
Responsável por alocar à CPU os processos alocados em memória

II. Critérios de Escalonamento

✓ Utilização do Processador: é desejável que o processador permaneça a maior


parte do tempo ocupado.
✓ Throughput: representa o número de processos executados em um determinado
instante de tempo.
✓ Tempo de Processador / Tempo de UCP: é o tempo que um processo leva no
estado de execução durante o seu processamento.
✓ Tempo de Espera: é o tempo total que um processo permanece na fila de pronto
durante seu processamento, aguardando para ser executado.
✓ Tempo de Turnaround: é o tempo que um processo leva desde a sua criação até
seu término.
✓ Tempo de Resposta: é o tempo decorrido entre uma requisição ao sistema ou à
aplicação e o instante em que a resposta é exibida.

6
4. COMUNICAÇÃO ENTRE PROCESSOS

A comunicação entre processos é o grupo de mecanismos que permite aos


processos transferirem informação entre si. 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.

5. SINCRONIZAÇÃO ENTRE PROCESSOS

A sincronização de processos permite gerenciar o acesso concorrente a recursos


do sistema operacional de forma controlada por parte dos processos, de maneira que um
recurso não seja modificado em simultâneo, ou que os processos não fiquem em espera
que o recurso seja libertado.

Em sistemas operacionais multi-programados é importante para garantir a


integridade e a confiabilidade na execução de aplicações concorrente.

7
6. ALGORITMOS DE ESCALONAMENTO

Algumas políticas de escalonamento podem funcionar em modo não preemptivo


ou em modo preemptivo.

Modo não preemptivo:

• O processo que possui a CPU somente a libera quando quer (quando acaba sua
execução)
• Não necessita suporte de hardware adicional
• Um processo pode monopolizar a CPU
• Não são convenientes para ambientes de tempo compartilhado.

Exemplo: Windows 3.1 e Apple Macintosh OS

• Fisrt-Came, Fisrt-Served – FCFS (FIFO)


• Shortest-Job-First – SJF

Modo preemptivo:

• O escalonador pode desalocar um processo da CPU em qualquer instante de


tempo.
• Maior custo, porém evita-se que um processo tenha 100% da CPU
• Por prioridades
• Turno rotativo ou Circular (Round-Robin)
• Filas multi-nivel
• Tempo Real

I. FIFO( Fisrt In, Fisrt Out)

A forma de escalonamento mais elementar consiste em simplesmente atender as


tarefas em sequência, à medida em que elas se tornam prontas (ou seja, conforme sua
ordem de ingresso na fila de tarefas prontas). Esse algoritmo é conhecido como FCFS –
First Come - First Served – e tem como principal vantagem sua simplicidade.

8
✓ Funcionalidade
O procesador é alocado seguindo a ordem de chegada dos processos à fila de
processos prontos.
O processo que tem a CPU não a libera até que acabe sua execução ou até que
fique bloqueado por uma operação de E/S.

✓ Implementação
A fila de processos prontos é implementada mediante uma fila FIFO (First-In
First-Out).

Características

❖ Simples de implementar
❖ Dependente da ordem de chegada dos processos.
❖ Altos tempos de espera
❖ Tende a favorecer aos processos com muita carga de CPU, prejudicando aos
processos intensivos de E/S

II. Shortest Job First (SJF)

O algoritmo de escalonamento conhecido como menor tarefa primeiro (SJF -


Shortest Job First) consiste em atribuir o processador à menor (mais curta) tarefa da fila
de tarefas prontas. Esse algoritmo (e sua versão preemptiva, SRTF) proporciona os
menores tempos médios de espera das tarefas.

Funcionamento

❖ O processador é alocado ao processo com etapa de CPU mais breve.


❖ Em caso de empate se aplica outro algoritmo (normalmente o FIFO).

9
Não preemptivo

❖ O processo que possui a CPU somente a libera quando termina sua execução ou
quando se bloqueia

Com preempção

❖ Se um outro processo chegar pico de CPU menor do que o restante do processo


actual, há preempção. Esse esquema é conhecido como “Shortest Remaining Time
First” (SRTF).

Implementação

❖ Ordena a fila de processos prontos em função do tempo das seguintes etapas de


CPU dos processos.

III. Round-Robin (RR)

A adição da preempção por tempo ao escalonamento FCFS dá origem a outro


algoritmo de escalonamento bastante popular, conhecido como escalonamento por
revezamento, ou Round-Robin.

Atribui-se a cada processo durante um intervalo de tempo um valor pré fixado de forma
rotativa, denominado quantum.

Funcionamento:

❖ Semelhante ao FCFS
❖ Fila de prontos é uma fila FIFO circular

10
❖ Escalonador percorre fila alocando, para cada processo, até 1 quantum

Implementação:

❖ Neste algorimo é requerido um valor temporal de troca de contexto.

Características:

❖ Permite esgotar ao máximo o tempo de resposta dos processos.


❖ Algoritmo ideal para sistemas de tempo compartilhado.

IV. Escalonamento por Prioridade

➢ Um número inteiro é associado a cada processo, refletindo a sua prioridade no


sistema.
➢ A CPU é alocada ao processo de maior valor de prioridade na fila de prontos.
LPRM/DI/UFES 21 Sistemas Operacionais

OBS: normalmente, menor valor = maior prioridade

➢ Estratégia muito usada em S.O. de tempo real.


➢ Problema: “starvation”

Processos de baixa prioridade podem nunca executar

➢ Solução: “Aging”

Prioridade aumenta com o passar do tempo.

Prioridades podem ser definidas interna ou externamente.

✓ Definição interna: usa alguma medida (ou uma combinação delas)


LPRM/DI/UFES 22 Sistemas Operacionais para computar o valor da prioridade.
Por exemplo, limite de tempo, requisitos de memória, n ◦ de arquivos abertos,
razão entre average I/O burst e average CPU burst, etc.

11
7. DEADLOCK
I. Conceito

E quando um processo impede o outro processo de utilizar recursos do sistema


operativo, ou seja, que cada um detém um certo numero de recursos, e fica a espera de
um recurso de outro processo no conjunto pode disponibilizar.

Exemplo

Tomando o seguinte exemplo, um processo P1 detém o recurso R1 está á espera do


recurso R2 que já foi alocado ao processo P2.

II. Ocorrência de Deadlock

➢ Exclusão mútua - Cada recurso só pode estar alocado a um único processo em


um determinado instante.

➢ Um processo, além dos recursos já alocados, pode estar esperando por


outros recursos.
➢ Não-preempsão – Um recurso não pode ser liberado de um processo só
porque outros processos desejam o mesmo recurso.
➢ Espera circular – Um processo pode Ter de esperar por um recurso alocado
a outro processo e vice-versa.

III. Prevenção de Deadlock

✓ Garantir que uma das quatros condições nunca se satisfaçam


✓ 1a condição:
➢ A ausência da exclusão mútua acaba com o problema.
➢ Pode causar sérios problemas de consistência.
✓ 2a condição:
➢ Alocar todos os recursos necessários para a execução, antes de se executar,
caso não disponíveis, fica em espera.
➢ Pode ocorrer starvation, pois seus recursos podem nunca estarem liberados
todos ao mesmo tempo
➢ Dificuldade de se determinar o número de recursos que um processo
deverá alocar antes de sua execução.
➢ Algum recurso pode demorar a ser liberado.

12
✓ 3a condição:
➢ Evitada quando permitimos que um recurso seja retirado de um processo,
no caso de outro processo necessitar do mesmo.
➢ Pode perder o processamento feito até o momento.
➢ Pode ocorrer starvation, quando o processo garante alguns recursos e o
sistema os libera em seguida.
✓ 4a condição:
➢ Forçar ao processo Ter apenas um recurso de cada vez, se precisar de outro
recurso, deve liberar o primeiro.

IV. Estratégias de tratamento do Deadlock

• Mecanismo que determina a existência de deadlock, permitindo identificar os


recursos e processos envolvidos no sistema
• Existe uma estrutura de dados capaz de identificar cada recurso do sistema.
• Geralmente os algoritmos verificam a existência de espera circular, percorrendo
toda a estrutura quando um processo solicita um recurso que não pode ser
imediatamente garantindo.

V. Correção do Deadlock

• Eliminar um ou mais processos envolvidos no deadlock e desalocar os recursos já


garantidos por eles, eliminando a espera circular.
• A escolha dos processos é normalmente feita aleatoriamente ou com base em
prioridades.
• Pode gerar um elevado overhead ao sistema.
• Rollback :
➢ liberação de apenas uns recursos alocados até o ciclo de espera terminar
➢ o processo retorna seu processamento quando o recurso é devolvido.

Difícil de ser implementado devido ser bastante dependente da aplicação.

13
Conclusão

Conclui se com o presente trabalho que o funcionamento dos sistemas operativos


basicamente e operado através da gestão dos processos que são apresentados a nível do
Sistema Operativo, também concluímos que o funcionamento do sistema operativo,
podemos constatar com o presente trabalho que o sistema operativo tem com o objetivo
de ajudar na interação do hardware e software.

14
Bibliografia

❖ (http://www.ime.usp.br/~kon/MAC5755/trabalhos/software/FlavioArruda/node2.htm
l) . www.ime.usp.br. Consultado em 9 de agosto de 2016
❖ INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES (Ficha de Apoio- Parte II
Cap2 -2014 Sistemas Operativos SISTEMAS OPERATIVOS DEADLOCK. ESTADOS
SEGUROS E INSEGUROS)
❖ Edson Moreno: Sistemas Operacionais (Gerência de processos Controle e descrição de
processos)
❖ AndrezaLeite: SISTEMAS OPERACIONAIS Escalonamento de Processos

15

Você também pode gostar