Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O...

24
Slide 1 SISTEMAS OPERACIONAIS Profa. Regina Borges de Araujo Livro texto: Modern Operating Systems 2nd edition - Andrew S. Tanenbaum, Prentice Hall, 2001 Outras referências: Operating System Concepts (5a. Edição) – Silberschatz & Galvin, John Wiley, 1999 Operating Systems (2a. Edição) - William Stallings, Prentice Hall, 1995 ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ Slide 2 Avaliação Média = (NP1 + NP2)/2*0.7 + NT*0.2 + Npart*0.1 Informação sobre o curso www.dc.ufscar.br/~regina/ensino SISTEMAS OPERACIONAIS ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ Slide 3 Primeira Aula Linux x Windows www.dicas- l.unicamp.br/Palestras/Futuro-do- Linux/futuro-do-linux.pdf • Linux x Minix (Debate Tanenbaum x Linus Torvald) http://www.oreilly.com/catalog/opens ources/book/appa.html SISTEMAS OPERACIONAIS ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________

Transcript of Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O...

Page 1: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 1

SISTEMAS OPERACIONAIS

Profa. Regina Borges de AraujoLivro texto:

Modern Operating Systems 2nd edition - Andrew S. Tanenbaum, Prentice Hall, 2001

Outras referências:Operating System Concepts (5a. Edição) –

Silberschatz & Galvin, John Wiley, 1999

Operating Systems (2a. Edição) - William Stallings,Prentice Hall, 1995

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 2

Avaliação• Média = (NP1 + NP2)/2*0.7 + NT*0.2 + Npart*0.1

Informação sobre o curso• www.dc.ufscar.br/~regina/ensino

SISTEMAS OPERACIONAIS

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 3

Primeira Aula• Linux x Windows

www.dicas-l.unicamp.br/Palestras/Futuro-do-Linux/futuro-do-linux.pdf

• Linux x Minix (Debate Tanenbaum x Linus Torvald)http://www.oreilly.com/catalog/opensources/book/appa.html

SISTEMAS OPERACIONAIS

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 2: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 4

Leia Linux x Windows e responda:1. Porque o Linux é considerado software livre?2. Você acha que o Linux apresenta ameaças ao império do

Windows/MS? Justifique a sua resposta.3. Escreva (em no máximo uma página) uma Defesa do SO

Linux 4. Escreva (em no máximo uma página) uma Defesa do SO

Windows/MSLeia o debate Tanenbaum x Linus Torvald e

responda:1. O que é o Minix?2. A comparação entre Minix e Linux é justa? Qual dos dois

é o melhor SO?

SISTEMAS OPERACIONAIS

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 5

• Introdução• O que é um Sistema Operacional?• História dos Sistemas Operacionais• Conceitos de Sistemas Operacionais• Estruturas de Sistemas Operacionais

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 6

Software do Computador:• Programas do Sistema• Programas de Aplicação

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 3: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 7

Sistema Operacional

Mais fundamental de todos os Mais fundamental de todos os Programas do SistemaProgramas do Sistema

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 8 Componentes de um Sistema

Computacional

Reserva de Passagens

SistemaBancário Jogos

Compiladores EditoresInterpretadorde Comandos

Sistema Operacional

Linguagem de Máquina

Microprogramação

Dispositivos Físicos

Programas de Aplicação

Programas do Sistema

Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 9

• Introdução• O que é um Sistema Operacional?• História dos Sistemas Operacionais• Conceitos de Sistemas Operacionais• Estruturas de Sistemas Operacionais

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 4: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 10

Definição de Sistema Operacional:

• Máquina Virtual• Gerenciador de Recursos

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 11

• Introdução• O que é um Sistema Operacional?• História dos Sistemas Operacionais• Conceitos de Sistemas Operacionais• Estruturas de Sistemas Operacionais

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 12

• Primeira Geração (1945-1955)• Segunda Geração (1955-1965)• Terceira Geração (1965-1980)• Quarta Geração (1980-1990)

História dos Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 5: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 13

Primeira Geração (1945-1955)

• Válvulas • Placas de Conexão (PlugBoards)

História dos Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 14

