57
Eindhoven University of Technology MASTER Het koppelen van een aantal terminals aan de DEC1O-computer over een telefoonlijn m.b.v. een PDP8-minicomputer de Groot, C.J. Award date: 1978 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Eindhoven University of Technology

MASTER

Het koppelen van een aantal terminals aan de DEC1O-computer over een telefoonlijn m.b.v.een PDP8-minicomputer

de Groot, C.J.

Award date:1978

Link to publication

DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Page 2: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Rapport van het afstudeerwerkverricht gedurende de periodeaugustus 1977-junl 1978blj het rekencentrumvan de Landbouwhogeschool te

TECHNISCHE HOGESCHOOL

EiNDHOVEN ',.

STUDlEB1BllOTHEEK ~

ELEKTROTECH~\E~ ;~~'.__ ;4 •••• w ,

Wageningen

Het koppelen van een aantalterminals aan de DEClO-computerover een telefoonlijnmbv. een POP8-minicomputer.

C•J • de Gr 00 t

Afstudeer-hoogleraar'ir. ~.S. Elzas

Kontakt-hoogleraar'prof. ir. f.J. Kyls tra

Wageningen, junl 1978

Page 3: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

1.02.02. I2. I • I2. I .22.1.32.22.2. I2.2.22.2.32.32.3. I2.3.22.3.33.03. I3.24.05.06.07.08.09.010.010. I10.210.3I 1.0I I • I11.2II .3II .4I I .5I I .5. I11.5.2I I .611.7I I .811.912.013.0

pagina 2

Inhoudsopgave I

