aula 1 - Páginas Pessoais

Propaganda
Capítulo 1: Introdução
Operating System Concepts – 8th Edition
Silberschatz, Galvin and Gagne ©2009
Capítulo 1: Introdução
 O que um Sistema Operacional faz
 Organização Computador-Sistema
 Arquitetura Computador-Sistema
 Estrutura do Sistema Operacional
 Operações do Sistema Operacional
 Gerenciamento de Processo
 Gerenciamento de Memória
 Gerenciamento de Armazenamento
 Proteção e Segurança
 Sistemas Distribuídos
 Sistemas de Propósito especial
 Ambientes Computacionais
 Sistemas Operacionais Open-Source
Operating System Concepts – 8th Edition
1.2
Silberschatz, Galvin and Gagne ©2009
Objetivos
 Prover um overview sobre os principais componentes dos Sistemas
Operacionais
 Prover uma cobertura sobre a organização de sistema computacional
básico
Operating System Concepts – 8th Edition
1.3
Silberschatz, Galvin and Gagne ©2009
O quê é um Sistema Operacional?
 Um programa que atua como um intermediário entre um usuário e o
hardware do computador
 Objetivos do sistema Operacional:

Executa programas do usuário, tornando os problemas do usuário
mais fácil

Torna os sistemas computacionais mais conveniente para o uso

Uso o hardware do computador de maneira mais eficiente
Operating System Concepts – 8th Edition
1.4
Silberschatz, Galvin and Gagne ©2009
Estrutura dos Sistemas Computacionais
 Um sistema Computacional pode ser dividido em 4 componentes:

Hardware – provém recursos computacionais básicos


Sistema Operacional


Controla e coordena o uso do hardware entre as várias
aplicações e usuários
Programas de aplicação – define as formas com que os
recursos do sistema são usuados para resolber os problemas
computacionais dos usuários


CPU, memória, dispositivos de I/O
Processadores de texto, compiladores, browsers, sistema
de banco de dados, video, games, etc.
Usuários

Pessoas, máquinas e outros computadores
Operating System Concepts – 8th Edition
1.5
Silberschatz, Galvin and Gagne ©2009
Quatro Componentes de um Sistema
Computacional
Operating System Concepts – 8th Edition
1.6
Silberschatz, Galvin and Gagne ©2009
O quê um Sistema Computacional faz
 Depende do ponto de vista
 Usuários desejam conveniência, facilidade de uso

Não se preocupam com a utilização de recurso
 Porém computadores compartilhados, tais como mainframe or
minicomputer devem manter todos os usuários “felizes”
 Usuários de sistemas dedicados, tais como workstations possuem
recursos dedicados, porém frequentemente compartilham recursos de
servidores
 Computadores portateis apresentam recursos limitados, otimizado para
usabilidade e duração da bateria
 Alguns computadores não tem tem uma interface minima, ou mesmo não
apresentam, tais como computadores embutidos em dispositivos e
automóveis
Operating System Concepts – 8th Edition
1.7
Silberschatz, Galvin and Gagne ©2009
Definição de Sistema Operacional
 OS é um is a alocador de recurso

Gerência todos os recursos

Decide entre os pedidos conflitantes com base na eficiência e uso
recurso
 OS é um is a programa de controle

Controla a execução dos programas para prevenir erros e uso
inapropriado do computador
Operating System Concepts – 8th Edition
1.8
Silberschatz, Galvin and Gagne ©2009
Definição de Sistema Operacional (Cont.)
 Não existe uma definição universal
 “Everything a vendor ships when you order an operating system” é
uma boa aproximação

Mas varia muito
 “Um programa executando a todo instante no computador” é o
kernel. O resto é um programa de sistema (fornecido com o
sistema operacional) ou um programa de aplicação.
Operating System Concepts – 8th Edition
1.9
Silberschatz, Galvin and Gagne ©2009
Computer Startup
 Programa de bootstrap program é carregado quando se liga ou
