71
1. Sistemas Operacionais Profª Teresinha Magalhães

c++

Embed Size (px)

DESCRIPTION

programa

Citation preview

Page 1: c++

1. Sistemas Operacionais

Profª Teresinha Magalhães

Page 2: c++

Profª Teresinha Moreira de Magalhães 2

O Que é Sistema Operacional?

● Visão de Máquina Virtual● SO é uma extensão do hardware que implementa

uma interface para as aplicações(visão top-down)

● Visão de Gerente de Recursos● SO é um controlador dos recursos do sistema, tais

como: processadores, memória, periféricos, etc (Visão

bottom - up)

Page 3: c++

Profª Teresinha Moreira de Magalhães 3

Sistema Operacional● Programa ou conjunto de programas que responde

pelo controle da alocação dos recursos do

computador, como memória, tempo de

processador, espaço em disco, e demais

dispositivos periféricos. O sistema operacional é a

base sobre a qual as demais aplicações são

construídas.

Page 4: c++

Profª Teresinha Moreira de Magalhães 4

Sistema Operacional

● Consiste na camada intermediária entre o

aplicativo e o Hardware da máquina.

● Este conjunto é constituído por um Kernel, ou

núcleo, e um conjunto de Software básicos, que

executam operações simples, mas que juntos

fazem uma grande diferença.

Page 5: c++

Profª Teresinha Moreira de Magalhães 5

H a r d w a r e

Sistem a O p er a ci o n a l

u su á r i o s

Máquina de Níveis● Visão do usuário

Page 6: c++

Profª Teresinha Moreira de Magalhães 6

Funções Básicas● Visão do sistema operacional

p ro g r a m a d o re se a n a l i sta s

m em ó r ia d isco s

U C P

U su á r io s

H a r d w a r e

Siste m a O p er a cio n a lSi ste m a O p e r a cio n a l

f i ta s

im p r e sso ra s m o n i to r es

p ro g r a m a s,si stem a s ea p l i ca tiv o s

u su á r i o s

Page 7: c++

Profª Teresinha Moreira de Magalhães 7

Sistema Operacional: Uma Máquina de Níveis?

● Um sistema com hierarquias é considerado uma

máquina de níveis. No sistema computacional

vamos desde o chip (estrutura física com

semicondutores de silício) até os programas

aplicativos (instruções de computador que

executam tarefas úteis a usuários, seja humano,

seja outro computador) passando ainda pelo

sistema operacional.

Page 8: c++

Profª Teresinha Moreira de Magalhães 8

● O SO participa de todos os níveis do sistema

computacional, uma vez que ele abstrai o hardware para

o usuário, mantendo a integridade e segurança deste;

outra vez que o SO gerencia recursos de baixo nível

(físicos) como memória, E/S; e recursos de alto nível

(lógicos) como programas usuário. Em outras palavras,

o sistema operacional é considerado uma máquina de

níveis porque está presente no processo dos

dispositivos físicos, programas, compiladores, editores

e aplicativos.

Page 9: c++

Profª Teresinha Moreira de Magalhães 9

U ti l i tá r io s

C ir cu i t o s El e tr ô n ico s

M icr o p r o g r a m a çã o

Li n g u a g em d e M á q u i n a

Siste m a O p e r a ci o n a l

A p l ica t i vo s

Máquina de Níveis● Máquina de níveis

Page 10: c++

Profª Teresinha Moreira de Magalhães 10

● Quando temos um SO, é ele quem precisa saber lidar

com os dispositivos, comunicar com a placa de som, a

internet, os disquetes... Assim, um sw que seja feito

para funcionar neste sistema não precisará de

informações específicas do equipamento. Ao invés

disso, ele chamará a função do kernel e o SO fará a

comunicação, repassando os resultados.

Page 11: c++

Profª Teresinha Moreira de Magalhães 11

● Cada Sistema Operacional pode ter uma

Linguagem de Máquina própria e distinta. Por isso