Segunda Geração (1955-1965) -Transistores e Sistemas em Lote

• Computadores de grande porte (mainframes)• Jobs• Entrada (através de cartões) e Saída computadores

mais baratos (IBM 1401)• Processamento computadores mais sofisticados

(IBM 7094)• Sistemas em Lote programados em Fortran e

Assembly• FMS e IBM/IBSYS• Aplicações na área científica e de engenharia

História dos Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 15

Terceira Geração (1965-1980):CIs e Multiprogramação

Partições de

Memória

Job 3

Job 2

Job 1

S.O.

História dos Sistemas Operacionais

• Sistema IBM/360 (família de computadores compatíveis – todo software roda em todos os modelos) .... 370, 4300, 3080 e 3090.

• Requisitos conflitantes SO e problemas gigantescos• UCP ociosa 80/90% para E/S popularização da multiprogramação• Do cartão para o disco, do disco para memória, da memória para o disco,

do disco para a impressora Spooling• Tempo rápido de resposta Tempo Compartilhado (Timesharing)

CTSS (Compatible Time Sharing System)

MULTICS (PL/I) (multiplexed Information and Computer Service)

• Mini-computadores• Unix

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 6: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 16

Quarta Geração (1980 – presente) Computadores Pessoais - LSI

• Intel 8080 - CP/M (Control Program for Microcomputers) –domínio de 5 anos - popularização dos PCs (microcomputadores)

• IBM projeta o IBM/PC , DOS/BASIC, MS-DOS • IBM PC/AT/80286 em 1983 (morte do CP/M)• Xenix (versão Unix da MS)• Doug Engelbart inventa GUI (adotada pela Xerox e incorporada

em suas máquinas)• LISA (Apple) incorpora GUI – fracasso (alto custo)• Apple MacIntosh – enorme sucesso• MS-GUI: W3.0/3.1/3.11/W95,W98, WMe – W/NT• UNIXGUI: XWindows (MIT), Motif (roda sobre X)

História dos Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 17

Dos anos 90 em diante...

Redes de Computadores• Sistemas Operacionais de Rede

• Sistemas Distribuídos• Novas aplicações (MM, Realidade Virtual)

• Internet 2• Redes de comunicação sem fio

• Computação pervasiva

História dos Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 18 Tipos de Sistemas Operacionais

• Computadores de Grande Porte– Capacidade de E/S, processamento de vários jobs de uma vez– Serviços típicos: lote, processamento de transação e tempo compartilhado

• Servidores– Servem múltiplos usuários de uma vez (compartilhamento de recursos de software e

hardware) via rede. • Multiprocessadores

– Múltiplas CPUs num único sistema (computadores paralelos, multicomputadores ou multiprocessadores)

• Computadores Pessoais• Tempo Real

– Tempo é o parâmetro chave– Hard x soft real time

• Embarcados– Pequenos computadores e TVs, celulares, fornos de microondas– Restrições de tamanho, memória e potência (PalmOS, W/CE – Consumer Electronics)

• Cartão Inteligente– Restrições extremas de tamanho de memória e poder de processamento– JVM em ROM– SO primitivo gerencia desde uma única função até tratamento de múltiplas applets

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 7: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 19 Relação entre Hardware e Sistema Operacional

Componentes de um PC

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 20 Relacionamento entre o Sistema

Operacional e o HardwareProcessadores• Busca, decodifica e executa instruções• Cada UCP tem um conjunto específico de instruções a executar• Tempo de acesso x tempo de execução => Registradores (PC,

ponteiro de pilha, PSW)• SO sabe sobre todos os registradores (chaveamento de

contexto)• UCPs mais complexas => pipeline => confecção de SOs e

compiladores é mais complexa• SO: modo kernel (acesso total ao hardware)

modo usuário (subconjunto de instruções e de acesso ao hard)• Programa do usuário obtém serviços do SO => System call =>

TRAP (chaveia de modo usuário para kernel) => invoca SO

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 21

• Memória– Ideal: extremamente rápida, grande e barata => nenhuma

tecnologia satisfaz => hierarquia de camadas– Registradores > cache > Memória principal > discos magnéticos

