PRISERVAJ SUBRUTINOJ DE LA PERIFERIO EN LA OPERACIAD-SISTEMO
Inĝ. Vl. Němec
1. Enkonduko
Unu el pluraj taskoj de la operaciad-sistemo estas priservo de la periferio kaj zorgo pri ĝia efektiva eluzo.
Apud la interromp-sistemo, storširmado, horloĝo de reala tempo, estas aŭtomate laboranta periferio unu el la plej gravaj kondiĉoj por la laboro de la operaciad-sistemo.
Necesas, ke estu organizata distribuado de la periferieroj al unuopaj programoj, se tiuj postulas enigon aŭ eligon de la informo. Ni diras, ke programoj korespondas kun la periferieroj.
La informo estas sinsekvo de unuopaj informeroj de la sama tipo. Ni povas difini jenajn informerojn:
a) signalo,
b) alfabet-cifera kodo,
c) binara kodo.
La sinsekvon de signaloj ni nomos signal-bloko. La sinsekvo de alfabet-ciferaj kodoj estos nomata raporto kaj 1a sinsekvo de binaraj kodoj estas binar-bloko.
La signal-bloko estas difinita per la adreso de la valoro de la unua signalo kaj per longeco de la bloko. Ĝi povas konsisti el diversspecaj signaloj - analogaj, ciferaj ktp.
La raporto povas esti finita (la lasta kodo de la raporto estas difinita finkodo), aŭ nefinita. En la sistemo povas esti difinitaj kelkaj finkodoj. La raporto estas difinita per la adreso de sia unua alfabet-cifera kodo kaj per la finkodo aŭ per sia longeco.
Simile ankaŭ la binarbloko estas difinita per la adreso de sia unua kodo kaj per sia longeco aŭ finkodo.
En la kadro de la operaciad-sistemo estas kreataj subrutinoj priservantaj unuopajn grupojn de samtipaj periferieroj.
Laŭ la speco de periferioj ni povas dividi subrutinojn
jene:
a) subrutino de enigiloj,
b) subrutino de eligiloj,
c) subrutinoj de diversaj eksteraj storoj,
d) subrutinoj de kontaktunuoj kun la medio.
2. Subrutinoj de enigiloj
Per tiu ĉi subrutino povas esti priservataj:
a) elektraj skribmašinoj,
b) legiloj,
c) datum-vidigiloj,
d) teleskribiloj.
Postuloj plenumendaj de la subrutino:
a) aŭtonoma enigo de raporto aŭ de ĝia parto,
b) ĉiu programo havas aligitan disjunktan subaron de enigiloj,
c) kontrolo de la storširmo de la programo - ĉu la raporto eniĝos en la širmatan storon de la programo,
d) paritkontrolo
78
e) transskribo de la raporto en la storon de la programo en la postulata formo.
La enigilojn ni povas dividi je pasivaj (legiloj) kaj aktivaj (ĉiaj aliaj). La subrutino permesas aŭtomatan enigon de raporto aŭ de ĝia parto per aktivaj enigiloj. La raporto estas transkribita en la bufran storon (bufren) de la koncerna enigilo en la operaciad-sistemo. En tiu ĉi bufro restas la raporto ĝis la tempo, kiam turniĝas al la operaciad-sistemo iu programo kun la demando, ĉu ia raporto estis por ĝi enigita. Tra la pasivaj enigiloj eniras la raporto aŭ la binar-bloko nur tiam, kiam la programo tion postulas.
La programo atendanta la enigon de raporto aŭ binar-bloko turniĝas al la operaciad-sistemo difinante jenajn parametrojn:
a) aron de enigiloj, el kiuj ĝi atendas enigon de iu raporto aŭ binar-bloko
b) ĉu la raporto estu transskribita en ĝian bufron sen ellasitaj sensignifaj kodoj aŭ kun ilia anstataŭo per interspaco,
c) la adreson de la bufro de programo, en kiun la raporto devas esti transskribita.
Bufroj de la operaciad-sistemo povas esti linearaj aŭ ciklaj. Post ilia parta aŭ tuta malplenigo ili povas esti denove replenigataj.
La operaciad-sistemo informas programon pri la nomo de enigilo, per kiu eniris la raporto aŭ binarbloko. Se temas pri binarbloko, ĝi infornas ankaŭ pri ties longeco. Ĝi ankaŭ informas, ĉu dum la enigo ne ekestis ia eraro.
La operaciad-sistemo laŭ la postulo dd programo se okaze eniris nenia raporto aŭ binarbloko por ĝi, povas la programon haltigi ĝis la enigo de ia raporto.
Kiel sensignifaj kodoj estas taksataj ekzemple: interspaco, tabelilo, malplena kodo, karakterizaĵo de lumintenseco sur la datum-vidigilo k.a. Malantaŭ la lasta signifohava kodo la operaciad-sistemo donas finkodon.
3. Subrutino de eligiloj
Per tiu ĉi subrutino estas priservataj:
a) elektraj skribmašinoj,
b) truigiloj,
c) datum-vidigiloj,
d) teleskribiloj (teletajpiloj),
e) presiloj,
Postuloj plenumendaj de la subrutino:
a) aŭtonoma eligo de raporto aŭ binar-bloko,
b) organizado de la ciklaj bufroj sur la eksteraj storoj,
c) ĉiu programo havas difinitan subaron de eligiloj, kun kiuj ĝi povas komuniki. La unuopaj subaroj apartenantaj al unuopaj programoj ne devas esti disjunktaj,
d) aŭtomata anstataŭigo de eligiloj.
La programo kompilas en sia limigita storbloko la raporton aŭ ĝian parton. La ebleco elsendi nefinitan raporton šparas la storon kaj ebligas sinsekvan eligon de nefinitaj raport-partoj finiĝantaj per tiu raportparto, kiu enhavas la finkodon. La eligilo estas rezervita por certa raporto ekde la komenco de la eligo ĝis la finkodo.
79
Se la bufro de la koncerna eligilo en la operaciad-sistemo ne estas malplena kaj la programo postulas elsendon de sia raporto pere de koncerna eligilo, la raporto estas portempe lokigita en la cikla bufro sur la ekstera storo. La grandeco de la cikla bufro estas difinita per ĝia radiuso r.
LB = k . r
kie k... longeco de la bloko,
r... bufra radiuso - nombro de la blokoj
La raporto estas en la cikla bufro partigita po blokoj, kies longeco estas konstanta. La cikla bloko sur ekstera storo ebligas konservon de la plej freša historio de raportoj. Kiam la bufro estas tute plenigita, la plej malnovaj raportoj estas anstataŭigitaj per la plej frešaj. En la ĝuste projektita sistemo tio ne okazas, tamen en okazo, se kelkaj eligiloj estas elšaltitaj pro riparo, la situacio povas ekesti.
Se la programo sendas sian raporton al certa eligilo A, kiu estas elšaltita pro riparo, estas necese, ke la taskon de A transprenu alia eligilo B, kiu memkompreneble la raportojn adresitajn al A eligas nur post la eligo de ĉiuj raportoj adresitaj al B.
La difino da la anstataŭado de eligiloj samkiel la difino de la subaroj de eligiloj por koncerna programo okazas aŭ dum la generado de la operaciad-sistemo aŭ per la ordono de la disponisto.
La programo postulanta eligon de sia raporto devas difini jenajn parametrojn:
a) formon de la raporto,
b) nomon de la eligilo,
c) longecon de la raporto aŭ de ĝia parto,
d) postulon de la reaktiviĝo post la finita eligo de la raporto,
e) la adreson de la raporto,
f) laŭnorman aŭ nenorman finkodon.
La formo de la informo povas esti teksta aŭ binara. La raporto (teksta informo) povas esti aŭ po unu kodo en unu vorto, aŭ po du kodoj en unu vorto (kunpremita). La longeco de raporto estas libervola, sed ni devas scii, ke la operaciad-sistemo traktos raportun blokope. La finkodo estas sur diversaj eligiloj diversmaniere interpretita; de skribmašino kiel liniado, de presilo kiel paĝado k.t.p.
La programo difinas la parametrojn de komuniko en la raportkapo, kien la operaciad-sistemo donas ankaŭ indikojn pri ĝuste plenumita postulo. La programo dum la transskribo de la raporto en la bufron de la koncerna eligilo ne estas haltigita kaj ĝi povas plu labori. Sed se ĝi en sia storo volas kompili novan raporton, ĝi devas konvinkiĝi, ĉu la antaŭa raporto jam estis de la operaciad-sistemo transprenita. La programo povas postuli, ke ĝi estu haltigita ĝis la transskribo de ĝia raporto el ĝia storo en la bufron de la operaciad-sistemo, aŭ en la ciklan bufron sur ekstera storo. La operaciad-sistemo ankaŭ tempe kontrolas la eligon de nefinita raporto. Se la plua parto de la raporto dum certa tempo ne venas, la subrutino liberigas la eligilon por eligado de aliaj raportoj. Tio estas necesa por okazo, se la programo kompilanta pluan parton de la raporto estus pro eraro aŭ pro alia kaŭzo haltigita.
80
4. Subrutinoj de eksteraj storoj
La subrutinoj priservas:
a) magnet-tamburojn,
b) magnet-diskojn,
c) magnetbendajn aparatojn.
Postuloj plenumendaj de subrutinoj:
a) plenumas la postulojn je komunikado de unuopaj programoj laŭ ilia prioritato aŭ laŭ la prioritato dinamike difinita,
b) kontrolas respektadon de storširmado,
c) kontrolas la kvaliton de la komunikado,
d) post la malsukcesa provo je komunikado, ĝi kelkfoje aŭtomate ripetas la provon,
e) dum la komunikado ne haltigas la programon, se tio ne estas de la programo postulata,
f) ebligas difini sinsekve kelkajn postulojn je komunikado sen tio, ke la antaŭaj postuloj jam estis plenumitaj,
g) zorgas pri aŭtomata anstataŭigo de eksteraj storoj.
La subrutino kreas liston de postuloj, en kiu unuopaj programoj povas havi kelkajn erojn de diversa prioritato. Tio ebligas pli fruan plenumon de pli urĝaj postuloj je komunikado sendependa de la tempo, kiam la postuloj ekestis. Dum la komunikado povas ekesti hazardaj eraroj de la aparataro kaŭzitaj ekzemple de enpenetrinta polvero k.t.p. Ĉe ekesto de tiaspecaj eraroj kaŭzantaj rnalsukcesan provon je komunikado estas necese, ke la subrutino la provojn kelkfoje ripetu. Oni rekomendas ĉe malsukcesa provo tiun trifoje ripetadi, sed kelkaj operaciad-sistemoj ripetadas sian provon je komunikado eĉ okfoje. La ripetado estas samtempe limigita per la aktualeco de la informo, kiun ni ekzemple de ekstera storo volas atingi.
Ĉar precipe la magnetdiskoj kaj la magnetbendaj aparatoj devas esti post certa tempo haltigataj ĉu pro riparo aŭ kontrolo, necesas, ke unuopaj eksteraj storoj estu reciproke anstataŭeblaj kaj anstataŭataj. Tio signifas, ke dum tempo, en kiu funkcias la baza ekstera storo, tiu devas esti kopiata en libera tempo al sia paralela, rezerva ekstera storo kaj inverse. Ĉe la enšaltigo de certa ekstera storo necesas, ke ambaŭ storoj estu laŭenhave egalaj.
La programo postulanta komunikadon kun la ekstera storo difinas:
a) nomon de la storo,
b) adreson de la bloko,
c) longecon de la bloko,
d) ĉenigon,
e) adreson sur la ekstera storo,
f) reaktiviĝ-postulon de la programo,
g) dinamikan prioritaton,
h) specon de 1a komunikado.
La ĉenigo ebligas samtempe transskribi kelkajn blokojn.
Specoj de la komunikado:
a) legado,
b) transskribo,
c) enskribo,
d) legado laŭ difinita šlosilo.
8l
5. Subrutino de la kontaktunuo kun la medio
Unuopaj komputiloj kunlaboras kun diversaj kontaktunuoj kun la medio. Ni difinos nur la ĉefajn postulojn:
a) cikla aŭtonoma enigado de la signaloj laŭ la difinita listo kaj periodo,
b) ripetado de la provo pri komunikado, se tiu estis malsukcesa,
c) verkontrolo de la enigitaj signaloj.
La subrutino devas ebligi kiel ciklan enigadon de la sig naloj tiel ankaŭ laŭbezonan enigon de unuopaj signaloj aŭ ĝiaj blokoj samkiel la eligon de unuopaj signaloj.
6. Konkludo
La prelego skizas bazajn postulojn je subrutinoj de la operaciad-sistemo, priservantajn la periferion de la rega komputilo. Pli detala specifo dependas da la speco de komputilo kaj de per ĝi priregata medio kaj tial superas la kadron da tiu ĉi prelego.
Literaturo
l. Guttle, G. - Robinsnn, P. B.: Exekutívne programy a operačné systémy. Alfa, Bratislava, 1974.
2. Koubek, J.: Operační systém MOS - 1S, zakladní popis. UVT Tesla, Vsetín, 1976.
Druh a určenie publikácie: Štúdijný materiál pre účastníkov seminára a pre členov Zväzu esperantistov SSR
Redigoval: Ing. Jan Werner
Strojopis: Ján Mužlay, dipl. techn.
Počet výtlačkov: 200
Počet strán: 81
Vytlačil: Služby města Brna, rozmnožovna
Vydal - eldonis: Asocio de Esperantistoj en SSR, 899 01 Bratislava, ČSSR
|