é comum que softwares feitos para um Sistema

Operacional não funcionem em outro.

Page 12: c++

Profª Teresinha Moreira de Magalhães 12

Classificações -Tipo comercialização●Sistemas Proprietários - Aqueles que são pagos e cujo código fonte não é livremente disponibilizado. (Windows). ●Sistemas Gratuitos - Aqueles que não são pagos, mas cujo código fonte também não é de livre acesso (BeOS).

●Sistemas Open Source (Código Aberto) - Aqueles cujo código fonte é aberto (Unix). ●Sistemas Livres - Aqueles que são Open Source, e cujo código fonte pode ser livremente alterado (Linux, BSD).

Page 13: c++

Profª Teresinha Moreira de Magalhães 13

Em termos de Funcionamento Interno● Os SOs podem se dividir em dois tipos principais,

muito relacionados com o desenvolvimento

tecnológico:

● Sistemas monotarefa (ex: DOS)

● Sistemas Multitarefa (ex:, Linux, Unix)

Os sistemas multi-tarefa podem ainda ser mono-

usuário (BeOS) ou multi-usuários (Unix, Linux)

Page 14: c++

Profª Teresinha Moreira de Magalhães 14

Monotarefa e Multitarefa

● Monotarefa - Um SO que permite a realização de

apenas uma tarefa de cada vez.

● EX: DOS

● Multtarefa - Característica dos SO modernos que

permite repartir a utilização do Processador entre várias

tarefas simultaneamente.

● Ex.: Windows

Page 15: c++

Profª Teresinha Moreira de Magalhães 15

● Atualmente, a grande maioria dos sistemas operacionais

são de tipo Multitarefa, onde o tempo de processamento

é repartido entre as diversas tarefas, dando a impressão

ao usuário que elas são executadas simultaneamente.

Page 16: c++

Profª Teresinha Moreira de Magalhães 16

● O passo para a multitarefa foi a criação dos TSR's

(Terminate and Stay Resident), eram pequenos

programas que permaneciam em memória enquanto se

executava outro programa, e que eram ativados

mediante combinações de tecla. Ou seja, estando o usr a

escrever um texto, por ex, podia chamar uma agenda

pessoal para tirar notas mediante uma combinação de

teclas (que dependia do programa usado).

Page 17: c++

Profª Teresinha Moreira de Magalhães 17

● Assim, do ponto de vista do processador, o

processo do processador de texto era bloqueado

e passava-se o controle para a agenda. Quando o

utilizador terminasse, voltava-se ao processador.

Ambos programas coexistiam, mas não podiam

ser executados em simultâneo.

Page 18: c++

Profª Teresinha Moreira de Magalhães 18

● O passo seguinte foi a emulação de multitarefa.

Exemplos disto eram as primeiras versões de

Windows, em que este corria sobre DOS

(monotarefa), mas o núcleo do programa tratava de

fazer a sua própria gestão dos processos.

Curiosamente, se um processo bloqueasse o

Windows, todas as aplicações teriam que ser

terminadas pois eram todas dependentes.

Page 19: c++

Profª Teresinha Moreira de Magalhães 19

● Posteriormente, surgiu um dos principais

componentes dos SO atuais: o Escalonador de

processos ou scheduler, que faria a gestão,

qualificação e o gerenciamento de prioridade dos

processos sem afetar o núcleo do SO. Ou seja, todas

as tarefas Kernel são críticas, e todo o tempo que

sobrar é legado aos processos. Necessidade de

estabilizar o kernel, para minimizar o tempo de

execução de tarefas internas.

Page 20: c++

Profª Teresinha Moreira de Magalhães 20

Page 21: c++

Profª Teresinha Moreira de Magalhães 21

Sistemas Monoprogramáveis/Monotarefa ● Os primeiros SO eram tipicamente voltados para a

execução de um único programa (job). qq outro

programa, para ser executado, deveria aguardar o

término do programa corrente. Estes,

caracterizavam por permitir que o processador, a

