A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais I

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais I"— Transcrição da apresentação:

1 Sistemas Operacionais I
Gerenciamento dos Recursos Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira –

2 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

3 Gerenciamento do Hardware e do Software
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

4 Funções básicas no gerenciamento de recursos
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 Memória tratamento Erros Dispositivos E/S Comunicação Entre processos Comunicação Com usuário Interrupções Sistema Arquivos Segurança

5 Componentes e objetivos
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

6 Componentes e objetivos
Gerenciamento dos recursos 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.

7 Tendências e perspectivas do Sistema operacional
Gerenciamento dos recursos Tendências e perspectivas do Sistema operacional 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.

8 Tendências e perspectivas do Sistema operacional
Gerenciamento dos recursos 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.

9 Tendências e perspectivas do Sistema operacional
Gerenciamento dos recursos 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.

10 Condições de uso e gerenciamento
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.

11 Arquitetura de sistemas operacionais
Gerenciamento dos recursos 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

12 Arquitetura de sistemas operacionais
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. Exemplos de arquiteturas monolíticas: IBM OS/390 e Digital VMS. Núcleo Gerenciamento de Memória Gerenciamento do processador Gerenciamento dispositivos E/S Comunicação entre processos Comunicação com usuário Gerenciamento arquivos

13 Arquitetura de sistemas operacionais
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 Espaço de endereçamento do usuário Aplicações do usuário Gerenciamento de E/S Interpretador de mensagens Espaço de endereçamento do Núcleo Gerenciamento De Memória Gerenciamento Do processador Hardware

14 Arquitetura de sistemas operacionais
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

15 Arquitetura de sistemas operacionais
Gerenciamento dos recursos Arquitetura de sistemas operacionais Arquitetura Micronúcleo aplicações Interfaces de Chamadas do sistema Espaço de endereçamento do usuário Ger. de E/S Ger. Procesador Ger. Arquivos Comunic. Inter processos Espaço de endereçamento do Núcleo Ger. de Memória Sincro processos Hardware

16 Arquitetura de sistemas operacionais
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

17 Processo Conceitos Gerenciamento dos recursos
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

18 Conceito de Processo Gerenciamento dos recursos
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.

19 Vários Programas em um único processo
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 Rotina B Rotina C SO P1 Memória

20 Processo Criação de processos Gerenciamento dos recursos
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

21 Processo Termino de processos Gerenciamento dos recursos
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

22 Processo Escalonamento e troca de contexto Gerenciamento dos recursos
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.

23 Estados de um Processo Gerenciamento dos recursos
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.

24 Estados de um Processo Gerenciamento dos recursos Ativo Pronto Espera
Completando Ativo Iniciando Pronto Espera Suspendo

25 Bloco de Controle do Processo
Gerenciamento dos recursos 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.

26 Controle dos processos
Gerenciamento dos recursos Bloco de Controle de Processos Processos em Execução B A C N Sistema Operacional BCPs . . . A B C N Controle dos processos através dos BCPs

27 Conteúdo do BCP BCP Gerenciamento dos recursos
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

28 Filas de Controle de Processos
Gerenciamento dos recursos 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.

29 Filas de Controle de Processos
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. BCPx BCPz BCPw BCPa BCPc BCPe header

30 Hierarquia de processos
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

31 Hierarquia de processos
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 I J Dispositivos E/S Dispositivos E/S Dispositivos E/S

32 Funções do gerenciador de processador:
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 D G N B H BCPs E A B C D E F G H I J N C F I J Gerenciador de processos

33 Gerenciamento das aplicações e processos
Gerenciamento dos recursos 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

34 Multiprogramação A B C D E Conceito Gerenciamento dos recursos
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 Esperando pela CPU Sistema Operacional A B C D E Memória I/O I/O

35 Eficiência da Multiprogramação
Gerenciamento dos recursos 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.

36 Threads Gerenciamento dos recursos
É 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.

37 A B C D E Multiprocessamento Gerenciamento dos recursos
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 CPU 2 Esperando pela CPU Sistema Operacional A B C D E Memória I/O I/O

38 Multiprocessamento Gerenciamento dos recursos
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.

39 Algorítmos de distribuição da CPU
Gerenciamento dos recursos 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

40 Ciranda Gerenciamento dos recursos
É 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.

41 Ciranda Eficiência Gerenciamento dos recursos
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.

42 Time Slice Gerenciamento dos recursos
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

43 Time Slice Gerenciamento dos recursos 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.

44 I/O Bound sobre CPU Bound
Gerenciamento dos recursos 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.

45 I/O Bound sobre CPU Bound
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: Tcpu BP = 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).

46 Listas multiplas Gerenciamento dos recursos
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.

47 Listas multiplas Gerenciamento dos recursos 200-255 150-199 Prioridade
Identificação Do grupo Intervalo de prioridade Processos/programas que compõem o grupo (exemplos) Algoritmo máxima Grupo A Prioridade Fixa Gerenciador de Bando de Dados Grupo B I/O sobre Cpu Processos produtivos batch: P20,P21,P22, P30, P32, Prioridade Grupo C Time slided Processos de desenvolvimento: P50,P51,P60,P61,P80,P82,P90 Grupo D Ciranda Processos de trainees P mínima


Carregar ppt "Sistemas Operacionais I"

Apresentações semelhantes


Anúncios Google