Você está na página 1de 52

ARQUITETURA DE SISTEMAS OPERACIONAIS

Prof. Mauricio S. S. Nunes Unip - Curso Tecnolgico em Anlise e Desenvolvimento de Sistemas 2010

Funes Bsicas do S. O.

programadores e analistas

usurios

programas, sistemas e aplicativos

Viso do sistema operacional

Usurios

Sistema Operacional

memria Hardware UCP

discos

fitas

impressoras

monitores

Funes Bsicas do S. O.

PARA QU SOFTWARE BSICO?


O que acontece quando ligamos o computador? E quando clicamos num cone? 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 mquinas diferentes interligadas em rede? E ao utilizar um PEN DRIVE ?

Funes Bsicas do S. O.
Um sistema operacional um programa ou um conjunto de programas (software bsico - kernels, bibliotecas, drivers, protocolos, compiladores, etc) cuja funo servir de interface entre um computador e o usurio Dois modos distintos de conceituar um sistema operacional:
pela perspectiva do usurio ou programador (viso top-down): uma abstrao do hardware, fazendo o papel de intermedirio entre o aplicativo (software aplicativo ou aplicao) e os componentes fsicos do computador (hardware); ou numa viso bottom-up, de baixo para cima: um gerenciador de recursos, i.e., controla
quais aplicaes (processos) podem ser executadas, quando, que recursos (memria, disco, perifricos) podem ser utilizados.

programadores e analistas

usurios

programas, sistemas e aplicativos

Usurios

Sistema Operacional

memria Hardware UCP

discos

fitas

impressoras

monitores

SISTEMA

DE

COMPUTAO

shell Kernel

Um sistema de computao consiste em


hardware programas do sistema programas de aplicao
5

REVISO

SOBRE HARDWARE DE COMPUTADORES

Chipsets

Unidades perifricas

Unidades perifricas

Bus

Componentes de um computador pessoal simples

SOFTWARE, HARDWARE
InfraSW Ger. Processos Ger. Memria Ger. E/S

E COMUNICAO
Ger. Disco/ Sist. Arq.
7

Sub-sist. Comunicao Como funciona um programa? Como funcionam dois programas ao mesmo tempo? E se estiverem cooperando, mas em mquinas diferentes interligadas em rede?

SO

InfraHW

Bus

InfraCom

Rede

ATUAO

DO

S.O. - ATENDENDO AO

PERIFRICO

USANDO INTERRUPO

(a)

(b)

Passos para iniciar um dispositivo de E/S e obter uma interrupo Como a CPU interrompida

TIPOS

DE

S. O.

SOs monoprogramveis/monotarefa

UCP

programa/ tarefa

Memria Principal

Dispositivos de E/ S

Apenas um controle e alocao de memria

TIPOS

DE

S. O.

SOs multiprogramveis/multitarefa
Necessidades : Gerenciamento de memria Gerenciamento de I/O Gerenciamento de Processos

programa/ tarefa

UCP

programa/ tarefa

Memria Principal

Dispositivos de E/ S

programa/ tarefa

programa/ tarefa

programa/ tarefa

TIPOS

DE

S. O.

Sistema de multiprogramao
Trs jobs na memria O SO utiliza o conceito de tempo partilhado (time sharing) Melhor utilizao do tempo de CPU

Exemplos : linux , windows

CONCEITO : MULTIPROGRAMAO

12

a) b)

c)

Multiprogramao de quatro programas Modelo conceitual de 4 processos sequenciais, independentes, mas Somente um programa est ativo a cada momento escalonamento

TIPOS

DE

S. O.

Sos de Rede
Os usurios sabem da existncia de mltiplos computadores e podem conectar-se a mquinas remotas e usar servios de uma mquina para outra. Estes sistemas utilizam os programas para iniciar sesses remotas

Servidor de Arquivos

ESTRUTURA

DE

SISTEMAS OPERACIONAIS

EM

REDE

