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

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

Adaptado de Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1: Introdução.

Apresentações semelhantes


Apresentação em tema: "Adaptado de Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1: Introdução."— Transcrição da apresentação:

1 Adaptado de Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1: Introdução

2 1.2 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Capítulo 1: Introdução Funcionalidades de sistemas operacionais Organização de sistemas computacionais Arquitetura de sistemas computacionais Estrutura de sistemas operacionais Operações de sistemas operacionais Gerenciamento de processos Gerenciamento de memória Sistemas de armazenamento Proteção e segurança Sistemas distribuídos Sistemas de propósito especial Ambientes computacionais Sistemas operacionais de código aberto

3 1.3 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes O que é um sistema operacional? Programa que age como intermediário entre o usuário do computador e o hardware do computador Interface entre o usuário e o hardware Objetivos do sistema operacional: Executar programas do usuário e tornar a solução de problemas do usuário mais simples Tornar o sistema de computação conveniente para uso Usar o hardware do computador de forma eficiente

4 1.4 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Estrutura dos sistemas computacionais Sistemas computacionais são compostos por quatro componentes: Hardware – provê recursos computacionais básicos CPU, memória, dispositivos de E/S Sistema operacional Controla e coordena o uso do hardware entre várias aplicações e usuários Programas aplicativos – definem a forma como os recursos do sistema são utilizados para solucionar problemas computacionais dos usuários Processadores de texto, compiladores, navegadores web, sistemas de banco de dados, jogos, etc. Usuários Pessoas, máquinas, outros computadores

5 1.5 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Componentes do Sistema de Computação Usuário1 Usuário2 Usuário3Usuárion Compilador Editor Navegador Banco de texto de dados Aplicações e programas do sistema Sistema Operacional Dispositivofísico

6 1.6 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Funções dos sistemas operacionais Depende do ponto de vista Usuário Conveniência Simplicidade de uso Sistema Alocação de recursos – Múltiplos usuários, múltiplas aplicações Dispositivos embarcados Otimização do uso e da bateria Às vezes, sem interface com usuário Execução de poucas funções Etc.;

7 1.7 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Definição de sistema operacional Alocador de recursos Gerencia de todos os recursos Dispositivos de entrada e saída (E/S), arquivos, CPU, memória, etc.; Resolução de conflitos de alocação Quem usa primeiro, quanto tempo cada um usa, como é feito o uso, quem pode acessar, etc. Programa de controle Controle da execução de programas Prevenção de erros – Uso impróprio dos recursos – Operações não permitidas

8 1.8 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Definição de sistema operacional Não existe definição universalmente aceita Definições genéricas Conjunto de programas que gerenciam os recursos de hardware do computador e provêem uma interface de serviços para as aplicações Programa em execução a todo o momento no computador (kernel) – Os demais programas são aplicações do usuário ou do sistema » Ex: Interface gráfica não é parte do sistema operacional

9 1.9 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Definições de sistema operacional Multiusuários x monousuário Multiusuários Acesso simultâneo de diversos usuários Monousuário Acesso de único usuário por vez – Diferente de existirem diversas contas de usuários

10 1.10 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Definições de sistema operacional Multitarefa x monotarefa Multitarefa Vários programas em execução simultaneamente – Compartilhamento de tempo Tipos – Preemptivo – tempo dividido em fatias e uma fatia é dedicada a cada processo – Cooperativo – Cada processo deve ceder tempo para outros processos Monotarefa Apenas uma tarefa é permitida por vez

11 1.11 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Definições de sistema operacional Sistemas operacionais em tempo real Sistema operacional multitarefa Execução de aplicações em tempo real Resposta rápida e previsível de eventos – Tempo máximo de execução de um processo Sistemas operacionais distribuídos Sistema operacional que gerencia diversas máquinas e faz com que pareçam apenas uma única máquina Sistemas operacionais embarcados Projetados para sistemas embarcados Máquinas pequenas com baixa autonomia e poucos recursos

12 1.12 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Inicialização do sistema Programa de inicialização (bootstrap program) Carregado ao ligar ou reiniciar o computador Armazenado em Read Only Memory (ROM) ou Erasable Programmable Read-Only Memory (EPROM) Principais funções: Verificar o hardware Carregar o sistema operacional Iniciar a execução do sistema operacional

13 1.13 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Organização dos sistemas de computação Operação do sistema de computação CPUs e controladores conectados a um barramento comum Acesso à memória compartilhada – Execução concorrente

14 1.14 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Operação de sistemas de computação Execução concorrente de dispositivos de E/S e de CPU Cada controlador é responsável por um tipo de dispositivo particular Cada controlador de dispositivo tem um buffer local CPU move dados de/para uma memória principal para/de um buffer local A entrada/saída ocorre do dispositivo para o buffer local Controlador informa a CPU sobre o fim da operação de E/S através de interrupções

