SISTEMAS OPERACIONAIS

Documentos relacionados
Gerência do Processador

Sistemas Operacionais

Gerenciamento de memória

Introdução à Computação: Sistemas de Computação

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Sistemas Operacionais. Prof. André Y. Kusumoto

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

Gerência do Processador

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Máquinas Virtuais: Windows 2008 Server

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

SISTEMAS OPERACIONAIS

Arquitetura e Organização de Computadores

Capítulo 4 Gerência de Processador

Sistemas Operacionais Processos e Threads

Sistemas Operacionais

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Figura 01 Kernel de um Sistema Operacional

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

8 Threads. 8.1 Introdução

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitetura dos Sistemas Operacionais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Introdução a Computação

Professor: Gládston Duarte

Sistemas Operacionais Introdução

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Gerenciamento de Entrada e Saída (E/S)

Gerência de Processador

Escalonamento de processos

Sistemas Operacionais. Conceitos de um Sistema Operacional

Nível do Sistema Operacional

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Programação Concorrente Processos e Threads

ESTUDO DE CASO WINDOWS VISTA

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais I

4 Estrutura do Sistema Operacional Kernel

Capítulo 3 Projeto de Arquitetura

Escalonamento de CPU 2 Quadrimestre

Senado Federal Questões 2012

Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Processos e Threads (partes I e II)

SISTEMAS OPERACIONAIS

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Estrutura, Processos e Threads

Aula 03-04: Modelos de Sistemas Distribuídos

Banco de Dados Orientado a Objetos

Infra-Estrutura de Software. Introdução. (cont.)

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Arquitetura e Organização de Computadores

SISTEMAS OPERACIONAIS

Conceitos Básicos sobre Sistemas Operacionais

Virtualização Gerencia de Redes Redes de Computadores II

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Sistemas Operacionais

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

SISTEMAS OPERACIONAIS 2007

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Fundamentos de Sistemas Operacionais

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

Sistemas Operacionais

ARQUITECTURA DO WINDOWS

Sistemas Operacionais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Sistemas Operacionais IV

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Organização de Computadores 1

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Sistemas Operacionais Introdução

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Sistemas Operacionais

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Programador Web - Pronatec

Transcrição:

1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri

ESTRUTURA DO SISTEMA OPERACIONAL Embora a definição de níveis de privilégio imponha uma estruturação mínima a um sistema operacional, as múltiplas partes que compõem o sistema podem ser organizadas de diversas formas, separando suas funcionalidades e modularizando seu projeto. Sendo assim apresentarei as arquiteturas mais populares para a organização de sistemas operacionais: Sistema Monolítico Sistema em camadas Sistema micro-núcleo (micro-kernel) ou Cliente-Servidor Máquina Virtual 2

SISTEMA MONOLÍTICO Todos componentes do núcleo operam em modo núcleo e se inter-relacionam conforme suas necessidades; Não há restrições de acesso entre si, pois o código no nível núcleo tem pleno acesso a todos os recursos e áreas de memória. 3

SISTEMA MONOLÍTICO Vantagem: Desempenho e interação direta entre componentes; Desvantagem: Caso algum componente perca o controle devido a algum erro, o problema pode alastrar-se rapidamente por todo o núcleo, causando assim um colapso no Sistema. A manutenção e evolução também tornam-se mais complexas, pois a dependências e pontos de interação entre componentes nem sempre são evidentes; pequenas alterações na estrutura de dados de um componente podem ter um impacto inesperado em outros componentes, caso estes acessem aquela estrutura diretamente. 4

SISTEMA MONOLÍTICO Curiosidades: Foi a primeira forma de organizar os sistemas operacionais; Sistemas UNIX antigos e o MS-DOS seguiam esse modelo. Atualmente, apenas sistemas operacionais embutidos usam essa arquitetura, devido as limitações do hardware sobre o qual executam. O núcleo do Linux nasceu monolítico, mas vem sendo paulatinamente estruturado e modularizado desde a versão 2.0 (embora boa parte de seu código ainda permaneça no nível de núcleo). 5

