Sei sulla pagina 1di 15

11/02/2019

Capítulo 1: Introdução

Fundamentos de Sistemas Operacionais – 8ª Edição Silberschatz, Galvin and Gagne ©2009

Capítulo 1: Introdução
Qual o papel do Sistema Operacional
Organização do Sistema Operacional
Arquitetura do Sistema de Computação
Estrutura do Sistema Operacional
Operações do Sistema Operacional
Gereciamento de Processo
Gereciamento de Memória
Gereciamento de Armazenamento
Proteção e Segurança
Sistemas Distribuídos
Sistemas de Propósito Especial
Ambientes Computacionais
Sistemas Opercaionais Open-Source

Fundamentos de Sistemas Operacionais – 8ª Edição 1.2 Silberschatz, Galvin and Gagne ©2009

Objetivos
Dar uma visão geral dos principais componentes dos sistemas
operacionais

Descrever a organização básica dos sistemas de computação

Fundamentos de Sistemas Operacionais – 8ª Edição 1.3 Silberschatz, Galvin and Gagne ©2009

1
11/02/2019

Os pais do UNIX

Fundamentos de Sistemas Operacionais – 8ª Edição 1.4 Silberschatz, Galvin and Gagne ©2009

O Que É Um Sistema Operacional?

Um programa que atua como intermediário entre o usuário de um


computador e o hardware do computador

Objetivos do sistema operacional:


Executar programas do usuário e tornar fácil a solução de problemas
Tornar o sistema computacional conveniente para uso
Usar o hardware de uma forma mais eficiente

Fundamentos de Sistemas Operacionais – 8ª Edição 1.5 Silberschatz, Galvin and Gagne ©2009

Estrutura do Sistema Computacional

O sistema Computacional pode ser dividido em quatro componentes


Hardware – composto de recursos computacionais básicos
CPU, memória, dispositivos de I/O
Sistema Operacional
Controla e coordena o uso do hardware entre várias
aplicações e usuários
Programas de aplicação – define a maneira pela qual os recursos
do sistema serão usados para resolver os problemas do usuário
Processadores de texto, compiladores, browseres web,
gerenciadores de banco de dados, video games, outros
programas.
Usuários
Pessoas, máquinas, outros computadores

Fundamentos de Sistemas Operacionais – 8ª Edição 1.6 Silberschatz, Galvin and Gagne ©2009

2
11/02/2019

Quatro Componentes de um Sistema Computacional

Fundamentos de Sistemas Operacionais – 8ª Edição 1.7 Silberschatz, Galvin and Gagne ©2009

Definição do Sistema Operacional


SO é um alocador de recursos
Gerencia todos recursos
Decide entre os conflitos gerados por requisições de forma
mais apropriada e eficiente na utilização de recursos

SO é um programa de controle
Controla a execução dos programas para prevenir erros e use
improprio do computador

Não existe uma definição universal

Kernel - “Programa que está sempre executando no computador”


Os demais são: programas do sistema (programas que
complementam o SO) ou programas aplicativos

Fundamentos de Sistemas Operacionais – 8ª Edição 1.8 Silberschatz, Galvin and Gagne ©2009

Inicialização do Computador
Programa bootstrap é carregado ao se ligar ou resetar a máquina.
Tipicamente armazenado na ROM ou EPROM, geralmente conhecido
como firmware
Inicializa/verifica todos os componentes do sistema
Carrega o kernel do sistema operacional e inicia a execução

Fundamentos de Sistemas Operacionais – 8ª Edição 1.9 Silberschatz, Galvin and Gagne ©2009

3
11/02/2019

Organização do Sistema de Computação


Operação do sistema computação
Uma ou mais CPUs, unidades controladoras se conectam através de
um barramento comum que prover acesso para a memória
compartilhada.
Execuções silmutâneas das CPUs e dispositivos disputam pelos ciclos
de memória.

Fundamentos de Sistemas Operacionais – 8ª Edição 1.10 Silberschatz, Galvin and Gagne ©2009

10

Operação do Sistema de Computação


Dispositivos de I/O e a CPU podem executar concorrentemente

Cada unidade de controle é administra um particular tipo de dispositivo

Cada controlador de dispositivo possui um buffer local

A CPU transfere dados entre a memória principal e os buffers locais

A E/S ocorre do dispositivo para o buffer local do controlador

O controlador de dispositivo informa à CPU que sua operação está


terminada, causando uma interrupção

Fundamentos de Sistemas Operacionais – 8ª Edição 1.11 Silberschatz, Galvin and Gagne ©2009