> fitas magnéticas– Discos – rotacionam a 5400, 7200, 10800 rpm

• Trilha (dividida em setores)• Setores (512 bytes)• Cilindro• Tempo de um cilindro ao próximo: 1msec (Para um cilindro aleatório: 5 a

10 msec, Espera posicionar setor: 5 a 10 msec, R/W: 5 a 160MB/sec)– Fitas – baixo custo– ROM/EEPROM/FlashRAM (muito mais lento para escrever do

que RAM)/CMOS– Memória e multiprogramação (MMU e o SO – problemas de

proteção e realocação)

Relação entre o SO e o Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 8: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 22

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 23

Dispositivos de Entrada/Saída• Alta interação com o SO• Dispositivo de E/S = dispositivo + Controladora• Dispositivos => interface muito simples/padronizada IDE/SCSI –

controladora IDE acessa qualquer disco IDE)• SO fala com controladora através dos Drivers de dispositivo• Driver => interage diretamente com a controladora• Driver tem que ser colocado no SO e rodar no modo kernel (relink

do kernel/entrada no SO e reboot/aceita novo driver “on the fly” –hot plug in USB) – teoricamente drivers rodam fora do kernel

• Formas de se realizar E/S:– Espera Ociosa: Programa do usuário=>Syscall=> chamada de procedimento

para driver => inicia E/S (espera ociosa até completar) =>driver coloca dados (se houver) na memória

– Interrupção: idem acima sem espera – controladora gera interrupção– DMA: acesso direto à memória sem a intervenção da CPU

Relação entre o SO e o Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 24 Interrupção

CPUControladora

de Interrupção

Controladora de disco

disco

1 2

3

4

Passos de um processo de E/S1. Driver diz para controladora o que fazer (escreve nos seus registradores)

- Controladora inicializa o dispositivo2. Terminada L/E, a controladora sinaliza a controladora de interrupção3. Se a controladora de interrupção puder aceitar, indica a interrupção para a CPU4. A controladora de interrupção coloca o número do dispositivo

no barramento para a CPU para que esta saiba qual deles causou a interrupção para eventualmente tratá-la

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 9: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 25

• PC e PSW são salvos na pilha atual• CPU é chaveada para modo kernel• Número do dispositivo é usado como um índice

para determinar o endereço da rotina de tratamento da interrupção (vetor de interrupção)

• Ações da rotina de tratamento de interrupção (parte do driver):– remove o PC e o PSW e salva – determina estado do dispositivo– terminado o tratamento, retorna para a primeira

instrução ainda não executada do programa que estava rodando

Tratamento de Interrupção

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 26

Barramentos• Um barramento só é insuficiente para tratar todo o tráfego => adição de

barramentos adicionais (para dispos de E/S mais rápidos e tráfego entre CPU-memória)

• Sistema Pentium tem 8 barramentos (cada um com uma função e taxa de transferência diferentes)

• SO tem que saber sobre todos os barramentos para configuração e gerenciamento => PLUG AND PLAY

• Antes do plug and Play - cada placa de dispositivo de E/S tem nível de interrupção fixo e endereços fixos para registradores de E/S

O que fazer quando as interrupções conflitavam?DIP switches ou Jumpers em cada placa de E/S

CAOS• Plug and Play – mecanismo centralizado

– sistema coleta automaticamente info sobre todos os dispositivos de E/S– Atribui níveis de interrupção e endereços de E/S– Divulga para cada placa quais são os seus números

Relação entre o SO e o Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 27 Características dos barramentos de um PC atual

(8 bytes de uma vez)528MB/s

66MHzPCI(Peripheral Component

Interconnect)

160MB/sSCSI

1.5MB/sUSB

IDE

(2 bytes de uma vez)16.67MB/s

8.33MHzISA(Industry Standard

Architecture)

Taxa de Transferência

CicloBarramento

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 10: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 28

Estrutura de um sistema Pentium

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 29

BIOS• Localizado em memória Flash na placa mãe (pode ser

atualizado pelo SO)• Inicializado no boot

– Varre os barramentos ISA e PCI (grava dispositivos plug & play e os legados – se forem diferentes do último boot,configura os novos)