SISTEMA EM CAMADAS A camada mais baixa realiza a interface como hardware; Camadas intermediarias provêem níveis de abstração e gerencia cada vez mais sofisticados. A camada superior define a interface do núcleo para as aplicações (as chamadas de sistema). Desvantagem: O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar ate o dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema. 6

SISTEMA EM CAMADAS Curiosidades: Essa abordagem de estruturação de software fez muito sucesso no domínio das redes de computadores, através do modelo de referencia OSI (Open Systems Interconnection), e também seria de se esperar sua adoção no domínio dos sistemas operacionais. Muitos sistemas implementam uma camada inferior de abstração do hardware para interagir com os dispositivos (Windows NT) e também organizam em camadas alguns sub-sistemas como a gerência de arquivos e o suporte de rede (seguindo o modelo OSI). 7

SISTEMAS MICRO-NÚCLEO Mantêm no núcleo somente o código de baixo nível, necessário para interagir com o hardware; Retira do núcleo todo o código de alto nível, gerente de recursos; Interações entre os componentes e aplicações são feitas através de trocas de mensagens; Assim quando uma aplicação deseja abrir um arquivo no disco rígido por exemplo, envia uma mensagem para o gerente de arquivos que por sua vez envia outra para o gerente de dispositivos a fim de obter os blocos de dados relativos ao arquivo desejado. Mecanismos de proteção ao HW restringem a comunicação direta entre processos; Devido aos processos terem de solicitar serviços uns dos outros, para poder realizar suas tarefas, essa abordagem também foi denominada cliente-servidor. 8

MÁQUINA VIRTUAL Como funciona uma máquina real? E um Emulador? A funcionalidade e o nível de abstração de uma MV se encontra entre uma máquina real e um emulador, na medida em que abstrai somente os recursos de hardware e de controle usados pelas aplicações. 9

MÁQUINA VIRTUAL Sendo assim o que é, como funciona o conceito de um MV? Uma maquina virtual é um ambiente criado por um monitor de maquinas virtuais, também denominado sistema operacional para sistemas operacionais. O monitor pode criar uma ou mais maquinas virtuais sobre uma única maquina real. A MV fornece facilidade para as aplicações fornecem a impressão de as mesmas estarem executando sobre um ambiente normal com acesso físico ao HW. 10

MÁQUINA VIRTUAL Algumas vantagens são apresentadas para a utilização de máquinas virtuais em sistemas de computação: Aperfeiçoamento e testes de novos sistemas operacionais; Ensino prático de sistemas operacionais e programação de baixo nível; Executar diferentes sistemas operacionais sobre o mesmo hardware, simultaneamente; Simular alterações e falhas no hardware para testes ou reconfiguração de um sistema operacional, provendo confiabilidade e escalabilidade para as aplicações; Diminuir custos com hardware. 11

MÁQUINA VIRTUAL A principal desvantagem do uso de MVs é o custo adicional de execução dos processos na máquina virtual em comparação com a máquina real. Esse custo é muito variável, podendo passar de 50% em plataformas sem suporte de hardware a virtualização, como é o caso de processadores mais antigos. Todavia, pesquisas recentes tem obtido a redução desse custo a patamares abaixo de 20%, graças sobretudo a ajustes no código do sistema hospedeiro. Esse problema não existe em ambientes cujo hardware oferece suporte a virtualização, como e o caso dos mainframes e de processadores mais recentes. 12

PROCESSOS Já vimos que um processo é um programa em execução; Mas se analisarmos a definição de programa, veremos que programa é uma sequência de instruções, algo passivo que não altera seu estado. E um processo é um elemento ativo, que altera seu estado como veremos a seguir. Sendo assim o processo é o elemento que faz a chamada de sistema executar o programa. 13

ESTRUTURA E ESTADOS DE UM PROCESSO A estrutura de um processo é composta por: Código Espaço em memória Contador de Programa (PC) Seção de dados A medida em que um programa é executado, os estados de um processo podem ser: Novo Em execução Em espera Pronto Encerrado 14

ESTADOS DE UM PROCESSO 15

ESCALONAMENTO (SCHEDULER) Uma política de escalonamento é a estratégia do sistema para escolher quais processos devem ser executados a cada instante; Essa política deve satisfazer critérios de: Maximizar o número de processos/tempo (desempenho); Minimizar o tempo que cada processo espera para ser executados (latência); Evitar o adiamento indefinido; 16

