[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais

SuperTec1 130 views 52 slides Dec 15, 2021
Slide 1
Slide 1 of 52
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52

About This Presentation

aPOSTILA ARQUITETURA DE COMPUTDORES


Slide Content

ARQUITETURA DE SISTEMAS
OPERACIONAIS

Prof. Mauricio S. S. Nunes
Unip - Curso Tecnológico em Análise e
Desenvolvimento de Sistemas
2010

Fungöes Básicas do S. O.

Visáo do sistema

operacional

PARA QUE SOFTWARE BASICO?
O que acontece quando ligamos o
computador?
E quando “clicamos” num icone?

Como funcionam dois programas ao mesmo
tempo?

Como ocorre o mapeamento de discos?

E se dois programas quiserem usar o mesmo
recurso?

E se estiverem cooperando, mas em
máquinas diferentes interligadas em rede?

E ao utilizar um PEN DRIVE ?

MA

Um sistema operacional é um programa ou um conjunto de
programas ( - kernels, biblioteca

protocolos, compiladores, etc) cuja funcäo é é servir de interface
entre um computador e o usuário

Dois modos distintos de conceituar um sistema operacional:
pela perspectiva do usuário ou programador (visáo top-down): é
uma abstraçäo do hardware, fazendo o papel de intermediário
entre o aplicativo (; ou aplicagáo) e os
componentes físicos do computador (hardware); ou

numa visáo bottom-up, de baixo para cima: é um gerenciador de
recur i.e., controla
quais aplicagöes (processos) podem ser executadas,
quando,
D o que recursos (memöria, disco, periféricos) podem ser utilizados.

Reserva de | Visualizador

passagens
aéreas Web

Sistema

by Programas de aplicaçäo
bancário id peat

shell
— | Complladores | Editores | nterpretador

de comandosj| | Programas
do sistema

Kernel —> Sistema operacional

Linguagem de máquina |

Microarquitetura Hardware

Dispositivos fisicos

Um sistema de computaçäo consiste em
hardware
programas do sistema
programas de aplicaçäo

Monitor

Chipsets

Ss

Unidades
periféricas

Unidade de
disco rígido

==

00000)

Controlador

Memota de vídeo

Controlador
de teclado

Unidades.
perléricas

Controlador
de disco
rígido

Barramento

Componentes de um computador pessoal simples

InfraCom

SOFTWARE, HARDWARE E COMUNICACÁO

Ger. Ger.
Processos Memória

Ger. Disco/|
Sist. Arq

Sub-sist.
Comunicagáo

so

Memória

Controlador
de vídeo

Controlador
de teclado

Controlador
de disco
flexivel

Controlador
de disco

rígido

Unidade de disco

= Instrugäo atual

Próxima instrucáo
Controlador ||Controlador

3
CPU Me interrupçäo|| de disco 3. Retornar

It It 2 | 1. Interromper
1

2. Despachar
para tratador:
de interrupgäo

Tratador de interrupçäo 7
(a) (b)

Passos para iniciar um dispositivo de E/S e obter
uma interrupcáo

Como a CPU é interrompida

« SOs monoprogramäveis/monotarefa

« Apenas um controle e alocacäo de O
memória

+ SOs multiprogramaveis/multitarefa

Necessidades :

+ Gerenciamento de
memoria

+ Gerenciamento de
VO

+ Gerenciamento de
Processos

Particöes
de memöria

Sistema
operacional

o Sistema de multiprogramacäo
+ Trés jobs na memória
+ OSO utiliza o conceito de tempo partilhado (time
sharing)
Melhor utilizagáo do tempo de CPU

oExemplos : linux , windows

CONCEITO :
MULTIPROGRAMAGAO

Um contador de programa

Quatro contadores de programa
A | Alternancia

entre
B | processos

Processo

c Al

D

(a) (b)

Multiprogramacáo de quatro programas
Modelo conceitual de 4 processos sequenciais,
independentes, mas