11

Eventos Comuns nas Interrupçoes


A interrupção geralmente transfere o controle para o serviço de interrupção
através do vetor de interrupção, que contém o endereço de todas as rotinas
de serviço

A arquitetura de interrupção precisa salvar o endereço da instrução


interrompida

As interrupções que chegam são empilhadas enquanto outra interrupção


está sendo processada para evitar uma interrupção perdida

Uma trap (interceptação) é uma interrupção gerada por software, causada


por um erro ou por uma requisição do usuário

Um sistema operacional é dirigido por interrupções

Fundamentos de Sistemas Operacionais – 8ª Edição 1.12 Silberschatz, Galvin and Gagne ©2009

12

4
11/02/2019

Tratamento de Interrupções
O sistema operacional preserva o estado da CPU armazenando
registradores e o contador do programa

Determina que tipo de interrupção ocorreu:


polling
sistema de interrupção vetorizada

Rotinas de núcleo separadas determinam que ação deve ser realizada para
cada tipo de interrupção

Fundamentos de Sistemas Operacionais – 8ª Edição 1.13 Silberschatz, Galvin and Gagne ©2009

13

Linha do tempo da interrupção

Fundamentos de Sistemas Operacionais – 8ª Edição 1.14 Silberschatz, Galvin and Gagne ©2009

14

Estrutura de Armazenamento
Memória principal – única área grande de armazenamento que a CPU pode
acessar diretamente

Armazenamento secundário – extensão da memória principal que fornece


grande capacidade de armazenamento não volátil

Discos magnéticos – discos de metal ou vidro cobertos com material de


gravação magnético
A superfície do disco é dividida logicamente em trilhas, que são
subdivididas em setores
A controladora de disco determina a interação lógica entre o dispositivo
e o computador.

Fundamentos de Sistemas Operacionais – 8ª Edição 1.15 Silberschatz, Galvin and Gagne ©2009

15

5
11/02/2019

Mecanismo de Disco com Cabeça Móvel

Fundamentos de Sistemas Operacionais – 8ª Edição 1.16 Silberschatz, Galvin and Gagne ©2009

16

Hierarquia de Armazenamento
Sistemas de armazenamento organizados em hierarquia
Velocidade
Custo
Volatilidade

Caching – cópia de informações em um sistema de armazenamento mais


rápido; a memória principal pode ser vista como um último cache para o
armazenamento secundário

Fundamentos de Sistemas Operacionais – 8ª Edição 1.17 Silberschatz, Galvin and Gagne ©2009

17

Hierarquia de Dispositivos de
Armazenamento

Fundamentos de Sistemas Operacionais – 8ª Edição 1.18 Silberschatz, Galvin and Gagne ©2009

18

6
11/02/2019

Caching
Importante princípio, existente/criado em vários níveis em um
computador (em hardware, sistema operacional, software)

Informação em uso é copiada de uma memória temporária mais lenta


para uma mais rápida.

Memória rápida (cache) é acessada primeira para determinar se a


informação está nela
Se presente, a informação é usada diretamente da cache (rápida)
Se não, os dados são copiados para a cache e usados a partir
dessa

A cache é menor que a memória que está sendo cacheada


Cache requer uma política de gerenciamento
Essa política envolve tamanho, consistencia e substituição de
dados

Fundamentos de Sistemas Operacionais – 8ª Edição 1.19 Silberschatz, Galvin and Gagne ©2009

19

Migração do Inteiro A do disco


até o Registrador

Fundamentos de Sistemas Operacionais – 8ª Edição 1.20 Silberschatz, Galvin and Gagne ©2009

20

Estrutura do Acesso Direto à Memória


Usado para dispositivos de E/S de alta velocidade capazes de transmitir
informações próximas às velocidades da memória

O controlador de dispositivo transfere blocos de dados diretamente do seu


buffer para a memória principal sem intervenção da CPU.

Apenas uma interrupção é gerada por bloco, em vez de uma interrupção


por byte

Fundamentos de Sistemas Operacionais – 8ª Edição 1.21 Silberschatz, Galvin and Gagne ©2009

21

7
11/02/2019

Arquitetura do Sistema de Computação


Muitos sistemas usam um simples processador de propósito geral (PDAs
até mainframes)
Como também, muitos sistemas tem processadores de propósito
especial

Sistemas Multiprocessadores crescem em uso e importancia