memória e os periféricos permaneçam

exclusivamente dedicados à execução de um único

programa.

Page 22: c++

Profª Teresinha Moreira de Magalhães 22

● SOs monoprogramáveis/monotarefa

M e m ó r iaPr in cip a l

D i sp o si t ivo sd e E/ S

U C Pp r o g r a m a /

ta r e fa

Tipos de Sistemas Operacionais

Page 23: c++

Profª Teresinha Moreira de Magalhães 23

Sistemas Multiprogramáveis/Multitarefa Os Sistemas Multiprogramáveis, que vieram a

substituir os monoprogramáveis, são mais complexos e

eficientes. Enquanto em sistemas monoprogramáveis

existe apenas um programa utilizando seus diversos

recursos, nos multiprogramáveis vários programas

dividem esses mesmos recursos.

Page 24: c++

Profª Teresinha Moreira de Magalhães 24

Tipos de Sistemas Operacionais● SOs multiprogramáveis/multitarefa

M em ó r iaPr in cip a l

D i sp o si t ivo sd e E/ S

U CP p ro g r a m a /ta re fa

p r o g r a m a /ta re fa

p ro g r a m a /ta re fa

p ro g r a m a /ta r e fa

p ro g r a m a /ta re fa

Page 25: c++

Profª Teresinha Moreira de Magalhães 25

Sistemas Multiprogramáveis/Multitarefa As vantagens do uso de sistemas multiprogramáveis

são o aumento da produtividade dos seus usuários e a

redução de custos, a partir do compartilhamento dos

diversos recursos do sistema.

A partir do número de usuários que interagem com o

sistema, podemos classificar os sistemas

multiprogramáveis como monousuário e multiusuário.

Page 26: c++

Profª Teresinha Moreira de Magalhães 26

O conceito de sistemas multiprogramável está

tipicamente associado aos mainframes e

minicomputadores, onde existe a idéia do sistema

sendo utilizado por vários usuários (multiusuário).

Page 27: c++

Profª Teresinha Moreira de Magalhães 27

● No mundo dos computadores pessoais e estações de

trabalho, apesar de existir apenas um único usuário

interagindo como sistema (monousuário), é possível que ele

execute diversas tarefas concorrentemente ou mesmo

simultaneamente. Os sistemas multitarefa, como também

são chamados, se caracterizam por permitir que o usuário

edite um texto, imprima um arquivo, copie um arquivo pela

rede e calcule uma planilha.

Page 28: c++

Profª Teresinha Moreira de Magalhães 28

Os sistemas multiprogramáveis/multitarefa podem ser

classificados pela forma com que suas aplicações são

gerenciadas, podendo ser divididos em sistemas batch, de

tempo compartilhado ou de tempo real. Um sistema

operacional pode suportar um ou mais desses tipos de

processamento.

Page 29: c++

Profª Teresinha Moreira de Magalhães 29

● Tipos de sistemas operacionais - Recapitulando

Ti p o s d eSistem a s O p er a cio n a i s

Sistem a sM o n o p r o g ra m á v e is/

M o n o ta r e fa

Sistem a sco m M ú l ti p l o sPr o cessa d o re s

Sistem a sM u l ti p r o g ra m á ve i s/

M u l t i ta r e fa

Page 30: c++

Profª Teresinha Moreira de Magalhães 30

Tipos de Sistemas Operacionais● SOs multiprogramáveis /multitarefa

Sistem a sM u l ti p r o g ra m á ve i s/

ta re faM u l ti

Sistem a sBa tch

Sistem a s d eTem p o Rea l

Sistem a s d eTem p o C o m p a r t i l h a d o

Page 31: c++

Profª Teresinha Moreira de Magalhães 31

● Os sistemas batch (lote) foram os primeiros sistemas

multiprogramáveis a serem implementados e caracterizam-

se por terem seus programas, quando submetidos,

armazenados em disco ou fita, onde esperam para ser

executados seqüencialmente.