Somente um programa está ativo a cada momento 4%
escalonamento

+ Sos de Rede

Os usuários sabem da existéncia de múltiplos computadores e podem
conectar-se a máquinas remotas e usar servigos de uma máquina para outra.

Estes sistemas utilizam os programas para iniciar sessóes remotas

Servidor de Arquivos

ESTRUTURA DE SISTEMAS OPERACIONAIS EM REDE

Processo | Processo |Servidor de|Servidor de Servidor de|Servidor de
cliente cliente | processos | terminais arquivos | memöria

Modo usuärio

JS A

Micronúcleo EN

> Modo núcleo

* Clientes obtém servigos enviando

mensagens aos processos servidores

A estrutura é baseada no modelo
cliente-servidor

solicitagäo resposta

« Sistema Operacional Distribuido

Máquina 1

Máquina 2

Máquina 3

Para o usuário parece um sistema operacional único,mesmo que na realidade
seja composto de vários processadores e vários equipamentos.
O usuário náo tem controle onde seus programas estáo sendo executados.

Máquina 4

Cliente ?

Servidor de processo

[Servidor de terminais

Nüdeo |

= de arquivos

Núcleo

Núcleo

Núcleo

_

Mensagem de
cliente para servidor

« Sistema Operacional Distribuido — Cluster beowulf

" Sistema que compreende dois ou mais computadores ou
sistemas (denominados nodos) na qual trabalham em
conjunto para executar aplicaçôes ou realizar outras
tarefas, de tal forma para que os usuários que os utilizam
tenham a impressáo que somente um único sistema

responde para eles, criando assim uma ilusáo de um
recurso único (computador virtual).

" Este conceito é denominado transparéncia do sistema.

" Como características fundamentais da plataforma Cluster:
a aumento da confianca,
a distribuiçäo de carga e
a performance

Fonte : http://www.beowulf.org/

TIPOS DE S. O.

Sistema Operacional Distribuido — Cluster beowulf

" Cluster com acionamento remoto

Nós escravos
Back-end's

e

No Controlador

IS

Nós escravos
Back-end's

+ Sistema Operacional Distribuido — Cluster beowulf

" Cluster com acionamento local

Hardware
Processador, memoria principal (RAM) e memoria
secundaria (Acesso a discos, fitas e outros)
Dispositivos de E/S e barramento

Arquitetura do processador :Pipelining e arquiteturas RISC e
CISC

Análise de desempenho
Software
Tradutor, interpretador e linker
Loader e depurador
Interpretador de comandos e linguagem de controle
Ativacáo/desativacáo do sistema

Sistemas operacionais de computadores de grande porte.
ex. /390
Sistemas operacionais de servidores / redes
ex. Linux red Hat / windows 2008 server
Sistemas operacionais de multiprocessadores

ex. Windows 7
Sistemas operacionais de computadores pessoais

Sistemas operacionais de celulares — ex. Windows
mobile

Sistemas operacionais de tempo-real - Devem
responder a qualquer evento é um sistema
operacional/operativo destinado á execucáo de múltiplas
tarefas onde o tempo de resposta a um (externo
ou interno) é pré-definido; náo importando, como é
comum pensar-se, se a velocidade de resposta é elevada

qu

Os leitores de CD e de DVD

possuem Sistemas de Um caca F-16 tem embutido Sistemas
Tempo Real moderados. de Tempo Real rígidos

Sistemas operacionais embarcados

Sistemas operacionais de cartôes inteligentes

5.6mm + 0.12
~

Thicknace: 0.76mm + 0.08

« System call
1]

Nüdeo do
Sistema Operadonal

mum) | System Call

Aplicaçäo Biblioteca Hardware

+ Exemplo : Imprimir um arquivo

+ Fase 1 : gerar uma chamada de impressáo, onde o SO irá instanciar um
processo e alocar memória

+ Fase 2: acionar o núcleo para efetuar o acesso a I/O

Exemplo : os arquivos DLL do Windows

« System call