A estrutura baseada no modelo cliente-servidor


solicitao resposta

14

TIPOS

DE

S. O.

Sistema Operacional Distribudo


Para o usurio parece um sistema operacional nico,mesmo que na realidade seja composto de vrios processadores e vrios equipamentos. O usurio no tem controle onde seus programas esto sendo executados.

TIPOS

DE

S. O.

Sistema Operacional Distribudo Cluster beowulf


Sistema que compreende dois ou mais computadores ou sistemas (denominados nodos) na qual trabalham em conjunto para executar aplicaes ou realizar outras tarefas, de tal forma para que os usurios que os utilizam tenham a impresso que somente um nico sistema responde para eles, criando assim uma iluso de um recurso nico (computador virtual). Este conceito denominado transparncia do sistema. Como caractersticas fundamentais da plataforma Cluster: aumento da confiana, distribuio de carga e performance
Fonte : http://www.beowulf.org/

TIPOS

DE

S. O.

Sistema Operacional Distribudo Cluster beowulf


Cluster com acionamento remoto

TIPOS

DE

S. O.

Sistema Operacional Distribudo Cluster beowulf


Cluster com acionamento local

TIPOS DE S. O. - INTERAO SOFTWARE

COM

HARDWARE

Hardware
Processador, memria principal (RAM) e memria secundria (Acesso a discos, fitas e outros) Dispositivos de E/S e barramento Arquitetura do processador :Pipelining e arquiteturas RISC e CISC Anlise de desempenho

Software
Tradutor, interpretador e linker Loader e depurador Interpretador de comandos e linguagem de controle Ativao/desativao do sistema

DIVERSIDADE

DE

SISTEMAS OPERACIONAIS

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

20

DIVERSIDADE

DE

SISTEMAS OPERACIONAIS

Sistemas operacionais de tempo-real Devem responder a qualquer evento um sistema operacional/operativo destinado execuo de mltiplas tarefas onde o tempo de resposta a um evento (externo ou interno) pr-definido; no importando, como comum pensar-se, se a velocidade de resposta elevada ou no.

Os leitores de CD e de DVD possuem Sistemas de Tempo Real moderados.

Um caa F-16 tem embutido Sistemas de Tempo Real rgidos


21

DIVERSIDADE

DE

SISTEMAS OPERACIONAIS

Sistemas operacionais embarcados

Sistemas operacionais de cartes inteligentes

22

SISTEMAS OPERACIONAIS CHAMADAS AO SISTEMA

System call
Ncleo do Sistema Operacional
Hardware

System Call

Aplicao

Biblioteca

Exemplo : Imprimir um arquivo


Fase 1 : gerar uma chamada de impresso, onde o SO ir instanciar um processo e alocar memria Fase 2 : acionar o ncleo para efetuar o acesso a I/O

Exemplo : os arquivos DLL do Windows

SISTEMAS OPERACIONAIS CHAMADAS AO SISTEMA

System call

A linguagem Ruby on rails executando um System Call

SISTEMAS OPERACIONAIS CHAMADAS AO SISTEMA

System call - Funes:


Gerncia de processos e threads Gerncia de memria Gerncia do sistema de arquivos Gerncia de dispositivos

SISTEMAS OPERACIONAIS

Arquitetura monoltica
O SO inteiro executado como um nico programa no modo ncleo aplicao Cada rotina possui uma interface definida com relao a parmetros e resultados Modo usurio Cada rotina livre para Modo kernel chamar qualquer outra
aplicao

System call

Hardware

SISTEMAS OPERACIONAIS

Estrutura bsica para a arquitetura monoltica


1. O programa aplicativo invoca a rotina do servio 2. Um conjunto de rotinas de servio que executam as Modo usurio Modo kernel chamadas de sistema 3. Um conjunto de rotinas utilitrias que auxiliam as rotinas de servio

aplicao

aplicao

System call

Hardware