● Alguns exemplos de aplicações originalmente processadas

em batch são compilações, backups e todas aquelas onde

não é necessária a interação com o usuário.

Sistemas Batch

Page 32: c++

Profª Teresinha Moreira de Magalhães 32

● Processamento batch

Pr o cessa m en to

Pr o cessa m en to

Pr o cessa m en to

(a )

(b )

(c)

f i ta d e e n tr a d a

f i ta d e e n tr a d a

ca r tõ es p er fu r a d o s

f i ta d e sa íd a

r e la tó r io s

f i ta d e sa íd a

jo b 2

j o b n

r e la tó r io 1

r e la tó r io 2

r e la tó r io n

jo b 1

Page 33: c++

Profª Teresinha Moreira de Magalhães 33

Os sistemas de tempo compartilhado (time-sharing) permitem a

interação dos usuários com o sistema, basicamente através de

terminais que incluem vídeo, teclado e mouse. Dessa forma, o

usuário pode interagir diretamente com o sistema em cada fase

do desenvolvimento de suas aplicações e, se preciso, modificá-

las imediatamente. Devido a esse tipo de interação, os sistemas

de tempo compartilhado também ficaram conhecidos como

sistemas on-line.

Sistemas de Tempo compartilhado

Page 34: c++

Profª Teresinha Moreira de Magalhães 34

Para cada usuário, o SO aloca uma fatia de tempo (time-slice)

do processador. Caso o programa do usuário não esteja

concluído nesse intervalo de tempo, ele é substituído por um de

outro usuário, e fica esperando por uma nova fatia de tempo.

Não só o processador é compartilhado nesse sistema, mas

também a memória e os periféricos, como discos e

impressoras. O sistema cria para o usuário um ambiente de

trabalho próprio, dando a impressão de que todo o sistema está

dedicado, exclusivamente, a ele.

Sistemas de Tempo compartilhado

Page 35: c++

Profª Teresinha Moreira de Magalhães 35

● Os sistemas de tempo real (real time) são bem

semelhantes em implementação aos sistemas

de tempo compartilhado. A maior diferença é o

tempo de resposta exigido no processamento

das aplicações.

● Não existe idéia de fatia de tempo, um

programa detém o processador o tempo que for

necessário, ou até que apareça outro prioritário

em função de sua importância no sistema.

Sistemas de Tempo Real

Page 36: c++

Profª Teresinha Moreira de Magalhães 36

● OBS:

● Cada Sistema Operacional pode ter uma

Linguagem de Máquina própria e distinta. Por isso

é comum que softwares feitos para um Sistema

Operacional não funcionem em outro.

Page 37: c++

Profª Teresinha Moreira de Magalhães 37

– Os sistemas com múltiplos processadores caracterizam-

se por possuir duas ou mais UCPs interligadas,

trabalhando em conjunto. Um fator-chave no

desenvolvimento de sistemas operacionais com

múltiplos processadores é a forma de comunicação entre

as UCPs e o grau de compartilhamento da memória e

dos dispositivos de entrada e saída. Em função desses

fatores, podemos classificar os sistemas em fortemente

acoplados ou fracamente acoplados.

Sistemas com Múltiplos Processadores

Page 38: c++

Profª Teresinha Moreira de Magalhães 38

Sistemas com Múltiplos Processadores

● Sistemas fortemente acoplados

U CP U CPM em ó r iaPr in cip a l

D i sp o si t ivo sd e E/ S

D isp o si t ivo sd e E/ S

Page 39: c++

Profª Teresinha Moreira de Magalhães 39

Nos sistemas fortemente acoplados (tightly coupled) existem

vários processadores compartilhando uma única memória e

gerenciados por apenas um sistema operacional. Múltiplos

processadores permitem que vários programas sejam

executados ao mesmo tempo, ou que um programa seja

dividido em subprogramas, para execução simultânea em mais

de um processador.

Page 40: c++

Profª Teresinha Moreira de Magalhães 40