computador ou durante o reboot

Normalmente armazenado em ROM ou EPROM, geralmente conhecido
como firmware

Inicia todos recursos do sistema

Carrega o kernel do sistema operacional e inicia a execução
Operating System Concepts – 8th Edition
1.10
Silberschatz, Galvin and Gagne ©2009
Organização do Sistema Computacional
 Operação do Sistema Operacional

Um ou mais CPUs, controladores de dispositivos conectados por
uma barramento comum, provendo acesso a memória
compartilhada

Execução concorrente de CPUs e dispositivos competindo por
ciclos de memória
Operating System Concepts – 8th Edition
1.11
Silberschatz, Galvin and Gagne ©2009
Operação Sistema Computador
 Dispositivo de I/O e a CPU podem executar concorrentemente
 Cada controlador de dispositivo é responsável por um tipo de
dispositivo particular
 Cada controlador de dispositivo tem um buffer local
 CPU transfere dados de/para buffers locais
 I/O é do dispositivo para o buffer local do controlador
 Controlador de dispositivo informa a CPU o fim da operação por meio
de uma interrupção
Operating System Concepts – 8th Edition
1.12
Silberschatz, Galvin and Gagne ©2009
Funções Comuns das interrupções
 A interrupção transfere o controle para a rotina de serviço de
interrupção, geralmente, através do vetor de interrupção, que
contém os endereços de todos as rotinas de serviço
 A arquitetura de interrupção deve salvar o endereço da instrução
interrompida.
 Novas interrupções são desabilitadas enquanto a interrrupção está
sendo processada para prevenir a perda de interrupção
 Um trap é uma interrupção gerada por software causada por um erro
ou pedido do usuário
 Um sistema operacional é interrupt driven
Operating System Concepts – 8th Edition
1.13
Silberschatz, Galvin and Gagne ©2009
Manipulação de Interrupção
 O sistema operacional preserva o estado da CPU armazenando os
registradores e o contador de programa
 Determina o tipo de interrupção ocorrida::

polling

vectored interrupt system
 Segmentos separados de código determina qual ação deve ser
tomada para cada tipo de interrupção
Operating System Concepts – 8th Edition
1.14
Silberschatz, Galvin and Gagne ©2009
Timeline de interrupção
Operating System Concepts – 8th Edition
1.15
Silberschatz, Galvin and Gagne ©2009
Estrutura de I/O
 Depois que a I/O inicia o controle retorna para o programa do
usuário retorna somente após a finalização da I/O
 Instrução Wait deixa ociosa a CPU até a próxima interrupção
 Loop de Wait (controla o acesso a memória)
 No máximo solicitação de I/O está pendente de cada vez, sem o
processamento simultâneo de I/O
 Depois que a I/O inicia, o controle retorna ao programa do usuário
sem esperar pela finalização da I/O
 System call – pedido ao sistema operacional para pemitir que o
usuário espere pela finalização da I/O
 Device-status table contém entrada para cada dispositivo de
I/O indicando o tipo, endereço e o estado
 O sistema operacional indexa a tabela de dispositivos de I/O
para determinar o estado do dispositivo e para modificar a
entrada da tabela para incluir a interrupção
Operating System Concepts – 8th Edition
1.16
Silberschatz, Galvin and Gagne ©2009
Estrutura de Acesso Direto a Memória
 Usado para permitir que dispositivo de I/O de alta velocidade
transmitam informações de acordo com as velocidades de memória
 Controlador de dispositivo transfere blocos de dados armazenados no
buffer diretamente para a memoria principal sem interveção da CPU
 Somente uma interrupção é gerada por bloco, ao invés de uma por
byte
Operating System Concepts – 8th Edition
1.17
Silberschatz, Galvin and Gagne ©2009
Estrutura de Armazenamento
 Memória principal – grande quantidade de armazenamento que a
CPU pode acesso diretamente

Acesso Randômico

Normalmente volátil
 Armazenamento Secundário – extensão da memória principal que