15 1.15 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Interrupções Na recepção de uma interrupção na CPU Execução da tarefa atual é pausada Transferência do controle para a rotina de interrupção Recepção parâmetros para saber qual rotina de interrupção chamar Armazenamento do endereço de execução atual – Retorno após o processamento do evento que gerou uma interrupção Chegada de interrupções é desabilitada durante a execução de uma interrupção Prevenção de perda de interrupções Tipos de interrupção Geradas por hardware Trap Interrupção causada por software devido a um erro

16 1.16 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Funcionamento das interrupções Interrupções de E/S Fonte:

17 1.17 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Funcionamento das interrupções

18 1.18 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Funcionamento das interrupções Processo do usuário requisita E/S (troca de processos) Pedido de E/S chega à controladora do dispositivo Processamento de E/S Finalização de E/S e envio de interrupção Processamento da interrupção (rotina de interrupção)

19 1.19 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Estruturas de Armazenamento Organização hierárquica regida por: Velocidade Custo Volatilidade Tipos principais Memória principal Único recursos de amplo armazenamento que pode ser acessado pela CPU Acesso aleatório Tipicamente volátil Armazenamento secundário Extensão da memória principal para prover ampla capacidade de armazenamento não volátil

20 1.20 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Caching Processo para armazenar as informações em uso em um sistema de armazenamento mais rápido Ex: Memória principal funciona como cache para memória secundária Idéia que norteia a hierarquia de memórias Informação copiada de memórias mais lentas para memórias mais rápidas temporariamente Uso Se dado requisitado está no cache, use-o. Senão, ir para o próximo nível na hierarquia de memória

21 1.21 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Hierarquia de memórias Maior custo e maior velocidade

22 1.22 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Desafios do uso de caching Gerenciamento do cache Modificação de dados Propagação para outros níveis da hierarquia de memória Uso de múltiplos caches em um mesmo nível Seleção de dados no cache Qual dado apagar ao se inserir um dado novo? Projeto de tamanhos de caches

23 1.23 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Arquitetura de sistemas computacionais Sistemas com multiprocessadores Crescente importância Vantagens Aumento da vazão Aumento da confiabilidade – Degradação suave – Tolerância a falhas Tipos: 1. Multiprocessamento assimétrico – Processador mestre 2. Multiprocessamento simétrico

24 1.24 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Multiprocessamento simétrico

25 1.25 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Projeto de dual core

26 1.26 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Sistemas em cluster Múltiplos sistemas trabalhando em conjunto Diferente de multiprocessamento Usualmente usa uma storage-area network (SAN) para compartilhamento de memória Provê alta disponibilidade Tolerância a falhas

27 1.27 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Sistemas em cluster

28 1.28 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Sistemas em cluster Tipos Clustering assimétrico Uma máquina monitorando – Detecção de falha faz uma máquina monitoradora se tornar executora Clustering simétrico Todos os nós executam aplicações e se monitoram High-performance computing (HPC) Aplicações escritas com suporte a paralelização

29 1.29 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Estrutura do sistema operacional Multiprogramação Garante eficiência Uso de CPU interrompido por um processo durante tempo de espera por E/S – Troca de processos Organiza os jobs de forma que a CPU não fique ociosa Manutenção de um subconjunto de jobs na memória Seleção de qual job executar através de escalonamento

30 1.30 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Estrutura do sistema operacional Estrutura da memória em sistemas multiprogramados

31 1.31 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Estrutura do sistema operacional Compartilhamento de tempo ou multitarefa Troca de jobs na CPU frequente Simula um computador interativo – Parece que existem vários jobs sendo executados simultaneamente » Percepção humana: tempo de resposta inferior a 1 segundo

32 1.32 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Operações do Sistema Operacional Sistemas operacionais são dirigidos por interrupções Interrupções por hardware Interrupções por erro ou pedido de software (exceções ou traps) Divisão por zero Loop infinito Tentativas de modificação de outros processos ou do sistema operacional Proteção do sistema operacional Modo dual Modo usuário – Baixo privilégio Modo kernel – Alto privilégio Modo bit provido por hardware Detecta durante a execução do sistema se é código de usuário ou de kernel Instruções privilegiadas só são executadas em modo kernel

33 1.33 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Operações do Sistema Operacional

34 1.34 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes

35 1.35 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Funções do sistema operacional Interface entre o hardware e o usuário Alocação de recursos Quem usa o que e em que momento Controle de execução Proteção e segurança

36 1.36 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Conceito do multiprogramação ou multitarefa Problema Evitar ociosidade Fonte:

37 1.37 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Conceito do multiprogramação ou multitarefa Preemptivo x cooperativo Preemptivo Memória Processo 1 Processo 2 Processo 3. Processo n Tempo Slot de tempo Processo 1 Processo 2 Processo 1Processo n Processo 3 Processo 2... Escalonador da CPU – Seleção de processos

38 1.38 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Conceito do multiprogramação ou multitarefa Preemptivo x cooperativo Cooperativo – Processos cedem o acesso a CPU – Usado em sistemas de tempo real » Tempo máximo de execução Troca de contexto Armazenamento do estado do processo Recuperação posterior da execução – Registradores – Registrador de instruções – Outros Intervalo entre troca de processos