Ruby Threads (Green Threads)

q ao 25%
Native Threads $ read

+ Alinguagem Ruby on rails executando um System Call

SISTEMAS OPERACIONAIS = CHAMADAS AO SISTEMA

« System call - Funcóes:
— Geréncia de processos e threads
— Geréncia de memória
— Geréncia do sistema de arquivos
— Geréncia de dispositivos

« Arquitetura monolítica
* OSO inteiro é executado como um único
programa no modo núcleo

+ Cada rotina possui uma interface
definida com relagáo a
parámetros e resultados

x i é li lodo usuario < >
Cada rotina é livre para Modo usuä a Ê

Modo kernel

chamar qualquer outra er
eL

en
i |



Nr

Hardware

Estrutura basica
para a arquitetura
monolitica

O programa aplicativo invoca
a rotina do servico
Um conjunto de rotinas de

servigo que executam as Mode usuario. nl

Modo kernel

chamadas de sistema O [sysomcan }

Um conjunto de rotinas
utilitárias que auxiliam as
rotinas de servico (9

Procedimento
principal

Procedimentos
de servigos

Procedimentos
utilitários

Modelo simples de SO = um processogom

a n procedimentos
estruturacao E

de um sistema

ESTRUTURA DE SISTEMAS
OPERACIONAIS - EVOLUEAO DA ARQUITETURA
MONOLITIEA

» Arquitetura de Camadas - OpenVMS

Kernel )

N \ =

— A

Virtualizacáo

Máquina virtual — o princípio da virtualizacáo
baseava-se na multiprogramacáo (tempo
partilhado), que oferecia (1) multiprogramagäo e (2)
uma máquina estendida com uma interface mais
conveniente do que o hardware oferece.

A esséncia da virtualizaçäo atual é a separaçäo
completa destas duas funçôes.

O monitor de máquina virtual é executado

diretamente sobre o hardware e implementa
multiprogramagao, provendo assim nao uma, mas
varias maquinas virtuais para a proxima camada
acima.

+ Contudo, ao conträrio dos demais sistema
operacionais, estas máquinas virtuais nao sao
máquinas estendidas, com arquivos e outras
características convenientes.

Sáo cópias exatas de hardware, inclusive com
modos núcleo/ usuário, geréncia de E/S,
interrupgdes e tudo o que uma maquina real tem.

Virtual Virtual Como cada maquina virtual é
Machine for la Machine Ls