provém grande capacidade de armazenamento não volátil
 Disco Magnético – superfície de metal ou vidro revestida de material
magnético

A superfície do disco é logicamente dividida em tracks, que são
subdividas em sectors

O controlador de disco determina a interação lógica entre o
dispositivo e o computador
Operating System Concepts – 8th Edition
1.18
Silberschatz, Galvin and Gagne ©2009
Hierarquia de Armazenamento
 Sistema de armazenamento é organizado hierarquicamente

Velocidade

Custo

Volatividade
 Caching –

Cópia de informação para um sistema de armazenamento mais
rápido; memória principal pode ser vista com um cache do
armazenamento secundário.
Operating System Concepts – 8th Edition
1.19
Silberschatz, Galvin and Gagne ©2009
Hierarquia dos Dispositivos de Armazenamento
Operating System Concepts – 8th Edition
1.20
Silberschatz, Galvin and Gagne ©2009
Caching
 Princípio importante, executado em vários níveis do computador
(hardware, sistema operacional, software)
 Informação em uso é copiada temporariamente de um
armazenamento mais lendo para uma mais rápido
 Armazenamento mais rápido (cache) é verificado para determinar
se a informação está lá

Se está, informação é usada diretamente do cache (rápido)

Se não está, o dado é copiado para o cache e usado
 Cache é muito menor do que o armazenamento em cache

Gerenciamento de cache é uma questão importante de
projeto

Tamanho do cache e política de substituição
Operating System Concepts – 8th Edition
1.21
Silberschatz, Galvin and Gagne ©2009
Arquitetura de Sistemas Computacionais
 Muitos sistemas usam um único processador de propósito geral (PDAs até
mainframes)

Muitos sistemas tem processadores de propósito especial também
 Sistemas Multiprocessadores sistemas em expansão de uso e
importância

Também conhecido como sistemas paralelos, sistemas fracamente
acoplados

Vantagens incluem :

1.
Aumento do throughput
2.
Economia de escala
3.
Aumento de confiabilidade – degradação aceitável or
tolerância a falta
Dois tipos:
1.
Multiprocessamento assimétrico
2.
Multiprocessamento simétrico
Operating System Concepts – 8th Edition
1.22
Silberschatz, Galvin and Gagne ©2009
Como um Computador moderno trabalha
A von Neumann architecture
Operating System Concepts – 8th Edition
1.23
Silberschatz, Galvin and Gagne ©2009
Arquitetura de Multiprocessamento Simétrico
Operating System Concepts – 8th Edition
1.24
Silberschatz, Galvin and Gagne ©2009
Projeto Dual-Core
Operating System Concepts – 8th Edition
1.25
Silberschatz, Galvin and Gagne ©2009
Clusters
 Semelhante ao sistema multiprocessador, porém os sistemas
multiprocessados trabalham juntos

Geralmente, compartilham o armazenamento, via uma storage-area
network (SAN)

Provém um serviço de alta disponibilidade que suporta falhas


Cluters assimétrico tem uma máquina em modo hot-standby mode

Cluters simétrico htem múltiplos nós executando aplicações que
monitoram as outras
Alguns clusters são de alto desempenho - high-performance
computing (HPC)

Aplicações devem ser escritas para usar a paralelização
Operating System Concepts – 8th Edition
1.26
Silberschatz, Galvin and Gagne ©2009
Clusters
Operating System Concepts – 8th Edition
1.27
Silberschatz, Galvin and Gagne ©2009
Estrutura do Sistema Operacional

Multiprogramação é necessária por razões de eficiência

Um único usuário não pode manter a CPU e os dispositivos de I/O ocupado por todo o
tempo
Multiprogramação organiza os jobs (código e dados) de maneira que a CPU tem
sempre um para executar
Um subconjunto do total de jobs do sistema é mantido na memória

Um job é selecionado e executa via escalonador de job

Quando ele tem de esperar (por exemplo, por uma I/O), o OS chaveia para outro job