39 1.39 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Interrupções Recepção da interrupção Pausa da CPU Rotina de interrupção Tipos Hardware e trap Chamadas de sistema Funções executadas pelo sistema operacional Uso Modo usuário x modo kernel Modo bit

40 1.40 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Revisão Hierarquia de memória Velocidade x custo x volatilidade Caching Gerenciamento de cache

41 1.41 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Gerenciamento de processos Processo é um programa em execução Programa Entidade passiva Conjunto de regras de execução Processo Entidade ativa Composta por programa e recursos alocados Processos de thread único e de múltiplos threads Recursos compartilhados Um contador de programa por thread

42 1.42 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Gerenciamento de processos Responsabilidades do sistema operacional: Criar e deletar processos do usuário e do sistema Suspender e resumir processos Prover mecanismos para sincronizar processos Prover mecanismos para fazer comunicação entre processos Prover mecanismos para tratar deadlocks Deadlock – Suspensão por tempo infinito de processos devido à problemas na alocação de recursos

43 1.43 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Gerenciamento de memória Memória armazena: Dados antes e após o processamento Todas as instruções em ordem de execução Gerenciamento de memória Determinação do conteúdo da memória Otimização da utilização da CPU e da resposta do computador aos usuários Atividades de gerenciamento de memória Gerenciar quais processos tem acesso a cada parte da memória Decidir quais processos e dados devem ser mantidos na memória Alocar e desalocar memória de acordo com as necessidades

44 1.44 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Gerenciamento de armazenamento Provimento de uma visão lógica e uniforme do armazenamento da informação Abstração das propriedades físicas para uma unidade lógica de armazenamento (arquivo) Gerenciamento do sistema de arquivos Arquivos organizados em diretórios Controle de acesso à arquivos e diretórios Atividades Criação e deleção de arquivos e diretórios Primitivas de manipulação de arquivos e diretórios Mapeamento de arquivos no armazenamento secundário

45 1.45 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Gerenciamento de armazenamento em massa Discos são usados para armazenar dados que não cabem na memória ou que precisam ser armazenados por um longo tempo Interfere no desempenho de todo o sistema Atividades do sistema operacional Gerenciamento de espaço livre Alocação de recursos para armazenamento Escalonamento de disco

46 1.46 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Desempenho de diferentes níveis de armazenamento Movimentos entre diferentes níveis de memória podem ser explícitos ou implícitos

47 1.47 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Migração de dados do disco para o registrador Ambientes multitarefas precisam gerenciar o uso do valor mais recente Em qualquer nível da hierarquia Ex: Transferência do inteiro A do disco ao registrador Ambientes multiprocessados precisam prover coerência de cache Todas as CPUs precisam ter o valor mais recente em seus caches Situação mais complexa em sistemas distribuídos Podem existir várias cópias dos dados

48 1.48 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Subsistema de E/S Responsabilidades do sistema de entrada e saída: Gerenciamento de memória para E/S incluindo Buffering – armazenamento temporário durante transferência Caching – armazenamento de partes dos dados para dar desempenho em armazenamento rápido Spooling – sobreposição de saída de um job que serve como entrada para outro job Interface de driver de dispositivo Drivers para dispositivos de hardware específico

49 1.49 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Proteção e segurança Proteção – qualquer mecanismo para controlar o acesso de processos ou usuários a recursos definidos pelo sistema operacional Segurança – defesa do sistema contra ataques internos e externos Identificação como base para segurança e proteção Identificação de usuários (user IDs, security IDs) incluindo nome e número, um por usuário Identificação de usuário com todos os arquivos e processos para determinar controle de acesso Identificador de grupo (group ID) para identificar um grupo de usuários

50 1.50 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Computação distribuída Coleção de sistemas separados, possivelmente heterogêneos e interligados por rede Sistemas operacionais de rede provêem uma interface entre sistemas através da rede Esquemas de comunicação permitem a troca de mensagens entre sistemas Ilusão de um sistema único

51 1.51 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Sistemas de propósito especial Sistemas embarcados de tempo real Grande variabilidade, propósito específico, sistema operacional limitado e de tempo real Sistemas multimídia Entrega de fluxos de dados de acordo com as restrições de tempo Sistemas handheld PDAs, smart phones CPU, memória e bateria limitados Sistema operacional limitado, com E/S limitado

52 1.52 Adaptado de Silberschatz, Galvin and Gagne ©2009 Sistemas Operacionais - Prof. Natalia C. Fernandes Sistemas operacionais de código aberto Sistemas operacionais disponíveis em formato de código fonte ao invés de binário com fonte fechada Iniciado pelo Free Software Foundation (FSF), o qual deu início a GNU Public License (GPL) Exemplos incluem o GNU/Linux e o BSD UNIX (incluindo o núcleo do Mac OS X), e muitos outros

53 Adaptado de Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition End of Chapter 1


Carregar ppt "Adaptado de Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1: Introdução."

Apresentações semelhantes


Anúncios Google