– Determina o dispositivo de boot (checa contra lista na CMOS)

– Lê primeiro setor do dispositivo de boot e executa– determina a partição ativa (através de programa q examina a

tabela de partição no final do setor de boot)– Um loader secundário de boot é lido da partição ativa– Loader secundário lê o Sistema Operacional da partição

ativa para a memória e o inicializa

Relação entre o SO e o Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 30

• Atividades Iniciais do Sistema Operacional– Extrai informação de configuração da BIOS– Checa a presença de driver para cada dispositivo de

E/S (se não encontra pede ao usuário para inserir disco ou CD-ROM com o software)

– Carrega todos os drivers no kernel (núcleo) do SO– Inicializa suas tabelas– Cria processos em background– Inicializa programa de login ou uma interface

gráfica para cada terminal encontrado

Relação entre o SO e o Hardware

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 11: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 31

• Processos• Deadlocks• Gerenciamento de Memória• Entrada e Saída• Arquivos• Segurança• Interpretador de Comandos (Shell)

Conceitos de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 32

Processo – Conceito chave em todos os sistemas operacionais

Processo é um programa em execução

Processo• espaço de endereço (programa executável, dados do programa e sua pilha)• Lista de posições de memória onde o processo pode ler e escrever• Conjunto de registradores (PC, ponteiro de pilha, outros registradores de

hardware)• toda a informação necessária para executar o programa

Processo e Tempo Compartilhado

• Informação sobre os processos é mantida em uma Tabela de processos ou BCP (Bloco de Controle de Processos)

• Tabela de Processos pode ser estruturada como um arranjo ou lista encadeada

Processo = espaço de endereço + sua entrada na tabela de processos

Processos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 33

Chamadas do Sistema Relacionadas a Gerenciamento de Processos– Criação e terminação de processos– Solicitação (ou liberação) de memória– Espera terminação de processo filho e substitui esse programa por outro

diferenteA

B C

D E F

Processo Pai

Processos Filho

Processos Filho

Ex.: leao> cc arq.c

Processos relacionados comunicam-se entre si através de comunicação entre processos - IPC

Processos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 12: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 34

• Processos podem ser interrompidos (pelo S.O.) através de Signals (time-outs, traps detectadas pelo hardware, como execução de instrução ilegal, endereço inválido)

• Signal causa a suspensão do processo atualmente em execução, salvamento do sregistradores na pilha e inicia a execução de rotina de tratamento de sinal

Signals

analogia de software com as interrupções de hardware

• Cada processo tem um identificador único atribuído a ele (carrega também o UID da pessoa que inicializou o processo)

Processos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 35

• Deadlock – situação de impasse em que processos estão em estado de espera por recursos que estão alocados para outros processos também em estado de espera

Exemplo:Processos 1 e 2 querem gravar um CD a partir de dados de uma unidade de fita

• Processo 1 solicita e consegue a unidade de fita (do SO)• Processo 2 solicita e consegue o gravador de CD• Processo 1 solicita o gravador de CD e é suspenso até que

Processo 2 o devolva• Finalmente Processo 2 solicita a unidade de fita e é suspenso

porque o Processo 1 já a possui

Deadlocks

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 36

Gerenciamento de Memória• A memória mantém programas em execução

– Monoprogramação– Multiprogramação

• Proteção em hardware (controlada pelo SO)• Gerenciamento do espaço de endereço dos processos

(que pode ser menor ou maior que a memória principal do computador => memória virtual)

Entrada e Saída• Gerenciamento dos dispositivos através de um subsistema

de E/S• Parte do software de E/S é independente de dispositivo

(driver é a parte do software que é dependente de dispositivo)

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 13: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 37

É responsabilidade do SO gerenciar a segurança do sistema– Proteção de arquivos– Proteção contra invasões (ex. vírus)– Proteção contra acesso não autorizado

Segurança

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 38

Arquivos(Agrupados em Diretorios)

Diretório Raiz

Alunos DC

AnaBia Leo Prof. José

Prof.Paulo Profa.Regina

Cursos Comitês

SOArquivos

PROTEM RNPIC1