Timesharing (multitarefa - multitasking) é uma extensão lógica em que a CPU
chaveia jobs tão frequentemente que os usuários podem interagir com o job
enquanto ele está executando, criando uma computação interativa

Timde de Resposta deve ser < 1 segundo

Cada usuário tem no mínimo um programa executando na memória process

Se vários jobs estão pronto para executar no mesmo instante  CPU scheduling

Se o processo não encontra-se na memória, o sswapping move ele para e for para
executar

Memória Virtual permite a execução de processos não completamente carregados
na memória
Operating System Concepts – 8th Edition
1.28
Silberschatz, Galvin and Gagne ©2009
Layout da Memória para Sistema
Multiprogramado
Operating System Concepts – 8th Edition
1.29
Silberschatz, Galvin and Gagne ©2009
Operações do Sistema Operacional
 Interrupt driven por hardware
 Erro de software ou requisições criam exception or trap

Divisão por zero, requisita por serviço do sistema operacional
 Outros problemas do processo incluem loop infinito, processos
modificando outros ou o sistema operacional
 Operação Dual-mode permite que o OS se proteja e outros
componentes do sistema
 Modo User and modo kernel
 Mode bit provido por hardware
Provém a capacidade de distinguir quando o sistema executa
código do kernel ou do usuário
 Algumas instruções são designadas como privilegiadas,
somente executáveis em modo kernel


System call muda o modo para kernel, o retorno da chamada
faz com que o sistema retorne para usuário
Operating System Concepts – 8th Edition
1.30
Silberschatz, Galvin and Gagne ©2009
Transição de Modo Usuário para Kernel
 Timer prefine loop infinito / processo mantendo recursos

Seta a interrupção depois de um período específico

OS decrementa o contador

Quando o contador zera gera uma interrupção

Setado antes do escalonamento do processo para recuperar o
controle ou terminar o programa quando o tempo é excedido
Operating System Concepts – 8th Edition
1.31
Silberschatz, Galvin and Gagne ©2009
Gerenciamento de Processo
 Um processo é um programa em execução. Programa é uma
entidade passiva, o processo é uma entidade ativa
 Processo necessitam de recurso para executar sua tarefa
 CPU, memória, I/O, arquivos





Dados de inicialização
Ao término do processo os recursos são liberados
Processo Single-threaded tem um único contador de programa
especificando a localização da próxima instrução a ser executada
 Processos executam instruções sequencialmente, a cada
instante, até a finalização
Processos Multi-threaded tem um contador de programa por thread
Normalmente o sistema tem muitos processos, algum usuário,
alguns sistema operacional rodando simultaneamente em um ou
mais CPUs concorrendo pela multiplexação das CPUs entre os
processos/threads
Operating System Concepts – 8th Edition
1.32
Silberschatz, Galvin and Gagne ©2009
Atividades de Gerenciamento de Processo
O sistema operacional é responsável pelas seguintes atividades:
 Criação e deleção de usuários e processos do sistema
 Suspensão e reativação de processos
 Prover mecanismos para a sincronização de processo
 Prover mecanismos para comunicação de processo
 Prover mecanismos para manipulação de deadlock
Operating System Concepts – 8th Edition
1.33
Silberschatz, Galvin and Gagne ©2009
Gerenciamento de Memória
 Todo dado deve estar na memória antes e depois do processamento
 Todas as instruções devem estar na memória para serem executadas
 Gerenciamento de memória determina o que está na memória

Otimizando a utilização de CPU e o tempo de resposta aos
usuários
 Atividades do gerenciamento de memória

Manter o registro de que parte da memória está sendo usada e
por quem

Decidir quais processos (ou parte deles) e o dado a ser movido
para ou da memória

Alocação e de-alocação de espação de memória quando
necessário
Operating System Concepts – 8th Edition
1.34
Silberschatz, Galvin and Gagne ©2009
Gerenciamento de Armazenamento

