Gerenciamento dos Recursos

Propaganda
Sistemas Operacionais
FATEC SP
Sistemas Operacionais I
Gerenciamento dos Recursos
Sistemas Operacionais I
Dionisio Gava Junior
Reynaldo G. de Oliveira – [email protected]
Sistemas Operacionais
Gerenciamento dos recursos
Gerenciamento dos recursos
• Gerenciamento do Hardware e do Software
• Funções básicas no gerenciamento de recursos
• Funções Básicas no gerenciamento de recursos
• Componentes e objetivos no gerenciamento
• Tendências e perspectivas do Sistema operacional
• Condições de uso e gerenciamento
• Arquitetura de sistemas operacionais:
• Monolítica, Em camadas, Micronúcleo, Distribuída e em Rede
• Conceito de Processo
• Criação e Termino de processos
• Escalonamento e troca de contexto
• Estados de um Processo
• Vários Programas em um único processo
• Bloco de Controle do Processo
• Gerenciamento das aplicações e processos
• Funções do gerenciador de processador
• Filas de Controle de Processos
• Multiprogramação
• Multiprocessamento
• Algorítmos de distribuição da CPU
• Ciranda
• Time Slice
• I/O Bound sobre CPU Bound
• Listas multiplas
FATEC SP
Sistemas Operacionais
Gerenciamento dos recursos
Gerenciamento do Hardware e do Software
Recursos do hardware
• Processador
• Memória
• Dispositivos de entrada e saída
Software
• Processos (Aplicações)
• Comunicação entre os processos
• Informação
FATEC SP
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Funções básicas no gerenciamento de recursos
Os gerenciadores tem como funções básicas:
• Controlar o estado do recurso
• Alocar o recurso e registrar a alocação
• Desalocar o recurso e atualizar o estado
• Exercer, controlar e executar tarefas com base em uma política funcional, determinando qual processo
deverá obter o controle do recurso, quando e por quanto tempo.
CPU
Dispositivos
E/S
Sistema
Arquivos
Memória
tratamento
Erros
Comunicação Comunicação
Entre
Com usuário
processos
Interrupções
Segurança
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Componentes e objetivos
Gerenciador de processos e processadores
• Tem por objetivo iniciar, terminar e controlar os estados dos processos.
• Deve determinar quando um processo deve ser executado e por quanto tempo.
• Deverá despachar o processo para que seja executado.
• Deve estabelecer e controlar as prioridades de execução dos processos.
• Havendo mais de um processador, deverá controlar o estados dos processadores
• Deverá decidir em qual processador o processo deverá executar, e despachá-lo para execução.
Gerenciador de Memória
• Tem por objetivo controlar o estado da memória
• Deverá alocar e desalocar a memória para os processos
• Deverá alocar a memória através de um política de alocação que vise a eficiência no uso do sistema
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Componentes e objetivos
Gerenciador de E/S
• Deverá alocar os dispositivos de E/S
• Deverá atender às solicitações de e/s
• Ao atender as solicitações dos processos deverá buscar eficiência nas transferências dos dados,
utilizando técnicas adequadas ao processo.
Gerenciador de comunicação entre processos
• Tem por objetivo estabelecer e controlar a comunicação entre os processos em execução.
Gerenciador de arquivos
• Tem por objetivo fornecer um interface para que os dados sejam acessados nos dispositivos de
armazenamento.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Tendências e perspectivas do Sistema operacional
1) Eficiência
•
O sistema operacional é sobretudo um prestador de serviços, e deve minimizar o tempo gasto na
execução dos serviços a ele solicitados (overhead)
•
Deve buscar a máxima eficiência no gerenciamento dos recursos, resolvendo os conflitos existentes,
balanceando o uso dos recursos entre aplicações em execução.
2) Robustez
•
Deve ser confiável, previsível em suas operações, e tolerante à falhas do hardware, das aplicações, e
as suas próprias falhas.
•
Em caso de falha, qualquer que seja a natureza desta falha, deverá isolá-la, registrá-la, e propiciar o
menor impacto possível no sistema.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Tendências e perspectivas do Sistema operacional
3) Escalabilidade
• Deverá ser capaz de utilizar recursos de acordo com a demanda.
• Quando a demanda por recursos aumentar, deverá tomar as providências necessárias para o pronto
atendimento, e caso haja redução da demanda, deverá liberar os recursos não mais necessários.
• Deverá ter a capacidade de se adaptar aos incrementos de tamanho dos dispositivos de hardware,
incluindo processadores, memória, dispositivos de e/s, dispositivos de comunicação, garantindo desta
forma a escalabilidade.
4) Extensibilidade
• Deve adaptar-se as novas tecnologias emergentes, fornecendo as capacidades necessárias que forem
surgindo e que não foram projetadas originalmente.
• Deve preservar e proteger as aplicações existentes.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Tendências e perspectivas do Sistema operacional
5) Portabilidade
• Deve ser projetado para funcionar nas diversas configurações de hardware utilizada no mercado,
permitindo portabilidade das aplicações entre as configurações existentes.
• Isto permitirá adequar os custos de projeto e de manutenção às diversas aplicações existentes.
• Esta premissa aplica-se aos ambientes de desenvolvimento normalmente feito em configurações
menores é de baixo custo.
6) Segurança
• Deve conter os mecanismos de proteção e segurança de acesso as informações, aos serviços ou aos
dispositivos do hardware, de acordo com as políticas de segurança das organizações.
7) Usabilidade
• Deve permitir usabilidade aos usuários na execução de suas tarefas, fornecendo simplicidade nas
interfaces e na sua utilização.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Condições de uso e gerenciamento
• O hardware dos computadores é projetado para executar uma grande quantidade de
aplicativos.
• Os diversos aplicativos executarão concorrentemente, competindo pelos recursos
disponíveis no sistema.
• Os recursos do hardware ou software são valiosos e normalmente escassos.
• O Sistema Operacional tem a função de acompanhar o uso dos recursos e de obter
maior eficiência.
• A utilização dos recursos de forma concorrente, poderá implicar em conflitos
decorrentes da competição entre as várias aplicações em execução.
• Cabe ao Sistema Operacional identificar e resolver eventuais conflitos decorrentes.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Arquitetura de sistemas operacionais
A arquitetura determina como os componentes do sistema operacional estarão dispostos
para a realização de suas funções.
Tipos de arquitetura
• Monilítica
• Em camadas
• Micronúcleo
• Distribuída e em Rede
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Arquitetura de sistemas operacionais
Arquitetura Monolítica
• Os componentes estão contidos no núcleo do sistema.
• No núcleo, cada componente pode se comunicar com qualquer outro componente
• A comunicação entre os componentes é feita através de uma chamada para a função desejada.
• O núcleo executa com privilégios (estado de supervisor)
• A arquitetura monolítica é a mais antiga.
Q uic
kTim e™and a
de
com pr e
ssor
ar eneede
d t osee this pictur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
Q uickTim e™ and a
decom pr essor
ar e needed t o see t his pict ur e.
• Exemplos de arquiteturas monolíticas: IBM OS/390 e Digital VMS.
Núcleo
Sistema
Operacional
Gerenciamento
de Memória
Gerenciamento
do processador
Gerenciamento
dispositivos E/S
Comunicação
entre processos
Comunicação
com usuário
Gerenciamento
arquivos
A
B
C
D
E
Memória
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Arquitetura de sistemas operacionais
Arquitetura em camadas
• É composto por camadas distintas e sobrepostas.
• Componentes que executam tarefas similares são agrupados em uma mesma camada.
• Cada camada comunica-se somente com a camada acima ou abaixo.
• Cada camada presta serviços a camada de cima
• Como as camadas são independentes, é possivel alterar ou substituir uma camada sem afetar as demais
• Em exemplo de arquitetura em camadas: Windows
Usuário
Aplicações do usuário
Espaço de
endereçamento
do usuário
Gerenciamento de E/S
Interpretador
de mensagens
Gerenciamento
De Memória
Gerenciamento
Do processador
Hardware
Espaço de
endereçamento
do Núcleo
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Arquitetura de sistemas operacionais
Arquitetura Micronúcleo
• Tem como principal objetivo dispor de um núcleo reduzido e escalavel.
• No Micronúcleo estarão somente os componentes responsaveis pelos serviços de gerenciamento de
mem ória, comunicação e sincronismo entre processos.
• O micronúcleo executa com privilégios
• Os componentes de gerenciamento do processador e de dispositivos de e/s ficam fora do núcleo e com
menor privil
égio.
• Através da uma estrutura bastante modular, a arquitetura permitirá extensibilidade, portabilidade e
escalabilidade.
• Exemplo de arquitetura micronúcleo: Sistema operacional THE
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Arquitetura de sistemas operacionais
Arquitetura Micronúcleo
aplicações
Interfaces de
Chamadas do sistema
Ger. de
E/S
Ger.
Procesador
Ger.
Arquivos
Ger. de
Memória
Comunic.
Inter
processos
Sincro
processos
Hardware
Espaço de
endereçamento
do usuário
Espaço de
endereçamento
do Núcleo
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Arquitetura de sistemas operacionais
Arquitetura distribuída e em rede
• Na arquitetura distribuída um numero variavel de computadores realizam tarefas conjuntamente.
• Encontram-se conectados através de uma rede
• Permitem o compartilhamento de informação e de recursos
• Através de um protocolo de comunicação apropriado um processo solicita informacão ou recurso a um
outro computador da rede
• Um processo criado em um computador poderá ser direcionado para execução e um outro computador
da rede
• Exemplo de arquitetura distribuída: SUN NFS, Serviços WEB
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Processo
Conceitos
• A CPU executa um grande número de serviços ou tarefas.
• Embora o objetivo principal seja a execução de serviços ou programas de usuários, a
CPU é necessária para outras atividades do sistema.
• Qualquer ação do sistema é sempre iniciada pela CPU.
• O sistema operacional, por outro lado, deve atender aos requisitos dos programas, atuar
em situações de erro, em interrupções, etc.
• Em muitos aspectos, todas estas atividades são similares e por isso existirão processos
para execução destas funções.
• O processo representa uma unidade de trabalho, ou seja, uma unidade executável para o
qual os recursos são alocados.
• O processo abrange unidades executáveis de aplicações ou do sistema operacional
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Conceito de Processo
• O processo é a unidade de execução.
• É unidade para a qual os recursos serão alocados
• É constituído de um ou mais programas.
• Possui um espaço de endereçamento de memória.
• No espaço de endereçamento serão carregados um ou mais programas que o compõem.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Vários Programas em um único processo
O processo pode representa a execução de um ou vários programas.
Um programa normalmente utiliza rotinas já previamente desenvolvidas.
No momento de sua execução, outras rotinas poderão ser chamadas, de forma
sincronizada e serialmente.
Embora este ambiente seja constituído de mais de um programa, ele será representado por
um único processo.
Processo 1
Programa A
SO
P1
Memória
Rotina B
Rotina C
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Processo
Criação de processos
• Na inicialização do sistema (boot) o sistema operacional criará processos para a
execução de funções de gerenciamento e controle
• Por um processo em execução
• Por uma requisição do usuário
• Por uma requisição automática pré-programada no sistema
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Processo
Termino de processos
• Termino normal voluntário
• Termino anormal voluntário em função de um erro
• Termino por um erro fatal involuntário
• Cancelado por um outro processo ou pelo usuário
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Processo
Escalonamento e troca de contexto
• Para executar o sistema operacional passa o controle para um processo que esteja em
condições de executar e que seja o mais prioritário no instante.
• Ao receber o controle da maquina, o processo despachado terá a CPU, os registradores,
a PSW dedicados.
• A transferência estabelece portanto a troca de contexto, mudando o estado da maquina e
o controle dos recursos da CPU
• Ao ocorrer uma interrupção o processo perderá o controle da maquina, perdendo portanto
o controle destes recursos.
• O sistema operacional passa exercer o controle da maquina.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Estados de um Processo
O sistema operacional controla os processos através de estados. O estado representa uma
condição de execução num determinado intervalo de tempo.
Os estados de um processo podem ser:
Ativo
O processo está com o controle da CPU e seu(s) programa(s) está(ão) presentemente sendo executado(s).
Espera
O processo está esperando por algum evento (I/O, open,etc).
Pronto
O processo está pronto para ganhar o controle, mas existem mais processos do que processador (CPUs),
e este deve esperar por sua vez.
Iniciando
O processo está sendo criado e irá constituir uma unidade executável.
Suspenso
O processo foi retirado da fila de pronto e deve permanecer suspenso temporariamente, esperando um
intervalo de tempo regular ou uma decisão do sistema operacional.
Completando
O processo terminou (normal ou anormalmente) e a unidade executável está sendo eliminada.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Estados de um Processo
Completando
Ativo
Iniciando
Pronto
Suspendo
Espera
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Bloco de Controle do Processo
Cada processo é representado por um BCP - bloco de controle do processo O BCP
compreende um conjunto de informações que representam o processo em execução.
Através dos BCPs, o sistema operacional exerce o controle da multiprogramação, e faz a
distribuição da CPU.
Cada BCP é criado pelo sistema operacional no momento em que o processo é inciado
em sua execução.
Durante a execução do um processo, o sistema operacional estará atualizando as
informações contidas no BCP, mantendo o controle do estado, e de acordo a sua
prioridade de execução, estará habilitando o uso da CPU quando estiver pronto para
execução.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Bloco de Controle de Processos
Processos em Execução
Sistema
Operacional
BCPs
A
B
C
...
B
N
Controle dos processos
através dos BCPs
A
C
N
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Conteúdo do BCP
Contém informações específicas do processo, como por exemplo:
• Identificador
• Estado do Processo
• Hierarquia
• Registradores
• PSW
• Prioridade de CPU
• Alocação de Memória:
• Utilização da CPU
• Dispositivos alocados
• Dispositivos em uso.
• Outros
• Ponteiros para outros processos em execução
BCP
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Filas de Controle de Processos
• O objetivo da Multiprogramação é ter sempre um processo em execução a fim de
maximizar a utilização da CPU.
• Os processos podem estar em estados específicos, como por exemplo: estado de espera,
pronto ou ativo.
• O Sistema operacional exerce o controle dos processos através de filas.
• As filas são estruturadas através de uma lista de processos.
• A lista de processos é construída e gerenciada, existindo uma ligacão (link) permanente
entre os processos em execução.
• Estas ligações (links) são estabelecidas através de ponteiros para frente e para trás.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Filas de Controle de Processos
Um cabeçalho (header) é utilizado para representar os endereços do início e do final da fila.
Este esquema de gerenciamento permite o gerenciamento dos processos em execução
possibilitando a rápida inclusão de novos processos, a retirada de processos finalizados, ou
mesmo a inversão da ordem da fila com a mudança destes ponteiros.
header
BCPx
BCPz
BCPw
BCPa
BCPc
BCPe
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Hierarquia de processos
• Um processo poderá criar outros processos
• O processo poderá ser dependente ou independente do processo criador
• No caso de processos dependentes, o processo que cria e chamado de PAI, e o
processo criado e chamado de FILHO.
• Um processo FILHO, por sua vez poderá criar outros processos FILHOS.
A
B
C
D
E
F
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Hierarquia de processos
• Os processos FILHOS são criados no mesmo espaço de endereçamento do PAI
• Os processos hierarquicamente criados podem compartilhar os recursos.
• Um processo novo será alocado em um outro espaço de endereçamento e alocará os
recursos necessários.
Espaço de
endereçamento
Espaço de
endereçamento
Espaço de
endereçamento
A
D
G
B
E
H
C
F
Dispositivos E/S
Dispositivos E/S
I
J
Dispositivos E/S
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Funções do gerenciador de processador:
• Criar processos;
• Acompanhar o estado dos processos;
• Determinar qual processo deve ganhar o controle da CPU e por quanto tempo;
• Destruir processos ao final da execução.
Processos e sub-processos em execução
Sistema
Operacional
A
G
D
N
B
BCPs
A
B
H
E
C
D
E
F
G
H
I
J
N
C
Gerenciador de processos
F
I
J
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Gerenciamento das aplicações e processos
O Gerenciador do Processador compreende um conjunto de programas cuja finalidade é a
distribuição da CPU as aplicações ou processos que as representam.
É essencialmente a base da multiprogramação. O sistema operacional portanto aumenta a
utilização dos recursos e como consequência haverá um aumento de produtividade.
Constitui essencialmente a base da multiprogramação. Através da troca da CPU entre
processos, o sistema operacional pode tornar o computador mais produtivo.
Enquanto um processo espera a realização de uma operação de E/S, a CPU poder ser
alocada para outro processo.
As operações de e/s demoram um tempo significativo em relação ao tempo gasto pela CPU
na execução de instruções. O paralelismo de operações de E/S e CPU contribuem
diretamente no aumento da produtividade
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Multiprogramação
Conceito
• Vários programas na memória executando, e concorrendo pelos recursos
• Um recurso poderá ser de uso exclusivo ou compartilhado. Um recurso mesmo podendo
ser compartilhado, poderá ser requisitado pelo processo para ser utilizado exclusivamente.
• Enquanto um programa executa, um ou mais programas estarão realizando E/S, ou
esperando pela CPU
• O paralelismo de operações entre CPU e E/S proporcionam aumento da eficiência do
sistema
CPU
Sistema
Operacional
A
Esperando pela CPU
B
C
I/O
I/O
D
E
Memória
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Eficiência da Multiprogramação
A distribuição da CPU entre processos em execução constitui a base da multiprogramação.
Através da troca de CPU entre os processos, o sistema operacional torna o computador mais
produtivo.
Enquanto um processo está com o controle da CPU, um ou mais processos poderão estar
aguardando por e/s. As operações de CPU e e/s são paralelizadas aumentando a eficiência
do sistema como um todo.
Ao termos muitos programas na memória ao mesmo tempo, a CPU estará sendo
compartilhada, o sistema estará paralelizando atividade de CPU com e/s, melhorando a
eficiência global do sistema pela produção de mais trabalho por unidade de tempo.
A quantidade de serviço produzido é medida através da unidade denominada THROUGHPUT.
O throughput estabelece a quantidade de serviço produzida por unidade de tempo.
Um computador, no entanto, pode possuir uma ou mais CPU.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Threads
• É um conceito semelhante do processo. Constitui unidade executável.
• Não possuem recursos associados.
• São consideradas processos leves, em função da criação e finalização bem mais eficiente
do que a de um processo.
• São convenientes quando a demanda de execução se altera dinâmica e rapidamente
• São controladas pelo sistema operacional com os mesmos estados do processo.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Multiprocessamento
• Com uma única CPU, o computador executa uma instrução de cada vez.
• Somente um programa está sendo executado num dado momento, caracterizando o
MONOPROCESSAMENTO.
• Por outro lado, quando um computador possuir duas ou mais CPUs, duas ou mais
instruções poderão ser executadas simultaneamente,
• No Multiprocessamento dois ou mais programas executarão simultaneamente.
CPU 1
Sistema
Operacional
A
CPU 2
B
C
I/O
I/O
D
Esperando
pela CPU
E
Memória
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Multiprocessamento
O sistema operacional terá a incumbência de despachar os processos considerando os
ambientes:
Monoprocessamento - única CPU, um único processo a ser despachado, execução de
um único processo.
Multiprocessamento – duas ou mais CPUs, dois ou mais processos serão
despachados, execução simultânea de dois ou mais processos.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Algorítmos de distribuição da CPU
Existem vários algorítmos que tratam da distribuição da UCP entre os processos.
Se o sistema quiser tratar todos os processos igualmente, este algorítmo fica bastante
simples.
Por outro lado, ao se querer dar preferência para um ou outro processo, o algorítmo tornase complexo.
Alguns algorítmos são os seguintes:
• Ciranda
• Time-Slice
• I/O bound sobre CPU bound
• Listas Múltiplas
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Ciranda
É o método mais simples de se alocar a CPU.
• O primeiro processo a chegar em estado de pronto será o primeiro a ganhar o controle.
• O processo permanecerá com o controle da CPU até entrar em estado de espera por um
evento qualquer, por exemplo; solicitou uma operação de E/S (Read).
• O controle será dado aos processos prontos em fila circular
• O processo ativo que perder o controle da CPU, somente retornar a ser executado, após
todos os processos prontos para executar terem sido servidos.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Ciranda
Eficiência
Caso um processo monopolize a CPU, os demais permanecerão esperando, baixando a
produtividade.
O método torna-se mais eficiente quando a fila contém processos com características
similares e predominância de processos com muitas operações de e/s.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Time Slice
Time slice significa fatia de tempo, tempo fatiado. As duas denominações são comumente
encontradas como definições do algoritmo.
•algoritmo Time Slice permite que um processo seja executado sem interrupção durante
um certo intervalo de tempo.
• Após expirado o intervalo, o relógio interrompe a CPU e o sistema operacional passa o
controle para outro processo.
O intervalo de tempo é fixado num determinado valor inicial e periodicamente, em função
das características de execução dos processos, será acrescido ou decrescido.
Caso o processo entre em estado de espera antes do tempo expirado, um outro processo
será selecionado para execução
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Time Slice
Eficiência
Caso algum processo seja prioritário em relação aos demais processos em execução a
eficiência do sistema estará sendo prejudicada, uma vez que está competindo de forma
desigual aos demais.
Quando os processos possuem as mesmas caraterísticas de execução, semelhança
relativa no consumo dos recursos, o algorítmo torna-se mais eficiente.
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
I/O Bound sobre CPU Bound
Processos que tenham mais operações de e/s terão mais prioridade do que aqueles que
consumirem mais tempo da CPU.
O sistema operacional estará de tempos em tempos monitorando o perfil dos processos,
registrando as informações nos BCPs, e periodicamente estará organizando a ordem da fila
de processos. O escalonamento será feito de acordo com as prioridades baseadas nos
perfis de consumo.
A interpretação e organização dos processos na fila de pronto é realizada de forma
dinâmica, em intervalos regulares de tempo.
• I/O Bound - processo com orientação a e/s
• CPU Bound – processo com orientação a cpu
No momento de decidir qual processo deve ganhar o controle da cpu, o algorítmo dever
determinar qual processo é mais I/O Bound.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
I/O Bound sobre CPU Bound
Para decidir em intervalos regulares, o sistema calcula a poisição do BCP, de
acordo com o calculo de seu perfil:
BP =
Tcpu
Nº de Waits
Onde:
BP = Posição do BCP na fila de processos
Tcpu = Tempo Acumulado de CPU no intervalo.
Nº de Waits = Número de vezes em que o processo entrou em estado de espera por e/s
no intervalo.
Quanto menor o BP, maior será prioridade atribuída. Caso seja igual para dois ou mais
processos será utilizado o algoritmo FIFO para estes (first-in, first-out).
Sistemas Operacionais
Gerenciamento dos recursos
FATEC SP
Listas multiplas
O algoritmo e composto dos três algoritmos anteriores.
Quando o sistema deverá suportar diversas tipos de cargas, com naturezas de
processamento e perfis de consumo distintos, a lista multipla atenderá de forma mais
adequada as necessidades configuradas.
• O sistema operacional receberá uma lista de atributos que estarão parametrizando
grupos de performance.
• Cada grupo poderá funcionar com um algoritmo o qual estará regendo o
funcionamento daquele grupo específico.
Sistemas Operacionais
FATEC SP
Gerenciamento dos recursos
Listas multiplas
Processos/programas
que compõem o grupo (exemplos)
Algoritmo
Intervalo de
prioridade
Grupo A
Prioridade
Fixa
200-255
Gerenciador de Bando de Dados
Grupo B
I/O sobre Cpu
150-199
Processos produtivos batch:
P20,P21,P22, P30, P32,
Grupo C
Time slided
100-149
Processos de desenvolvimento:
P50,P51,P60,P61,P80,P82,P90
Grupo D
Ciranda
001-099
Identificação
Do grupo
máxima
Prioridade
mínima
Processos de trainees
P100-120
Download