Sistemas com Múltiplos Processadores

● Sistemas fracamente acoplados

U C P U C P

M e m ó r iaPr in cip a l

M e m ó r iaPr in cip a l

D i sp o si t ivo sd e E/ S

l in k d e co m u n ica çã o

D i sp o sit ivo sd e E/ S

Page 41: c++

Profª Teresinha Moreira de Magalhães 41

Os sistemas fracamente acoplados caracterizam-se por

possuir dois ou mais sistemas de computação interligados,

sendo que cada sistema possui o seu próprio sistema

operacional, gerenciando os seus recursos, como

processador, memória e dispositivos de entrada/saída.

Os sistemas fortemente acoplados podem ser divididos em sistemas simétricos e assimétricos.

Page 42: c++

Profª Teresinha Moreira de Magalhães 42

Sistema assimétricoNa organização assimétrica ou mestre/escravo (master/slave), somente

um processador (mestre) pode executar serviços do SO, como por ex.,

realizar operações de I/O.

Sempre que um processador do tipo escravo precisar realizar uma

operação de I/O, terá de requisitar o serviço ao processador mestre.

Dependendo do volume de operações de entrada/saída destinadas aos

processadores escravos, o sistema pode se tornar ineficiente, devido ao

elevado número de interrupções que deverão ser tratadas pelo mestre.

Page 43: c++

Profª Teresinha Moreira de Magalhães 43

Sistema Assimétrico

Page 44: c++

Profª Teresinha Moreira de Magalhães 44

Sistema Simétrico

O multiprocessamento simétrico (Simmetric Multiprocessing-

SMP), ao contrário da organização mestre/escravo, implementa

a simetria dos processadores, ou seja, todos os processadores

realizam as mesmas funções. Apenas algumas poucas funções

ficam a cargo de um único processador, como, por exemplo, a

inicialiazação (boot) do sistema.

Page 45: c++

Profª Teresinha Moreira de Magalhães 45

Sistema simétrico

Page 46: c++

Profª Teresinha Moreira de Magalhães 46

No processamento simétrico, um programa pode ser executado

por qq processador, inclusive por vários processadores ao mesmo

tempo (paralelismo). Além disso, quando um processador falha, o

sistema continua em funcionamento sem nenhuma interferência

manual, porém com menor capacidade de computação.

Os sistemas simétricos são mais poderosos que os assimétricos,

permitindo um melhor balanceamento do processamento e das

operações de entrada/saída, apesar de sua implementação ser

bastante complexa.

Page 47: c++

Profª Teresinha Moreira de Magalhães 47

Os sistemas fracamente acoplados podem ser

divididos em Sistemas Operacionais de Rede e

Sistemas Operacionais Distribuidos.

Page 48: c++

Profª Teresinha Moreira de Magalhães 48

SO de rede

Em sistemas operacionais de rede (SOR), cada nó possui seu

próprio sistema operacional, além de um HW e SW que

possibilitam ao sistema ter acesso a outros componentes da

rede, compartilhando seus recursos.

Cada nó é totalmente independente do outro, podendo

inclusive possuir SO diferentes. Caso a conexão entre os nós

sofra qualquer problema, os sistemas podem continuar

operando normalmente, apesar de alguns recursos se tornarem

indisponíveis. Ex. Redes locais

Page 49: c++

Profª Teresinha Moreira de Magalhães 49

SO DistribuidoEm sistemas distribuídos, cada componente da rede também

possui seu próprio SO, memória, processador e dispositivos. O

que define um sistema distribuído é a existência de um

relacionamento mais forte entre os seus componentes, onde

geralmente os SO são os mesmos. Para o usuário e suas

aplicações, é como se não existisse uma rede de computadores,

mas sim um único sistema centralizado.

Page 50: c++

Profª Teresinha Moreira de Magalhães 50

SO Distribuido

Page 51: c++

Profª Teresinha Moreira de Magalhães 51