ESTRUTURA DE SISTEMAS OPERACIONAIS - ARQUITETURA MONOLTICA

Modelo simples de estruturao de um sistema monoltico

SO = um processo com n procedimentos

28

ESTRUTURA DE SISTEMAS OPERACIONAIS - EVOLUO MONOLTICA

DA

ARQUITETURA

Arquitetura de Camadas - OpenVMS

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO


Mquina virtual o princpio da virtualizao baseava-se na multiprogramao (tempo partilhado), que oferecia (1) multiprogramao e (2) uma mquina estendida com uma interface mais conveniente do que o hardware oferece. A essncia da virtualizao atual a separao completa destas duas funes. O monitor de mquina virtual executado diretamente sobre o hardware e implementa multiprogramao, provendo assim no uma, mas vrias mquinas virtuais para a prxima camada acima.

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO


Contudo, ao contrrio dos demais sistema operacionais, estas mquinas virtuais no so mquinas estendidas, com arquivos e outras caractersticas convenientes. So cpias exatas de hardware, inclusive com modos ncleo/ usurio, gerncia de E/S, interrupes e tudo o que uma mquina real tem.

Como cada mquina virtual uma cpia exata do hardware, cada uma delas pode executar um sistema operacional diferente.

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO

Mquina virtual
VM 1 VM 2 VM n Apn SOn HVn Hardware

Ap 1

Ap2

SO1

SO2

HV1

HV2

Gerncia de Mquinas Virtuais

ESTRUTURA DE SISTEMAS OPERACIONAIS APLICAO DA VIRTUALIZAO

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO Mquina virtual Java Atua na execuo do programa escrito em linguagem java. O compilador Java produz o cdigo para Java Virtual Machine, que executado por um interpretador da JVM.

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO

Mquina virtual Java


Aplicao

Mquina Virtual Java

Sistema Operacional

Hardware

ESTRUTURA DE SISTEMAS OPERACIONAIS - VIRTUALIZAO


Mquina virtual Java a vantagem que o cdigo 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 modificaes, voc poder rodar esse mesmo aplicativo em um palmtop, como mostra a imagem acima.

ESTRUTURA

DE

SISTEMAS OPERACIONAIS

Arquitetura microkernel
Objetivo: alcanar alta confiabilidade por meio da diviso do SO em mdulos pequenos, bem definidos, onde apenas o micro ncleo executado no modo ncleo e o restante executado como processo de usurio.

Modo usurio Modo kernel

Microkernel

Hardware

Exemplo : utilizao de drivers de dispositivo de hardware, no windows

me ns ag em

m ge sa en m

ESTRUTURA

DE

SISTEMAS OPERACIONAIS

Arquitetura microkernel

Modo usurio Modo kernel

Microkernel

Hardware

me ns ag em

m ge sa en m

EXEMPLOS

DE

SISTEMAS OPERACIONAIS

PC-DOS OS/2 Windows e suas verses Linux e suas distribuies Unix Amoeba Minix MAC OS Symbian e muitos outros

CONCEITO BSICO

DE

PROCESSO

UM SISTEMA EM BATCH EXECUTA JOBS UM SISTEMA DE TEMPO COMPARTILHADO EXECUTA PROGRAMAS DE USURIOS OU TAREFAS MESMO EM UM SISTEMA MONOUSURIO, COMO O WIN VISTA, UM USURIO PODE EXECUTAR VRIOS PROGRAMAS DE UMA VEZ MESMO QUE O USURIO PUDESSE EXECUTAR S UM PROGRAMA DE CADA VEZ O S.O PRECISARIA DAR SUPORTE A TODAS AS SUAS ATIVIDADES, EX GERENCIA DE MEMRIA. TODAS ESSA ATIVIDADES SO OS PROCESSOS