caminho do arquivo SO: /DC/Prof.Paulo/Cursos/SO

Arquivos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 39

Sistema Multiusuário

Requer Mecanismos de Proteção de Arquivos

Exemplo (no Unix):

leao> ls -lrwx r--r-- SO

Arquivos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 14: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 40

• Chamadas do Sistema Relacionadas a Arquivos:– open, read, write, close etc.

• Vários S.Os. representam dispositivos de E/S como arquivos especiais. Tipos de arquivos especiais:– Arquivos especiais de bloco (discos)– Arquivos especiais de caractere

(terminal,impressora)– Pseudo-arquivos PIPE

Arquivos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 41

A BPipe

Processo Processo

Dois processos conectados através de uma PIPE

Exemplo:leao> cat arq1 arq2 arq3 | sort > /dev/lp

Arquivos (PIPE)

Arquivos

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 42

Shell(Interface entre um Usuário

e o Sistema Operacional)

Exemplos:venom> datevenom> date > arq1venom> sort < arq1 > arq2venom> cat arq1 arq2 arq3 | sort > /dev/lpvenom> cat arq1 arq2 arq3 | sort > /dev/lp &

Conceitos de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 15: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 43

• Introdução• O que é um Sistema Operacional?• História dos Sistemas Operacionais• Conceitos de Sistemas Operacionais• Estruturas de Sistemas Operacionais

Tópicos Introdutórios

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 44

• Sistemas Monolíticos• Sistemas em Camadas• Máquinas Virtuais• Modelo Cliente-Servidor

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 45 Sistemas Monolíticos

SO como uma coleção de Procedimentos

Programa do Usuário 2

Programa do Usuário 1Chamadapara kernel

1

2

3

Tabela de Despacho

4

Programas dousuário rodam

em modoUsuário

SO roda em modo Kernel

1 Prog.Usuário emite chamada do sistema2 S.O. determina número de serviço solicitado

3 S.O. localiza e chama procedimento de serviço4 Controle é retornado ao prog.do usuário

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 16: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 46

Sistemas Monolíticos

ProcedimentoPrincipal

Procedimentosde Serviço

ProcedimentosUtilitários

Modelo de estrutura simples

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 47

• Sistemas Monolíticos• Sistemas em Camadas• Máquinas Virtuais• Modelo Cliente-Servidor

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 48

Sistemas em CamadasSistema organizado numa hierarquia de camadas

Estrutura do S.O. THE

5 O Operador4 Programa do Usuário3 Gerenciamento de Entrada/Saída2 Comunicação Operador-Processo1 Gerenciamento de Memória e Tambor0 Alocação de Processador e Multiprogramação

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 17: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 49

• Sistemas Monolíticos• Sistemas em Camadas• Máquinas Virtuais• Modelo Cliente-Servidor

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 50

Máquinas Virtuais

CMS CMS CMS

VM / 370

Hardware do 370

VM370

Instruções de E/S aqui

Chamada (trap) aqui

Chamadas do Sistema aqui

Chamada (trap) aqui

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 51

• Sistemas Monolíticos• Sistemas em Camadas• Máquinas Virtuais• Modelo Cliente-Servidor

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 18: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 52

Modelo Cliente-Servidor

ProcessoCliente

ProcessoCliente

Servidor deProcesso

Servidor deTerminal

Servidor deArquivo

Servidor deMemória

Kernel

...

Cliente obtém serviço enviando mensagensCliente obtém serviço enviando mensagenspara os processos servidorespara os processos servidores

Modo UsuárioModo Usuário

ModoModo KernelKernel

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 53

Modelo Cliente-Servidor(em um Sistema Distribuído)

Cliente

Kernel

Servidor de Arquivo

Kernel Kernel Kernel

Servidor de Processo

Servidor de Terminal

Máquina 1 Máquina 2 Máquina 3 Máquina 4

Mensagem do cliente para o servidor

... ...

Estruturas de Sistemas Operacionais

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 54

• Processo – um espaço de endereço e uma única linha de controle• Threads – um espaço de endereço e múltiplas linhas de controle