SO DistribuídoA grande vantagem desses sistemas é a possibilidade do

balanceamento de carga, ou seja, quando um programa é admitido

para execução, a carga de processamento de cada sistema é

avaliada e o processador mais livre é escolhido. Depois de aceito

para processamento, o programa é executado no mesmo

processador até o seu término. Também é possível o

compartilhamento de impressoras, discos e fitas,

independentemente do sistema em que a aplicação esteja sendo

processada. Este tipo de sistema distribuído é muitas vezes

chamado de cluster.

Page 52: c++

Profª Teresinha Moreira de Magalhães 52

Suponha, por ex., uma configuração de 2 computadores (Comp 1

e Comp 2), formando um cluster. Qualquer usuário conectado ao

cluster poderá ter acesso aos dispositivos compartilhados, que

permitem a ele imprimir uma listagem ou copiar um arquivo.

Nesse tipo de configuração, se um dos sistemas falhar, o acesso

aos dispositivos não será interrompido.

Estes sistemas podem ser considerados como uma evolução dos

sist. fortemente acoplados, onde uma aplicação pode ser

executada por qualquer processador.

SO Distribuído

Page 53: c++

Profª Teresinha Moreira de Magalhães 53

SO Distribuído

Os sistemas distribuídos permitem que uma aplicação seja

dividida em diferentes partes (aplicações distribuídas), que

se comunicam através de linhas de comunicação, podendo

cada parte ser processada em um sistema independente.

Page 54: c++

Profª Teresinha Moreira de Magalhães 54

2 - Arquitetura de Sistemas Operacionais2 - Arquitetura de Sistemas Operacionais

ConcorrênciaConcorrência

● IntroduçãoIntrodução

● Interrupção e exceção

● Operações de E/S

● Buffering

● Spooling

● Reentrância

● Proteção do sistema

Page 55: c++

Concorrência● S.O. => Conjunto de rotinas que executam

concorrentemente de forma ordenada.● Possibilidade do processador executar

paralelamente instruções com operações de E/S.● Principio para sistemas multiprogramáveis.● Os monoprogramáveis deixavam processador,

memória e dispositivos de E/S ociosos => dedicado a uma tarefa.

Page 56: c++

Concorrência● Sistema monoprogramável x multiprogramável

2

(a ) Si ste m a M o n o p r o g ra m á ve ltem p o tem p o

E/ S E/ S

U C P U C Pl iv r e 11

1

(b ) Si stem a M u l t i p r o g r a m á ve l

Page 57: c++

Concorrência● Uma tarefa quando perde (uso) o processador

reveza com outra.● Quando ganha o direito a sua execução esta volta

no estado idêntico quando foi parada.● Um sistema multiprogramado possui um

throughput elevado, ou seja, tem uma vazão maior de suas tarefas num dado intervalo de tempo.

Page 58: c++

Interrupção e Exceção● Interrupção ou Exceção são desvios forçados no fluxo de

execução de tarefas devido a eventos.● Estes eventos são sinalizações de algum dispositivo ou

resultado da execução de alguma instrução.● Estes eventos tornam possível a concorrência.● Uma interrupção sempre é gerada por um evento externo ao

programa, independe de instruções● Uma interrupção faz o processador interromper o programa

para tratar o termino de determinada operação.

Page 59: c++

Interrupção e Exceção● Mecanismo de Interrupção e Exceção

Page 60: c++

Interrupção e Exceção● Existem dois métodos para tratamento de interrupções: vetor

de interrupção (que contém o endereço da rotina de tratamento) e o registrador de status (uma única rotina que trata conforme o tipo do evento ocorrido)

● Eventos assíncronos podem ocorrer múltiplas vezes simultaneamente, conforme o processador estas podem ser mascaráveis ou não, neste caso as interrupções deverão ter prioridades controladas por um controlador de pedidos de interrupção.

Page 61: c++

Interrupção e Exceção● Uma exceção é gerada pela execução de uma

instrução de um programa (divisão por 0, overflow).