OS provém uma visão lógica e uniforme do armazenamento de informação

Abstrai-se das propriedades físicas para unidade de armazenamento
lógico - file

Cada meio é controlado pelo dispositivo (i.e., disk drive, tape drive)


As propriedades variam, incluindo a velocidade de acesso,
capacidade, taxa de transferência de dados, método de acesso
(sequencial ou randômico)
Gerenciamento do Sistema de Arquivo

Arquivos normalmente são organizados em diretórios

Controle de acesso em muitos sistemas determina quem pode acessar e
o quê

Atividade do OS incluem

Criação e deleção de arquivos e diretórios

Primitivas para manipular arquivos e diretórios

Mapeamento de arquivos para Armazenamento Secundário

Arquivos de Backup em Mídia de armazenamento estável (não volátil)
Operating System Concepts – 8th Edition
1.35
Silberschatz, Galvin and Gagne ©2009
Gerenciamento de Armazenamento de Massa

Normalmente, discos são usados para armazenar dados que não estão na
memória principal ou dados que devem ser mantidos por um longo período de
tempo

Gerenciamento adequado é de importância fundamental

A velocidade global das operação do computador depende da velocidade do
disco e de seus algoritmos

Atividades do OS


Gerenciamento de espaço livre

Alocação do armazenamento

Escalonamento do Disco
Alguns armazenamentos não necessitam ser rápido

Armazenamento terciário inclui armazenamento ótico e fita magnética

Também deve ser gerenciada – Pelas aplicações e OS

Varia entre WORM (write-once, read-many-times) e RW (read-write)
Operating System Concepts – 8th Edition
1.36
Silberschatz, Galvin and Gagne ©2009
Desempenho de vários níveis de Armazenamento
 Transferência entre níveis de armazenamento hierarquico pode ser
explícito ou implícito
Operating System Concepts – 8th Edition
1.37
Silberschatz, Galvin and Gagne ©2009
Migração de um inteiro A do Disco para um registrador
 Ambientes multitasking deve estar atendo para usar o valor mais
recente, mesmo que ele esteja armazenado na memoria secundária
 Ambiente multiprocessador deve prover um cache coerente de
hardware de maneira que todas as CPUs tenham o valor mais recente
no seu cache
 A situação em ambiente distribuído é mais complexa

Várias cópias de um datum pode existir
Operating System Concepts – 8th Edition
1.38
Silberschatz, Galvin and Gagne ©2009
Substistema de I/O
 Um dos propósitos do OS é ocultar as particularidades dos
dispositivos de hardware do usuários
 O subsistema de I/O é responsável por

Gerenciamento de memória de I/O incluindo a buferização
(armazenamento de dados temporários enquanto eles estão
sendo transferidos), caching (armazenamento de partes dos
dados em dispositivos de armazenamento mais rápido por razões
de desempenho), spooling (overlapping de saída de um job com
entrada de outro jobs)

Interface geral do driver do dispositivo

Drivers para dispositivos de hardware específicos
Operating System Concepts – 8th Edition
1.39
Silberschatz, Galvin and Gagne ©2009
Proteção e Segurança
 Proteção – mecanismo de controle de acesso dos processos ou
usuários aos recursos definidos pelo OS
 Segurança – defende o sistema de ataques internos e externos

Huge range, including denial-of-service, worms, viruses, identity
theft, theft of service
 Geralmente, os Sistemas primeiro distingue entre usuários, para
determinar quem pode fazer o quê




Identificador de User (user IDs, security IDs) incluem o nome o
número associado, um por usuário
User ID é associado a todos os arquivos, os processos do usuário
determinam o controle de acesso.
Identificador de Groupo (group ID) permite setar os o conjunto de
usuários a ser definido e gerenciar o controle, associando a cada
processo, arquivo
Aumento de Privilegio permite ao usuário mudar o ID para ter
mais privilégios
Operating System Concepts – 8th Edition
1.40
Silberschatz, Galvin and Gagne ©2009
Computação Distribuída
 Conjunto de sistemas separados, possivelmente separados,