NÍVEIS DE ESCALONAMENTO Escalonamento de alto nível: Determina quais jobs serão admitidos pelo sistema; Se admitidos tornam-se processos ou grupos de processos; Determina o grau de multiprogramação: número de processos a cada instante. Escalonamento de nível intermediário: Determina se um processo terá permissão de disputar processador, pois os processos podem ser suspensos para cumprir metas de desempenho; Funciona como um buffer entre a admissão e a designação de processadores para um processo. 17

NÍVEIS DE ESCALONAMENTO Escalonamento de baixo nível: Determina qual processo ativo será executado quando o processador estiver disponível; Podem ter uma política de prioridades (importância de um processo); Designa o processador (se multiprocessado); Ele reside na memória principal o tempo todo; 18

GERÊNCIA DE PROCESSOS Escalonamento: Não preemptivo: Uma vez que o sistema conduz um processo a execução, ele não poderá retirar o processo de execução; Preemptivo: O sistema é capaz de interromper a execução de um processo e reconduzi-lo ao processador em outro momento; 19

GERÊNCIA DE PROCESSOS Decisões sobre escalonamento da UCP podem ser tomadas nos seguintes momentos: 1. Quando um processo sai do estado executando para esperando ; 2. Quando um processo sai do estado executando para pronto ; 3. Quando um processo sai do estado esperando para pronto ; 4. Quando um processo é finalizado. Se um sistema realiza escalonamento somente nas situações 1 e 4, dizemos que ele é não preemptivo ou cooperativo; Caso ele também realize escalonamento nas outras situações, o sistema é dito preemptivo. 20

GERÊNCIA DE PROCESSOS E ALGORITMOS FIFO First in First out Roud Robin Fila Circular Short Process First (SPF) Filas multinível Filas multinível com retroalimentação 21

GERÊNCIA DE PROCESSOS E ALGORITMOS FIFO First in First out Todos os processos são tratados igualmente; Processos longos fazem processos curtos esperar; Processos não importantes fazem processos importantes esperar; Não é recomendado para processos interativos; Não é empregado como esquema mestre; Processos de mesma prioridade são despachados na ordem FIFO. 22

GERÊNCIA DE PROCESSOS E ALGORITMOS FIFO First in First out 23

GERÊNCIA DE PROCESSOS E ALGORITMOS Roud Robin Fila Circular FIFO com tempo limitado (quantum); Preempção; Empregado em ambientes interativos; Não é empregado como esquema mestre; 24

GERÊNCIA DE PROCESSOS E ALGORITMOS Short Process First (SPF) Menor tempo estimado pelo: usuário sistema Não há preempção; O tempo médio de espera(tme) é calculado da seguinte forma: 25

GERÊNCIA DE PROCESSOS E ALGORITMOS Short Process First (SPF) O tempo de espera(te) de cada job é o tempo que ele levou para começar a processar: 26

GERÊNCIA DE PROCESSOS E ALGORITMOS Short Process First (SPF) 15/03/2012 27

GERÊNCIA DE PROCESSOS E ALGORITMOS Filas multinível 15/03/2012 Filas multinível com retroalimentação 28

GERÊNCIA DE PROCESSOS E ALGORITMOS Filas multinível com retroalimentação 15/03/2012 Processos entram na fila de mais alto nível; Processos que devolvem o processador antes do término do quantum permanecem no mesmo nível; Processos que expiram o quantum vão para fila de nível mais baixo; Sistemas aumentam o quantum a medida que passam a execução para filas de mais baixo nível; 29

GERÊNCIA DE PROCESSOS E ALGORITMOS Filas multinível com retroalimentação 15/03/2012 Favorecem processos orientados a E/S ou que precisam de pequenos surtos de tempo; O quantum da primeira fila é grande o bastante para que processo orientados a E/S façam sua requisição; Uma requisição de E/S retira o processo da rede de filas (pronto); São ideais para separar processos em categorias (identificar se é orientado a processador ou E/S); Processos podem subir de nível. 30