● Evento síncrono gera exceção.● Evento assíncrono gera interrupção.● O tratamento de exceções se dá pelo próprio

programador.

Page 62: c++

Operações de E/S● Inicialmente instruções de E/S eram executadas

pelo próprio processador.● Com as interfaces (controladoras) liberou-se o

processador.● Com o controlador tinha-se duas maneiras : –E/S controlada por programa (testava até o termino da

tarefa) e

– através do polling (dado um intervalo de tempo verificava-se o termino da operação)

Page 63: c++

Operações de E/S● Controlador

M em ó r iaPr in cip a lU C P

C o n tr o la d o r

D i sp o si t i vo s d e E/ S

Page 64: c++

Operações de E/S● Com a interrupção a operação começava e o

termino gerava um evento assíncrono.● A técnica de DMA permite que os dispositivos de

E/S façam uso da memória principal sem a intervenção do processador (exceto no inicio e no final da transferência de dados, processador informa a posição de memória ao controlador)

● A área de memória da DMA e o buffer de E/S

Page 65: c++

Operações de E/S● Canal de E/S

M em ó r iaPr in cip a lU CP

C a n a l d e E/ S

Co n tr o la d o r

D i sp o sit ivo s d e E/ S

C o n tr o la d o r

D isp o sit ivo s d e E/ S

Page 66: c++

Buffering● Técnica de utilização de uma área na MP (buffer)

para transferência de dados entre os dispositivos de E/S e a MP

● Objetivo: desocupar UCP de Dispositivos de E/S liberando-a para ocupar com mais tarefas

● Operações de E/SM e m ó r iaPr in cip a l

U C P Bu f fe r

g r a v a çã o g r a v a çã o

l e i tu r a l e i tu r a

C o n tr o l a d o r

Page 67: c++

Spooling● Simultaneous Peripheral Operation On-Line● Base do sistema Batch● Redirecionar os Job’s para disco/fita● Utilizado para impressões.● Cria em disco um “buffer” => arquivo de spool● Desvincula o dispositivo de impressão do programa.●

● Técnica de Spooling●

Pr o g r a m a Im p r e sso r aA r q u ivod e Sp o o l

Sistem a O p er a cio n a lSistem a O p er a cio n a l

Page 68: c++

Reentrância● Capacidade de um código executável (código reentrante) ser

compartilhado por diversos usuários.● O programa existe uma única vez na MP.● Cada usuário possui uma área de dados.

M e m ó r ia Pr in ci p a l

có d i g o re e n t r a n te

á r ea d e d a d o s d o u su á r io A

u su á r io A u su á r io C

u su á r io B u su á r io D

á r ea d e d a d o s d o u su á r io B

á r ea d e d a d o s d o u su á r io C

á r ea d e d a d o s d o u su á r io D

Page 69: c++

Proteção● Cada usuário possui uma área na MP onde seus

dados e códigos estão armazenados.● O S.O. cuida para que violações não ocorram● O S.O. implementa mecanismos para permitir

acesso concorrente aos diversos recursos.

Page 70: c++

Profª Teresinha Moreira de Magalhães 70

Atividade em dupla – 3 pontos

1 - Quais as principais razões para se estudar Sistemas Operacionais?

2 – Porque é útil para o software aplicativo que a máquina funcione em diversos níveis?

3 – Em que geração foram introduzidas as máquinas multiprocessamento? Quais suas características

4 – Quais as características de Sistemas Operacionais de Tempo Real? E o de tempo compartilhado? E o Batch?

5 - Quais os sistemas operacionais mais populares atualmente e quais suas características ?

Page 71: c++

Profª Teresinha Moreira de Magalhães 71

● 6 - Em que se baseia o conceito de concorrência e como deve ser implementada.

7 - Diferencie Interrupção de exceção e cite os casos em que elas podem ocorrer.

8 - Defina Reentrância, Buffering e spooling e exemplifique.

● OBS: Responder e anexar na plataforma