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

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

Capítulo 1: Introdução.

Apresentações semelhantes


Apresentação em tema: "Capítulo 1: Introdução."— Transcrição da apresentação:

1 Capítulo 1: Introdução

2 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 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 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 Componentes do Sistema de Computação
Usuário 1 Usuário 2 Usuário 3 Usuário n Compilador Editor Navegador Banco de texto de dados Aplicações e programas do sistema Sistema Operacional Dispositivo físico

6 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 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 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 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 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 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 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 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 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 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 Funcionamento das interrupções
Interrupções de E/S Fonte:

17 Funcionamento das interrupções

18 Funcionamento das interrupções
Processo do usuário requisita E/S (troca de processos) Processamento da interrupção (rotina de interrupção) Pedido de E/S chega à controladora do dispositivo Finalização de E/S e envio de interrupção Processamento de E/S

19 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 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 Hierarquia de memórias
Maior custo e maior velocidade

22 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 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: Multiprocessamento assimétrico Processador mestre Multiprocessamento simétrico

24 Multiprocessamento simétrico

25 Projeto de dual core

26 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 Sistemas em cluster

28 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 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 Estrutura do sistema operacional
Estrutura da memória em sistemas multiprogramados

31 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 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 Operações do Sistema Operacional

34

35 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 Revisão Conceito do multiprogramação ou multitarefa Problema
Evitar ociosidade Fonte:

37 Revisão Conceito do multiprogramação ou multitarefa
Preemptivo x cooperativo Preemptivo Memória Processo 1 Processo 2 Processo 3 . Processo n Escalonador da CPU – Seleção de processos Processo 1 Processo 2 Processo 1 Processo n Processo 3 Processo 2 ... Tempo Slot de tempo

38 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 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 Revisão Hierarquia de memória Velocidade x custo x volatilidade
Caching Gerenciamento de cache

41 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 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 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 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 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 Desempenho de diferentes níveis de armazenamento
Movimentos entre diferentes níveis de memória podem ser explícitos ou implícitos

47 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 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 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 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 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 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 End of Chapter 1


Carregar ppt "Capítulo 1: Introdução."

Apresentações semelhantes


Anúncios Google