CONCEITO DE PROCESSO O PROCESSO INFORMALMENTE, O PROCESSO UM PROGRAMA EM EXECUO E VAI ALM DISSO POIS TAMBM INCLUI A ATIVIDADE CORRENTE, CONTADOR DE PROGRAMA, E O CONTEDO DOS REGISTRADORES DO PROCESSADOR. INCLUI A PILHA DE PROCESSO (DADOS TEMPORRIOS), E UMA SEO DE DADOS QUE CONTM VARIVEIS GLOBAIS

CONCEITO BSICO

DE

PROCESSO
42

Contexto de processo
CPU

Memria
Vdeo

Teclado E/S outros dispositivos

CPU: Registradores Memria: Posies em uso E/S: Estado das requisies Estado do processo: Rodando, Bloqueado, Pronto Processo : rotinas que podem ser executadas para auxiliar o SO ou apicativos

CONCEITO DE PROCESSO O PROCESSO VALE LEMBRAR QUE UM PROGRAMA POR SI S NO UM PROCESSO ENTIDADE PASSIVA. PROCESSO ENTIDADE ATIVA EMBORA 2 PROCESSOS POSSAM SER ASSOCIADOS COM O MESMO PROGRAMA, SO CONSIDERADOS 2 SEQUENCIAS SEPARADAS DE EXECUO EX. 2 USURIOS LOGADOS COM O MESMO PROGRAMA ABERTO

CONCEITO DE PROCESSO VISUALIZAO DE PROCESSOS

CONCEITO BSICO
Estados de um processo

DE

PROCESSO

Contexto

executar Criar Pronto


Rodando

Terminar

ID do Processo Estado Prioridade Program Counter Ponteiros da Memria Contexto (regs.) I/O Status Informaes gerais
tempo de CPU limites, usurio, etc.

suspender (tempo) desbloquear

bloquear (I/O)

Bloqueado

CONCEITO BSICO
CRIAO DE PROCESSOS

DE

PROCESSO

Principais eventos que levam criao de processos


Incio do sistema Execuo de chamada ao sistema de criao de processos Solicitao do usurio para criar um novo processo Incio de um job em lote

46

CONCEITO BSICO
TRMINO DE PROCESSOS

DE

PROCESSO

Condies que levam ao trmino de processos


47

Sada normal (voluntria) Sada por erro (voluntria) Erro fatal (involuntrio) Cancelamento por um outro processo (involuntrio)

CONCEITO BSICO

DE

PROCESSO

HIERARQUIAS DE PROCESSOS
Processo pai cria um processo filho, processo filho pode criar seu prprio processo Formam uma hierarquia
UNIX chama isso de grupo de processos
48

Windows no possui o conceito de hierarquia de processos


Todos os processos so criados iguais (sem conceito de pai e filho)

SISTEMAS OPERACIONAIS ESTRUTURA DE PROCESSOS

Estrutura do processo
nome PID owner (UID) prioridade de execuo data/ hora de criao tempo de processador quotas
Programa

registradores gerais

registrador PC

Contexto de Software

Contexto de Hardware

registrador SP

privilgios
Espao de Endereamento

registrador de status

endereos de memria principal alocados

SISTEMAS OPERACIONAIS SINCRONISMO

DE

PROCESSOS

Sincronizao e comunicao entre processos


Sincronizao

gr

Processo gravador

av a o

r i tu le

Processo leitor

dado Buffer

SISTEMAS OPERACIONAIS SINCRONISMO

DE

PROCESSOS

ESCALONAMENTO DE PROCESSOS
Quando um ou mais processos esto prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado primeiro A parte do sistema operacional responsvel por essa deciso chamada escalonador, e o algoritmo usado para tal chamado de algoritmo de escalonamento Para que um processo no execute tempo demais, praticamente todos os computadores possuem um mecanismo de relgio (clock) que causa uma interrupo, periodicamente
51

OBRIGADO
Bibliografia: - livro Sistemas Operacionais Modernos Andrew S. Tanenbaum Ed. Pearson UNIP Campus Alphaville -SP mauricio01se@gmail.com

Você também pode gostar