Também conhecidos como sistemas paralelos, sistemas fortemente
acoplados
Vantagens presentes
1. Aumento do throughput
2. Economia de escala
3. Incremento da disponibilidade – suave degradação ou tolerancia
falha
Dois tipos
1. Multiprocessamento Assimetrico
2. Multiprocessamento Simetrico

Fundamentos de Sistemas Operacionais – 8ª Edição 1.22 Silberschatz, Galvin and Gagne ©2009

22

Como Funciona um Moderno


Computador

Fundamentos de Sistemas Operacionais – 8ª Edição 1.23 Silberschatz, Galvin and Gagne ©2009

23

Arquitetura Multiprocessamento Simétrico

Fundamentos de Sistemas Operacionais – 8ª Edição 1.24 Silberschatz, Galvin and Gagne ©2009

24

8
11/02/2019

Um Design Dual-Core

Fundamentos de Sistemas Operacionais – 8ª Edição 1.25 Silberschatz, Galvin and Gagne ©2009

25

Sistemas Clusterizados (agrupados)

Como sistemas multiprocessadores, mas na verdade são multiplos sistemas


trabalhando juntos
Usualmente compartilham memória via um storage-area network (SAN)
Prover um service de alta disponibildade o qual sobrevive a falhas
Clustering Assimétrico tem um nó em modo hot-standby
Clustering Simétrico tem multiplos nós executando aplicações e,
cada um monitorando o outro
Alguns clusters são construídos para high-performance computing
(HPC)
Aplicaçoes devem ser escritas para usar o paralelismo

Fundamentos de Sistemas Operacionais – 8ª Edição 1.26 Silberschatz, Galvin and Gagne ©2009

26

Estrutura do Sistema Operacional


Multiprogramação necessária a eficiencia
Único usuário não mantem CPU e dispositivos de I/O em uso todo tempo
Multiprogramação organiza jobs (código e datos) e assim a CPU sempre terá um para
executar
Um subconjunto do total de jobs no é mantido na memória principal
Um job é selecionado e executado via job scheduling
Quando ele tem que esperar (um I/O por examplo), o SO chaveia para um outro job

Timesharing (multitarefa) é a extensão logica da multiprogramação na qual a CPU é


chaveada tão frequentimente entre os jobs que os usuários podem interagir com cada job
enquanto eles executam, criando a computação interativaBatchDigitação.jpg
Tempo de resposta deve ser < 1 segundo
Cada usuário tem pelo menos um programa executando na memória processo
Se várias tarefas estão prontas para executar ao mesmo tempo CPU scheduling
Se os processos não cabem na memória, swapping move-os in e out para executar
Memória Virtual permite a execução de processos que não estão completamente
na memória principal

Fundamentos de Sistemas Operacionais – 8ª Edição 1.27 Silberschatz, Galvin and Gagne ©2009

27

9
11/02/2019

Layout da Memória para Sistema Multiprogramado

Fundamentos de Sistemas Operacionais – 8ª Edição 1.28 Silberschatz, Galvin and Gagne ©2009

28

Operações do Sistema Operacional


Guiado por interrupção de hardware

Erros ou requisições de software geram exceção ou trap (interceptação)


Divisão por zero, solicitação de um serviço do sistema operacional

Outros problemas gerados por processo inclue infinito loop, processos


modificarem outros ou o próprio sistema operacional

Operaçaõ dual-mode permite o SO proteger a se mesmo além de outros


components do sistema
Modo usuário e modo kernel
Bit de mode provido pelo hardware
Possibilita distinguir quando o sistema está executando código do
usuário ou do kernel
Instrucões classificadas como privilegiadas, só podem ser
executadas em mode kernel
Chamadas ao sistemas muda altera o modo para kernel, o retorno
delas altera para usuário

Fundamentos de Sistemas Operacionais – 8ª Edição 1.29 Silberschatz, Galvin and Gagne ©2009

29

Transição do Modo Usuário para o Kernel


Timer para prevenir loop infinito / processo consumidor de recursos
Gera uma interrupção depois de especificado período
O sistema operacional determina o contador
Quando o contador zera é gerada uma interrupção
Preserva o processo antes do schedule para retomar o seu
processamento ou encerra o programa que excede o tempo concedido

Fundamentos de Sistemas Operacionais – 8ª Edição 1.30 Silberschatz, Galvin and Gagne ©2009

30

10
11/02/2019

