• Nenhum resultado encontrado

Publicações do PESC Terminal Inteligente: Sistema Multi-Terminal

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Terminal Inteligente: Sistema Multi-Terminal"

Copied!
118
0
0

Texto

(1)

T E R M I N A L

I N T E L H G E N T E : S I S T E M A M U L T T - T E R M I N A L

-

A l c i n d o F e r r e i r a F i l h o

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE P~S-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO R I O DE J A N E I R O COMO PARTE DOS R E Q U I S I T O S

NECESSARIOS

PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS (M. SC.)

.

A p r o v a d a por: ( P r e s i d e n t e )

e&

L

(

4

N e l s o n M a c u l a n F i l h o / .

/-

S u e l i M e n d e s dos S a n t o s R I O DE J A N E I R O , R J

-

B R A S I L OUTUBRO DE 1 9 7 8

(2)

FERREIRA FILHO, ALCINDO

T e r m i n a l I n t e l i g e n t e : S i s t e m a M u l t i - T e r

-

mina1 b i o de ~ a n e i r d 1978.

I X , 109p. 29,7cm (COPPE-UFRJ, S c ,

E n g e n h a r i a de S i s t e m a s , 19 78)

T e s e

-

Univ. Fed. Rio de J a n e i r o . Coor

-

denação dos Programas de p ó s - ~ r a d u a ç ã o e m E n g e n h a r i a

1 .Sa 6Xwahe ~ á s i c o I .COPPE/UFRJ II . ~ i t u

-

(3)

iii

A G R A D E C I M E N T O S

.

Ao P r o f . GUILHERME CHAGAS RODRIGUES, que nos o r i e n t o u no de- senvolvimento d e s t e t r a b a l h o com d e d i c a ç ã o incomum.

.

A e q u i p e de desenvolvimento e manutenção do S i s t e m a Operacio

-

n a 1 do T I (SOCO)

-

PAULO I V , ANTONIO I1 e FRANCISCO DUTFW

-

que p r e s t o u um s u p o r t e i n e s t i m á v e l p a r a a e l a b o r a ç ã o do SMT.

.

Ao p e s s o a l do SERPRO

-

o D i r e t o r de Desenvolvimento, G I L C I O ROBERTO AMARAL MARTINS e o s c o l e g a s d a A s s e s s o r i a de Apoio ao DesenvoPvimento, HENRIQUE BORK e J O S ~ L U I Z THADEU

-

p e l o i n c e n t i v o e a p o i o c o n s t a n t e s

.

.

A minha mulher

-

MARIA

JOSE:

-

c u j o i n c e n t i v o f o i fundamental p a r a que c o n s e g u ~ s s e m o s e l a b o r a r e s t e t r a b a l h o e que nos man

-

t e v e com ânimo p a r a a s v á r i a s n o i t e s que passamos no NCE

,

quando da f a s e de t e s t e s .

.

à n o s s a s e c r e t á r i a

-

VEFW FERRAZ

-

que t e v e a p a c i ê n c i a e o c a p r i c h o de d a t i l o g r a f a r nosso t r a b a l h o .

.

Enfim, a t o d o s que d i r e t a ou i n d i r e t a m e n t e nos ajudaram na SMT e que p o r v e n t u r a não tenham v i n d o 5 n o s s a lembrança n e s - t e momento.

(4)

i v

R E S U M O

O S I S T E M A M U L T I - T E R M I N A L ( S M T ) é um método de a c e s s o p a

-

r a t e r m i n a i s remotos o u l o c a i s , d'esenvolvido sob o S i a k e m a O p e - n a c i a n a R e m V i n c o ( S O C O ) do T E R M I N A L I N T E L I G E N T E ( T I ) do NÚCLEO DE COMPUTAÇÃO E L E T R ~ N I C A da UNIVERSIDADE FEDERAL DO R I O DE J A - NEIRO (NCE/UFRJ).

D e um modo g e r a l é mostrada a f i l o s o f i a do S I S T E M A e o s e u funcionamento i n t e r n o , com a e s p e c i f i c a ç ã o d e t a l h a d a de ca- da um de s e u s m6dulos: I N I C I A L I Z A D O R , D I S P A T C H E R , I N T E R P R E T A - D O R D E C O M A N D O S , E X E C U T O R D E E I S , P R O C E S S A D O R D E I N T E R R U P Ç Õ E S e F I N A L 1 Z A D O R .

P e r m i t e ao programador, ao d e s e n v o l v e r a a p l i c a ç ã o , v e h apenas um t e r m i n a l e , em tempo de execução, serem d e f i n i d o s o s t e r m i n a i s que u s a r ã o concorrentemente a a p l i c a ç ã o . Todas as o p e r a ç õ e s de e n t r a d a e s a í d a dos t e r m i n a i s e r e s p e c t i v o s c o n t r o l e s de á r e a s de t r a b a l h o s ã o r e a l i z a d a s p e l o S M T e s ã o t r a n s p a r e n t e s t a n t o ao u s u á r i o (operador do t e r m i n a l ) como a o ' programador. O S I S T E M A f o i desenvolvido p a r a a p l i c a ç õ e s com b a i x a t a

-

x a de u t i l i z a ç ã o ; o número de t e r m i n a i s a s s o c i a d o s a uma d e t e r

-

minada a p l i c a ç ã o em tempo de execução d e v e r á ser d e , no máximo,

dez.

~ p l i c a ç õ e s . t í p i c a s s ã o : C o n t r o l e de Almoxarifado, Mar- cação de C o n s u l t a s H o s p i t a l a r e s , C o n t r o l e de L e i t o s em Hospi- t a l , e o u t r a s de n í v e l de u t i l i z a ç ã o semelhante.

(5)

A B S T R A C T

The MULTT-TERMINAL SYSTEM (SMT] i s a t e r m i n a l a c e s s method f o r l o c a l o r remote u s e , developed f o r o p e r a t i n g under t h e V i * b Opem&lonaR S y n t e m ( S O C O ] o£ t h e I N T E L L I G E N T TERMINAL

( T I ) b u i l t i n t h e NUCLEO DE COMPUTAÇÃO ELETRÔNICA o f t h e UNIVERSIDADE FEDERAL DO RIO DE JANEIRO (NCE/UFRJ)

.

The SYSTEM p h i l o s o p h y and i t s i n t e r n a 1 l o g i c i s shown i n a g l o b a l way and i t i s g i v e n a d e t a i l e d s p e c i f i c a t i o n o f e a c h module which compounds t h e SYSTEM: INICIATOR, VISPATCUER,

COMMANV INTERPRETER, 1 / O CONTROL, TNTERRUPT ffANVLER and

TERMINATOR.

I t p e r m i t s , t o t h e a p p l i c a t i o n programmer, w h i l e d e v e l o p i n g t h e a p p l i c a t i o n , t o s e e o n l y o n e X e n m i n a R and t h e network d e f i n i t i o n w i l l t a k e p l a c e o n l y a t t h e e x e c u t i o n t i m e .

SMT performs a11 o f 1/0 o p e r a t i o n s w i t h t h e t e r m i n a l s and r e s p e c t i v e work a r e a c o n t r o l s and do them i n a t r a n s p a r e n t way t o t h e u s e r ( t e r m i n a l o p e r a t o r ) and t h e a p p l i c a t i o n

programmer

.

A p l i c a t i o n s w i t h low r a t i o o f u t i l i z a t i o n a r e t y p i c a l

SMT u s e r s . The network maximum number o f l i n e s i s r e p r e s e n t e d by one d i g i t , i . e . , no more t h a n t e n t e r m i n a l s a r e p e r m i t t e d .

I n t h e p r a c t i c e , t y p i c a l a p p l i c a t i o n s a r e : On-line I n v e n t o r y C o n t r o l , H e a l t h Care C l i n i c a l Appointment S c h e d u l i n g , P a t i e n t Moni t o r i n g

,

and o t h e r a p p l i c a t i o n s w i t h t h e same l e v e 1 o f o n - l i n e u t i l i z a t i o n r a t i o .

(6)

1 1 . 2 . CONCEITO DE PROGRAMA VIRTUAL

1 1 . 3 . C L A S S E S DE DADOS DO PROGRAMA

1 1 . 4 . USO DO TERMINAL

1 1 , 5 , 3 .

T E R M I N O

DO PROGRAMA VIRTUAL 1 1 . 5 . 4 . USO DE OUTROS ARQUT VOS

1 7 . 5 . 5 . USO DE COMANDOS ESPECIAIS OA LINGUAGEM PLT1

111.2. 1 , AREAS E TABELAS DO SOCO UT1i.l ZADAS PE- LO SMT

111.2. 1 . 1 . T a b e l a R e s u X v i d a d e A h q u i v 0 6 L õ g L c o s

. .

11 1 . 2 . 1 . 2 . T a b e l a d e Artqu.ivo F h i c o 1 7 1 . 2 . 1 . 3 . N ú c l e o R e h i d e n X e

(7)

1 7 7 . 2 . 2 . AREAS E T A B E L A S C R I A D A S PELO S M T , N A . . .

M E M O R T A

7 1 7 . 2 . 2 . 1 , T a b e L a d e ~ a u Ú n i o a 1 1 7 . 2 . 2 . 2 . P o n X e i n o p a n a o E L e m e n X o d e TABUS 1 1 1 . 2 . 2 . 3 , E n d e n e ç o

e

T a m a n h o d a

Anea

d e V a d o n . . 1 1 1 . 2 . 2 . 5 . P o n X e i n o p u n a

Anea

R e a e n v a e m D i a c o 11 1 . 2 . 2 . 6 . . . . P o n k e i n o p a n a

a

~ n á x i m a

Ahea

d e D d

-

c o D i b p o n x v e L 1 1 7 . 2 . 2 . 7 . T a m a n h o d o R e g i a k n o L ó g i c o d o A n y u i - . . v o que

~a

o

SMT 1 1 1 . 2 . 2 . b . S a v e a n e a C o n X e n d o PC R e n

e h v a

1 1 1 . 2 . 3 .

AREAS

E T A B E L A S C R I A D A S PELO S M T , EM D I S C O 1 1 1 . 2 . 3 . 1 .

Anea

d e V a d o n d e P h o g n a m a h V i n k u a i a 1 1 1 . 3 . DIAGRAMA CONCEITUAL DO SMT

1 1 1 . 4 . ESTADOS DE UM PROGRAMA VIRTUAL

111.5. DESCRIÇÃO DA L ~ G I C A DO SMT

1 ,1 . T N l C 1 A L l Z A Ç Ã O DO SMT E PROGRAMAS V I R

-

T U A I S

7 1 7 . 5 . 2 . L ~ G ~ C A V 0 PROCESSAMENTÚ DE U M PROGRAMA V I R T U A L

1 1 1 . 6 . ESPECIFICAÇ~O DOS MÓDULOS DO SMT

1 1 1 . 6 . 1 . I N I C 1 A L í Z A V O R 1 7 1 . 6 . 2 . EXECUTOR DE E I S 1 7 7 . 6 . 3 . D T S P A T C f f E R

7 1 1 . 6 . 4 , I N T E R P R E T AD O R DE COMANDOS

1 1 7 , 6 . 4 . 7 .

Funçõea

d o IN TERPRET ADOR p u n a

o

En;ta

-

d o 1 NAT7 VO FE

1 1 7 . 6 . 4 . 2 .

Funçõea

d o T NT ERPRETA VOR p u n a o E a X a

-

d o A T I VO FE

7 7 1 . 6 . 4 . 3 , FunçÜea d o 1 N T E R P R E T A V O R p u n a o E n X a - d o 1 NATI VO T E S T E FE

(8)

viii 1 1 1 . 6 . 5 . . . . FINALTZADOR 7 7 7 . 6 . 6 . PROCESSADOR D E T N T E R R U P Ç Ã O IV. IMPLEMENTAÇÃO 1 V . 7 . 7 . EQUIPAMENTO PROPRIAMENTE 0 1 7 0 1 V . 7 . 2 . SOFTWARE D l S P O N f V E L l V . 7 , 2 . 7 . ShmLLeaçÜo d o Sa&twatte d o T 1 n o 8 - 6 7 0 0 ( C h o a a - S o d k w a n e ) 1 V , 7 . 2 . 2 . S i a t e m a O p e n a c h o n a R d o T 1 ( S O C O ) I V . 2. PROBLEMAS ENCONTRADOS

T V . 2 . 7 . DESCRIÇÃO DOS PROBLEMAS E SOLUÇÕES E N - C0 NTRADAS 1 V . 2 , 7 . 7 . C o m u n h c a ç ã o

enkhe

P h o g n a m a V h h t u a R

e

o SMT 1 V . 2 . 7 . 2 . T e a t e d o S M T n o T I I V . 2 . 7 . 3 .

Manu

e h o d e T e c R a d o d e T e t t m h n a h a

- vZ-

d e o 1 V , 2 . 7 . 4 . O b k e n ç ü o d o E n d e h e ç o

e

T a m a n h o d o A h

-

y u i v a 7 V . 2 . 7 . 5 . Como T e a X a n o SMT n o T I , a o b o Con

-

X h o R e d o SOCO 7 V . 2 , 7 . 6 . Como F a z e n R e d e n e n c h a a o I n k e n p h e t a - d o h P L T I d o P h o g h a m a d o ~ a u ã h h o V . 1 . RESULTADOS O B T I D O S V . 7 . 7 , T E M P O D E R E S P O S T A V E R S U S S O B R E P O S I Ç Ã O D E CARACTERES NA R E C E P Ç Ã O (OVERRUN) V . 1 . 2 . GASTO DE MEMORIA P R I N C I P A L

(9)

V . .7 . 4 . . . U S O D E T E R M I N A I S L O C A I S x R E M O T O S V . 2 . 1 . I M P L E M E N T A Ç Ã O D E N O V O S C O M A N D O S V . 2 . 2 . I M P L E M E N T A Ç Ã O D E N O V O S T E R M I N A I S D E E / S € / O U M U D A N Ç A S D E P R O T O C O L O V . 2 . 3 . T M P L E M E N T A Ç Ã O D E N O V A S F U N Ç O E S DE E / S P A R A O S T E R M I N A I S V . 3 .

ANALISE

F I N A L DO TRABALHO V I . B I B L I O G R A F I A VIL. APÊNDICES

V I I . 1 .

APENDICE

1

-

ALTERAÇÕES P R O V I S ~ R I A S DO SMT PARA FUNCIONAR COM NÚCLEO NÃO RESIDENTE v11.2. APÊNDICE 2

-

CALCULO

DOS TEMPOS APROXIMADOS DE

CADA FUNÇÃO DO PROCESS.INTERRUPÇ~ES

VIL. 3 . APÊNDICE 3

-

TABELA DE TEMPOS DAS MICRO-INSTRU

-

ÇÕES P L T I

VIL. 4 .

APENDICE

4

-

PARTES DO SOCO ALTERADAS/UTILIZADAS P E L O SMT

(10)
(11)

O TERMINAL INTELIGENTE ( T I ) é um micro-computador, b a s e

-

ado no micro-processador INTEL-800 8 , d e s e n v o l v i d o e c o n s t r u i d o p e l o NÚCLEO DE COMPUTAÇÃO

ELETRONICA

DA UNIVERSIDADE FEDERAL DO R I O DE J A N E I R O (NCE/UFRJ)

.

P o s s u i 1 6 K b y t e a de memória e a e l e pode-se c o n e c t a r q u a l q u e r d i s p o s i t i v o de e n t r a d a e/ou s a í d a , a t r a v é s de i n t e r f a - c e s c o n v e n i e n t e s . Atualmente, e s t ã o d i s p o n í v e i s p a r a i n s t a l a - ç ã o o s p e r i f é r i c o s : L e i t o r a de c a r t õ e s P e r f u r a d o s , I m p r e s s o r a , Unidade de F i t a C a s s e t e , Unidade de Disco, Console (composto de Teclado e Unidade de ~ i d e o )

,

e

L i n h a

de comunicação.

A s a p l i c a ç õ e s t í p i c a s do TI s ã o a q u e l a s d e s e n v o l v i d a s nos pequenos computadores. ~ p l i c a ç õ e s c o m e r c i a i s podem s e r de- s e n v o l v i d a s , e s t a n d o l i m i t a d a s p r a t i c a m e n t e p e l o tamanho da me-

mória, problema f a c i l m e n t e s u p e r á v e l p e l o f a t o de t o d o o A O

áRwa

-

he. ser d e s e n v o l v i d o n a linguagem PLTI

,

que é compatível com q u a l

-

q u e r mudança do micro-processador.

E x i s t e a i n d a a p o s s i b i l i d a d e de l i g a ç ã o a computador de maior p o r t e , f a c i l i t a n d o a p l i c a ç õ e s que requeiram maiores r e c u r

-

s o s ou um pré-processamento.

A c o m e r c i a l i z a ç ã o do TI e x i g e que s e j a p o s s l v e l e s t e n - d e r s u a c a p a c i d a d e de atendimento a u s u á r i o s em l o c a i s d i v e r s o s de s u a i n s t a l a ç ã o .

Uma o u t r a n e c e s s i d a d e é o compartilharnento

,

p o r d i v e r - s o s u s u á r i o s , d a s a p l i c a ç õ e s em execução no TI, onde c a d a um d e

-

ve t e r - a s e n s a ç ã o de ser o Ünico a e s t a r sendo a t e n d i d o .

O SISTEMA MULTI-TERMINAL (SMT)

,

a s e g u i r d e s c r i t o , v i a - b i l i z a a l i g a ç ã o do TI com t e r m i n a i s t i p o v í d e o ou i m p r e s s o r e s p a r a atendimento da n e c e s s i d a d e de uso remoto, bem como da u t i - l i z a ç ã o de uma mesma a p l i c a ç ã o p o r v á r i o s u s u á r i o s .

O SMT é o i n t e r m e d i á r i o e n t r e um t e r m i n a l v i d e o o u i m - p r e s s o z , acoplado a o ' T I , e o programa que o a t e n d e .

(12)

um número de t e r m i n a i s que não exceda a um (1) d i g i t o , o u s e j a , a t é dez t e r m i n a i s .

P a r a que um programa use o SMT como monitor de s u a s ope

-

r a ç õ e s de E/S com t e r m i n a i s , b a s t a que s e j a f o r n e c i d o o parâme- t r o adequado, e s p e c i f i c a n d o q u a l a r q u i v o l ó g i c o e s t á a s s o c i a d o a q u a l a r q u i v o f í s i c o do t i p o t e r m i n a l , no comando p a r a execu

-

ç ã o do programa.

O meio u t i l i z a d o p a r a s e p a s s a r a o SMT q u a n t o s e q u a i s s ã o o s t e r m i n a i s em uso p e l o programa é a concatenação de v á r i o s a r q u i v o s f í s i c o s a um Único a r q u i v o l Ó g i c o , que é uma f a c i l i d a - de p e r m i t i d a p e l o Sidkema Ù p e k a c i u n a l d u T I ( S U C O ) . Com i s s o

,

f i c a extremamente f á c i l a i n c l u s ã o o u e x c l u s ã o de u s u á r i o s (ou s e j a , t e r m i n a i s ) , e f e t i v a d a p e l a i n c l u s ã o ou e x c l u s ã o de a r q u i - vos f í s i c o s da r e f e r i d a concatenação.

A g r a n d e vantagem é que o programador apenas p r e c i s a r á s e p r e o c u p a r e m t r a b a l h a r com um Único a r q u i v o l ó g i c o , cabendo a o SMT a d m i n i s t r a r t o d a a complexidade de a s s o c i a r v á r i o s t e r m i

-

n a i s a t a l a r q u i v o l ó g i c o em tempo de execução.

Na f a s e de desenvolvimento dos programas que compõem um s i s t e m a é d e s e j &e1 t e s t a r e e x e c u t a r t a i s programas independen

-

temente d-o d i s p o s i t i v o de E/S dos dados, i s t o é, o programa que r e c e b e r á / e n v i a r á dados d e v e r á s e r o máximo p o s s í v e l independen- t e do d i s p o s i t i v o onde e s t a r ã o o s dados.

O SMT é a t i v a d o p e l o SinXema Ú p e n a c i o n a l d a 71 ( SOCO ) e m função d a e s p e c i f i c a ç ã o de parâmetros i n d i c a n d o uso de t e r m i

-

n a i s no comando de execução; a i n d e p e n d ê n c i a do programa com r e l a ç ã o a s e u s d i s p o s i t i v o s de E/S

6

m a n t i d a , l i m i t a d a e v i d e n t e

-

mente p e l o uso de c a r a c t e r i s t i c a s e s p e c í f i c a s de cada d i s p o s i t i

-

v0

.

Exemplificando, se um programa p r e t e n d e u t i l i z a r a ca- r a c t e r í s t i c a c o n v e r s a c i o n a l de um t e r m i n a l , logicamente não ha- v e r á s e n t i d o nem p o s s i b i l i d a d e d e , em tempo de o p e r a ç ã o , t e r o d i s p o s i t i v o de E/S k e n m i n a l t r o c a d o p o r o u t r o q u a l q u e r . ~ a v e r á sempre um compromisso e n t r e a f l e x i b i l i d a d e p a r a t r o c a de d i s p o

-

s i t i v o s de E/S do programa e a e f i c i ê n c i a com que o s mesmos s e - s ã o u t i l i z a d o s .

(13)

p&ug&aman -Xe4minain, devendo o programador r a c i o c i n a r como s e houvesse um k i c o t e r m i n a l l i g a d o ao programa, despreocupando

-

- s e q u a n t o ao número de t e r m i n a i s conectados. O número de usuá

-

r i o s é l i m i t a d o apenas p e l a s c a r a c t e r i s t i c a s de c o n f i g u r a ç ã o e s

-

c o l h i d a s p a r a a i n s t a l a ç ã o do 71, ou s e j a , p e l o número máximo de d i s p o s i t i v o s p r e v i s t o s p a r a serem l i g a d o s ao TI e p e l a memó- r i a t o t a l i n s t a l a d a ( a u t i l i z a ç ã o de memória p e l o programa c r e s

-

terá

com o n h e r o de t e r m i n a i s a e l e v i n c u l a d o s ) .

(14)
(15)

O SISTEMA MULTI-TERMINAL (SMT) é um método de a c e s s o a t e r m i n a i s l i g a d o s ao TI v i a l i n h a de comunicação. E l e implemen t a o c o n c e i t o de phoghUmC4 v i h k u a l , que é o f a t o de um programa s e r a c e s s a d o p o r v á r i o s t e r m i n a i s , t u d o se passando como se ca- da t e r m i n a l t i v e s s e um programa que e x c l u s i v a m e n t e o a t e n d e s s e . A s a p l i c a ç õ e s t í p i c a s p a r a o SMT s ã o a q u e l a s de c o n s u l - t a s a a r q u i v o s e m a c e s s o a l e a t ó r i o ou indexado, a t u a l i z a ç ã o a n - R i m de a r q u i v o s indexados ou a l e a t ó r i o s , e a q u e l a s que tenham a s c a r a c t e r í s t i c a s de t e l e p r o c e s s a m e n t o

.

O SMT é c o n s i d e r a d o p e l o Siakema Opehacional da TI ( S c C O ) como uma r o t i n a de E/S, sendo p o r t a n t o c a r r e g a d o j u n t o com o programa de a p l i c a ç ã o quando f o r e s p e c i f i c a d o o uso de t e r m i - n a i s p a r a o mesmo.

A memória i n i c i a l ocupada é da ordem d a q u e l a g a s t a pe- l a s r o t i n a s de E/S c o n v e n c i o n a i s , porém c r e s c e n d o de a c o r d o com o n k e r o de t e r m i n a i s que u s a r ã o o programa.

Como t o d o o a o &twahe b á s i c o do T I , o SMT é e s c r i t o na linguagem P LTI

,

p o s s i b i l i t a n d 6 s u a t o t i l c o m p a t i b i l i d a d e com q u a l q u e r micro-processador que, no f u t u r o , venha a s e r usado pe

-

10 TI.

O programa de a p l i c a ç ã o d e v e r á ser e s c r i t o n a linguagem PLTI, comunicando-se com o SMT v i a comandos READ ou WRZTE s o l i - c i t a d o s p a r a um a r q u i v o l ó g i c o , ao q u a l foram a s s o c i a d o s , em tempo de c a r g a do programa, um ou mais t e r m i n a i s .

(16)

7

1 1 . 2 . CONCEITO DE PROGRAMA VIRTUAL

N a memória somente e x i s t i r á uma c ó p i a do programa

-

o phogharna h e a f

-

que a t e n d e r á a t o d o s o s t e r m i n a i s que o e s t i v e

-

r e m usando e m modo v i h k u a l ,

4

Cada t e r m i n a l t e r á a c e s s o a um phoghama v i h k u a f , que e o phoyhama h e a f com o s dados c o r r e s p o n d e n t e s a o t e r m i n a l que o e s t i v e r usando. O a c e s s o a o p h U g h U m U v i h k u a f p o r um t e r m i n a l é a d m i n i s t r a d o p e l o SMT de modo a que t o d o s o s t e r m i n a i s tenham a mesma chance d e uso do p h U g h U m U v i h k u d c o r r e s p o n d e n t e .

Quando o n í v e l de a t i v i d a d e dos t e r m i n a i s não f o r o mes

-

mo p a r a t o d o s o s t e r m i n a i s , ou s e j a , e x i s t i r e m t e r m i n a i s maia

-

a k i v o n e t e r m i n a i s menoa a k i v o a , a chance de uso que o s menua a - k i v o a dispensarem s e r á dada à q u e l e s maia a k i v o a , i s t o d e v i d o ao

(17)

8

11.3. CLASSES DE DADOS DO PROGRAMA

O s dados usados p e l o programa s ã o c l a s s i f i c a d o s e m d o i s t i p o s : g R o b a h b e R o c a h a

.

O s dados g R o b a h a s ã o a q u e l e s comuns a t o d o s o s p r o g r a - mas v i r t u a i s , i s t o

6 ,

não se a l t e r a m com o programa v i r t u a l que e s t i v e r com o c o n t r o l e . Normalmente deverão ser d e c l a r a d o s nos b l o c o s mais i n t e r n o s do programa r e a l , e não s e r ã o a t u a l i z a d o s p e l o SMT.

O s dados R o c a h h s ã o a q u e l e s e s p e c í f i c o s a um d e t e r m i n a - do programa v i r t u a l , a l t e r a n d o - s e em função do programa v i r t u a l que e s t i v e r sendo p r o c e s s a d o . ~ e v e r ã o s e r d e c l a r a d o s o b r i g a t o - r i a m e n t e no b l o c o m a i s e x t e r n o do programa r e a l , porque d e v e r ã o ser a t u a l i z a d o s p a r a cada programa v i r t u a l que f o r p r o c e s s a d o .

P a r a o programa r e a l o s dados R o c a h a s e r ã o o s d e c l a r a

-

dos no b l o c o mais e x t e r n o , e o s dados g R o b a h a s e r ã o o s d e c l a r a - dos nos b l o c o s m a i s i n t e r n o s do programa.

(18)

11.4. USO DO TERMINAL

O s t e r m i n a i s a s s o c i a d o s ao programa r e a l poderão e s t a r em d o i s e s t a d o s : akhvod e hnakivon

.

O s t e r m i n a i s akhvob s ã o a q u e l e s que e s t e j a m usando o s r e s p e c t i v o s programas v i r t u a i s .

O s t e r m i n a i s hnakhvon s ã o a q u e l e s q u e , embora e s t e j a m fazendo p a r t e d a l i s t a de t e r m i n a i s a s s o c i a d o s ao p r o g r a m a r e a l , não e s t e j a m usando nenhum programa v i r t u a l .

P a r a a a t i v a ç ã o e d e s a t i v a ç ã o de t e r m i n a i s s ã o usados comandos especificas do SMT: $ATIVE e $FIM.

O comando $ATIVE deve s e r dado quando um t e r m i n a l hnakh

-

v o d e s e j a r s e t o r n a r akhvo, i s t o

6 ,

a s s o c i a r - s e a um programa v i r t u a l e i n i c i a r processamento.

O comando $ F I M deve s e r dado quando um t e r m i n a l d e s e j a r e n c e r r a r s u a s a t i v i d a d e s , i s t o é, f e c h a r o a r q u i v o l ó g i c o a que e s t á a s s o c i a d o .

I n i c i a l m e n t e , todos o s t e r m i n a i s e s t ã o em e s t a d o hnakh-

v o , devendo s e r dado o comando $ATIVE em cada t e r m i n a l que d e s e

-

j a r se t o r n a r aXhvo.

Um t e r m i n a l que

t e n h a s i d o dciakhvado, i s t o

6 ,

dado o comando $FIM, poderá s e r novamente akhvado, b a s t a n d o p a r a is-

s o que se dê o comando $ATIVE.

~ l é m

dos comandos acima d e s c r i t o s e x i s t e m m a i s d o i s co- mandos que implementam uma função de t e s t e de hundwahc dos t e r - minais ( t e c l a d o )

.

s ã o e l e s : $TESTE e $ FIMTESTE

.

P a r a s e i n i c i a r o t e s t e de t e c l a d o do t e r m i n a l o mesmo d e v e r á e s t a r em e s t a d o hnakhvo, devendo e n t ã o ser dado o coman- do $TESTE. E s t e procedimento s ó s e e n c e r r a r á quando o coman d o $UMTESTE f o r dado.

Todos o s t e x t o s ( s e q u ê n c i a de c a r a c t e r e s s e g u i d o s de

@

) s e r ã o r e t r a n s m i t i d o s p a r a o t e r m i n a l p a r a v e r i f i c a ç ã o .

(19)

TI. 5 , I . DETALffES DO A R Q U T V 0 L Ó G ~ C O

O programa somente d e v e r á u s a r um Único a r q u i v o l ó g i c o a s s o c i a d o a t e r m i n a i s ; em c a s o de e x i s t i r m a i s de um, o s r e s u l

-

t a d o s s ã o i m p r e v i s f v e i s .

P a r a o a r q u i v o l ó g i c o do programa r e a l a s s o c i a d o a t e r - m i n a i s duas f u n ç õ e s s e r ã o a t e n d i d a s p e l o SMT: READ e W R l T E .

P a r a a função W R l T E será assumido o uso de c a r a c t e r e s de c o n t r o l e i n d i c a t i v o s de posicionamento, na t e l a , do t e x t o a s e r e s c r i t o .

N ~ O é p e r m i t i d o o uso de o p e r a ç õ e s de E/S com o a r q u i v o l ó g i c o em mais de uma phacedune do programa, i s t o é, não é pos- s i v e l serem s o l i c i t a d a s o p e r a ç õ e s de E/S num mesmo programa no b l o c o mais e x t e r n o ( p r i n c i p a l ) e em b l o c o s i n t e r n o s do programa (pnuceduheb). I s t o é d e c o r r e n t e do f a t o de e x i s t i r e m parâme

-

t r o s de c o n t r o l e de pnucedune a t i v a p a r a o lnkenphekudutt P L T l na akuck do T l , e , ao programa v i r t u a l p e r d e r o c o n t r o l e numa ope- r a ç ã o de E/S, nada i n d i c a que a o ganhá-lo de novo a b kach não t e n h a s i d o a l t e r a d a p o r o u t r o s programas v i r t u a i s p o s i c i o n a d o s e m o u t r a s p a r t e s do programa r e a l . Se t o d a s a s o p e r a ç õ e s d e

E/S e s t i v e r e m no mesmo b l o c o , a i n t e g r i d a d e da nkccck é mantida e consequentemente o programa v i r t u a l será executado s e m p r o b l e

-

mas.

O s c a r a c t e r e s de c o n t r o l e p o s s í v e i s s ã o o s do p r o t o c o l o TTY (TeRekype)

,

c a r a c t e r í s t i c a dos t e r m i n a i s que podem ser co- n e c t a d o s ao 71,

poderão e x i s t i r num mesmo t e x t o a s e r e s c r i t o no t e r m i - n a l v á r i a s o c o r r ê n c i a s dos c a r a c t e r e s de c o n t r o l e

-

FORM- F E E D

( * O C ) , L l N E - F E E D (aOA)

,

e CARRIAGE-RETURN ( # O D )

.

A ú n i c a r e s - t r i ç ã o imposta é que não poderão e x i s t i r num mesmo t e x t o d o i s CARRIAGE-RETURN a d j a c e n t e s , p o r r a z õ e s de c o n t r o l e i n t e r n o do SMT.

(20)

O maior tamanho de r e g i s t r o p o s s í v e l

e

de 8 1 bykea

,

de- v i d o ao uso do c a r a c t e r e de c o n t r o l e p a r a l i n h a s a serem e s c r i - t a s no t e r m i n a l , e de 80 bykea p a r a l i n h a s a serem l i d a s do t e r

-

mina1 p e l o programa r e a l . Como c o n s e q u ~ n c i a , o tamanho d e uma l i n h a l i d a do a r q u i v o l ó g i c o será i g u a l ao tamanho do r e g i s t r o l ó g i c o , e s p e c i f i c a d o p a r a o a r q u i v o , menos 1 ( - 1)

.

No c a s o de ser d e c l a r a d o p e l o programa r e a l um tamanho de r e g i s t r o maior que 81 byzea p a r a o a r q u i v o l ó g i c o a que e s t a

-

r ã o a s s o c i a d o s t e r m i n a i s , o SMT c a n c e l a r á o programa com mensa- gem c o r r e s p o n d e n t e no p a i n e l do TI.

ESPECI

FT

CAÇÃO TERMINAIS

A e s p e c i f i c a ç ã o dos t e r m i n a i s que e s t a r ã o a s s o c i a d o s a o programa r e a l d e v e r á s e r f e i t a p e l o comando de execuç2io do p h o - gnama, que t e m o s e g u i n t e formato:

o n d e , V017 - v o l w r i z d o a r q u i v o q u e a n & o p r o g r m ;

p & m

-

parârretros que são passados ao programa;

7

a>rqlLivo

-

hnkemo

-

= exkemo [v0131 : pehid&ico

L

hv&etrno

-

nome do arquivo definido no programa-fonte; e x A m o

-

non-e de arquiva existente em detemiinado d i s cor criado por u t i l i t á r i o específico, qile descreve

um

tenninal e m ternus de endereço físico, fomiato de

transmissão e velocidade C@ transmissão.

V013

-

nom do v o l w onde estã externo; se omitido, é assumido dism do sistema residente.

pdd&co

-

nmem6nia qus indica tipo do periférico; especificar SMT.

nome

-

nom da imagem do pmgrama, guardado pelo Carregador de

Programa (CPROG) no disco & v o l m V012, oorrespondente

2

a n c a

tenação f e i t a no amando de execução. E v i t a especificação de tÒ

-

dos os dados a cada vez ~ I E s e executar o programa.

(21)

71.5.3.

TERMINO

V0 PROGRAMA VIRTUAL

. . .

Quando um t e r m i n a l se d e s a t i v a r , i s t o é, d e r o comando

$ FIM, s e r á passado ao programa v i r t u a l c o r r e s p o n d e n t e à condi- ção d e E O F , que poderá s e r a c e i t a ou não p e l o programa v i r t u a l em função do que e s t i v e r programado, p o i s o t e r m i n a l s ó s e r á e - f e t i v a m e n t e d e s a t i v a d o quando o programa v i r t u a l d e r EXI T.

Mesmo d e p o i s de o c o r r i d a a condição de EOf p a r a o a r q u i

-

vo l ó g i c o , o programa ~ o d e r á e x e c u t a r o p e r a ç õ e s de E/S (READ.. e/ou WRITE.): com o mesmo, cabendo ao programador a r e s p o n s a b i l i

-

dade de p r e v e r que em o p e r a ç õ e s de e n t r a d a ( R E A D

:

p o s s a ocor- r e r a condição d e

EOf.

O t é r m i n o de t o d o s o s programas v i r t u a i s i m p l i c a r á no t é r m i n o do programa r e a l , i s t o é, quando t o d o s o s programas v i r

-

t u a i s derem E X T T , mais nenhum e s t a r á em processarnento, e o pro- grama r e a l t e r m i n a r á .

O SMT somente a d m i n i s t r a a a t u a l i z a ç ã o dos dados l o c a i s a cada programa v i r t u a l , nada fazendo e m r e l a ç ã o a dados g l o - b a i s . Por e s t a r a z ã o , c a s o o u t r o s a r q u i v o s l ó g i c o s ( e m f i t a

,

d i s c o , i m p r e s s o r a , e t c . ) sejam u t i l i z a d o s p e l o programa r e a l , s e r ã o comuns a t o d o s o s programas v i r t u a i s .

~ x c e ç ã o se f a r á a a r q u i v o s l ó g i c o s de a c e s s o d i r e t o , on

-

de e x i s t e a p o s s i b i l i d a d e de serem p a r t i c u l a r e s a cada programa v i r t u a l desde que s e j a m tomados o s cuidados n e c e s s á r i o s .

~ p Ó s a s o l i c i t a ç ã o de E/S p o r um programa v i r t u a l , como o c o n t r o l e pode ser dado a o u t r o programa v i r t u a l p e l o SMT, t o - dos o s dados r e f e r e n t e s ao a r q u i v o de a c e s s o d i r e t o (SEEK, e t c . ) devem s e r r e p o s i c i o n a d o s p e l o programa v i r t u a l .

(22)

1 1 . 5 . 5 . USO PE COMANDOS ESPECIAIS DA L I N G U A G E M PLTI

. -

-O s comandos SET e RESET, que servem p a r a i d e n t i f i c a r no p a i n e l q u a l t r e c h o do programa e s t á sendo executado, não devem ser usados em t r e c h o s que contenham operações de E/S com o SMT. I s t o porque o programa v i r t u a l p e r d e o c o n t r o l e a cada o p e r a ç ã o de E/S, sendo e s t e c o n t r o l e dado a o u t r o programa v i r t u a l , des- t r u i n d o a s e q u ê n c i a numérica dos c o n j u n t o s SETIRESET.

O comando T R A C E , a d m i t i d o p e l a linguagem PLTI, pode s e r usado p a r a teste do programa r e a l , desde que somente um (1) p r o

-

grama v i r t u a l s e j a a t i v a d o . Caso s e j a a t i v a d o m a i s d e um (1)

,

a s e q u ê n c i a de i n s t r u ç õ e s mostrada no v i d e o será uma m i s t u r a de s e q u ê n c i a s de i n s t r u ç õ e s dos v á r i o s programas v i r t u a i s .

(23)
(24)

Como f o i d i t o no c a p i t u l o a n t e r i o r , o SISTEMA MULTI-TER

-

MINAL (SMT) é um a d m i n i s t r a d o r ( m o n i t o r ) de programas v i r t u a i s , c a r a c t e r i z a d o um programa v i r t u a l quando o programa r e a l e s t i - v e r sendo e x e c u t a d o p a r a um determinado t e r m i n a l .

P a r a a r e a l i z a ç ã o d i s t o o SMT u t i l i z a um c o n j u n t o de t a

-

b e l a s e á r e a s i n t e r n a s , bem como á r e a s mantidas p e l o Siakema O-

p e & a c i a n a l do T I (SOCO), que servem como elementos de comunica- ç ã o e n t r e o s d i v e r s o s mÕdulos, cada um com uma função e s p e c í f i - c a , e que compõem o SMT.

O SMT e s t á e s t r u t u r a d o em módulos com funções e s p e c í f i - c a s que c r i a m e u t i l i z a m a s t a b e l a s e á r e a s a n t e r i o r m e n t e men- c i o n a d a s . O s mõdulos do SMT s ã o o s s e g u i n t e s : INI C 1 A í . T ZADOR

-

~ e s p o n s á v e l p e l a i n i c i a l i z a ç ã o g l o b a l do SMT. PROCESSADOR DE INTERRUPÇ~ES

-

~ e s p o n s á v e l p o r i d e n t i f i - c a r e p r o c e s s a r a s i n t e r r u p ç õ e s causadas p e l a p r e s e n ç a de um c a r a c t e r e na i n t e r f a c e com o s R i n h ou p e l o

t é r m i

-

no da t r a n s m i s s ã o de um c a r a c t e r e .

EXECUTOR DE E/S

-

Responsável p e l a execução d a s o p e r a -

ções

de e n t r a d a e s a i d a s o l i c i t a d a s p e l o programa.

DISPATCffER

-

Responsável p e l a a t i v a ç ã o dos d i v e r s o s p r o

-

gramas v i r t u a i s , de acordo com o e s t a d o em que e s t i v e

-

rem ( s a l v a n d o e a t u a l i z a n d o a s á r e a s de dados r e s p e c t i - v a s )

.

INTERPRETADOR DE COMANDOS

-

Responsável p e l a i n t e r p r e t a

-

ç ã o de t o d o s o s t e x t o s r e c e b i d o s dos t e r m i n a i s .

F I N A L 1 ZADOR

-

Responsável p e l a f i n a l i z a ç ã o de cada pro- grama v i r t u a l , quando f o r r e c e b i d o um E X l T do mesmo, bem como f i n a l i z a ç ã o t o t a l do SMT quando o Último programa v i r t u a l s e d e s a t i v a r .

(25)

16

111.2. TABELAS E

AREAS

MANIPULADAS PELO SMT

Cada uma das á r e a s e t a b e l a s , t a n t o do SMT como do SOCO, s ã o c r i a d a s e a l t e r a d a s p e l o s módulos enumerados no i t e m a n t e - r i o r (111

.I.)

,

da forma d e s c r i t a nos s u b - i t e n s s e g u i n t e s .

111.2.7. AREAS E TABELAS DO SOCO UTTLTZADAS P E L O SMT

111.2.7.7. T a b e l a Ren o l v i d a de Anquivun LÓgican (TRAL)

. . .

2 c r i a d a p e l o E d i X o n de Redenenciaa ExXennan ( R E F E X )

,

quando g e r a o programa e x e c u t ã v e l ( p e l o 1nXenpneXadon P L T T ) a p a r t i r da s a í d a o b j e t o da CompiRadon PLTT. i? u t i l i z a d a p e l o 1- N1 ClAi.1 Z A D Ú R p a r a v e r i f i c a ç ã o e obtenção do tamanho do r e g i s t r o l ó g i c o .

Cada elemento da TRAL c o r r e s p o n d e a um a r q u i v o l ó g i c o do programa e contém (FIGURA 111.1 .) : ( a ) i n s t r u ç ã o que c a r r e - ga o s e u i d e n t i f i c a d o r ; ( b ) um d e s v i o p a r a a TAF a t i v a a s s o c i a

-

da; ( c ) o tamanho do r e g i s t r o do a r q u i v o .

111.2.7.2. T a b e l a de Anquivo F h i c o (TAF)

. . . .

c r i a d a p e l o C P R O G após a c a r g a do programa, com b a s e nos dados f o r n e c i d o s p e l o comando de execução do mesmo. É usa-

da p e l o PROCESSADOR D E TNTERRUPÇÕES p a r a r e c e b e r / t r a n s m i t i r o t e x t o , r e c e b i d o / t r a n s m i t i d o c a r a c t e r e a c a r a c t e r e ; p e l o TNTER- PRETADOR DE COMANDOS quando d a movimentação de t e x t o s p a r a a

2-

r e a d e l e i t u r a do programar e p e l o E X E C U T O R D E EIS q u e , quando do i n i c i o d e o p e r a ç ã o de s a í d a , move o t e x t o p a r a a TAF, d e i x a n

-

do a c a r g o do PROCESSADOR D E TNTERRUPÇÓES o término d a mesma.

(26)

a . o t i p o da T A f ( t i p o do Arquivo ~ i s i c o ) ;

b . um d e s v i o p a r a a r o t i n a de E/S c o r r e s p o n d e n t e ao A r

-

q u i v o F i s i c o a s s o c i a d o ;

c. um p o n t e i r o p a r a a próxima TA? c o n c a t e n a d a ;

d. informações a d i c i o n a i s que dependem do t i p o de A r - quivo F í s i c o . No c a s o de t e r m l n a i s , a s informações a d i c i o n a i s s ã o (FI

-

GURA 111.1.): a. e n d e r e ç o f i s i c o do t e r m i n a l

( R i n h )

; b . formato d a t r a n s m i s s ã o ; c. v e l o c i d a d e de t r a n s m i s s ã o ; d . p o n t e i r o p a r a o Último c a r a c t e r e r e c e b i d o / t r a n s m i t i

-

do (1 b y z e ) ;

(27)

PROGRAMA - P L T I

O P DE E/S (ARQ. LOGICO 1 )

INSTRUÇAO QUE CARRE-

- 3 BYTES f 2BYTES f lB)'TEi

-ESMO

I

RQUIVO

--m TAF' s

1 DE E/S T A F DO

i

CARAC.

I' T CORRESP. CONCATENA- LINK A

7

L I D O /

o A

F DA CORRESF?

i

1

TRANSMOU TRANS

/ D M I S S ~ O

k1BYTE.t B Y T < S ~ L ~ B Y T E S ~ ~ . . ~ BYTES/&~BYTES~-82 BYTES

1 I ! 1 1

OGICO

(28)

1 1 1 . 2 . 1 . 3 . . . . . N ú c l e o R e s h d e n X e ( N R E S )

O NRES é uma á r e a f i x a n a memória contendo uma s é r i e de informações de c o n t r o l e p a r a o SOCO, bem como algumas r o t i n a s a u x i l i a r e s muito usadas (FIGURA 111.2.)

.

O SMT u s a r á , do N R E S , algumas informações

e x i s t e n t e s e c r i a r á o u t r a s p a r a s e u p r ó p r i o c o n t r o l e .

a .

Desvio p a r a o e n X h y - p o i n t do programa (Pos 35 a 37 Hex) usada p a r a c á l c u l o do e n d e r e ç o e tamanho d a

5-

r e a de dados do programa p e l o I N I C I A L 1 ZAVOR.

6. E X I T (Pos 38 a 55 Hex) a l t e r a d a p e l o I N I C I A L 1 ZAVOR, p a r a s e r wn d e s v i o p a r a o SMT p r o c e s s a r o f i m do programa v i r t u a l , quando e s t e r e c e b e r $FIM do t e r m i

-

na1

.

R e s t a u r a d a p e l o F l NALI ZAVO R a o t é r m i n o do SMT. c . Endereços da T R A L e da TAF em uso (Pos 70 a 73 Hex) a t u a l - i z a d a p e l a r o t i n a a u x i l i a r TRATAF com o s ende- r e ç o s d a T R A L e da TAF em uso no momento.

d . Endereço da A U V e U h e U do I n X e h p h e k u d o h P L T 1 (Pos 7 4 e 75 Hex) c r i a d o p e l o n ú c l e o do I n R e h p n e k u d o h P L T I

,

apontando p a r a a 6 U v e u h e u c u j o formato

é:

.

STATUS

-

r e s u l t a d o ( r e t o r n o ) d a Última operação de E/S r e a l i z a d a ( m i c r o - r o t i n a 1 N T E S ) ;

.

r e g i s t r a d o r e s 8, C , V , E , A , H

e

L , n e s t a ordem;

.

e n d e r e ç o de i n i c i o e de fim p a r a opção VUMP de m e m ó r i a quando em uso o TRACE P L T I ;

.

P h o g h u m C o u n R e h do 1 n t e h p h e R u d a h P L T I , s a l v o quan

-

do o TRACE PLTI e s t i v e r em uso;

.

P h o g h ~ m C a u n X e h da Última o p e r a ç ã o de E/S execu- t a d a p e l a m i c r o - r o t i n a I N T E S (apontando p a r a a p o s i ç ã o s e g u i n t e ao código da operação de E/S)

.

(29)

P o n t e i r o p a r a o n ú c l e o do T n k e n p n e k a d o n PLTT I n d i c a d o r de o v e n @ a w ( q u a l q u e r t i p o ) 7 9 78 P o n t e i r o p a r a h k a c k de SETIRESET do C o m p i l a d o n PLTI - - S a v e a n e a dos r e g i s t r a d o r e s : STATUS 8, C, V, E, A, H e L Endereço da TAF em uso (Última r e f e r e n c i a d a )

Endereço da TRAL em uso (Última r e f e r e n c i a d a ) N h e r o de l i n h a s d a t e l a do v í d e o ( c o n s o l e ) Número de c a r a c t e r e s d a l i n h a do vfdeo ( c o n s o l e ) ~ Ü m e r o de l i n h a s Ú t e i s e s c r i t a s no v í d e o ( c o n s o l e ) 76 7 4 72 70 6F 6E 6 D LAMPA 5E E n k h y - p o i n k do CPROG

Endereço em d i s c o onde e s t á o CPROG

5C 5A

I

~ Ü m e r o de b y t e s do CPROG 58 Endereço de c a r g a do C P R Ó G E X I T INCHL 28 56 - 3 8 Desvio p a r a o e n k n y - p o i n k do programa (JMP) ~ Ú m e r o de r e g i s t r o s l i d o s p e l o RATCH (CPROG) LUZES (Desvio p a r a LAMPA)

P o n t e i r o p a r a o Último b y k e da á r e a l i v r e Endereço do d i r e t ó r i o do d i s c o 35 33 30 2E 2 C Data do d i a : DDMMAA ( 3 b y k e n ) 25 I N D E X 20 P o n t e i r o p a r a o s p a r â m e t r o s

I n d i c a d o r de parâmetro: f O tem p a r h e t r o ; = O não tem

1 E 1D

I

LDEND DECHL

I o 8

1 8 STEND 1 0 INDDX 100

Tamanho da memória (em b l o c o s de 2 5 6 b y k e h )

FIGURA 111.2. N ~ C L E O RESTDENTE DO S O C O (NRES)

(30)

1 7 1 . 2 . 2 . .

AREAS

E TABELAS CRIADAS P E L O . SMT, NA MEMORIA

. .

l I 1 . 2 . 2 . l . T a b e l a de ~ a u á n i a a (TABUS)

A TABUS

6

c r i a d a p e l o módulo I N I C I A L I Z A D O R quando da o- c 0 r r ê n c i . a da p r i m e i r a o p e r a ç ã o de E / S , a t u a l i z a d a p e l o s m6dulos E X E C U T O R D E E I S , I N T E R P R E T A D O R D E C O M A N D O S , PROCESSADOR D E 1N- T E R R U P Ç Õ E S e F I N A L I Z A D O R , e u t i l i z a d a p e l o D T S P A T C H E R no c i c l o de b u s c a de programas v i r t u a i s p r o n t o s p a r a serem p r o c e s s a d o s . A TABUS contém: a . e n d e r e ç o f í s i c o do t e r m i n a l ( R i n h )

,

usado p e l o P R O - CESSADOR D E I N T E R R U P Ç O E S p a r a l o c a l i z a r área de l e i

-

t u r a / t r a n s m i s s ã o c o r r e s p o n d e n t e ao t e r m i n a l que cau s o u a i n t e r r u p ç ã o ;

b .

a

uveatteu contendo Pnagnum CounXen do 'InXenpneX ad

o

n

P L T I ( P C ) ;

c. e n d e r e ç o da á r e a e m d i s c o c o r r e s p o n d e n t e à á r e a de dados a s s o c i a d a ao programa v i r t u a l quando de s u a p r i m e i r a a t i v a ç ã o ;

d. r e t o r n o da o p e r a ç ã o de E/S (Última r e a l i z a d a ) ; e . p o n t e i r o p a r a a T A f que contém á r e a de r e c e p ç ã o /

t r a n s m i s s ã o c o r r e s p o n d e n t e ao programa v i r t u a l ;

.

e n d e r e ç o da á r e a de E/S p a r a a q u a l deve s e r movido o t e x t o quando da r e a l i z a ç ã o o p e r a ç ã o de l e i t u r a do t e r m i n a l ;

g . e s t a d o do programa v i r t u a l , a t u a l i z a d o p o r v á r i o s m6dulos do SMT de acordo com autômato e m a t r i z de e s t a d o s c o r r e s p o n d e n t e s (FIGURA 1 1 1 . 4 . )

.

11 1.2.2.2. . . . . Pankeiha puna

a

ERemenko

de

TABUS

(31)

do elemento c o r r e s p o n d e n t e ao Último programa v i r t u a l a t i v o . c r i a d o e a t u a l i z a d o p e l o DTSPATCHER quando da a t i v a ç ã o de pro- gramas.

1 11.2.2.3. . . . . Endeneça e Tamanha da Anea de Dadaa d a

Pna

-

gnama

0 Endetteço e o Tamanho da Atteu de Dados do Pttognama s ã o c r i a d o s p e l o 1NICTAL1ZADOR e usados p e l o D T S P A T C H E R p a r a s a l - v a r e a t u a l i z a r a á r e a de dados de cada programa v i r t u a l .

O Tamanha da Attea de Dadoi é guardado de s u a s formas: o tamanho e x a t o e o tamanho arredondado p a r a um número i n t e i r o de s e t o r e s (512 b y k e a ) de d i s c o , e s t e Último p a r a p o s s i b i l i t a r a gravação em d i s c o das á r e a s de cada programa v i r t u a l .

111.2.2.4. Saveanea da RoZhna E X Z T

A Saveanea da Rokina E X T T contém a p a r t e d e s t r u í d a p e l o SMT p a r a c r i a r um d e s v i o p a r a o mesmo p r o c e s s a r q u a l q u e r E X l T dado p e l o programa.

e

c r i a d a p e l o 7N1CTALTZADOR quando e s t e a 1

-

t e r a a E X T T , e u t i l i z a d a p e l o F I N A L I Z A D O R p a r a r e c o n s t r u i r a E - X1T ao término do programa r e a l .

117.2.2.5. PanXehna puna A m a Reaenva em Dhaco

. .

O Ponkehna puna Attea Reaettva em Disco t e m o endereço da á r e a de d i s c o que contém a imagem de á r e a de dados do programa quando da o c o r r ê n c i a d a p r i m e i r a operação de E/S.

e

c r i a d o pe- l o lN1ClALlZADOR e u t i l i z a d o p e l o TNTERPRETADOR D E COMANDOS pa- r a i n i c i a l i z a r a á r e a de dados de t e r m i n a l que t r a n s m i t a o co- mando $A71 V € .

(32)

11 1.2.2.6. . . . . Ponkeina paha a PnÕxima Anea de D i a co D i a po

-

nzveR

O Ponkeino puna a Phtxima Ahea de

Disca

Diapon~vek? con-

t é m

o e n d e r e ç o d e á r e a de d i s c o a ser u t i l i z a d o p e l o INTERPRETA

-

DOR D E C O M A N D O S p a r a g u a r d a r á r e a de dados do próximo t e r m i n a l que p e l a p r i m e i r a vez d e r o comando $AT1 V € .

111.2.2.7. Tamanho d o Regiatno 1Õgico d o A q u i v o que uaa

o

SMT

O Tumanho d a Regiakha 1Úgica d a Anquiva que uaa o SMT contém o tamanho do r e g i s t r o a ser e s c r i t o no t e r m i n a l ( i n c l u i - do o c a r a c t e r e de c o n t r o l e ) e o tamanho mais um (+ 1) do r e g i s - t r o a s e r l i d o do t e r m i n a l .

fi

c r i a d o p e l o 1N1CTALIZADOR e u t i - l i z a d o p e l o E X E C U T O R D E E / S e p e l o I N T E R P R E T A D O R D E COMANDOS n a r e a l i z a ç ã o , r e s p e c t i v a m e n t e , das o p e r a ç õ e s de s a í d a e de e n t r a - da.

111.2.2. b . Saveanea Contendo PC Reaenva

O Saveahea contendo

a

PC Reaehva, que c o r r e s p o n d e àque- l e da p r i m e i r a o p e r a ç ã o de E / S , é c r i a d a p e l o lN1CIALIZADOR e

-

u t i l i z a d a p e l o TNTERPRETADOR D E COMANDOS p a r a c r i a ç ã o do P C no

-

e lemento de TABUS quando um programa v i r t u a l f o r a t i v a d o v i a co- mando $ ATI V € .

111,Z. 3 .

AREAS

E TABELAS C R I A D A S P E L O S M T , EM D1SCO

. . .

11 1.2,3.7. Anea de Dadoa de Pnoghamaa Vihkuain

. . . .

A Ãnea de Dadoa

,

e m d i s c o , uma (1) p a r a cada programa v i r t u a l a t i v o , é c r i a d a p e l o I N T E R P R E T A D O R D E COMANDOS p a r a ca- da t e r m i n a l que t r a n s m i t i r $ A T I V E ( t o r n a r - s e a t i v o )

.

a c e s s a -

(33)

da pelo I31SPATCff E17 quando passa o c o n t r o l e de um programa v i r - t u a l p a r a o u t r o , p a r a s a l v a r e a t u a l i z a r , respectivamente, a á- r e a de dados.

~ l é m dessas Aheun de Dudon acima, e x i s t e a Aheu de Da- don Renehvu, que serve p a r a ativação de programas v i r t u a i s , e é a p r i m e i r a á r e a do disco.

(34)

111.3. DIAGRAMA CONCEITUAL DO SMT

P a r a melhor compreensão da d e s c r i ç ã o l ó g i c a de c a d a mó- d u l o do SMT, a s e g u i r mostramos o diagrama c o n c e i t u a l do SMT

(FIGURA 111.3.)

,

que p r o c u r a m o s t r a r g r a f i c a m e n t e como s e pro-

c e s s a o f l u x o de comunicações e n t r e o

InXehpheXadun

PLTZ, o p r o

-

grama, e cada mÕdulo do SMT.

(35)

1: OPER. DE E/S (READ OU WRITEI OUTRA OPER. DE E/S OUTRA OPER. DE E/S ÁREA LIVRE -ROM

-

FIGURA III. 3: ESTRUTURA DO SMT E LIGACÕES C/ PROGRAMA REAL

(36)

1 1 1 . 4 . ESTADOS DE UM PROGRAMA VIRTUAL

Um programa v i r t u a l pode e s t a r em onze (11) e s t a d o s d i - f e r e n t e s , conforme a s e q u ê n c i a das o p e r a ç õ e s de E/§ o c o r r i d a s :

INATIVO ENTRADA PENDENTE ( INATI VO E P )

-

Programa v i r t u - a l não a t i v a d o , i s t o é, não f o i r e c e b i d o a i n d a o coman- do $ATIVE.

TNATI VO FIM DE ENTRADA ( I N A T I VO FE)

-

Programa v i r t u a l i n a t i v o , após r e c e b e r uma mensagem a i n d a não a n a l i s a d a .

ATIVO O K

-

Programa v i r t u a l p r o n t o p a r a ser e x e c u t a d o , a p a r t i r de um determinado PC.

ATIVO SAfVA PENDENTE (ATIVO S P )

-

Programa c u j a Última o p e r a ç ã o de E/S f o i um WRITE que a i n d a não e s t á comple- t a d o , porém a o p e r a ç ã o já e s t á sendo e x e c u t a d a .

A 7 1 VO ENTRAVA PENDENTE ( A 7 1 VO E P )

-

Programa v i r t u a l que s o l i c i t o u a o p e r a ç ã o de E/§ REAV, que a i n d a não f o i com

-

p l e t a d a .

ATIVO FIM DE ENTRADA (ATIVO FE)

-

Programa c u j a Última operação de E/S f o i um READ que e s t á completado ( Cn r e c e b i d o )

.

ZNATI VO TESTE ENTRADA PENDENTE (INATIVO TESTE E P )

-

T e r

-

mina1 que ' p e d i u t e s t e do hundwune do s e u t e c l a d o ( d i g i - t o u $TESTE)

.

INATIVO TESTE FIM DE ENTRADA

r e c e b i d o de t e r m i n a l que e s t á

1NATl VO TESTE s A T D A PENDENTE

(INATIVO TESTE FE)

-

Texto t e s t a n d o s e u t e c l a d o .

( I N A T I VO TESTE S P )

-

Texto sendo e n v i a d o de v o l t a a t e r m i n a l que

e s t á

t e s t a n d o s e u t e c l a d o .

INATIVO s A ~ v A PENDENTE (INATIVO S P J

-

Programa v i r t u a l i n a t i v o , com mensagem de e r r o a t r a n s m i t i r a i n d a não

(37)

completada.

INATIVO MENSAGEM PENDENTE (INATIVO MP)

-

Programa v i r

-

t u a 1 i n a t i v o , com mensagem de a t i v a ç ã o sendo e n v i a d a ao t e r m i n a l que o a t i v o u .

O autômato que d e s c r e v e a s mudanças d e e s t a d o d e cada programa v i r t u a l , em função da evolução do mesmo, i s t o é, o c o r - r ê n c i a de READS, WRITES, EXITS, i n t e r r u p ç Õ e s , e t c . , é a p r e s e n t a

-

do na ( F I G U R A 1 1 1 . 4 . ) a s e g u i r .

(38)

QQ OUTRA COISA COISA

UQ

OUTRA COISA COISA INATIVO EP INATIVO FE ATIVO OK ATIVO SP ATIVO EP ATIVO FE INATIVO TESTE EP

I

INATIVO TESTE

FEI

8

1

9 INATIVO MP 11 - FIGURA

m.

4: AUTOMATO E TABELA DE TRANSICÕES CORRESPONDENTES A MUDANCAS DE ESTADO DO PROGRAMA VIRTUAL.

(39)

111.5. DESCRIÇÃO DA L ~ G I C A DO SMT

O diagrama c o n c e i t u a l do SMT (FIGURA 111.3.) mostrou g r a f i c a m e n t e a s i n t e r r e l a ç õ e s e n t r e o programa r e a l e o SMT com o s s e u s d i v e r s o s módulos e t a b e l a s . A s e g u i r

é

d e s c r i t o , p a s s o a p a s s o , o caminho que é s e g u i d o quando as o p e r a ç õ e s de E/S vão sendo a t e n d i d a s d u r a n t e a execução dos v á r i o s programas v i r t u - a i s .

1 I I . 5 . 1 . . . . INTCIALIZAÇÃO DO SMT E PROGRAMAS VIRTUAIS

A p r i m e i r a o c o r r ê n c i a é a c a r g a p e l o C P R O G , n a memória, do programa r e a l e d a s r o t i n a s de E/S s o l i c i t a d a s p e l o comando de execução do programa, i n c l u s i v e o SMT, que, como j á dissemos, f a z p a r t e do grupo de r o t i n a s de E/S.

O c o n t r o l e é e n t ã o p a s s a d o p e l o C P R Ú G ao programa r e a l que s e i n i c i a , sendo e n t ã o e x e c u t a d a s t o d a s a s i n s t r u ç õ e s i n i

-

c i a i s , e n t e n d i d a s como sendo a q u e l a s e x e c u t a d a s a n t e s d a p r i m e i

-

r a operação de E/S com t e r m i n a i s . T a i s i n s t r u ç õ e s , comuns a t o

-

dos o s programas v i r t u a i s , s e r ã o e x e c u t a d a s uma Única vez e pe- l o programa r e a l .

Ao s e r s o l i c i t a d a a p r i m e i r a o p e r a ç ã o de E / S , o c o n t r o - l e é passado ao SMT v i a d e s v i o s s u c e s s i v o s : do programa r e a l p a r a a TRAL ( C A L ) , da T R A L p a r a a p r i m e i r a TAF a s s o c i a d a ( J M P ) ,

e da TAF p a r a o módulo E X E C U T O R DE EIS do SMT ( J M P ) .

O E X E C U T O R DE EIS chamará a r o t i n a a u x i l i a r TRATAF, c u j a função é a t u a l i z a r o s campos T R A L e TAF e m uso no NRES e e m s e - g u i d a d e t e r m i n a r á que t a l o p e r a ç ã o de E/S é a p r i m e i r a a ocor- rer, passando imediatamente o c o n t r o l e ao módulo 1NIClALI Z A D Ú R .

O INICIAL1 ZADOR c r i a r á e n t ã o o s elementos de TABUS ( p a r

-

t e ) a p a r t i r dos dados de cada TAF a s s o c i a d a à T R A L , mensagem de a t i v a ç ã o de programa v i r t u a l p a r a a á r e a de E/S n a TAF, mo- vendo p a r a o campo E ~ k a d a d o Phaghumu VihXuaR de cada elemento

(40)

de TABUS, e s t a d o TNATl VO SP, e preparando o s i n t e r f a c e s p a r a a s o p e r a ç õ e s de E/S com a s l i n h a s de comunicação.

s e r á guardado também o PC do lnkenpnekudoh PLTT ( r e f e - r e n t e p r ó p r i a operação de E/S s o l i c i t a d a ) numa á r e a r e s e r v a do SMT p a r a f u t u r a s a t i v a ç õ e s de programas v i r t u a i s p o r t e r m i - n a i s que j á tenham s i d o d e s a t i v a d o s ($FIM) . e e s t e j a m s e r e a t i - vando ($ATIVE).

Em s e g u i d a , com b a s e na e s t r u t u r a p a d r ã o dos programas, o TNICTALT Z A D Ú R c a l c u l a r á o e n d e r e ç o e tamanho d a á r e a de dados do programa r e a l , que é l o c a l a cada programa v i r t u a l .

A á r e a de dados s e r á e n t ã o guardada em á r e a p r ó p r i a do SMT p a r a uso e m f u t u r a s a t i v a ç õ e s de programas v i r t u a i s , ã seme

-

l h a n ç a do que é f e i t o com o PC r e s e r v a .

O e n d e r e ç o da á r e a de dados, bem como s e u tamanho c a l c u

-

l a d o , s ã o guardados em á r e a p r ó p r i a do SMT p a r a uso p e l o DTSPAT

-

C f f E R quando na passagem de c o n t r o l e a o s v á r i o s programas v i r t u - a i s p a r a s a l v a r e/ou a t u a l i z a r a s r e s p e c t i v a s á r e a s d-e dados.

e

também guardado o tamanho da á r e a de dados, a r r e d o n - dando p a r a um número i n t e i r o de s e t o r e s do d i s c o p a r a p o s s i b i l i

-

t a r a gravação d a s á r e a s de dados l o c a i s , c o r r e s p o n d e n t e s a o s programas v i r t u a i s , em d i s c o .

B

v e r i f i c a d o p e l o TNTCIALTZADOR s e a á r e a d i s p o n í v e l em d i s c o comporta o n h e r o de t e r m i n a i s a s s o c i a d o s a o programa r e - a l , a t r a v é s de comparação do tamanho da á r e a d i s p o n i v e l ( e x i s - t e n t e no NRES) com a á r e a t o t a l s o l i c i t a d a . Em c a s o n e g a t i v o , o programa r e a l é c a n c e l a d o com mensagem c o r r e s p o n d e n t e .

N e s t a p o s i ç ã o o SMT e s t á i n i c i a l i z a d o e o INTCIALTZADOR e x e c u t a r á s u a s t a r e f a s f i n a i s : a l t e r a r o i n i c i o - da r o t i n a E X T T

( 3 p r i m e i r o s bykes) p a r a serem um d e s v i o i n c o n d i c i o n a l p a r a o FINAL1 ZADOR e , p o r Último, c o l o c a r um d e s v i o no n ú c l e o do Tnkeh

-

phekadah PLTT p a r a o PROCESSADOR DE TNTERRUPÇÕES, fazendo com que a p a r t i r d e s t e momento s e j a m s i m u l a d a s a s i n t e r r u p ç õ e s .

O Tnkehphekudon PLTT e n t ã o se e n c a r r e g a r á d e , a cada c o n j u n t o de i n s t r u ç õ e s PLT1 e x e c u t a d a s (no momento f i x a d o e m u- m a (1) i n s t r u ç ã o ) , p a s s a r o c o n t r o l e ao PROCESSADOR DE 7NT-ERRUP

(41)

Após c o l o c a r o d e s v i o no NRES, o INICTALIZADOR p a s s a o c o n t r o l e ao DISPATCHER.

A t é e s t e momento, t o d o s o s procedimentos s ã o comuns a

t o d o s o s programas v i r t u a i s , i s t o

6 ,

s ã o e x e c u t a d o s a n i v e l de programa r e a l e uma Única v e z , p o i s s ã o procedimentos de i n i c i a

-

l i z a ç ã o .

pós i s t o , o s procedimentos s ã o p a r t i c u l a r e s a c a d a p r o

-

grama v i r t u a l e ocorrem e m função da mudança de e s t a d o de cada um, de modo a s s h c r o n o , c o n t r o l a d o p e l o DISPATCHER, que sempre p e s q u i s a r á em TABUS o próximo programa v i r t u a l p r o n t o p a r a ser p r o c e s s a d o , segundo o e s t a d o em que cada um s e e n c o n t r e .

l I I . 5 . 2 . L Ú G I C A DO PROGESSAMENTO DE UM PROGRAMA VIRTUAL

P a r a f a c i l i d a d e de entendimento s e r á d e s c r i t o daqui em d i a n t e o que o c o r r e com um (1) determinado programa v i r t u a l . Na r e a l i d a d e , tudo i s s o a c o n t e c e p a r a t o d o s o s programas v i r t u a i s , em p a r a l e l o , e , como f o i d i t o , a s s i n c r o n a m e n t e , c o n t r o l a d o p e l o DTSPATCffERI que sempre r e i n i c i a r ã a p e s q u i s a do próximo programa v i r t u a l p r o n t o p a r a s e r p r o c e s s a d o a p a r t i r do elemen- t o de TABUS s e g u i n t e ao Último programa v i r t u a l que e s t a v a sen- do p r o c e s s a d o . I s t o a s s e g u r a r á uma d i s t r i b u i ç ã o uniforme de a- tendimento a t o d o s o s programas v i r t u a i s , em função da a t i v i d a - de p r ó p r i a de cada um.

Após a i n i c i a l i z a ç ã o do SMTI o DTSPATCffER, e s c r i t o e m PLTI de modo a p e r m i t i r a execução c o n c o r r e n t e com o PROCESSA

-

D O R DE TNTERRUPÇOES, e n t r a r á num c i c l o de b u s c a em TABUS a t é que algum t e r m i n a l s o l i c i t e a a t i v a ç ã o de um programa v i r t u a l v i a comando $ATIVE. I s t o s i g n i f i c a que o PROCESSADOR DE TNTERRUP- COES t e r á r e c e b i d o algum t e x t o completo, e mudado o e s t a d o do programa v i r t u a l a s s o c i a d o ao t e r m i n a l que e n v i o u o t e x t o p a r a

T N A T T V O FE.

O DlSPA7CHER e n t ã o i d e n t i f i c a r á que e s t a ação o c o r r e u

,

e p a s s a r á o c o n t r o l e ao INTERPRETADOR DE COMANDOS p a r a p r o c e s s a

-

mento do comando r e c e b i d o .

Referências

Documentos relacionados

[...] o professor para contemplar a aprendizagem, proporcionando o letramento analógico e digital, precisa surpreender, cativar e conquistar os seus alunos,

Para as vigas onde os laminados foram colados na superfície do concreto foi necessária a utilização de um detector de metais para localizar os estribos como mostra a Figura 5.13

O controle da proliferação de ratos na avicultura é muito importante, pois além de consumirem ração, danificar equipamentos, cortinas e outros materiais, podem servir de fonte

Figura B.6 – Campo de tensões equivalentes de von Mises referentes ao último passo de carga aplicada para o modelo axissimétrico do caso 2.. Caso 2 –

O Plano de Metas Compromisso Todos pela Educação, de 2007, e a Política Nacional de Formação de Profissionais do Magistério da Educação Básica, instituída em 2009 foram a base

Art. O currículo nas Escolas Municipais em Tempo Integral, respeitadas as Diretrizes e Bases da Educação Nacional e a Política de Ensino da Rede, compreenderá

de professores, contudo, os resultados encontrados dão conta de que este aspecto constitui-se em preocupação para gestores de escola e da sede da SEduc/AM, em

Os principais resultados obtidos pelo modelo numérico foram que a implementação da metodologia baseada no risco (Cenário C) resultou numa descida média por disjuntor, de 38% no