interconectados por um rede

Rede é um caminho de comunicação
–
Local Area Network (LAN)
–
Wide Area Network (WAN)
–
Metropolitan Area Network (MAN)
 Sistemas Operacional de Rede provém pNetwork Operating System
provides caracteristicas entre os sistemas através da rede

Esquema de comunicação permite aos sistemas trocar mensagens

Ilusão de um único sistema
Operating System Concepts – 8th Edition
1.41
Silberschatz, Galvin and Gagne ©2009
Sistema de Propósito Geral
 Sistemas embarcados Tempo Real é uma forma predominante de
computadores

Vary considerable, propósito especial, OS limitado, OS real-time

Sistemas Multimedia

Streams of dados deve ser entregue de acordo com as restrições de
tempo
 Sistemas Handheld

PDAs, smart phones, CPU limitada, memória, energia

Característica reduzida do conjunto do OS, I/O limitado
Operating System Concepts – 8th Edition
1.42
Silberschatz, Galvin and Gagne ©2009
Ambientes Computacionais
 Computador tradicional

Blurring over time

Ambiente de escritório
 PCs
connected a uma rede, terminais ligados a um
mainframe or minicomputers que provém batch e
timesharing
 Agora
portais permitem acesso a rede e sistemas remotos
ao mesmo recurso

Redes residênciais
 Usada
por um único sistema sed to be single system, then
modems
 Com
firewall com rede
Operating System Concepts – 8th Edition
1.43
Silberschatz, Galvin and Gagne ©2009
Ambientes Computacionais (Cont.)
 Computação Cliente Servidor

Terminals Dumb suplantado peloPCs
 Vários sistemas agora servidores, respondendo a pedidos
gerados pelos clientess
Servidores provém uma interface para o cliente para
solicitar serviço (i.e., base de dados)
 Servidor de Arquivo provém interface para os clientes
para armazenar e recuperar arquivos.

Operating System Concepts – 8th Edition
1.44
Silberschatz, Galvin and Gagne ©2009
Computação Peer-to-Peer
 Outro modelo de Sistemas Distribuídos
 P2P não distingui clientes e servidores

Ao contrário, todos os nós são considerados pares

Cada nó pode atuar como cliente, servidor ou ambos

Nó pode associar a rede P2P


Registrando seus serviços em um serviço de lookup central da
rede, ou

Broadcast um pedido para o serviço e o nó que fornece o
serviço responde ao para que fez a solicitação (protocolo de
descoberta)
Exemples include Napster , Gnutella, Bit torrent, etc.
Operating System Concepts – 8th Edition
1.45
Silberschatz, Galvin and Gagne ©2009
Computação baseada na Web
 Web tem tornado onipresente
 PCs ainda prevalece
 Muitos dispositivos, tais como PDA, telefones e workstation permite o
acesso a web
 Nova categoria de dispositivos para gerenciar o trafego web entre
servidores similares: balanceamento de carga
 Uso de sistemas operacionais semelhantes ao Windows 95 do lado
cliente, evoluíram para Linux e Windows XP, que pode ser clientes e
servidores
Operating System Concepts – 8th Edition
1.46
Silberschatz, Galvin and Gagne ©2009
Sistemas Operacionais Open-Source
 Sistemas Operacionais disponibilizados em código fonte , ao invés de
somente binário (closed-source)
 Contadores para a proteção de cópia e Digital Rights
Management (DRM)
 Iniciou Free Software Foundation (FSF), que tem um “copyleft”
GNU Public License (GPL)
 Exemplos incluem GNU/Linux e BSD UNIX (incluindo o core do Mac
OS X), e muitos outros
Operating System Concepts – 8th Edition
1.47
Silberschatz, Galvin and Gagne ©2009
Fim do Capítulo 1
Operating System Concepts – 8th Edition
Silberschatz, Galvin and Gagne ©2009
Download