driver control uma copia exata do hardware,
Xen Control [ae | [ave cada uma delas pode executar

—; um sistema operacional diferente.

os [os

5
p

Real Drivers

Xen Hypervisor

« Maquina virtual

Ger&ndia de Máquinas Virtuais

Hardware

COMPUTERWORLD — .......:

O PORTA VOZ DO MERCADO DE TIE COMUIICAGAO Sales» Empresas pa

Carreira Telecom

per | Execute Bring | Webmectng

Case: leia sobre 4 empresas que usam
virtualizagao no Brasil

Executivos de General Eletric, Fundacáo Bradesco,
Mackenzie e Mondial Assistance contam sobre a adocáo
desta tecnologia, que já é usada por 42% das grandes e
médias empresas brasileiras, segundo consultoria IDC.

Por REDAGAO DA COMPUTERWORLO
1 de Janero de 2010 -07n00

VIRTUALIZACAO

DATA CENTERS MAIS VERDES NO BB

Dé uma olhada em alguns dos números do Banco do
Brasil: 1 bilhäo de transagöes por més, 48 milhôes de
clientes, 4 354 agéncias e 40,5 mil terminais de auto

atendimento. Como aproveitar melhor a infraestrutura
nstalada nos data centers para economizar recursos
e agredir menos o meio ambiente? A saída escolhida
pela equipe de TI do BB foi a virtualizacáo da rede.
Com um investimento de 800 mil reais, o projeto levou
trés meses para ser implantado. “Tivemos resultados
rápidos”, diz José Luis Prola Salinas, vice-presidente
de tecnología e logística do Banco do Brasil. Com a
virtualizacäo. o banco projeta uma economia de 85%
no consumo de energia, 83% na refrigeragäo, 75% de
espaco nos racks alocados para equipamentos de rede
e 85% na aquisicáo de hardware.

+ Máquina virtual Java — Atua na execucáo do programa
escrito em linguagem java.
O compilador Java produz o código para Java Virtual
Machine, que é executado por um interpretador da
JVM.

Compilador Java
(Pentium) Interpretador Java

Seu Código Pentium

Compilador Java
PowerPC)

PowerPC

Compilador Java
(SPARC)

Java
(independente da
Plataforma)

« Máquina virtual Java

Aplicaçäo

171

Méquina Virtual Java

171

Sistema Operacional

{Tf

Hardware

« Máquina virtual Java — a vantagem é que o código JVM pode
ser enviado a qualquer computador que tenha um interpretador

JVM e ser executado lá.

Por exemplo, suponha que vocé desenvolveu um aplicativo para um telefone
celular. Com poucas modificagöes, vocé poderá rodar esse mesmo aplicativo
em um palmtop, como mostra a imagem acima.

« Arquitetura microkernel

Objetivo: alcangar alta confiabilidade por meio da divisáo do SO em
módulos pequenos, bem definidos, onde apenas o micro núcleo é
executado no modo núcleo e o restante é executado como
processo de usuário.

(Seryidor ‘Seryidor |

: Memoria \ Rede |

(seryidor ö Sensor

Fa)

Modo kernel

Microkernel

Exemplo : utilizagáo de drivers de
dispositivo de hardware, no windows

ESTRUTURA DE SISTEMAS OPERACIONAIS

« Arquitetura microkernel

a EA E \ à
(Servidor y (Servidor \ (Servidor
(ae) de | ("de
\ Arquivo / — == MRede |
N 4 fo ig > 2 N a, A
/ Servidor \ /Seryidor \
(de ) (de)
\ processo / \mpressäo)

Modo unio: X

Modo kernel

Microkernel |
Hardware |

EXEMPLOS DE SISTEMAS OPERACIONAIS

o PC-DOS

o OS/2

o Windows e suas versöes
o Linux e suas distribuicóes
o Unix

o Amoeba

o Minix

oMAC OS

o Symbian e muitos outros

UM SISTEMA EM BATCH EXECUTA JOBS

UM SISTEMA DE TEMPO COMPARTILHADO EXECUTA PROGRAMAS DE
USUARIOS OU TAREFAS

MESMO EM UM SISTEMA MONOUSUARIO, COMO O WIN VISTA, UM

USUARIO PODE EXECUTAR VARIOS PROGRAMAS DE UMA VEZ
MESMO QUE O USUARIO PUDESSE EXECUTAR SO UM PROGRAMA DE
CADA VEZ O S.O PRECISARIA DAR SUPORTE A TODAS AS SUAS
ATIVIDADES, EX GERENCIA DE MEMORIA. TODAS ESSA ATIVIDADES
SAO OS PROCESSOS

INFORMALMENTE, O PROCESSO E UM PROGRAMA EM
EXECUGAO

E VAI ALEM DISSO POIS TAMBEM INCLUI AATIVIDADE |
CORRENTE, CONTADOR DE PROGRAMA, E O CONTEUDO
DOS REGISTRADORES DO PROCESSADOR. INCLUI A

PILHA DE PROCESSO (DADOS TEMPORARIOS), E UMA
SEGÁO DE DADOS QUE CONTÉM VARIAVEIS GLOBAIS

Contexto de processo

all
|

CPU: Registradores

Memória: Posiçôes em uso

E/S: Estado das requisicöes

Estado do processo: Rodando, Bloqueado, Pronto

Processo : rotinas que podem ser executadas para
auxiliar o SO ou apicativos

VALE LEMBRAR QUE UM PROGRAMA POR SI SO NAO E
UM PROCESSO - ENTIDADE PASSIVA. PROCESSO —
ENTIDADE ATIVA

EMBORA 2 PROCESSOS POSSAM SER ASSOCIADOS

COM O MESMO PROGRAMA, SAO CONSIDERADOS 2
SEQUENCIAS SEPARADAS DE EXECUCAO - EX. 2
USUÁRIOS LOGADOS COM O MESMO PROGRAMA
ABERTO

CONCEITO DE PROCESSO -
VISVALIZAGAO DE PROCESSOS

5) Gerenciador de tarefas do Windows QuE
rau Opghes Bib Desh Ajuda

Apkcativos | Processos |Desempenho | Rede | Usuérios

Home da imagem Home de usuario | CPU Uso de memória
Hekon 0
LOCAL SERVICE 00
Hekon 0

aaa \ SYSTEM

avgenc.exe SYSTEM

avons SYSTEM

avgrex.exe SYSTEM

aque er Hekon
SYSTEM
SYSTEM

ctfmon.exe Hekon

explorer.exe Heken
SYSTEM

GhostStartServiceiexe SYSTEM

GoogleUpdate.exe Heton

retinfo.exe SYSTEM

tagserver SYSTEM

bass.exe SYSTEM

mplayerc.exe Hekon

mispaint.exe Hekon

POWERPNT EX Hekon

serve exe SYSTEM

[Mostrar processos de todos os usuários

Processes: 40 Uso deCPU:O% Confmarcarga: 488M / 3875

Estados de um processo

executar,
Criar — > Terminar
uspender

(tempo)
desbloquear bloquear (1/0)

Contexto

ID do Processo
Estado
Prioridade
Program Counter
Ponteiros da Memoria
Contexto (regs.)
VO Status

Informacóes gerais

* tempo de CPU
» limites, usuáriosetc.

CONCEITO BÁSICO DE PROCESSO
CRIACAO DE PROCESSOS

o Principais eventos que levam a criacáo de
processos
» Inicio do sistema
» Execuçäo de chamada ao sistema de criaçäo de
processos
» Solicitacäo do usuario para criar um novo processo
+ Início de um job em lote

CONCEITO BÁSICO DE PROCESSO
TERMINO DE PROCESSOS

o Condigöes que levam ao término de processos
Saída normal (voluntária)
Saída por erro (voluntária)
Erro fatal (involuntário)
Cancelamento por um outro processo (involuntário)

HIERARQUIAS DE PROCI

Processo “pai” cria um proc

ESSOS

esso “filho”, processo

filho pode criar seu próprio processo

Windows náo possui o conceito de hierarquia de

processos

Todos os processos sáo cria
de “pai” e “filho”)

dos iguais (sem conceito

SISTEMAS OPERACIONAIS = ESTRUTURA DE PROCESSOS

« Estrutura do processo

PID registradores

owner (UID) =

pronass'ss registrador PC

data/hora & &
lacá jontexto de texto de
de criagio Software Hardware

tempo de registrador SP
processador

quotas
E registrador
+, de status

Espago de
Endereçamento

enderecos de memoria
principal alocados

SISTEMAS OPERACIONAIS = SINCRONISMO DE PROCESSOS

« Sincronizacáo e comunicagao entre
processos

Sincronizaçäo

La
Processo Le EIG Prooesso
gravador o: leitor

Quando um ou mais processos estáo prontos para
serem executados, o sistema operacional deve
decidir qual deles vai ser executado primeiro

A parte do sistema operacional responsável por
essa decisáo é chamada ‚eo
algoritmo usado para tal é chamado de

Para que um processo näo execute tempo demais,
praticamente todos os computadores possuem um
mecanismo de relögio (clock) que causa uma

, periodicamente

OBRIGADO

Bibliografia:

- livro Sistemas Operacionais Modernos -
Andrew S. Tanenbaum - Ed. Pearson
UNIP - Campus Alphaville -SP
[email protected]
Tags