• O Modelo do Processo– Agrupamento de recursos (espaço de endereço com texto e dados do

programa; arquivos abertos, processos filhos, tratadores de sinais, alarmes pendentes etc)

– Execução• O Modelo da Thread

– Recursos particulares (PC, registradores, pilha) – Recursos compartilhados (espaço de endereço – var globalis, arquivos etc)– Múltiplas execuções no mesmo ambiente do processo – com certa

independência entre as execuções

AnalogiaExecução de múltiplas threads em paralelo em um processo

(multithreading)Execução de múltiplos processos em paralelo em um computador

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 19: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 55

• Thread => processo leve (lightweight process)

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 56

• Multithreading – CPU chaveia entre as threads dando a ilusão de execução em paralelo (CPU mais lenta)

• Processos – independentes entre si• Threads – cooperam entre si (segurança?)

Threads

Info de Contabilidade

Tratadores de sinais

Alarmes Pendentes

EstadoProcessos filho

PilhaArquivos abertos

RegistradoresVariáveis globais

PCEspaço de endereço

Itens por ThreadItens por Processo

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 57

• Estados das threads (como processos)• Transições entre estados das threads (como processos)• Cada thread tem sua própria pilha

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 20: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 58

Proc1

ativa uma thread

create_thread1 (proc1) create_thread2 (proc1) ... create_threadn (proc1)

thread1_exit thread2_exit threadn_exit

Outros procedimentos de biblioteca:Thread1

thread_wait (thread2)(thread 1 bloqueia até que thread 2 termine)

Thread yeld (abre mão da CPU em prol de outra thread – IMPORTANTE!)

• Estrutura entre threads => de igual para igual ou hierárquica

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 59

• Porquê threads?– Simplificar o modelo de programação (aplicação com múltiplas

atividades => decomposição da aplicação em múltiplas threads)– Gerenciamento mais simples que o processo (não há recursos

atachados – criação de thread 100 vezes mais rápida que processo)

– Melhoria do desempenho da aplicação (especialmente quando thread é orientada a E/S)

– Útil em sistemas com múltiplas CPUs

Exemplo do uso de threads• Aplicação: Processador de texto• Uso de 3 threads

– Interação com o usuário– Formatação de texto– Cópia de documento

• Solução com 3 processos x solução com 3 threads

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 60

threads na WWW

While TRUE { While TRUE {Pega_prox_solicitacao(&buf); espera_por_trab(&buf)Distribui_trabalho(&buf); busca_pag_cache(&buf,&pag);

} if (pag_não_no_cache(&pag))le_pag_disco(&buf,&pag);

retorna_pag(&pag)}

thrtead dispatcher thread de trabalho (worker)

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 21: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 61

Discutir a construção de um servidor nos seguintes modelos:

Threads

Paralelismo, chamadas não bloqueantes, interrupções

Processos

Sem paralelismo, chamadas de sistema bloqueantes

Thread Único

Paralelismo, chamadas de sistema bloqueantes

Threads

CaracterísticasModelo

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 62

Implementação de Threads• Espaço do Usuário• Espaço do Kernel

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 63

Implementação de Threads no Espaço do Usuário Vantagens

• Threads podem ser implementados em S.O. que não suporta thread)• Cada processo precisa ter sua tabela de threads• Gerenciadas pelo sistema de execução de threads (run-time system) –

através de coleção de procedimentos de biblioteca• Quando thread precisa bloquear =>faz chamada de procedimento • Ações de uma chamada de procedimento:

– Verifica se thread muda para estado bloqueada – Salva PC, piulha, registradores– Busca na tabela thread pronta para rodar– Carrega PC e ponteiro de pilha => nova thread começa a rodar

• Chaveamento de thread uma ordem de magnitude mais rápido que mudar para o modo kernel (grande vantagem sobre implementação nokernel)

• Cada processo pode ter seu próprio algoritmo de escalonamento dethreads personalizado

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 22: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 64

Implementação de Threads no Espaço do Usuário Desvantagens

• Thread faz chamada de sistema que bloqueia => thread que bloqueia afeta os outros (processo que roda todos os threads é interrompido)

• Soluções Possíveis:– Alterar todas as chamadas do sistema para não bloqueantes