Gerenciamento de Processo
Um processo é um programa em execução. Ele é a unidade de
tarbalho no sistema. Programa é uma entidade passiva, processo é
uma entidade ativa.
Processo necessita de recursos para realizar sua tarefa.
CPU, memória, I/O, arquivos
Initicialização de dados
Ao término do process o sistema retorna ao ambiente os recursos
reutilizávies
Processo single-threaded tem um program counter que especifica a
localização da próxima instrução a executar
Processo executa instruções sequencialmente, uma por vez, até
o seu término.
Processo Multi-threaded tem um program counter por trhread.
Sistemas de uso geral tem muitos processos, alguns de usuários,
alguns do SO, executando concorrentemente em uma ou mais CPUs
Concorrencia é implementada pela multiplexação da(s) CPU(s)
entre os processos / threads.

Fundamentos de Sistemas Operacionais – 8ª Edição 1.31 Silberschatz, Galvin and Gagne ©2009

31

Atividades do Gerenciamento de Processo


O sistema operacional é responsável pelas seguintes atividades em conjunto
com o gerenciador de processos:

Criar e excluir processos, tanto de usuário como do sistema.

Suspender e retomar processos

Oferecer mecanismos para sincronização de processos

Oferecer mecanismos para comunicação entre processos

Oferecer mecanismos para manipulação de deadlock.

Fundamentos de Sistemas Operacionais – 8ª Edição 1.32 Silberschatz, Galvin and Gagne ©2009

32

Gerenciamento de Memória
Todos dados na memória antes e depois do processamento

Todas instruções na memória na ordem para executar

Gerenciamento de memória determina o que está na memória e


quando
Otimizando a utilização da CPU e tempo de resposta do computador
para os usuários

Atividades do gerenciamento de memória


Mantem informações de quais partes da memória estão
correntemente em uso e por quem
Decidindo quais processos (ou partes deles) e dados mover para
fora ou trazer para memória
Alocando e desalocando espaço de memória quando necessário

Fundamentos de Sistemas Operacionais – 8ª Edição 1.33 Silberschatz, Galvin and Gagne ©2009

33

11
11/02/2019

Gerenciamento de Memória
O SO dá uma visão uniforme, visão lógica de armazenamento da
informação
Abstrai propriedades físicas para a unidade de armazenamento
- file
Cada mídia é controlada por dispositivo (ex., disk drive, tape
drive)
Variações de propriedades incluem velocidade de acesso,
capacidade, taxa de transferencia de dados, métodos de
acesso (sequencial ou randomica)

Gerenciamento do Sistema de arquivos


Arquivos normalmente organizados em diretórios
controle de acesso na maioria dos sistemas determina quem
pode e o que pode
Atividades do SO inclue
Criação e deleção de arquivos e diretórios
Primitivas para manipular arquivos e dirs
Mapeamento de arquivos na memória secundária
Backup de arquivos
Fundamentos de Sistemas Operacionais – 8ª Edição 1.34 Silberschatz, Galvin and Gagne ©2009

34

Gerenciamento de Armazenamento de Massa


Usualmente discos são usados para armazenar dados que não cabem na
memória principal ou que devem ser mantidos por um longo período de
tempo

Gerenciamento apropriado é de importancia central

O desemepenho da operação de um computador depende do subsistema


de I/O e seus algoritmos

Atividades do SO
Gerenciamento do espaço livre
Alocação de espaço de armazenamento
Schedule de disco

Alguns armazenamentos não precisam ser rápidos


Armazenamento terciário inclue armazenamento optical, fita magnética
Devem ser gerenciadas
Varia entre WORM (write-once, read-many-times) and RW (read-write)

Fundamentos de Sistemas Operacionais – 8ª Edição 1.35 Silberschatz, Galvin and Gagne ©2009

35

Desempenho dos Vários Níves de Armazenamento

Movimento entre os níveis de hierárquia de armazenamento pode ser


explicito ou implicito

Fundamentos de Sistemas Operacionais – 8ª Edição 1.36 Silberschatz, Galvin and Gagne ©2009

36

12
11/02/2019

Migração do Inteiro A do Disco para Registrador

Ambiente multitarefa deve ser cuidadoso em virtude da reduncia da


informação causada pela propagação do armazenamento gerado na
hierarquia de memória

Ambiente multiprocessador deve prover coerencia de cache em hardware


de tal forma que todas CPUs tenham o mais recente valor refletido em suas
caches

Ambientes distribuídos a situação é ainda mais complexa


Várias cópias de um dado pode existir
Várias soluções são mostradas no Capítulo 17

Fundamentos de Sistemas Operacionais – 8ª Edição 1.37 Silberschatz, Galvin and Gagne ©2009

37

Subsistema I/O
Um dos propósitos do SO é esconder as peculiaridades dos dispositivos de
hardware do usuário

