30
Sistemas Operacionais 13 de fevereiro de 2015 Prof. Arliones Hoeller 1 Sistemas Operacionais Introdução a Sistemas Operacionais Prof. Arliones Hoeller [email protected] 13 de fevereiro de 2015 baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto

s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

  • Upload
    dokiet

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 1

Sistemas Operacionais

Introdução a Sistemas Operacionais

Prof. Arliones Hoeller

[email protected]

13 de fevereiro de 2015

baseado no material do Prof. Fröhlich emhttp://www.lisha.ufsc.br/~guto

Page 2: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 2

Sistemas de computação

Hardware● CPU + memória + dispositivos de E/S

Sistemas Operacionais Aplicações

● Objetivo real dos sistemas de computação● Bancos de dados, automação, jogos, etc

Usuários● Definem problemas de computação a serem resolvidos● Pessoas, máquinas, outros computadores

Page 3: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 3

Sistemas Operacionais

Perspectiva da máquina virtual● SO extende o hardware até implementar uma interface de

alto nível para aplicações Perspectiva do gerenciador de recursos

● SO gerencia os recursos do sistema (processadores, memória, discos, etc) para comodidade das aplicações

Page 4: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 4

Perspectiva histórica

Primeira geração (1945 - 1955)● Tubos de vácuo● Nenhum software● Operado por conexão de cabos e chaves

ENIAC (1946)

Primeiro bug 'pego' por Grace Murray Hopper, 1945.

Page 5: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 5

Perspectiva histórica

Segunda geração (1955 - 1965)● Transistores● Device drivers● Primeiras linguagens de programação (Fortran)● Monitor (leitor de cartões perfurados)

● Batch (offline)

● Spooler (Simultaneous Peripheral Operation On-Line)

CPU

CPU

CPU

TX-0 Computador Experimental Transistorizado (1956)

Page 6: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 6

Perspectiva histórica

Terceira geração (1965 - 1980)● Circuitos Integrados (TI IC/CI)● Primeiro SO (IBM OS/360)● Multiprogramação (CPU/IO overlap)● Time-sharing (MIT CTSS)● MULTICS (MIT, BELL, GE)● PDP-11 (DEC)● UNIX (BELL)

PDP-11/20 (1970)

Page 7: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 7

Perspectiva histórica

Quarta geração (1980 - ?)● Microprocessador● MS-DOS, UNIX● Sistemas com rede● Sistemas distribuídos● Sistemas de tempo-real

Apple MacIntosh SE/30 (1972)

Page 8: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 8

Perspectiva histórica

Quinta geração (?)● Hardware

● Ubíquo!● Paralelo● Embarcado

● Software● Interface Homem-máquina revolucionária!● Inteligência artificial???

Page 9: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 9

Um computador típico

device

device

device

bridge

RAM

cache

MMU FPU

CPU

I/O b

us

bus

Page 10: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 10

Estruturas de Sistemas de Computação

Motivação● Intermediar operações de CPU e E/S para melhorar

performance● Evitar interferência inter-processos

Interrupções● Evita espera-ocupada (busy-waiting)● Dispositivo de E/S recebe uma requisição de serviço e gera

uma interrupção quando a requisição for completada● Transparente aos processos● Direct Memory Access (DMA)

● Transferência de dados entre dispositivos de E/S e memória principal sem assistência da CPU

Page 11: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 11

Estruturas de Sistemas de Computação

Proteção de recursos● Permite ao SO definir políticas● Violações causam uma trap para dentro do SO

CPU● Operação em múltiplos modos

● Modo supervisor: todas as instruções, restrito ao SO● Modo usuário: instruções não-privilegiadas (ex: sem E/S)

● Timer● Interrupções do Timer transferem controle ao SO

periodicamente Memória

● Memory Management Unit (MMU)● Isolamento do SO● Espaço de endereçamento separado para cada processo● Proteção dos registradores dos dispositivos de E/S

Page 12: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 12

Serviços de sistemas operacionais

Gerenciamento de Processos● Criação e destruição de processos● Alocação e liberação de recursos● Escalonamento de CPU (e contabilização de processos)● Sincronização de processos● Comunicação entre processos● Tratamento de dead-lock