• Requer alteração do sistema operacional• Requer alterações em vários programas do usuário (alteração da semântica da

chamada)– “Envelopar” as chamadas do sistema com procedimento que verifica se a

chamada vai bloquear ou não (select do Unix – read é substituído por outro read que primeiro faz a chamada select) – se a chamada vai bloquear, é adiada => roda outra thread

• Bloqueamento causado por falha de páginas• Thread controla a CPU (pode rodar para sempre)

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 65

Implementação de Threads no KernelVantagens

• Não precisa de sistema de execução (run-time) – o kernel sabe sobre as threads

• Gerenciamento de threads através de chamadas para o kernel (tabela de threads) – reciclagem de threads

• Chamadas que podem bloquear uma thread => implementadas como chamadas do sistema

• O que faz o kernel quando uma thread bloqueia?• Não requer modificações nas chamadas do sistema• No caso de falha de página, o kernel pode passar controle para

outra threadDesvantagem

• Custo alto => chamadas do sistema

Threads

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 66 Threads no espaço do usuário x threads no espaço do kernel

Bom desempenho x uso de muitos truques para funcionar

Implementação Híbrida• Multiplexação de threads do espaço do usuário em threads do kernel

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 23: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 67 Formas de Implementação Híbrida – Ativações do escalonador

• Threads no usuário não usam truques como chamadas especiais não bloqueantes• Se tiver que bloquear => deve ser possível rodar outras threads do mesmo

processo (se prontas)• Thread espera por outra thread => não envolve kernel (sistema de execução –

runtime system – trata isso)• Uso de upcall

– kernel sabe que thread bloqueou– Kernel notifica sistema de execução (passa num do thread e descrição do evento

ocorrido)– Kernel ativa sistema de execução (num endereço conhecido)– Sistema de execução re-escala suas threads (pega da lista de prontos, seta

registradores e inicializa)• Volta do evento bloqueado

- Kernel sabe que página foi trazida para memória ou dados foram lidos - Kernel notifica sistema de execução (upcall)- Sistema de execução decide se volta a rodar thread ou coloca na fila de prontos

• Tratamento de interrupção de hardware- Thread em execução é interrompida e salva (pode ou não voltar a rodar depois da

interrupção ser tratada)• Desvantagem: Viola o princípio do modelo em camadas

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 68 Outra forma de implementação de threads

Pop-up threads => thread é criada instantaneamente para tratar um evento que acabou de ocorrer (chegada de mensagem)

Processo unithread => Processo multithread - Implicações • Uma thread tem suas próprias variáveis locais e globais (vários procs dentro da

thread usam) e parâmetros de procedimentos• Var global para uma thread mas não global para multithreads => inconsistências

(ex.: errno)• Resolução de inconsistências em multithreads

– Proibir vars globais– Atribui para cada thread suas próprias variáveis globais privadas (cópia do errno para

cada thread)– Como acessar var globais atribuídas para cada thread?

• Alocar espaço de memória e passar para o thread como parâmetro extra• Novas bibliotecas (create_global)

• Código de procedimentos de biblioteca não são reentrantes (segunda chamada para procedimento não é feita enquanto primeira não foi finalizada)– Reescrever a bilbioteca– Flag que indica que biblioteca está em uso – elimina paralelismo– Reprojetar o sistema (no mínimo redefinir semântica das chamadas, reescrever

bibliotecas) mantendo compatibilidade com programas e aplicações atuais.

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Slide 69

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

Page 24: Slide 1 SISTEMAS OPERACIONAIS - Departamento de Computaçãoregina/slidesSO/SObasico.pdf · • O que é um Sistema Operacional? ... • Redes de comunicação sem fio • Computação

Slide 70 Processos

• Todo o software que roda no computador => organizado como processos

• Cada processo tem sua própria CPU virtual (conceitualmente)

• Processos rodam em pseudo paralelismo

• Multiprogramação => chaveamento rápido de um processo para outro

• Idéia principal do gerenciamento de processo– um processador único pode ser compartilhado entre vários

processos– algoritmo de escalonamento determina quem usa o

processador e quando

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________