fatec sp sistemas operacionais sistemas operacionais i dionisio gava junior reynaldo g. de oliveira...

47
FATEC SP Sistemas Operacionais Sistemas Operacionais I Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – [email protected] Gerenciamento dos Recursos

Upload: internet

Post on 17-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Sistemas Operacionais ISistemas Operacionais I

Sistemas Operacionais IDionisio Gava Junior

Reynaldo G. de Oliveira – [email protected]

Gerenciamento dos Recursos

Page 2: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 3: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Recursos do hardware

• Processador• Memória• Dispositivos de entrada e saída

Software

• Processos (Aplicações)• Comunicação entre os processos• Informação

Gerenciamento do Hardware e do Software

Gerenciamento dos recursos

Page 4: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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 Memória

DispositivosE/S

ComunicaçãoEntre

processos

SistemaArquivos

Interrupções

tratamentoErros

ComunicaçãoCom usuário

Segurança

Gerenciamento dos recursos

Page 5: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Componentes e objetivos

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

Gerenciamento dos recursos

Page 6: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Componentes e objetivos

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.

Gerenciamento dos recursos

Page 7: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 8: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 9: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 10: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

• 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.

Condições de uso e gerenciamento

Gerenciamento dos recursos

Page 11: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 12: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

• 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.

• Exemplos de arquiteturas monolíticas: IBM OS/390 e Digital VMS.

Arquitetura de sistemas operacionais

Arquitetura Monolítica

QuickTime™ and a decompressor

are needed to see this picture.

QuickTime™ and a decompressor

are needed to see this picture.

A

QuickTime™ and a decompressor

are needed to see this picture.

B

QuickTime™ and a decompressor

are needed to see this picture.

C

QuickTime™ and a decompressor

are needed to see this picture.

D

QuickTime™ and a decompressor

are needed to see this picture.

E

Memória

QuickTime™ and a decompressor

are needed to see this picture.

SistemaOperacional

Gerenciamentode Memória

Gerenciamentodo processador

Gerenciamentodispositivos E/S

Comunicaçãoentre processos

Comunicaçãocom usuário

Núcleo

Gerenciamentoarquivos

Gerenciamento dos recursos

Page 13: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

• É 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

Arquitetura de sistemas operacionais

Arquitetura em camadas

Aplicações do usuário

Gerenciamento de E/S

Interpretador de mensagens

Gerenciamento De Memória

Gerenciamento Do processador

Hardware

Usuário Espaço de endereçamento

do usuário

Espaço de endereçamento

do Núcleo

Gerenciamento dos recursos

Page 14: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

• 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

Arquitetura de sistemas operacionais

Arquitetura Micronúcleo

Gerenciamento dos recursos

Page 15: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Arquitetura de sistemas operacionais

Arquitetura Micronúcleo

Ger. de Memória

Hardware

Espaço de endereçamento

do Núcleo

Comunic.Inter

processos

Sincroprocessos

Ger. de E/S

Ger.Procesador

Ger.Arquivos

aplicações

Interfaces de Chamadas do sistema Espaço de

endereçamento do usuário

Gerenciamento dos recursos

Page 16: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

• 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

Arquitetura de sistemas operacionais

Arquitetura distribuída e em rede

Gerenciamento dos recursos

Page 17: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Processo

Gerenciamento dos recursos

Page 18: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 19: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Programa A Rotina B Rotina C

SO

Processo 1

Memória

P1

Gerenciamento dos recursos

Page 20: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Processo

Gerenciamento dos recursos

Page 21: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Processo

Gerenciamento dos recursos

Page 22: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Processo

Gerenciamento dos recursos

Page 23: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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).

EsperaO processo está esperando por algum evento (I/O, open,etc).

ProntoO processo está pronto para ganhar o controle, mas existem mais processos do que processador (CPUs), e este deve esperar por sua vez.

IniciandoO processo está sendo criado e irá constituir uma unidade executável.

SuspensoO 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.

CompletandoO processo terminou (normal ou anormalmente) e a unidade executável está sendo eliminada.

Gerenciamento dos recursos

Page 24: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Estados de um Processo

Ativo

Pronto EsperaIniciando

Completando

Suspendo

Gerenciamento dos recursos

Page 25: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 26: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Bloco de Controle de Processos

A B C N. . .

SistemaOperacional

BCPs

BB AA CC NN

Processos em Execução

Controle dos processos através dos BCPs

Gerenciamento dos recursos

Page 27: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 28: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 29: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

BCPx BCPz BCPw BCPa BCPc BCPeheader

Gerenciamento dos recursos

Page 30: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 31: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

A

B

C

G

H

I J

Dispositivos E/S Dispositivos E/S

Espaço de endereçamento

Espaço de endereçamento

D

E

F

Dispositivos E/S

Espaço de endereçamento

Gerenciamento dos recursos

Page 32: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

SistemaOperacional A

B

C

D

E

F

G

H

I J

N

A B C D E F G H I J N

BCPs

Processos e sub-processos em execução

Gerenciador de processos

Gerenciamento dos recursos

Page 33: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 34: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Multiprogramação

• 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

AA BB CC DD EE

CPUCPU

I/OI/O I/OI/O

Esperando pela CPUEsperando pela CPU

Memória

SistemaOperacional

SistemaOperacional

Conceito

Gerenciamento dos recursos

Page 35: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 36: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 37: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

AA BB CC DD EE

CPU 1CPU 1

I/OI/O I/OI/O

Esperando pela CPUEsperando pela CPU

Memória

SistemaOperacional

SistemaOperacional

CPU 2CPU 2

Gerenciamento dos recursos

Page 38: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 39: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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 torna-se complexo.

Alguns algorítmos são os seguintes:

• Ciranda• Time-Slice• I/O bound sobre CPU bound• Listas Múltiplas

Gerenciamento dos recursos

Page 40: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 41: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 42: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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

Gerenciamento dos recursos

Page 43: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 44: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 45: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Onde:

BP = Posição do BCP na fila de processosTcpu = 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).

Para decidir em intervalos regulares, o sistema calcula a poisição do BCP, de acordo com o calculo de seu perfil:

Nº de Waits

TcpuBP =

I/O Bound sobre CPU Bound

Gerenciamento dos recursos

Page 46: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

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.

Gerenciamento dos recursos

Page 47: FATEC SP Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento dos Recursos

FATEC SPSistemas Operacionais

Listas multiplas

PrioridadeFixa

I/O sobre Cpu

Time slided

Ciranda

Intervalo de prioridade

Grupo A

Grupo B

Grupo C

Grupo D

200-255

150-199

100-149

001-099

AlgoritmoIdentificaçãoDo grupo

Processos/programasque compõem o grupo (exemplos)

Gerenciador de Bando de Dados

Processos produtivos batch:P20,P21,P22, P30, P32,

Processos de desenvolvimento:P50,P51,P60,P61,P80,P82,P90

Processos de traineesP100-120

Prioridade

máxima

mínima

Gerenciamento dos recursos