Gerenciamento de Memória● Alocação e liberação de memória● Manutenção da integridade (o que pertence a quem) ● Swapping● Memória virtual

Page 13: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 13

Serviços de sistemas operacionais

Gerenciamento de I/O● Buffering/caching● Escalonamento (e.g. disco, rede)● Device drivers

Gerenciamento de arquivos● Criação, manipulação e remoção de arquivos● Criação, manipulação e remoção de diretórios● Mapeamento de arquivos em discos

Rede● Roteamento, acesso ao meio e segurança de mensagens● Heterogeneidade● Interface de usuário

Page 14: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 14

Serviços de sistemas operacionais

Proteção● Controle de acesso aos recursos● Logging● Validação de procedimentos

Interface● SO provê serviços para aplicações por meio de APIs

(Application Program Interface)● Se o SO está em um domínio de proteção diferente do das

aplicações (e.g. Kernel), uma system call é usada● Interação com usuário

● Interpretador de comandos (shell)● Interface gráfica com o usuário (GUI)

Page 15: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 15

Serviços de sistemas operacionais

Page 16: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 16

Chamadas de Sistema (System Call)

Interface de programação para acesso aos serviços do SO

Geralmente acessadas via APIs e bibliotecas

As três mais comuns● Win32 (Windows)● POSIX (Unix, Linux, Mac OS X e similares)● API JAVA (JVM)

Por que utilizar APIs ao invés das SysCall direto?

Page 17: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 17

Chamadas de Sistema (System Call)

Page 18: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 18

API – System Call

Page 19: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 19

Exemplo da API em C (POSIX)

Page 20: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 20

Controle de Processos

Processos no MS-DOS

Page 21: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 21

Controle de Processos

Processos no Linux

Page 22: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 22

Arquiteturas de Sistemas Operacionais

Monolítico● Todo SO é um único programa, complexo, responsável por

todos os serviços Máquina Virtual

● Serviços de SO são entregues como máquinas virtuais privadas para cada processo de aplicação

Kernel + servidores● Partes cruciais do SO, responsáveis por serviços

fundamentais, são mantidos em um kernel protegido● Serviços avançados são delegados a servidores que

operaram como um processo comum

Page 23: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 23

Monolítico

Page 24: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 24

Em camadas

Page 25: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 25

Camadas do Unix(década 80)

Page 26: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 26

Arquiteturas de Sistemas Operacionais

Microkernel + servidores● O kernel contém apenas serviços necessários à operação

dos servidores Exokernel + bibliotecas

● Recursos físicos (CPU, memória, cache) são exportados de modo seguro para serem tratados pelas aplicações

● Bibliotecas implementam serviços típicos de SO Embutido na aplicação

● Normalmente utilizados em sistemas com apenas uma aplicação

● Apenas os serviços de SO necessários à aplicação são linkados no binário final

Page 27: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 27

Engenharia de Sistemas Operacionais

Estruturado● SO é decomposto em conjuntos de procedimentos/funções● Modificações implicam em recompilar todo o sistema

Modular● SO é decomposto em conjuntos de módulos (ex.:

subsistemas, classes de serviços, etc)● Permite “replugar” módulos● Originalmente implementado no Solaris

● Presente nas versões modernas do Unix, Linux e Mac OS X Orientado a Objeto

● Similar ao modular, mas utilizando técnicas mais eficientes de engenharia de software

Baseados em componentes● SO é decomposto em conjuntos de componentes reusáveis

(disponibilizando interfaces públicas apenas)

Page 28: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 28

Estrutura Modular do Solaris

Page 29: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 29

Mac OS X: estrutura híbridaModular + Microkernel

ambientes de aplicaçõese serviços comuns

Mach

BSD

Page 30: s i n Sistemas Operacionais o i a e Introdução a … · Serviços de sistemas operacionais ... Linux, Mac OS X e similares) ... Serviços avançados são delegados a servidores

Sis

tem

as

Op

era

cio

na

is

13 de fevereiro de 2015 Prof. Arliones Hoeller 30

Máquinas Virtuais