INLEIDINGHAS-INFORMATICA ONDERWIJS EN COMPUTERGEBRUIKAard Van Het Onderwi js.Appreciatie-onderwijs.Applikatie-onderwijs.Geintegreerd Gebruik.Aard Van Het Computergebruik.Appreciatie (~derwijs

Applikatie-onderwijs.Geintegreerd GebruikIntensiteit Van Het Computergebruik Per School.Appreciatie-onderwijsApplikatie-onderwijs.Geintegreerd Gebruik.NADERE KWANTIFICERING VAN DE EISEN PER SCHOOL.UitrustingComputer ResourcesVIRTUELE TERMINALSOPSERKOMMUN IKATI EASYNCHRONE EN SYNCHRONE KOMMUNIKATIESIMPLEX- HALF DUPLEX- EN DUPLEXVERBINDINGENPROTOKOLHET KOMMUNIKATI EPROGRAMMAHet Kommuni katie programma op De PDP8Besturing Gebruikers-terminalBesturingsprogramma Van De DEClO-interface.IMPLEMENTATIE-DETAILSProcessenQueuesMe ssage-buffers.SchedulerDe Subroutines GETWRD en PUTWRDPUTWRDGETWRDDe InterruptDe Interrupt Handlers.De Free PoolDe Funktie Van Het Control-Y-karakterNawoordLi teratuur

Page 4: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk I

INLEIDING

Sinds september 1974 is het leervak Informatica ingevoerd opde \0 Hogere Agrarische Scholen (HAS'en). Vanaf hetzelfdetijdstip maken de 10 HAS' en gebruik van het timesharingcomputersysteem (DEClO) van de Landbouwhogeschool waarmee zevi a telefoonkles Ii jnen verbonden z i j n. In f iguur I. I isdeze situatie schematisch weergegeven.

~t'eCh

~--=_BOS_Ch_-------,

Flguur IJ Lokatie Hogere Agrarische Scholen.

Page 5: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

INLcIDING

ladere school beschikte over 2 teletype-terminals metpons band-I /0 waardoor u i tw1sse 11 ng van data en programma'smet de computer in Wageningen mogelijk is. Een uitbreidingvan het aantal terminals kwam tot stand 1n 1976. Inhetzelfde Jeer werd oak de kapaciteit van de LY-computervergroot. Aangezien deze machine echter gedeeld wordt metde LH en andere gebrulkers, en aangez1en het gebruik van diezijde veel sterker is toegenomen dan verwacht werd, is detoe~ang tot het centrale systeem voer de HAS'en zeermoeiliJk geworden. Daarenboven werd het steeds moeiliJkerde, door de kieslijnen veroorzaakte, hoge kommunikatiekostenblnnen voor de HAS'en aanvaardbare perken te houden.

Om de hierdoor ontstane problemen op te lo~sp.n is hetnoodzr~~llJk de apparatuur ult te breiden.

Hierbij zijn de volgende aspekten te onderscheiden%

1. De apparatuur op de scholen dlent zodanig te wordenultgebreld, dat al het praktlsch werk binnen depraktlkum-uren verricht kan worden.

2. Voor zover voor dlt werk kontakt met het centralecomputer systeem noodzakelijk Is, moet kommunikatievia telefoonliJnen op een zo ekonomlsch mogelijkewljze gegarandeerd zijn.

3. In het centrale systeem is een voldoende kapaclt~lt

verelst om het door de HAS'en aangeboden werk teverr1chten, ongeacht de omvang van de taken die vanandere zlJden (LH, onderzoeks1nstltuten en derden)worden aangeboden.

Het meest wezenl1Jke probleem dat onder ogen gezien moetworden is verru1ming van de kommun1katlem1ddelen.

De hUldige methode van kommun1katie 15 gebaseerd op normaletelefoonlijnen (k1eslijnen). Het voordeel van deze opzet isde eenvoud van de benod1gde techn1sche voorzienlngen.Hiertegenover staan de hogere var1abele kosten.

Het 15 techn1sch mogeliJk op een ander kommun1katlesysteemover te gaan. (vaste, gehuurde telefoonlijnen enmult1plexing) waarblJ de gebru1kskosten tot een vast bedragper Jaar beperkt Ql1jven en waarb1j ledere te verwachtengroe1 kan worden opgevangen. De hlervoor benod1gdeInvesterlng 15 aanz1enlijk. Toch 1s voer deze 1nvester1nggekozen, aangez1en h1erdoor het door de telefoonkostengestelde verbru1ksplafond doorbrokan wordt an een verderegroe1 over een per10de van 6 a 8 Jaren te reallseren Is.

,

Page 6: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

INLEIDING pagina 1-3

Er zijn bij de voorbereiding van het voorstel totuitbreiding een aantal mogelijke apparatuur samenstellingenen werkwijzen onderzocht. Deze kunnen in driehoofdkategorieen worden ingedeeld J

I. Systemen waarbij aIle computerverwerking op descholen zelf plaats vindt.

2. Systemen waarbij de scholen voorzien zijn vaninvoer- en uitvoerapparaten, doch waarbIj aIleverwerleing op een centraa! punt plaats vindt.

3. Systemen waarbij de scholen op een centraal centrumzijn aangesloten, doch waarbij een dee 1 van hetwerle op school kan worden verricht.

De eerstgenoemde oplossing, waarbij gebruik gemaakt zoukunnen worden van Kleine zelfstandige microcomputers, 1Ijktop het eerste gezicht aantrekkelljk. Bij nadere beschouwingblijkt dat deze apparatuur thans nog relatief duur is enbovendien geen mogelijkheid biedt om uitgebreidereprogramma's en gegevensverzamellngAn te benutten. Bovendienontbreekt hier de, als zeer essentIeel ervaren, mogeliJkheldtot uitwisseling van programma's via een centrale programmabibiiotheek tussen de HAS'en onder ling en tussen de HAS'en,de LH en landbouwkundige onderzoelesinstituten.

De tweedeingeslagenmiddelen.

opiossingweg, met

is in feiteeventueel

een voortgaan op deverbeterde kommunikatie

Er is In prIncipe voor de derde oplossing gekozen. Eenmogelijke realisering is voor elke HAS een PDP8-systeem meteen aantal terminals aan te schaffen. De PDP8-en kunnen danieder dmv. een vaste huurlljn verbonden worden met deDEClO. De bedoeling van dit afstudeerprojekt is teonderzoeken wat voor software hiervoor nodig is.

Page 7: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 2

HAS-INFORMATICA ONDERWIJS EN COMPUTERGEBRUIK

2.1 AARD VAN HET ONDERWIJS.

2.1. I Appreciatie-onderwijs.

- Wordt gegeven in 2 semesters van de Ing-I studie,vo 1gens het 1eer plan "I nformati ca I ", op a lIeH.A.().-scholen, gedurende 2 uren per week.50 % van de tijd wordt besteed aan praktische oefeningenmet een eenvoudige programmeertaal (BASIC). Deopdrachten worden uitgewerkt met de computer Inpraktikumperioden die op het rooster worden opgevoerd.

2.1.2 Applikatie-onderwijs.

- Wordt gegeven in het derde semester van de Ing-l studievolgens het leerplan "Informatica II", op praktisch aIlescholen. gedurende 2 uren per week.

- In deze fase worden opgaven en/of case studies gegevendie gebaseerd zijn op vereenvoudigde probleem s1tuatiesu1t de toegepaste vakken.

- Kan gezien worden als een voorbereiding op de (1n hetatstudeerjaar) plaats vindende integratle van hetJ~lpmiddel IIcomputerff in het vakonderwljs.

2.1.3 Geintegreerd Gebruik.

- Kan op verschillende manleren worden gerealiseerd,voornamelljk In het atstudeerjaar (Ing-2)'

Als hulpmiddel in de onderwljs situatie(biJvoorbeeld management game).

-- Demonstraties en illustraties bij het vakonderwijs"----

Page 8: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HAS-INFORMATICA ONDERW IJS EN COMPUTERGEBRU IK pagina 2-2

(zoals taaktiJdberekeningen, veevoedersamensteillng,genetische effekten, enz.).Gebrulk biJ projekten (van studenten) o.a lineaireprogrammering, simulatie, enz.Gebruik bij afstudeeropdrachten.

2.2 AARD VAN HET COMPUTERGEBRUIK.

2.2.1 Appreciatie Cmderwijs

- Bij voorkeur konversationeell snellenoodzakelijk.

- Programmeertaal l BASIC.- Eenvoudige problemenl kleinere programma's.- Tijdens roosteruren, dus vaste tiJden.- Klassen ingedeeld in praktikum-groepen.- Taak bepaald door de informatica-docent.

2.2.2 Applikatie-onderwijs.

response

- BiJ voorkeur conversationeel'I batchverwerking voorsommige toepasslngen.

- Gebruik van standaardprogramma~s, eventueel aangepastaan het onderwijs.

- TiJdens de roosterurenl klassen ingedeeld in groepen.- Taak bepaald door de Informatlcadocent, in overleg met

de docenten uit de toegepaste vakken.

2.2.3 Geintegreerd Gebruik

- Mengvorm van' batch en conversationeel.- Verschillende programmeertalen (zoals FORTRAN, ALGOL,

COBOL) wenseli jk, doch nadruk op standaardpaketten.- Middelgrote tot grote programma's.- Systeem moet tijdens aIle roosteruren gebruikt kunnen

worden (komt niet apart op het rooster voor).- Tenminste een terminal met video-mogelijkheid gewenst.- Individueeel gebruik (soms klassikaal).- Taak wordt door het onderwljs bepaald.

Page 9: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HAS-INFORMATICA ONDERWIJS EN COMPUTERGEBRUIK pag1na 2-3

2.3 INTENSITEIT VAN HEr CeWPUTERGEBRUIK PER SCBOOL.

2.3.1 Apprec1at1e-onderw1js

Uit bereken1ngen bl1jkt dat een absolute rnin1male u1trust1ngvoor het appreclat1e-onderw1js anno 1975 werd gesteld op 4term1nals per school.

Er wordt hier geen ondersche1d gemaakt tussen on-line enoff-11ne mach1ner1e t maar er wordt u1tslu1tend gedacht aanhet aantal toetsenborden dat nod1g 15 om de studentens1multaan t1Jdens het prakt1kum te lat&n werken. Deervar1ng in de afgelopen twee jaren heeft geleerd t dat dehUid1ge apparatuur u1terst krap bemeten 15 en dat het aantaluren dat de student met de apparatuur moet werken hager 11gtdan aanvankel1jk aangegeven.

Tene1nde voldoende gelegenhe1d te geven het prakt1sch werku1t te voeren t d1ent naar de hu1d1ge 1nz1chten een studentper Jeer gedurende 15 uren de besch1kk1ng te hebben over eenterminal. Voor een groep van 12 studenten t d1e per Jeer 30effektieve prakt1kum-uren hebben t moet dus een aantal van 6term 1nals te r bes ch1lck1 ng staan. D1 t 15 de m1 n1ma I euitrust1ng waarmee klass1kaal gewerkt kan worden zonder datde student gedwongen wordt z1jn opgaven bu1ten de daartoebestemde roosteruren te verwerken.

2.3.2 AppI1kat1e-onderw1js.

(mdat de onderw1jsss1tuat1e 1n het Informat1ca II onderw1jsook een les/prakt1kumvorm heeft met dezelfde groepsgrootteals bij Informat1ca I (12 a 15) en de 1ntens1te1t van hetcomputergebru1k ook ongeveer dezelfde 1s t 1s het mogelijk omhet appl1kat1eonderw1js te real1seren met dezelfdeapparatuur als die welke voor Informat1ca I benod1gd 15.WeI mag worden verondersteld t dat naarmate deinformat1cadocent en z1jn collega~s u1t de toegepaste vakkenmeer vertrouwd raken met de mogel1Jkheden van hetInformatica II programmat de 1ntens1te1t van het gebruik (endaarmee de duur van het gebru1k van de computer) zaltoenemen.

T1Jdens de appl1kat1efase zal het over1gens tevensz1jn gebruik te maken van de apparatuur"ge 1nt egreerd gebruUc" wordt aangesc ha ft.

mogel1jkdie voor

Page 10: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HAS-INFORMATICA ONDERWIJS EN COMPUTERGEBRUIK

2.3.3 Gelntegreerd Gebrulk.

pagina 2-4

Dit type gebrulk vertoont een meer kontlnu karakter, en ismet andere woorden niet gebonden aan vaste roosteruren. Deschoolapparatuur dlent hier een rulmer skala aanmogelijkheden te bieden. Er 15 hier behoefte aanl

\. Een terminal waarmee klassikaal demonstratiesgegeven kunnen worden (beeldscherm met videoaansluitingl ook blj het overige informaticaonderwljs overigens heel goed inzetbaar).

2. Apparatuur waarmee grotere hoeveelheden uitvoer metredelljke afdruksnelhe1d kunnen worden geproduceerdmet \32 tekens/regel (printer).

Daarnaast kan in deze fase gebruik gemaakt worden van dereeds aanwezlge terminals.

Page 11: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 3

NADERE KWANTIFICERING VAN DE EISEi~ PER SCHOoL.

Er Z~4 nu nader worden Ingegaan op de per school verelsteuitrusting en de roeveelheid vereiste "computer resources ll •

Hierbi J wordt een planningsper' Jde beschouwd van vlJf Jaren,gedurende welke een aanzlenllJke groei van hetappllkatieonderwiJs en het "geintegreerd computergebrulk"wordt verwacht.

3.1 UITRUSTING

Ult de onderwlJssltuatle kan worden atgeleid welkeapparatuur per school benodlgd 15. Deze behoetten kunnenals voIgt worden opgesomd:

- Voor het appreclatle- en appllkatiepraktlkum a6 terminals(4 Teletypes, 1 LA36-termlnal en 1 beeldscherm).

- Ten behoeve van het gelntegreerd gebrulk aI printer of symbolendrukker (tot 180 tekens/sec),1 beeldschermeenheld met vldeo-ultgang.

(de 4 reeds aanwezige Teletype-terminals kunnen voorloplgworden gehandhaafd voor het appreclatle- en applikatle­praktlkum. Deze praktikumapparatuur wordt dus ul tgehreidmet een LA36 schrlJvende terminal en penbeeldschermeenheld).

Naar verwachtlng 15 de hlerboven genoemde apparatuurvoldoende om de tlJdens de plannlngsperlode groelende vraagnaar terminalapparatuur op te vangen. Op de groterescholen, Waar de Informatica I en Informatica II praktlkaeen zeer hoog beslag leggen op de apparatuur (meer dan 50 %van de tlJd), zal een verdere ultbreldlng van het aantalterminals noodzakellJk zlJn ten behoeve van hetgelntegreerde gebrulk.

Page 12: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

NADERE KWANTIFICERING VAN DE EISEN PER SCHOOL. pagina 3-2

Blj deze beschouwlngen wordt geen onderscheid gemaakt tussenzogenaamde on-line en off-line. apparatuur zoals thans hetgeval is. De lijn van de huidige ontwikkelingen duidt aan,dat off-line voorbereiding met ponsbanden zal verdwijnen.In het bedrljfsleven worden ponskaart- en ponsbandsystemenmeer en meer vervangen door zogenaamde "data-entry" systemenen ntext editing" systemen die gebaseerd zlJn op magnetischeinformatiedragers of terminals met eigen "intelligpntle"(Ingebouwde micro-computer). Voor het gebruik op de scholenzal een oplosslng gevonden moeten worden voor hetvoorbere iden van programma's en andere teksten. Oi t aspektzal mede een rol spalen biJ de keuze van een geschlktcomputersysteem.

3.2 COMPUTER RESOURCES

De volgende schattlngen worden gegeven per student enultgedrukt In grootheden zoals die gehanteerd worden In eengroot timesharing systeem.

Computer gebruik per student

appreclat 1e appllkatle ge integreerdonderwijs onderwl js gebrulk

1978 1983 1978 1983 1978 1983

Aansluittljd (uren) . 15 15 5 8 3 6

Rekentljd (m Inuten) 5 8 3 6 3 6

SchlJfopslag (blokken) 20 40 20 40 20 40

Ge he ugengebrui k (K) 4 4 4-32 4-32 4-32 4-32

Het 15 moe11lJk voor het geintegreerde gebruik nauwkeurlgeschattlngen te geven, daar dit type gebrulk pas nugeleldel1Jk van de grond komt.

Tenslotte een opsommlng van de omstandigheden waaronder hetgebru1k plaatsvindtl

- Het timesharing systeem Is beschlkbaar gedurende 36 uurper week

- Het informatica I praktlkum vlndt plaats gedurende 2semesters

Page 13: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

NADERE KWANTIFICERING VAN DE EISEN PER SCHOOL. paglna 3-3

Gedurende 2 semesters ziJn er 40 praktikum-uren;gedurende 30 van deze uren is de computer effektiefbeschikbaar

- Het informatica II praktlkum vlndt plaats gedurende Isemester, waarln de computer 15 uren effektiefbeschikbaar is.

- De grootte Van een praktlkumgroep wordt in beidegeva~len gesteld op 12-15 studenten

Page 14: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hootdstulc 4

VIRTUELE TERMINALS

In figuur 4.1 Isschematlsch weergegeven hoe zo'n lolcaalHAS-computer systeem er ult ZOU kunnen zlen.

VEe'

Llr'tq.Jrinier1'D1'i:l

00o

o o o o,

Flguur 4.1. Lolcaal ~omputer systeem

Page 15: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

VIRTU~LE TERMINALS pagina 4-2

Op de POP8 draait ErOS (Educomp's Timeshared OperatingSystem). Oit operating system geeft de gebruiker op eenzeer gebrulkers vriend~liJke wijze de beschikking over hetPDP8-systeem. Een aantal terminals moeten als virtueleterminal voor de DEClO gebruikt kunnen worden. Met virtueleterminal wordt bedoeld dat de gebruiker hat idee heeftrechtstreeks met de DEClO verbonden te zijn. De gebrulkermerkt dus in het geheel niet dat er een POPS tussen zit.Wat Is hiervoor aan de DEClO kant aan software nodig 7(Her een telefoonlijn lopen boodschappen heen en weer tussende verschillende terminals van een HAS en de blj.behorendeJobs op de DEClO.Er moet een ot andere atspraak ziJn om die verschillendeboodschappen van elkaar te kunnen onderscheiden.Identificatie is mogelijk door'

I. geen extra code mee te sturenDoor de plaats van de karakters in dedatastroom is identiflkatle mogelljk (timedivision multiplexing).

2. WeI een identifikatiecode mee te sturen.

In ieder geval zal er op de DEClO-computer een programmamoeten zijn dat de datastroom bestuurt.

Er bestaat op de DEClO een programma (CPSER) dat deze taakaan kane Hierbij wordt een identifikatiecode gebrulkt.Door in eerste instantie OPSER te gebruiken kan wat ervarlngworden opgedaan met een ulterst minimum aan DEClO softwareinspannl ng.

Nu kan de volle aandacht gericht worden op de POP-software.

Ondat ik Cnog) niet beschikte over een PDP8-systeem met ETOSals operating systeem Is de hlerna te beschrlJvenprogrammatuur stand-alone opgezet. Als in een later stadiumEToS beschikbaar is kan de programmatuur na modlfikatieonder EIOS gebruikt worden.

Page 16: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 5.

OPSER

Het OPSER-programma 1s bedoeld om de computer-operatorbehulpzaam te zljn b1j zljn taak (OPSER= OPerator SERviceprogram) • De operator kan mbv. OPSER verschillendezogenaamde operator-jobs besturen. Voorbeelden vanoperator-jobs zijn' de line printer spooler, het batchverwerklngsprogramma en het SYSTAT programma waarmee deoperator kontinu belangr1Jke systeemgegevens kan aflezen.

OPSER kan echter ook door een wl11ekeurlge DECIO-gebrulkerworden toegepast. D1t (one1gen11jke?) gebru1k van OPSERwordt in het nu volgende beschreven.

Het programma (PSER geeft demogelijkheid om vanaf een5ubtaken te besturen.

gebrulker van de DEClO determ1nal aan de DEClO meerdere

Zo kunnen maximaal 14 taken tegelljkertlJd vanaf eenterminal bestuurd worden. OPSER tungeert als hoofdprogrammavoor de verschillende subtaken door opdrachten naar aIle ofenkele gespecificeerde subtaken te sturen. Uitvoer van deverschillende subtaken kan weer door OPSER verwerkt worden( z i e fig uu r 5. I )

Page 17: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

(PSER pagina 5-2

,.-- .. -.- -.· ,_ ... , .• , \ I

I I I L,.'----t·\. "I .. - -' •I •.. - I

pl:lp.udo ..t.erlIlinul

r-------- 1

, "--"', I, ! , •

• , .......---4

\ "... , ,,'" -- ,

r -------.,-... .., ".., \ .1--_"",,' , "'----0004, , j"'"

I '.. , •• -..... I

:.-_ ..--~o'1'orminal

tiguur 5.1. pseudo-terminals.

De subtaken van OPSER draalen op zog.enaamde pseudo-terminalsen de ini tialisatie van de pseudo-terminals wordt door OPSERgedaan. Er. is aIleen een door de gebruiker gekozen naamnodig ot een door OPSER toegewezen subtaak-nummer.

Als subtaak van OPSER kan zowel een systeemprogramma ais eenprogramma dat een eigen terminal nodig heett draaien.

Door subtaken op pseudo-terminals te draalen is (WSER instaat de in- en uitvoer tussen de gebruiker en de subtakenop een Juiste manier te regelen. Voorts wordt de uitvoervan de verschillende subtaken op een terminal geconcentreerdin plaats van op vele terminals, wat het geval zou ziJn alsaIle subtaken een eigen terminal zouden hebben.

Page 18: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

OPSER pagina 5-3

OPSER verwacht als invoer van de terminala

I. ddta voor (PSER zeIt.Die moet beg1nnen met het karakter III" (dubbelepunt) •

2. Data voor een subtaak.Die moet beglnnen met een subtaaknummer gevolgddoor het karakter U_fl (minteken).

Met behulp van de opdracht aSLOG genereert OPSER een nieuwesubtaak met een subtaaknummerdat 1 grater 1s dan het laatstultgegeven nummer. Het eerst uitgegeven subtaaknummer is o.

Het is ook mogellJk om een w1llekeurlg te kiezen naam aaneen subtaak te koppelen. In dat geval kan In plaats van hetsubtaaknu~ner deze naam worden gebrulkt.

Uitvoer van OPSER naar de terminal kan beginnen metl

de huldigegevolgd door

I • Een identiflkat1ecode bestaande ult.real time 1n uren,m Inuten ,seconde n(tussen haakjes) het subtaaknummer

2. gevolgd door een of meer regels data beglnnend meteen TAB (of 8 spatles).

Als de DEC10-(PSER-terminal vervangen wordt door eenPDP8~linicomputer met een aantal terminals ontstaat desituatie zoals schematlsch weergeg8ven In flguur 5.2.

Page 19: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

OPSER pagina 5-4

~---_·~tEI ... -" •i I "I , •~ , subtaa: " .. _"" ,L J

r-----·... -... \" "I, I \ t

\ I

'" / 1I .... -

,------

~ - - :. - --,I,.... " \I I , I

J----fI \ , I,

I '-" IiL • .I

mcdem ,

!'D!'d

}'DP8

o

oo

PDPe-terminals pseudo­terminal

figuur 5.2. PDP8 als cPSER-termlnal

De PDP8 isverbondenCPSER.

door mlddel van modems en een teletoonlijnmet de DEClO. (~de DEClO draait het programma

Het programma op de PDP8 doet het volgende l Elke regel datadie op een terminal wordt ingetoetst wordt voorzien van eenidentltlkatle-code (subtaaknummer.-) en doorgestuurd naar deDEClO. Elke regel data die van de DEClO komt wordtdoorgestuurd naar de julste terminal op de POP8. Welketerminal dlt moet zijn is te zien aan de Identltlkatie codedie eerder Is ontvangen. (~deze wijze zijn de terminals opde PDP8 doorverbonden (over een telefoonliJn) met iader eeneigen taak op de DEClO.

Page 20: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 6

KOMMUN IKATIE

BIJ de overdracht van Informatle hebben we te maken met hetvolgende systeem (fIg. 6.1) •

...... ......zender ", kAnaal , ontvanger

I r-..

ruis

Figuur 6.1. Kommunlkatle systeem

In een eenvoudig kommunikatlesysteem kan de zender eenteletype zlJn en de ontvanger een computer. In dat gevalzal de teletype tevens als ontvanger gebruikt kunnen wordenen de computer zal ook als zender dienst doen (ook weItegelljkertlJd over 2 kanalen). Aangezien we vooralg~lnteresseerd zijn in de overdracht van digi tale informat1ez~l het medium bestaan uit tel~graaf- of telefoonverblndingen. Ru1s (in het algemeen storing) is iets dat we(helaas) ook ontvangen. We dlenen daar dan ook zekerre ken! ng fIIee t e houden. Als overdrac htsmed1 um kunnen weiciezen ultl

Page 21: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

KOMMUNIKATIE

I. Te1egraafverblndlngen

2. Te1efoonverblndlngen

3. Dlrekte ga1vanische verbindingen

paglna 6-2

Vanuit het standpunt van data-overdracht gezien kunnen wedeze media nog verder onderverde1en In vaste verblndlngen engeschake1de verblndlngen.

Vaste verbindlngen zlJn verblndingen die konstant gebrulktkunnen worden. Er Is steeds sprake van een en deze1fde 11Jnmet het voordee1 dat de elgenschappen van die 11 In konstanten bekend zljn.

Geschake1de verbindlngen zijn de verbindlngen die via eentelefoon- of te1excentra1e lopen. Aangezlen de verblndingover een wi1lekeurige lijn kan plaats vinden zljn deeigenschappen van die verbindlng ook nlet zo precles bekend.Al naar gelang de gebrulkte 11jnen kan de kwa1iteit van deverbinding sterk varieren.

Gezien het felt dat computers digitaal werken. 11jkt hetvoor de hand te 1iggen dat een telex verbindlng de bestekeus zou zijn. De reden dat men toch telefoonverblndlngengebruikt is de snelheld van de data-overdracht. Bijtelex-verblndingen is de maxlmumsne1heid ca 110 blts/5ec.terwijl men blj gebruik van een vaste (telefoon) verbindlngtot 9600 bits/sec kan bereiken.

Ielefoonverbindingen zijn (en worden) opgezet voor deoverdracht van de menseliJke stem. Daarom worden 5ignalenmet een frekwentie tussen de 300 en 3300 hertz het bestdoorgegeven. We ziJn daarom genoodzaakt de digitaleinforhlat i e om te ze tte n 1n een analoog s ignaal me teenfrekwentle tussen de 300 en 3300 hertz.

Dit is schematisch weergegeven in figuur 6.2.

c i (; 1 tail 1 viA AIDdigitlilCl1

";t I' f ,i; r'i; ilL bpf.":U'aa t

riguur 6.2. Kommunikatle over een telefoonliJnmbv. digitaal/ana1oog-omzetters.

Page 22: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

ICOMMUNIKATIE pagina 6-3

Het probleem doet zich nu voar een representatie te kiezenvoor de data op de telefoonlijn. Deze keuze heeftbelangrijke gevolgen voor het on twerp van deD/A - A/D -omzetters. Een zeer geschikte golfvorm om overte sturen is een sinusgolf (draaggolf).

cen dergelijk signaal kan door drie grootheden beschrevenworden'

-frekwentie-ampli tude-fase

fen van deze drie grootheden kan op de een of andere maniergevarieerd worden teneinde een "0" of een "I" aan te duiden.Het veranderen van een signaal op deze wijze wordt modulat1egenoemd.

Laten we eens k1jken hoe we een, digitaal signaal '01010101'kunnen oversturen door de frekwentie van de sinusgolf op delijn te moduleren. (figuur 6.3)

,Jl('.it:tle :/Iodu- riernodu- Ji[.itule

'",:,,'clder...

lutur 1ator - Of; tVcdlge I'

Figuur 6.3. (Wersturen van een digitaal signaal dmv.een modulator en een demodulator.

Yet wisselstroomsignaal (de draaggolf) heeft een frekwent1evan 1300 hertz. Het is gebruikelijk om dit signaal tedefinieren als "l" (of mark). Om een "0" aan te gevenzullen we de frekwentie gedurende een bepaalde tijdsduurverhogen tot 2100 hertz. Het is de taak van de modulator omeen draaggolf op de lijn te zetten en de frekwentie teverhogen als de zender een a-bit stuurt en weer terug tegaan tot de oorspronkelijke draaggolf frekwentie als hetvolgende I-bit is ontvangen.

In figuur 6.4 is het bitpatroon in digitale en gemoduleerdevorm weergegeven. Deze zeer populaire vorm van modulatiestaat bekend als FSK (frequency shift keying).

Page 23: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

KoMMUN IKATI E

dibitfJ.ltisignaal

£SUfIi') LI u 1 t C I'd j'

d raa,~,,:() J r

pagina 6-4

F1guur 6.4. 8itpatroon in digitale en gemoduleerde vorm

Yet is in het algemeen blj overdracht van dlgltale databelangrijk voor de zender om te weten of de verzonden dataook ontvangen 15. Verder zal de ontvanger vaak zelfnagenoeg op hetzelfde tljdstlp data wlllen versturen. Ditis bijna altijd het geval in de sltuatle waarbij eenterminal 'on line' met een computer Is verbonden. Daaromworden modulators en demodulators In een kastje geleverdonder de naam modem (modulator-demodulator).

In plaats van frekwentiemodulatie kan oak amplitude- of fasemodulatie worden toegepast. 81J fasemodulatie dient eenfase verandering gelnterpreteerd te worden als eenvarandering van 0 naar I of van I naar 0 afhankelijk van hetlaatst ontvangen bIt. Het Is dus niet nodig om de fase voorelk bit te veranderen als we een serle dezelfde bitsontvangen.

Oe kapaciteit (of snelheld) van een verbindlng wordt beperktdoor zijn bandbreedte en het rulsnlvo. Het doel van modemontwerpers is dan ook (onder andere) om de snelheld van dedataoverdracht op te voeren zo dicht mogelijk blj het

Page 24: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

KOMMUN IKATI E pagi na 6-5

theoretische maximum. De simpele aanpak echter vanamplitude-modulatie en steeds maar de bitlengte teverklelnen maakt de verbindlng gevoeliger voor ruis endergelijke. fen vee 1 betrouwbaarder aanpak is modulatie opmeer nivo's.

Door de frekwentie, amplitude of fase tot 4 nivo's temoduleren is het mogeliJk om twee bits data weer te geven.In tabel 6.1 15 weergegeven hoe met 4 frekwenties debitkombinaties OO~ 01, 10 en II kunnen worden weergegeven.

Tabe 1 6. I

FREKWENTIE (HZ) BIT-PATROON

1300 It

1600 10

1900 Oi

2200 00

Op dezelfde wiJze kan de amplitude van de draaggolf tussen 4nivo's worden gevarieerd of kan de fase veranderd worden op0,90, 180 en 270 graden om respectievellJk 00, aI, 10 en IIweer te geve n.

Sommige modems gebruiken een matrix van fase en amplitudenivo's waarmee 16 kombinaties te verkriJgen ziJn (tabel6.2).

Page 25: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

KOMMUNIKATIE

Tabel 6.2

pagina 6-6

ampI1 tude

n1vo I nivo 2 n1vo 3 nivo 4

fase I 0000 0001 0010 0011

fase 2 0100 0101 0110 0111

fase 3 1000 1001 1010 1011

tase 4 1100 1101 1110 I III

Het 1s nu in te z1en dat baud n1et hetzeIfde betekent alsbits/sec. De snelhe1d 1n bauds 1s de rec1proke van de(gem1ddelde) lengte van de s1gnaal-1ntervaIIen. Dus als eendraaggolf elke 1/300 sec gemoduleerd wordt, 1s de snelhe1din bauds 300. Sek1Jken we nu een moduIat1esysteem dat 4modulatie-n1vo's gebru1kt, dan bI1jkt dat een snelheid vanbijvoorbeeld 2400 baud overeenkomt met 4800 bits/sec. S1jeen 4*4 matrix zullen zelfs 9600 b1ts/sec over de verbind1nggaan bij 2400 baud.In het algemeen geldt bits/sec = baud * (2)10g N, waarbij Nhet santal n1vo's 1s.

Page 26: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 7

ASYNCHRONE EN SYNCHRONE KOMMUNIKATIE

Als we digitale data willen oversturen, zullen we dedata-karakters bit voor bit oversturen. De ontvanger moetuit deze bitstroom de data-kardkters kunnen rekonstrueren.De zender zal een klok (oscillator) moeten hebben om op hetjuiste ogenblik een signaal op de l1jn te plaatsen. Evenzozal de ontvanger een kiok nodig hebben om op het juistetijdstip de Iijn te bemonsteren. De transmissiesnelheidbepaalt de snelheid van de kIokl 1200 Hz voor 1200 baud,2400 Hz voor 2400 baud, enzovoorts.

Als een modulatiemethode wordt toegepast van meerdere nlvo'swaarbij data met een snelheid van 4800 bits/sec wordtverstuurd over een 2400 baud lijn, zal de klok toch op 2400Hz moeten werken.

Me t he t toevoegen van klokken is het probleem nog ni etopgelost, want hoe houden we de klokken precies op de juistesnelheid en in de pas 1 En hoe vindt de ontvanger heteerste bit van een karakter 1

Er zijn twee methoden mogelijk om deze problemen op telossen a

-asynchroon (START-SToP)1 synchronisatie perkarakter

-synchroon l synchronisatie per reeks van karakters

Asynchrone transmissie is geschikt voor langzamekornmunikatle (minder dan 1800 bits/sec), by. teletypes.Synchrone transmissie is meer geschikt voor hogere snelhedenen voor het oversturen van grote hoeveelheden data.

Asynchrone transmissie wordt weI start-stop-transmissiegenoemd omdat elk verzonden karakter wordt voorafgegaan dooreen startbit dat de ontvanger wekt. Het karakter wordt doortenminste een stop-bit gevoIgd (I, 1.5 of 2 stopbits) om dezender en ontvanger tijd te geven zich op het volgendekarakter in te stellen. Nu mogen de klokken iets in

Page 27: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

ASYNCHRONE EN SYNCHRONE KOMMUNIKATIE

frekwentie verschillen.

pagina 7-2

Stel dat de zender op 1190 bits/sec werkt en dat deontvanger dit signaal bemonsterd met een frekwentie van 1202Hz. Als de klokken gelijk gestart worden dan zal ditgedurende een aantal karakters goed gaan maar op den duurzal de ontvanger op een verkeerd tijdstip de lijnbemonsteren. Niettegenstaande dit verloop kunnenafwijkingen van de klokfrekwentie getolereerd worden als deklok maar steeds opn1euw gestart wordt voor elke groep bits(karakter). Het startbit dient er nu voor om bij asynchronetransrnissle de klok voor de duur van een karakter testarten. De s topbi ts maken het moge Ii jk de klok weer testoppen. Er mogen nu willekeur1ge tiJdsintervallen tussende verstuurde karakters liggen, want de klok bij deontvanger begint pas weer te Iopen als t~t eerste start-bitwordt ontvangen.

Een van de grootste nadelen van asynchronedat er altljd en bij elk teken een aantalworden overgezonden. Dit kan oplopen totoverhead per karakter (I startbit,pariteitsbit + 8 databits).

transmissie isredundante bitsmaximaal 30 %2 stopbits, I

Teneindede dataVerder iskarakters

Met behulp van synchrone kommun1katie kan deze overheadaanzienlijk worden verminderd. De apparaten aan elke kantvan de verbinding wisselen een serie synchronisatiebits uitop regelmatige tiJdstippen. Deze worden door het apparaatdat wil gaan zenden eerst over de lijn gestuurd. Deontvanger kan dan zijn klok in de pas (synchroon) brengenmet de klok van de zender. Nadat de synchronisatiebits zijnverzonden kan de echte data over de lijn worden gestuurd.Het moet echter een kontinue serie bits zijn (vanuit eenbuffer); als de bit-serie onderbroken wordt moeten deklokken weer opnieuw gesynchroniseerd worden.

De grootte van de data-blokken die kunnen wordenovergestuurd voordat de klokken weer gesynchroniseerd moetenworden kan verschillen. Meestal 15 de lengte meer dan 1000bits, de lengte van een datablok is soms zelts groter dan10000 bl ts. De grootte van de datab 10 kken hangt af van deeigenschappen van de apparatuur, bv. 80 karakters voor eenkaartbeeld, 132 voor een regeldrukker en 1600 voor eendisplay. In het algemeen zal men de lengte van deddtablokken zo groot mogelijk maken om de overhead,veroorzaakt door de stuursignalen, zo laag mogeliJk tehouden.

de synchronisatiebits te kunnen onderscheiden vanwordt altijd hetzeltde bitpatroon overgestuurd.het nodig om 2, 3 of 4 (liefst 4) synchronisatieover te sturen. Hierdoor wordt de mogelijkheid

Page 28: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

ASYNCHRONE EN SYNCHRONE KOMMUNIKATIE pagina 7-3

verkleind dat storing op de liJn ais een synchronisatiekarakter wordt geinterpreteerd. Doordat het ontvangendeapparaat in staat is de struktuur van desynchronlsatiekarakters ·te herkennen is in de pas lopenvanaf het eerste datakarakter gewaarborgd.

(mdat er synchronisatiekarakters moe ten worden verstuurd zaler efficienter gewerkt kunnen worden naarmate er groteredatablokken worden overgestuurd. (tabel 7.1)

Tabel 7.1. Vergelijking van asynchrone en synchronetransmissie

aantal karakters aantal bi ts verzonden

verzonden asynchroon synchroon

5 50 72

10 100 I 12

50 500 432

100 1000 832

aantal bits per karakter 8aantal start bits Iaantal stop bits Iaantal synchronisatie karakters 4

Sommige kommunikatie apparatuur verstuurt ook nogautomatisch synchronisatie karakters op vaste tiJdstippen,bv elke seconde, om er zeker van te ziJn dat de klokken nietu i t de pas gaan lopen.

De termen simplex, halfduplex en full duplex duiden de soortverbinding aan. Deze termen worden soms verschillendgeinterpreteerd. Door de Committee ConsultatifInternational pour Ie Telefonie et Telegraphe (CCITT) wordendeze termen als voIgt gedefinieerda

Page 29: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

ASYNCHRONE EN SYNCHRONE KOMMUNIKATIE paglna 7-4

5 imple Xl

een verbinding waarblJ de transmissie in elke rlchtingkan geschieden, maar nlet teg~lijkettijd (meestal noemtmen dit half-duplex)

ha 1t -d up lex I

een full-duplex verbinding gebrulkt door apparatuur dieaIleen simplex kan werken.

tu ll-dup lex I

transmissle tegel1JkertlJd 1n beide rlchtingen.

Page 30: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 8

SIMPLEX- HALF DUPLEX- EN OUPLEXVERBINDINGEN

Onder een simplex verbinding wordt een verbinding verstaanwaarbij slechts datatransmissie in een richting mogeliJk is.Een half duplex verbindlng laat datatransmissie in beiderichtingen toe, maar niet tegeliJk doch afwisselend. Eenduplex verbinding, ook weI genoemd een full duplexverbinding, is geschikt voor simultaan verkeer in beiderichtlngen (en is dus in wezen een 2 kanaal systeem).

In het algemeen kan gezegd worden dat een duplex verbindingeen vlerdraadsverbinding is, alhoewel over een tweedraadskieslljn ook volledig duplexverkeer mogelijk is. Behalvehet acintal draden is ook de modem in belangrijke matebepalend voor de eigenschap simplex, halfduplex of duplex.

Het belang van een simplex verbinding is nlet grootaangezlen slechts eenrichtingsverkeer mogelijk is en zelfsde ontvangende apparatuur niet altijd de mogeliJkheid bezitom de zender via een retourkanaal te waarschuwen als detransmissie niet foutloos is verlopen.

fen zuivere halfduplex verbinding maakt weItweerichtingsverkeer mogeliJk. ZiJn er fouten ontdekt dankan dit na afloop van het bericht aan de zender wordengeme ld.

Met het omkeren van de modem (turnaround) In eennalfduplexverbinding is echter veel tijd gemoeld. Globaal15 te stellen dat de turnaround tiJd biJ eenhalfduplexverbinding 150 milliseconden bedraagt als deverblnding tweedraads is, en slechts enkele millisecondenals de verbinding vierdraads is. Ais het dus gaat om eenkorte mededeling (biJvoorbeeld akkoord of niet akkoord) dankan zelfs dit Korte bericht inklusief de tweede turnaroundmeer dan 300 milliseconden Kosten.

Page 31: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

SIMPLEX- HALF DUPLEX- EN DUPLEXVERBINDINGEN pagina 8-2

Blj een fullduplexverbinding kan de foutmelding reedsvoordat het bericht geheel over 15 door de ontvanger wordenverzonden en er 15 geen turnaround. Om aan de bezwaren vande halfduplexverbinding verbonden tegemoet te komen heeftmen daar waar de baudkapacitelt van de liJn nog ruimte lietin vele gevaillen een retourkanaal van beperkte kapaclteltafgesplitst voor het overseinen van korte besturingscodes integenovergestelde r1cht1ng. Moet een volledig berichtworden teruggeseind dan bliJft turnaround noodzakelijk.

Page 32: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 9

PROTOKOL

Bij synchrone transm1ss1e hebben we verondersteld dat erblokken karakters worden overgestuurd. Een karakter bestaatweer u1t een aantal b1ts. Het oversturen van boodschappenbehelst echter meer dan het oversturen van een w1llekeur1gebitreeks.

Het zal weI dU1del1jk z1jn dat het nlet voldoende 15 omzonder meer een reeks datakarakters over te sturen. Deontvanger moet de aankomst van een n1euwe boodschapopmerken. h1j moet gesynchron1seerd worden met de ontvangenb1ts en met de h1eru1t op te bouwen karakters tene1nde deontvangen boodschap te kunnen dekoderen. Deze kommunikat1efunkt1es worden aangedu1d met de termen 11ne controlprocedures of data commun1cat1on procedures. Deze makenweer deel u1t van een grot ere verzamel1ng van protokollen ofregels d1e er nu eenmaal moeten z1Jn om boodschappenbetrouwbaar en ekonom1sch over een verbinding te krijgen enom in de computer te kunnen onderkennen van w1e cq. naarw1e de boodschap verzonden 1s.

Laten we eens een eenvoud1g protokol bek1jken in het gevalvan een halfduplexverb1nd1ng. Er worden t1en specialekarakters gebru1kt om de verb1nd1ng op te bouwen en 1n standte houden.

Dit zljn de volgende karakters'

I. SYN. Wordt gebru1kt om het beg1n van een boodschapaan te geven en om de synchron1sat1e te behouden.

2. ENQ. Een karakter om te k1Jken of de ontvangerklaar 15 om boodschappen te ontvangen.

3. ACK en

Page 33: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

PROTOKOL pagl na <;-2

4. NAK. Positieve en negatieve bevestlglng van eenboodschap.

5. STX. start of text. Geeft aan dat er nu datakomt.

6. ETX. End ot text.

7. ETB. End ot transmission block. Dit geeft aan datar nog meer data komtl de boodschap is nog nletafgelopen.

ook dat ar nogopgedeeld wordenof een serie

worden met Us ais

8. us. Unit separator. Dit betekentmer data komt. De boodschap kanin een serie boodschappen.boodschappen kan samen verzonden:.; c he i dings t eken •

9. EcIT. End of transmission.

10. BCC. Block check character. Parlteits-karakter omfouten te detekteren.

Met behuip van de zojuist beschreven karakters kunnen we devolgende konversatie plegen l

Page 34: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

naar de ontvanger

I SYN, SYN, ENQprobeer kontakt te krijgen

pagina 9-3

van de ontvanger

SYN, SYN, ACK I.de ontvanger is klaar voor ontvangst

2. SYN, SYN, STX, data, US, data, ETS, BCCer komt nog meer data

SYN, SYN, ACK 2.

3. SYN, SYN, STX, data, ••••••••SYN, SYN, ACK 3.1

Ais de ontvanger een toutontdekt, dan komt er een NAKI

SYN, SYN, NAK 3.2de zender zal dan 3) nerhalen

4.SYN, SYN, STX, data, US, BCe, data, ETX, BCede boodschap 15 nu kompleet

SYN, SYN, ACK 4.

5. SYN, SYN, E<IT

De verblndlng wordt verbrokan. Er is weereen ENQ nodig om de verblndlng te herstellen.

Er zljn (uiteraard) veel meer manleren om te kunnenkOI~uniceren. Er zijn dan ook nogal wat verschillendeprotokollen in gebruik. Voor een ekonomischer gebruik vande verbinding kan de ACK-boodschap gekombineerd worden meteen boodschap die van de andere kant komt. Oit is vooralvan belang als er boodschappen in beide rlchtingen gaan. DeNAK kan weggelaten worden. Ais er na een zekere tijd nietswordt ontvangen, wordt de boodschap herhaald tot er een ACKwordt ontvangen.

Uit bovenstaand voorbeeld bliJkt dat er ~rie toestanden teonderscheiden zijn l

I. verbinding opbouwen

2. boodschappen versturen

3. verbinding verbreken

Page 35: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

PROTOKOL pagina 9-4

Een kommunikatieprotokol moet in staat ziJn de overgangenvan de verschillende toestanden soepel te regelen.

Page 36: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 10

HET KOMMUNIKATIEPROGRAMMA

Het hierna beschreven kommunikatie programma is eerst in eenvereenvoudigde versie (een terminal) geimplementeerd onderRTS-8. het real time operating system van DEC (DigitalEquipment Corporation).

Onder RTS-8 is het vrij eenvoudig om parallel lopendeprocessen en messagebuffers te definieren. Op de PDP8 vanhet rekencentrum van de Landbouwhogeschool kon RTS-a echterniet zonder meer gebruikt worden. RTS-8 heeft eenopslagmedium nodig' bijvoorbeeld een disk of een floppy.(~ de POP8 is weI een floppy-systeem (flexibele schijven)aanwezig. maar deze floppy is niet zonder meer met de doorDEC geleverde RTS-S programmatuur te gebruiken. DaaromOloest eerst een programma geschreven worden dat onder RTS-8deze floppy kan besturen. Met behulp van ditbesturingsprogramma (floppy handler) is het nu mogelijkRTS-8 te gebruiken op de PDPS van het rekencentrum.

Het kommunikatieprogramma werkt echter zeer traag onderRTS-8. Oit komt doordat per karakter een RTS-8systeemroutine wordt aangeroepen. Dit probleem is weI op telossen door niet meer op karakterbasis te werken. maar overte gaan op regelbasis. Het RTS-S systeem is echter verlatenomdat er een beter operating systeem voor de oplossing vanhet HAS- kommunikatie probleem bleek te ziJn.

Door de firma EDUCOMP (Verenigde Staten) wordt ETOS. eentimeshared operating system voor de POPB op de marktgebracht. Om te kljken of EToS de oplosslng zou zijn voornet HAS-kommunikatie-probleem werd een studiereis naarEngeland ondernomen. Samen met de heren J. Kolkman en L.van der Mey (laden van de kernvakgroep Informatica) werdentwee ETOS-systemen bekeken l

Page 37: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUN IKATIEPR{XJnAMMA paglna 10-2

I. H. Greenberg Ltd. te Manchester. BIJ deze fIrmawordt een PDP8-E onder het ETOS-operatlng systemgebrulkt voor order-processing, de boekhoudlng enkwaliteltscontrole.

2. Warley College te BirmIngham. Het PDP8-Ecomputers yst eern onder besturing van ETOS wordt zeerintenslef door ca 120 leerllngen gebruikt.

De ervaringen die tijdens deze studierels zljn opgedaan zlJnweergegeven in een {interne} nota.

Haar aanleldlng van de resultaten van dezebesloten RTS-8 te verlaten watHAS-kommunlkatie-probleem en te pogen eenprogramma onder EIOS te implementeren.

studlereis 15betreft het

komrnunikatle

Aangezlen echter ETOS {nog} niet beschikbaar was op het POP8systeem van het rekencentrum is het kornmunikatle programmastand-alone opgezet. WeI is het geheel zo geschreven dat ergeen ingrijpende modifikaties nodig zlJn om het programmaonder EToS te Implementeren.

10. 1 HEI KOMMUNIKATIEPROGRAMMA OP DE PDP8

IN tiguur 10.1 is in de vorm van een sterk vereenvoudlgdeaccessgraph de struktuur van het programma weergegeven. Degrote clrkels stellen processen voor, de klelnere cirkelsrepresenteren messagebufters. De pijlen wljzen vanult eenproces naar een messagebuffer en geven de access-rechten aanvan het betreftende proces. Een proces kan aIleen datauitwlsselen met een messagebuffer als het procesaccess-rechten heeft op dat buffer. Andere buffers zlJn dusnlet toegankelijk voor dat proces.

Een proces is een cycllsch programma. Processen kunnentegellJkertiJd In de computer aktlef zijn. Op eenmlcroscoplsche tijdschaal gezlen rekenen de processen om dp.beurt. Echter op een makroskoplsche tljdschaal gezlen lopende processen parallel. Een messagebufter 15 eendatastruktuur waarop twee operatles mogelijk zljn' send enreceIve (subroutInes PUTWRD resp. GETWRD). Met behulp vande operatle send kan een proces een hoeveelheld data in hetmessagebutter stoppen. Een messagebuffer heeft echter eenelndige kapaciteit. Ais een proces een sendoperatle op eenvolle messagebuffer probeert ult te voeren, dan wordt hetproces opgehouden. Als een ander proces dan weer data ult

Page 38: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUNIKATIEPROGRAMMA pag1na 10-3

het messagebutter haait (met behulp van eenreceive-operatie) dan wordt het siapende proces weer gewekten nu kan de data dus weI in het messagebutter geplaatstworden.

Page 39: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUN IKATIEPR(X1RAMMA

I,,,rmlnal 1

l<f-!'yhoard 2

t.( rrn i na 1 2

11'1""input procos 'l'T'!1,li2:jnput prlluNl 'l'TY211'=input pro'~of; 'j"j'Y7?1:l1::j nl'ut huffer '1''I'r 11 !3? :: i n f' li 1 11l) r fer '11"{ 2(,'H77 ..0l1tJIU t r'li r ,'P.)' T', 'i t"i

pag1na 10-4

, .,\.1 !

1l'} n ,", J r~ ., I ! [' 0 I".,' .;,

i n t I' ['f': I :~ r~ t,

.ii , I;; - eli;1 1. r', ;

,.,,'1, YTf

f1guur 10.1. Vereenvoudlgde accessgraph.

Page 40: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUNIKATIEPROGRAMMA pagina 10-5

Met behulp van een receive-operatie kan een proces data uiteen messagebuffer hal en. Echter al~ de buffer lee9 was danwordt het proce~ dat de receive-operatie wilde uitvoerenopgehouden (in slaap gelegd). Als een ander proces dan weermet behulp van een send-operatie data in het messagebufferstopt, wordt het slapende proces weer gewekt.

Links in de vereenvoudigde accessgraph (fig. 10.1) zijn determinals symbolisch weergegeven, waarbij het toetsenbord­en het display-gedeelte afzonderlijk getekend zijn. DeDEClO-computer is door middel van een modeminterface en eenas ynchrone line-interface. met de POP8 minicomputerverbonden. Door deze wiJze van koppelen kan de DEClO Alseen gewone terminal beschouwd worden (TTY77).

Het proces input-ITYI leest een regel tekst van hettoetsenbord van terminal I. Met een regel wordt bedoeld eenhoeveelheid karakters gevolgd door een speciaal karakter,biJvoorbeeld een return-karakter. Deze regel tekst wordtvervolgens, voorafgegaan door een identifikatie-code, in hetmessagebuffer "output buffer TTY77" geplaatst. l{et procesinput-ITY2 doet hetzelfde voor terminal 2 maar (uiteraard)met een andere identifikatie-code. De inhoud van"outputbuffer TTY??" wordt naar de DEClO gestuurd (hetproces dat daarvoor zorgt is in de figuur niet getekend).

Karakters die van de DEClO komen worden door het procesinput-TTY?? ontvangen. Het programma OPSER (dat op de nECIOde datastroom bestuurt) stuurt steeds eerst een regelidentifikatiecode gevolgd door de eigenlijke data. Pierdoorkan het proces input-TTY?? de ontvangen karakters naar dejuiste terminal dirigeren.

10.2 BESTURING GEBRUIKERS-TERMINAL

In figuur 10.2 wordt met iets maar detail de internestruktuur weergegeven van het stukje programmA dat eengebruikersterminal bestuurt. Dit plaatJe geldt ook voorterminal 2, echter niet voor terminal 77. De besturing vandeze terminal wordt verderop beschreven.

Page 41: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

keyboard

HET KOMMUNIKATIEPROGRAMMA

lSh=_i n V!rrupt ~1ervicf' r:HJ.tinC"I!3=jn}Jut bufferlH~:output hufferIP",input proccn

pfig1na 10-1)

F1guur 10.2 Interne struktuur van de TTYn-handler

Page 42: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

H2T KOMMU NIKATIE PR OGR AMMA pagina 10-7

Links in de figuur (figuur 10.2) zien we weer eensymbolische aanduiding van een terminal, gesplltst in eentoetsenbord- en een display-gedeelte. Rechts in de figuuris het input proces TTYn (n=l of 2) weergegeven en daaronderhet Dutputbuffer van ITYn. De twee processen "keyboardinterrupt handler" en "display interrupt handler" zijnzogenaamde interrupt-driven processen. Hiermee wordtbedoeld dat deze processen wachten op een (hardware)interrupt en dan een cyclus doorlopen.

A1s een toets op het toetsenbord van de terminal wordtingedrukt, dan wordt het lopende programma onderbroken enbegint het proces "keyboard interrupt handler" te lopen. Erwordt dan een karakter ingelezen van het toetsenbord en ditkarakter wordt vervolgens zowel in het echobuffer alsook inhet input-buffer geplaatst.

Als het display-gedeelte van de terminal (het bee1dsch~rm

van een videoterminal of de printer van een teletype) klaaris met het printen van een karakter dan ontstaat w~er eeninterrupt-konditie in de computer.

Het lopende programma wordt onderbroken en de displayinterrupt handler wordt gestart. Deze handler kiJkt daneerst of er misschien een karakter in het echo-buffer sti'tat.Is dat het geval dan wordt dat karakter ogenblikk~lijk

geprint. Als het echo-buffer lee9 is dan wordt een kar~kter

uit hat outputbuffer gehaald en geprint. Echter als ook ditbuffer 1eeg is, dan valt er niets te printen. Er wordt daneen zogenaamde software-flag gezet (een geheugenlokatiewaarin een bit op "1" wordt gezet).

Een proces dat een karakter in het outputbuffer wil plaatsenkiJkt eerst even naar de stand van deze software flag. Alsde software flag aangeeft dat de printer klaar is metprinten dan kan het proces door een speciale instruktie uitte voeren een interrupt-konditie scheppen waardoor dedisplay interrupt handler weer start met printen. (~deze

wiJze wordt er voor gezorgd dat de printer op ziJn maximalesnelheid karakters op hat scherm of op het papier plaatst.

10.3 BESrURINGSPR(~RAMMA VAN DE DEClO-INTERFACE.

De PDPB is door middel van een modem control interface eneen asynchrone l1Jninterface verbonden met de DEClO (figuur10.3). Hierdoor is de DEClO te zien ais een terminal(ITY77) • het dis play-gedeel te is de ze nde r naar de OEe 10 enhet keyboard gedeelte ontvangt karakters van de DEClO. Watonmlddell1Jk opvalt als we een v.ergeliJking maken tllssen destruktuur van de terminal handlers (TTY! en TTY2) en de

Page 43: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUNIKATIEPROGRAMMA pagina 10-8

TTY??-handler is de toevoeging van 2 buffers l

control-Q-buffer en control-S-buffer. Deze buffers zorgener voor dat het inputbuffer TTY?? nlet vol raakt. Als deDEClO (die als het ware op het toetsenbord van TTY7?karakters invoert) veel karakters over de 11jn stuurt dankan het input buffer TTY?? vol raken als dit nipt snelgenoeg geleegd wordt naar een terminal. De keyboard TTY??interrupt handler nu, zorgt er voor dat er een control-Skarakter naar de DEClO wordt gestuurd zodra het input buffervol drelgt te raken. De DEClO stopt dan met karaktersverzenden en gaat pas weer verder als een control-a karakteris ontvangen. nit control-a karakter wordt door het procesinput TTY?? in het control-a-buffer gestopt zodra het inputbuffer leeg dreigt te raken.

Page 44: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HET KOMMUN IKATI EPROGRAMMA

ID77::ill!mt buff(;r TTY77OBT/=oul:;,ut J1\1 rCYer '['TV'/'IIl'?"/ =in~ 'ut !)roc('~; '1''1'':7 'Il~;n=interr\lnt ~;(,rvic,' routine

pag1na 10-9

D[CIO

asynchronousinterface +modem-control=TTY77

F1guur 10.3 Interne struktuur van de TTY77-handler.

Page 45: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

HEr KOMMUNIKATIEPROGRAMMA pagina 10-10

Het proces "display TIY77 interrupt handler" wordtals er een interrupt konditle optreedt (het laatsteis verwerkt). De handler klJkt dan eerst ofcontrol-S geprlnt moet worden, vervolgens ofcontrol-Q geprlnt moet worden. Pas dan wordt eenuit het outputbuffer TTY77 geprint.

gestartkarakterer eener een

karakter

Page 46: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hootdstuk II

I MPLEMENTATIE-OETAI LS

11.1 PRCCESSEN

Een proces 15 een cyc11sch stukJe programma. Elk procesheeft een header van 2 woorden. Het eerste woord is p.enlink-p01nter, ge1n1t1a11seerd op O. Het tweede woord bevathet start/restart-adres van het proces.

11.2 QUEUES

Een queue 15 ge1mplementeerd als een woordl dequeue-po1nter. Oit woord wordt ge1n1t1al1seerd op 0; dequeue is dan leeg. In het kommun1kat1e programma 15 aIleensprake van queues van processen. Ais procesl 1n een noglege queue geplaatst wordt dan w1jst de queuep01nter naarhet eerste woord van de proces-header (de 11nk-pointer).D1t woord zal dan een 0 bevatten. Wordt er nu nog eenproces in de queue geplaatst (proces2) dan w1jst de11nkpo1nter van procesl naar de 11nkpo1nter van proces2. Delinkpolnter van proces2 15 weer 0 (z1e f1guur 11.1).

Page 47: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEMENTATIE-DETAILS

proces 1

pagina 11-2

proces 2

... - -... ... -- ..I .. I

queue-pointer

tIguur 11.1. Een queue van processen.

Ais nu een proces ult de queue gehaald wordt, dan wordtprocesl geselekteerd. Een proces wordt dus vooraan in dequeue geplaatst en achteraan er weer uitgehaaid (fIrst 1n,first out).

AIle queues maken deel ult van messagebuffers metuitzondering van de ready-queue. De ready-queue bevatprocessen die klaar staan am verder te lopen. ze wachtentot ze de processor krljgen.

11.3 MESSAGE-BUFFERS.

Ean messagebutfer bestaat uit een stukje admlnistratie (inPAGE 0) en een pleats (nlet In PAGE 0) waar de data wordtopgeslagen (georganiseerd als een ringbuffer).

Het administratie gedeelte bevat de volgende elementen.

I • -51 zeDe two-complement-waarde van het maximaal aantaltoegestane woorden (bufferslze).

2.

3.

put IndexDe waarde van deze index geeft, QP~teldadres van het datagebled, het adresdatawoord geplaatst mag worden.

get IndexDe waarde van deze Index geeft, opgeteldadres van het datagebled, het adresdatawoord gehaald mag worden.

bijwaar

bijwaar

hethet

hethet

Page 48: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEMENTATI E-DETAILS pag1na 11-3

4. adres van het datagebied

5. getal. g8 li jk aan hat aantal datawoorden dat op hetmoment in het buffer aanwezig is.

6. pointer naar de consumer-queue

7. pointer naar de producer-queue

Er zijn twee subroutines gedefinieerd voor data uitwisselingmet een message buffer' De subroutine GETWRD(BUFFER) levertals waarde op het volgende datawoord uit BUFFER.

De subroutine PUTWRD(W(X)RD.BUF~ER) plaatst het data-elementWOORD in BUFFER.

11.4 SCHEDULER

De scheduler is een stukje programma dat wprdt aangeroepenals een proces zich zelf in een queue heeft geplaatst. Descheduler selekteert dan een proces uit de ready-queue enstart dit proces.

Als de ready-queue leeg is. dan wordt er gewAcht (in eenwachtlus) tot er een proces in de ready-queue wordtgeplaatst door een interrupt-driven proces.

De scheduler houdt bij welk proces aktief is;dient de variabele CAND (candidate).

1I .5 Dc SUBROUTI NES GETWRD EN PUTWRD

I 1.5. I PUTWRD

fen aanroep van de subroutine PUTWRD

hiervoor

In PDP8-code'RA, TAD WORD /GfT DATA-ELEMENT

JMS PUTWRD /AND PUT INTO BUFFER

BUrNAME

plaatst het data-element W(~D in hetadres van de buffer administratievariabele RUFNAME.

buffer waarvan hetis gegeven door de

Page 49: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEM~NTArIE-DETAILS pagina 11-4

De werking van deze subroutine is weergegeven in hetvolgende sc hema I

PUTWRD

buf [put]: =WORDput:=(put + l)mod sizenum: =num+l

restart-adres voor callingproces wordt aangeduid doorlabel RA.enter(calling proces,prod.queue)goto scheduler

nee

select(proces,cons.queue)enter(proces,reddy-queue)

Het datagebied van het message buffer is een arraybufCO ••size-ll. put is de index in deze array. Als hetdata-element W(mn in het buffer geplaatst is. dan wordt deindex put opgehoogd modulo size. Tevens wordt het aantaldata elementen In het buffer (num) met I opgehoogd. Als decons umer queue ni et leeg Is dan moet het proces. da tin diequeue staat te wachten. verlost worden en dus in deready-queue geplaatst worden. Immers. dat proces kWnm in deconsumer queue terecht omdat gepoogd werd een data-elementuit het lege messagebuffer te halen. En nu is hetmessagebufter niet meer leeg. Als een aanroep van desubroutine PUTWRD wordt gedaan terwijl het buffer vol is danmoet het aanroepende proces in de producer-queue van hetmessagebufter worden geplaatst. Als restart adres wordt hetadres genomen. aangeduld door het label RA. in de aanroep

Page 50: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEMENTAIIE-DETAILS

van de sUbroutine PUTWRD.

Vervolgens moet de schedulerqueue halen en opstarten.weergegeven met het (zeerscheduler.

11.5.2 GETWRD

pagina 11-':)

een ander proces uit de readyDit wordt in bovenstaand schema

provocerende) statement goto

De subroutine GETWRD behoeft na deze u1tleg nauwelijksve rder kOlTIme ntaar en 15 1n onders taand sc hema weergegeve n.

nee

GETWRD

buffer leeg ?ja

accumulator: =buf[ get]get:=(get+l)mod sizenum: =num-l

restart-adres voor callingproces wordt aangeduid doorlabel RA.enter(calling proces,cons.que)goto scheduler

select(proces,producer-que)enter(proces,ready-queue)

Page 51: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEMENTATIE-DETAILS

II .6 DE I NTERRU PT

pagina 11-6

Als een interrupt konditie optreedt dan wordt het lopendeprogramma onderbroken, de status wordt bewaard en door hetdoorlopen van een skip-chain wordt bepaald welk apparaat deinterrupt heeft veroorzaakt. Vervolgens wordt eeninterrupt-handler gestart. Als deze zlJn taak h~eft

volbracht wordt de ~tatus van het onderbroken programma weerhersteld en deze kan weer verder gaan.

Er ziJn echter situaties waarin het lopende proces nietonderbroken mag worden. Stel dat een proce~ data 1n eenbuffer heeft gestopt en er komt een interrupt voordat debetreffende parameters aangepast zijn. Stel verder dat deinterrupt-handler ook data in datzelfde buffer wI1 ~toppen.

Deze data wordt over de data van Met proces heengeschreven.De bufferparameters worden aangepast en het oorspronkellJkeproces zal weer doorgestart worden. Dit proces zal danverder gaan en de buffer parameters nog eens aanpassen. emdit te voorkomen wordt de interrupt-konditie tijdens ditsoort operaties afgeschermd. De interrupt-kond1tle wordtbewaard in een machine register, komt nu weI degeliJk doormaar onderbreekt de gang van zaken n1et en wordt voorlopigniet afgehandeld.

11.7 DE INTERRUPT HANDLERS.

De Interrrupt handlers ziJn niet geimplementeerd sIsprocessen omdat hier geen proces-headers nodig zijn.Interrupthandlers mogen nooit in een queue staan wachten.Le moeten altijd aktief kunnen worden zodra er een interruptoptreedt. Echter, 1nterrupt handlers moeten weI een send­uf receive-operatie (PUTWRD- of GETWRn-subrollt1ne) kunnenuitvoeren. Maar de kans bestaat dan dat een buffer vol isals een send operatie wordt uitgevoerd of dat een hufferleeg is als een receive-operat1e wordt u1tgevoerd. ()n ditlaatste te voorkomen kunnen de administratie var1abelen vanhet message buffer worden bekeken. Zo geeft de variabeleNUM (het aantal data-elementen dat in het buffer aanwezig15) meteen Informatle of het buffer leeg 15 of niet. Eentest op vol ziJn van het buffer kan geschieden door deexpressie NUM-SIZE te evalueren. Als NUM-SIZE=O dan i5 hetbuffer vol.

De interrupt handler moet dan gepaste maatregelen nemen.Als een keyboard interrupt handler merkt dat het inputbuffer vol 15 dan wordt het 1ngelezen karakter qenegeerd.Als een display interrupt handler merkt dat een buffer leeg15, dan valt er niets te pr1nten en wordt er een softwareflag gezet om aan te geven dat de printer klaar 15 en weer

Page 52: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEM~NTAIIE-DETAILS

opnieuw opgestart moet worden.

I I .8 DE fR EE POOL

paginA 11-7

De terminal handlers sturen regels tekst naar het outputbuffer van ITY77 (*). Zo'n regel wordt pas verstuurd alshi J komp 1eet is. Om het s teeds maar weer karakter voorkarakter- kopieren van regels te voorkomen, wordt nlet deregel tekst zelf doorgestuurd naar het output buffer vanTTY77. In plaats daarvan wordt het adres van de buffer,waar die regel in staat, doorgestuurd.

De volgende implementatie is toegepast.

Er is een message buffer FREEPL gedefinieerd. Oit bufferbevat adressen van lege mes5agebuffers~ Het aantal legemessagebuffers in FREEPL bedraagt I meer dan hat totaalaantal messagebuffers in het totale programma. Op diemanier wordt gegarandeerd dat een receive-operatie toegeoastop FREEPL nooit tot gevolg heeft dat hat aanroepende procesin slaap wordt gelegd. De keyboard interrupt handler vanTTYI vult ziJn input buffer met de karakters die van hettoetsenbord van deze terminal komen. Het input proces TTY)haalt een buffer adres van FREEPL en vult dit buffer eerstmet de identifikatiekode van TTYl (de karakters "O-_"'Yff) envervolgens met de karakters uit het input buffer TTY) totdateen speciaal karakter wordt gedetekteerd (een 1.gn.break-karakter). Een speciaal karakter is bijvoorbeeld eenreturn, een rubout, altmode, escape of andercontrol-karakter. Vervolgens wordt het buffer verderopgevu Id met het spec ia Ie karakte r ze 1f, weer eencontrol-Y-karakter en een return. Het adres van d1t hufferwordt nu in het outputbuffer TIY77 geplaatst. De displayinterrupt handler TIY77 haalt dit adres op en stuurt deinhOud van dat buffer naar de display TTY77 (= de DEClO).Als het buffer leeg is wordt het weer aan FREEPLteruggegeven om opnieuw gebruikt te worden.

De software ziet de DEClO als een terminal' TIY77. TTYI enTTV2 ziJn de gebruikers-terminals.

Page 53: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

IMPLEMcNTAfIE-DETAILS

11.i} DE FUNKTIE VAN HET CONTROL-¥-KARAKTER

pagi na I J-8

~1et programma OPSER dat op de DEClO draai t kan twee soortenidentitikatie kode verwerken l

I. D~ eerdergenoemde mogellJkheld vansUbtaaknummer,-,regel tekst,return(in de regel tekst mogen geen return ot anderespeciale karakters voorkomen!)

2. sUbtaaknummer,-,-,separator,regel tekst,separator,returnNu mogen in de regel tekst wel wl1lekeurlgekarakters Cook control-karakters) voorkomen,behalve de separator. Voor dlt karakter 1scontrol-Y gekozen. Nu kunnen willekeurigekarakter-reeksen naar de DEClO gestuurd worden, metals enige beperklng het karakter Ay zelt.

Page 54: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 12

NAWOORD

het15Met het beschreven kommunikatie programmaHAS-kommunl kat ie-probl eem nog niet opgelos t.

Ais er lokaal, dus als terminal aan de PDP8, data wordtgeproduceerd bestaat de behoefte om deze data naar de DEClOte sturen. (~k wil men graag data van de DEClO lokaalbewaren. Met andere woorden er is behoefte aan file-I/O.

Het geimplementeerde virtual terminal systeem met OPSER aande DEClO-kant werkt te traag als de DEClO druk bez~t is.Oi t is te verbeteren door zel f een OPSER-achtig programma teschrijven uitsluitend voor het virtual terminal support

Een veel beter ultgangspunt zou ziJn geweest om de file-I/Oen het virtual terminal support in een geheel te bezien.Dan is het mogelijk om het virtual terminal support teimplementeren als boodschappen (met de hoogste prioriteit)in het file verkeer. Ais dan ook nog gebruik gemaakt wordtvan synchrone transmissie (in plaats van asynchronetransmissle) dan ontstaat een efficient systeem.

Een dergelijke oplossing vergt een aanzienlijke investerlngin de ontwlkkeling van software zowel aan de DEClO-kant vande verbinding als ook aan PDP8-z1jde. Ais voor eendergelijke oplossing zou worden gekozen dan komt hetprobleem van het software-onderhoud. BiJ elke belangrljkewiJziging In hardware of software van de DEClO of oe PDP8moet in de gaten gehouden worden of, en zo Ja welke,wijzigingen moeten worden aangebracht in de kommunikatiesoftware.

Verder vraagt een dergelijk lokaal computersysteem om eenpersoon die, 11efst full-time, in de buurt 15 om toezicht tehouden en de helpende hand te bieden biJ software- enhardware problemen (bijvoorbeeld bediening randapparatllur).

Page 55: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

NAwooRD paglna 12-2

Aan dlt probleem 15 weI tegemoet te komen door goededokumentatle te schriJven en biJ de keuze van de apparatuuraan het bedlenlngs-aspekt een groot belang te hechten. Eensimpele opstart-procedure met behulp van een hardwar~

bootstrap, zodat in princIpe aIleen een aan/ult-knop nodigis, is dan ook zeer gewenst.

Bij de detinitleve besllssing over de aanschat van de lokaleHAS-systemen zullen dan ook nogmaals de prlorltelten moetenworden afgewogen van zaken alsl

- groelmogelljkt~ld van het systeem- onder houd harware/software- wat moet lokaal, wat centraal (kompatlbiliteit

van lokale en centrale software)- hoev~el man-uren en kundlgheid kunnen en willen d~

Has-en zeIt Inbrengen.enz.

Oit zal zeker geen gemakkelljke besllss1ng zljn.

Page 56: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

Hoofdstuk 13

LITERATUUR

I. Mischa SchwartzComputer communication network design and analysis

2. Hebbi tchData communications

3. Digital Equipment CorporationDECNET, Digital's Network Facilities

4. Digital Equipment CorporationPDP8/E small computer handbook

5. Digital Equipment CorporationMACREL/LINK User's Manual

6. R. ClementsRUN oFF Us er' s Manua I

7. Philip G. SteinDatamation, april 1977The search for SYN

8. Digital Equipment CorporationOS/8 handbook

9. C.J. de Groot, J. Kolkman en L. van der MeyRapport ETOS-studiereis Engeland

10. Educomp CorporationErOS Version 48 System user's guide

II. Educomp CorporationErOS Version 48 System manager's guide

12. Digital Equipment CorporationRTS-8 User's manual

Page 57: Eindhoven University of Technology MASTER Het koppelen van … › files › 46771010 › 347193-1.pdf · - Taak bepaald door de informatica-docent. 2.2.2 Applikatie-onderwijs. response

van

LITERATUUR

13. Digital Equipment CorporationIntroduction to minicomputer networks

14. Kernvakgroep InformaticaVoorstel tot uitbreidingfacilite1ten van het H.A.O

de

paglna 13-2

computer