Subsistema I/O é responsável por


Gerenciamento de memória de I/O incluindo buferização (armazenamento
de dados temporariamente enquanto está ocorrendo a transferencia),
caching (armazenamento de partes dos dados num memória de maior
velocidade para melhoria do desempenho), spooling (sobreposição da
saída de um job com a entrada de outros)
Interface Geral device-driver
Drivers específicos para dispositivos de hardware

Fundamentos de Sistemas Operacionais – 8ª Edição 1.38 Silberschatz, Galvin and Gagne ©2009

38

Proteção e Segurança
Proteção – qualquer mecanismo para controlar o acesso de processos
ou usuários definido pelo SO

Segurança – defesas do sistema contra ataques internos e externo


Grande variedade, incluindo denial-of-service, worms, viruses,
identity theft, theft of service

Sistemas primeiro distingue entre os usuários, para determinar quem


pode fazer e o que.
Identidade de usuários (user IDs, security IDs) que inclui nome e
um número associado, um por usuário
O ID do usuário é então associado com todos arquivos, processos
desse usuário para determinar o controle de acesso
Identificador de Grupo (group ID) permite agrupar usuários e com
isto definir e controlar a nível de grupo em relação a processos,
arquivos.
Escalação de Privilégios permite usuários alterar para um efetivo
ID com mais direitos.

Fundamentos de Sistemas Operacionais – 8ª Edição 1.39 Silberschatz, Galvin and Gagne ©2009

39

13
11/02/2019

Ambientes de Computação
Computação Tradicional
Evolução ao longo do tempo

Ambientes de Escritório
PCs conectados em redes, terminais ligados a mainframes ou
minicomputadores provendo procesamentos batch e de timesharing
Portais corporativos permite acesso locais e remotos para os
mesmos recursos

Redes domésticas
Único computador utilizando modem
Agora firewalls, protegendo a rede

Fundamentos de Sistemas Operacionais – 8ª Edição 1.40 Silberschatz, Galvin and Gagne ©2009

40

Ambientes de Computação (Cont)


Computação Cliente-Servidor
Terminais burros suplantados por smart PCs

Os servidores, respondem as requisições geradas pelos clientes


Servidor de serviços prover uma interface para o cliente
requisitar serviços (i.e. database)
Servidor de arquivo prover uma interface para os clientes
armazenar e recuperar arquivos

Fundamentos de Sistemas Operacionais – 8ª Edição 1.41 Silberschatz, Galvin and Gagne ©2009

41

Computação em Pares
É um outro modelo de sistema distribuído

P2P não faz destinção entre clientes e servidores


Cada nó pode atuar como um cliente, servidor ou ambos
Para ingressar numa rede P2P o nó deve:
Registrar seu serviço numa central de serviço lookup na rede, ou
Através de uma requisição broadcast (discovery protocol) solicita
o serviço desejado
Exemplos incluem Napster e Gnutella

Fundamentos de Sistemas Operacionais – 8ª Edição 1.42 Silberschatz, Galvin and Gagne ©2009

42

14
11/02/2019

Computação Baseda na Web


A Web se tornou onipresente

PCs ainda são os dispositivos de acesso mais comuns

Muitos outros dispositivos (móveis) estão se conectando cada vez mais a


rede para permitir web acesso

Surgem novas categorias de dispositivos para gerenciar trafego e otimizar


o uso dos seviços web entre servidores similares: load balancers

Uso de SO’s como o Windows 95, que exercia apenas o papel de cliente,
tem evoluído para Linux and Windows XP, os quais podem ser clientes e
servidores

Fundamentos de Sistemas Operacionais – 8ª Edição 1.43 Silberschatz, Galvin and Gagne ©2009

43

Sistemas Operacionais de Código-Fonte


Aberto
Sistemas Operacionais são disponibilizados em formato de código fonte em
vez do como código binário compilado ou código-fechado

Movimento contra a proteção de cópias e Gerenciamento de Direitos


Digitais (DRM)

Iniciado pela Free Software Foundation (FSF), baseado no conceito de


“copyleft” GNU Public License (GPL)

Exemplos incluem GNU/Linux, BSD UNIX (incluído no kernel do Mac OS


X), e Sun Solaris

Fundamentos de Sistemas Operacionais – 8ª Edição 1.44 Silberschatz, Galvin and Gagne ©2009

44

Fim do Capítulo 1

Fundamentos de Sistemas Operacionais – 8ª Edição Silberschatz, Galvin and Gagne ©2009

45

15

Potrebbero piacerti anche