home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- áááá VIRTUA╠ SYSTEMS
-
- áááá Beε Grey¼ Ceda≥ Mil∞ Z-Nodσ 24
-
- ááááThi≤ columε wil∞ bσ devoteΣ t∩ thσ continueΣ developmen⌠ oµ CP/═ (tm⌐ ì
- áááácompatiblσ operatinτ system≤ likσ PZDOS¼ anΣ ZRDO╙ (tm)« Wσ wil∞ learε ì
- ááááho≈ t∩ writσ program≤ t∩ ruε unde≥ CP/═ anΣ ZRDOS¼ anΣ wil∞ develo≡ ì
- ááááspecifiπ utilit∙ program≤ usinτ standarΣ libraries« Somσ oµ wha⌠ wil∞ ì
- áááábσ discusseΣ wil∞ bσ "oldó news¼ anΣ ß fe≈ reader≤ ma∙ finΣ i⌠ boring« ì
- ááááStil∞ therσ arσ other≤ wh∩ neeΣ t∩ understanΣ thσ ho≈ anΣ wh∙ oµ ì
- ááááoperatinτ system≤ anΣ thσ hardwarσ wσ use¼ no≈ anΣ iε thσ future.
-
- áááá╔ decideΣ oε thσ column'≤ titlσ becausσ i⌠ wil∞ allo≈ u≤ t∩ discus≤ ì
- áááábotΦ operationa∞ anΣ theoretica∞ systems« It wil∞ permi⌠ u≤ t∩ develo≡ ì
- ááááß conceptua∞ systeφ tha⌠ wσ wil∞ bσ ablσ t∩ implemen⌠ usinτ existingì
- ááááZ8░ anΣ HD6418░ anΣ Z28░ microprocessors« Wσ wil∞ cove≥ botΦ hardwarσ ì
- ááááanΣ softwarσ design¼ and¼ establisΦ somσ badl∙ needeΣ standards.
-
- ááááWhilσ thi≤ columε i≤ no⌠ intendeΣ t∩ bσ ß tutorial¼ mucΦ oµ wha⌠ wσ ì
- ááááwil∞ discus≤ wil∞ bσ oµ thi≤ nature« Understandinτ directories¼ disδ ì
- ááááallocation¼ thσ Consolσ CommanΣ Processo≥ (CCP/ZCPR)¼ thσ Basiπ Disδ ì
- ááááOperatinτ Systeφ (BDOS/ZRDOS)¼ anΣ thσ BIO╙ wil∞ al∞ bσ includeΣ iε ì
- ááááconceptua∞ anΣ topica∞ discussions.
-
- ááááS∩ beforσ wσ begiε lookinτ a⌠ conceptua∞ issues¼ let'≤ takσ ß brieµ ì
- áááálooδ a⌠ thσ histor∙ oµ computer≤ anΣ thei≥ operatinτ systems« Thσ pas⌠ ì
- áááátwent∙ year≤ havσ seeε man∙ spectacula≥ change≤ iε computinτ equipment¼ ì
- ááááprogram≤ anΣ technology.
-
- ááááTwent∙ year≤ ago¼ centra∞ processinτ unit≤ performeΣ instruction≤ iε ì
- ááááthousandth≤ oµ ß second« Today¼ computer≤ executσ instruction≤ iε ì
- áááábillionth≤ oµ ß second« Iε ß systeφ likσ thσ IB═ 1401¼ maiε storagσ ì
- áááásize≤ rangeΣ froφ 140░ t∩ 16,00░ location≤ (bytes)« Iε morσ moderε ì
- áááácomputers¼ maiε storagσ size≤ rangσ froφ 64╦ t∩ ove≥ 1╢ millioε bytes«
-
- ááááThσ datß transfe≥ rate≤ fo≥ somσ ne≈ tapσ drivσ model≤ arσ u≡ t∩ twent∙ ì
- áááátime≤ faste≥ thaε earl∙ tapσ drives« Storagσ capacitie≤ oε ne≈ harΣ ì
- áááádisδ drive≤ caε ruε a≤ higΦ a≤ 76░ millioε bytes« Thσ transfe≥ rate≤ ì
- ááááarσ u≡ t∩ 1╢ time≤ faste≥ thaε earl∙ flopp∙ disδ drives« Improvement≤ ì
- áááájus⌠ a≤ dramatiπ havσ beeε madσ fo≥ printer≤ anΣ telecommunication≤ ì
- ááááequipment.
-
- áááá┴ largσ amoun⌠ oµ softwarσ developmen⌠ ha≤ accompanieΣ thi≤ hardwarσ ì
- ááááevolution« WitΦ earl∙ computers¼ programmer≤ useΣ absolutσ machinσ ì
- áááálanguage« The∙ haΣ t∩ kno≈ machinσ codσ t∩ usσ thesσ systems« Theε camσ ì
- ááááthσ assemblers¼ compiler≤ anΣ input/outpu⌠ contro∞ systems« Thesσ haΣ ì
- ááááthσ effec⌠ oµ movinτ thσ programme≥ farthe≥ froφ machinσ code¼ lettinτ ì
- ááááhiφ spenΣ morσ timσ solvinτ applicatioε problems« Computer≤ stil∞ ì
- ááááexecuteΣ program≤ onσ a⌠ ß time« EacΦ prograφ wa≤ se⌠ u≡ anΣ ruε ì
- ááááindependentl∙ b∙ thσ system'≤ operator.
-
- èááááThσ firs⌠ operatinτ system≤ enableΣ user≤ t∩ batcΦ job≤ anΣ ruε theφ iε ì
- ááááß singlσ stream« Job≤ executeΣ onσ a⌠ ß timσ anΣ therσ wa≤ ß smoothe≥ ì
- áááátransitioε froφ joΓ t∩ joΓ witΦ somσ assistancσ froφ thσ operatinτ ì
- áááásystem« Thi≤ madσ thσ operator'≤ job¼ anΣ systeφ operation¼ easier« A≤ ì
- ááááCP╒ speed≤ becamσ faste≥ anΣ maiε storagσ morσ abundant¼ operatinτ ì
- áááásystem≤ expandeΣ iε scope« Thesσ ne≈ operatinτ system≤ le⌠ user≤ ruε ì
- áááámultiplσ job≤ concurrentl∙ ¡¡ multiprogramminτ ¡¡ b∙ sharinτ thσ CPU¼ ì
- áááárea∞ storagσ anΣ othe≥ systeφ resource≤ amonτ activσ jobs« The∙ als∩ ì
- áááámadσ possiblσ teleprocessinτ application≤ tha⌠ contro∞ remotσ computinτ ì
- ááááanΣ datß entr∙ operation≤ froφ onσ centra∞ location.
-
- ááááThesσ technica∞ developmen⌠s havσ mean⌠ significan⌠ benefit≤ fo≥ ì
- áááácompute≥ user≤ anΣ thei≥ peoplσ ¡¡ systeφ analysts¼ programmers¼ ì
- áááácompute≥ operators¼ anΣ s∩ forth« Compute≥ user≤ caε no≈ develo≡ ì
- áááácompletσ system≤ fo≥ operationa∞ contro∞ anΣ managemen⌠ informatioε iε ì
- áááácontras⌠ t∩ thσ typica∞ payrol∞ anΣ billinτ application≤ oµ fifteen t∩ ì
- áááátwenty year≤ ago«
-
- áááSysteφ resource≤ arσ shareΣ amonτ severa∞ job≤ iε multiprogramminτ ì
- áááásystems¼ anΣ amonτ multiplσ user≤ iε timσ sharinτ systems« Programmer≤ ì
- ááááusσ applicatioε-orienteΣ language≤ likσ COBOL¼ FORTRAN¼ anΣ PASCAL« A≤ ì
- ááááß result¼ programmer≤ caε devotσ morσ timσ t∩ probleφ solutions«
-
- ááááOperatinτ system≤ handlσ mucΦ oµ thσ joΓ preparatioε anΣ joΓ-t∩-joΓ ì
- áááátransitioε tha⌠ formerl∙ occupieΣ s∩ mucΦ oµ ß compute≥ operator'≤ ì
- áááátime« Operator≤ no≈ spenΣ timσ directinτ systeφ activity¼ keepinτ thσ ì
- áááásysteφ "productive"« Thus¼ thσ programmer≤ anΣ operator≤ wh∩ worδ witΦ ì
- áááácomputers¼ thσ scopσ oµ applicatioε developed¼ anΣ iε general¼ compute≥ ì
- ááááuser≤ havσ benefiteΣ ß grea⌠ amoun⌠ froφ thσ pas⌠ development≤ iε ì
- ááááhardwarσ anΣ software.
-
- ááááWσ havσ briefl∙ examineΣ ho≈ wσ arriveΣ a⌠ thσ curren⌠ modσ oµ compute≥ ì
- ááááoperation« Wherσ caε wσ g∩ froφ here┐ Wha⌠ woulΣ you≥ objective≤ bσ iµ ì
- ááááyo⌡ werσ designinτ ne≈ feature≤ anΣ function≤ fo≥ aε operatinτ system« ì
- ááááTakσ ß momen⌠ anΣ thinδ abou⌠ it« Thσ followinτ lis⌠ oµ objectives¼ ì
- ááááthougΦ the∙ ma∙ bσ somewha⌠ differen⌠ thaε yours¼ wil∞ providσ u≤ witΦ ì
- ááááß commoε referencσ point.
-
- áááá 1« Programmer≤ shoulΣ havσ thσ amoun⌠ oµ maiε storagσ tha⌠ the∙ ì
- ááááááááááááááneeΣ fo≥ designinτ program≤ withou⌠ havinτ t∩ usσ planneΣ ì
- ááááááááááááááoverla∙ o≥ dynamiπ managemen⌠ techniques« Eveε thougΦ thσ ì
- áááááááááááááásizσ oµ availablσ compute≥ maiε stragσ ha≤ increaseΣ ì
- áááááááááááááátremendously¼ user≤ cu⌠ thei≥ storagσ int∩ partition≤ o≥ ì
- ááááááááááááááregion≤ fo≥ multiprogramminτ efficiency«
-
- áááááááááááááProgrammers¼ then¼ arσ restricteΣ t∩ thσ sizσ oµ thσ larges⌠ ì
- áááááááááááááápartitioε o≥ regioε useΣ iε thei≥ system« Thi≤ ofteε require≤ ì
- áááááááááááááábreakinτ ß prograφ u≡ int∩ separatσ step≤ o≥ usinτ specia∞ ì
- ááááááááááááááoverla∙ technique≤ t∩ makσ program≤ "fitó int∩ ß regioε o≥ ì
- áááááááááááááápartition« Al∞ oµ thesσ desigε requirement≤ adΣ overheaΣ t∩ ì
- áááááááááááááásolvinτ ß problem.
-
- áááá 2.áááIµ ß prograφ i≤ to∩ largσ fo≥ maiε storagσ size¼ i⌠ i≤ thσ ì
- ááááááááááááááoperatinτ system¼ no⌠ thσ programmer¼ tha⌠ shoulΣ makσ thσ ì
- ááááááááááááááprograφ "fitó int∩ maiε storage.
- è
- áááá 3.áááProgram≤ shoulΣ usσ systeφ resource≤ ¡¡ especiall∙ maiε ì
- áááááááááááááástoragσ ¡¡ onl∙ a≤ requireΣ durinτ execution« Fo≥ example¼ ß ì
- ááááááááááááááprograφ tha⌠ need≤ 82,00░ byte≤ oµ maiε storagσ wheε full∙ ì
- ááááááááááááááloaded¼ ma∙ referencσ onl∙ 22,00░ byte≤ durinτ onσ par⌠ oµ ì
- ááááááááááááááprocessing« Durinτ thi≤ time¼ therσ i≤ n∩ neeΣ fo≥ thσ ì
- ááááááááááááááoperatinτ systeφ t∩ commi⌠ maiε storagσ t∩ 60,00░ ì
- ááááááááááááááunreferrenceΣ bytes« Aε examplσ oµ sucΦ ß situatioε i≤ ß ì
- ááááááááááááááteleprocessinτ applicatioε runninτ a⌠ les≤ thaε it'≤ maximuφ ì
- ááááááááááááááload.
-
- áááá 4.áááThσ operatinτ systeφ shoulΣ no⌠ allo≈ maiε storagσ t∩ becomσ ì
- ááááááááááááááfragmented« Assumσ tha⌠ severa∞ program≤ arσ executing¼ eacΦ ì
- ááááááááááááááiε it≤ owε contiguou≤ areß oµ maiε storage« Threσ 15╦-bytσ ì
- ááááááááááááááarea≤ iε maiε storagσ arσ idlσ (nonσ oµ thσ executinτ ì
- ááááááááááááááprogram≤ occup∙ thesσ areas)« Iµ thσ smalles⌠ prograφ waitinτ ì
- áááááááááááááát∩ begiε need≤ 30╦ byte≤ oµ contiguou≤ maiε storage¼ i⌠ mus⌠ ì
- ááááááááááááááwai⌠ unti∞ 30╦ byte≤ oµ contiguou≤ maiε storagσ become≤ ì
- ááááááááááááááavailable« Unti∞ then¼ ß tota∞ oµ 45╦ byte≤ oµ maiε storagσ ì
- ááááááááááááááarσ idlσ becausσ oµ storagσ fragmentation« The∙ arσ wasted.
-
- áááá 5. Aε operatinτ systeφ shoulΣ contro∞ systeφ resource≤ likσ maiε ì
- áááááááááááááástoragσ iε sucΦ ß wa∙ tha⌠ yo⌡ automaticall∙ ge⌠ ß ì
- ááááááááááááááperformancσ improvemen⌠ b∙ addinτ morσ maiε storage« Fo≥ ì
- ááááááááááááááexample¼ iµ yo⌡ havσ ß prograφ tha⌠ mus⌠ usσ overlay≤ becausσ ì
- áááááááááááááái⌠ won'⌠ fi⌠ int∩ maiε storage¼ addinτ morσ maiε storagσ ì
- ááááááááááááááwon'⌠ hel≡ a⌠ al∞ unles≤ yo⌡ redesigε anΣ recodσ thσ program« ì
- ááááááááááááááI⌠ woulΣ bσ nicσ iµ thσ operatinτ systeφ coulΣ someho≈ "aut∩-ì
- áááááááááááááámaticallyó overla∙ program≤ anΣ "automaticallyó usσ addeΣ ì
- áááááááááááááámaiε storage.
-
- áááá 6« ┴ compute≥ use≥ shoulΣ bσ independen⌠ oµ thσ sizσ oµ thσ maiε ì
- áááááááááááááástoragσ iε whicΦ program≤ executσ anΣ iε whicΦ thσ operatinτ ì
- áááááááááááááásysteφ i≤ structured« Hσ shoulΣ bσ ablσ t∩ structurσ ß systeφ ì
- áááááááááááááámorσ accordinτ t∩ hi≤ "needsó thaε t∩ thσ sizσ oµ maiε ì
- áááááááááááááástorage.
-
- áááá 7.áááMaiε storagσ shoulΣ bσ shareΣ dynamicall∙ amonτ thσ activσ ì
- áááááááááááááájob≤ iε thσ system« Program≤ shoulΣ ge⌠ thσ maiε storagσ tha⌠ ì
- ááááááááááááááthe∙ neeΣ wheε the∙ neeΣ it« Iε othe≥ words¼ thσ systeφ ì
- ááááááááááááááshoulΣ bσ adaptivσ t∩ thσ demand≤ oµ thσ system'≤ activities.
-
- áááá 8. Schedulinτ anΣ operatinτ ß systeφ shoulΣ bσ easier« Operatinτ ì
- áááááááááááááásystem≤ requirσ ß largσ amoun⌠ oµ use≥ participatioε t∩ ì
- ááááááááááááááschedulσ job≤ anΣ contro∞ systeφ resources« ┴ ne≈ systeφ ì
- ááááááááááááááshoulΣ requirσ les≤ use≥ participatioε t∩ achievσ gooΣ ì
- ááááááááááááááschedulinτ anΣ operatioε results.
-
-
- ááááMos⌠ item≤ iε thi≤ lis⌠ oµ objective≤ relatσ iε somσ wa∙ t∩ ho≈ aε ì
- ááááoperatinτ systeφ manage≤ ß computer'≤ maiε storage« Thesσ objective≤ ì
- áááácaε bσ fulfilleΣ b∙ aε operatinτ systeφ tha⌠ support≤ ß virtua∞ ì
- áááástorage« Thσ technique≤ oµ virtua∞ storagσ anΣ ho≈ i⌠ fulfill≤ ou≥ ì
- ááááobjective≤ wil∞ bσ full∙ dσvelopeΣ iε late≥ columns.
-
- èááááThσ remainde≥ oµ thi≤ firs⌠ columε wil∞ bσ devoteΣ t∩ establishinτ thσ ì
- áááátool≤ anΣ file≤ wσ wil∞ bσ usinτ t∩ d∩ ou≥ developmen⌠ iε thσ future« ì
- ááááThesσ includσ standarΣ librar∙ routines¼ assemblers¼ anΣ linkers«
-
- ááááThσ librar∙ routine≤ wσ wil∞ bσ usinτ arσ founΣ iε BUFFERS¼ SYSLIB36¼ ì
- ááááVLIB11¼ anΣ Z3LIB13« Thσ codσ wil∞ bσ writteε iε Ziloτ Z8░ mnemonic≤ ì
- áááásuitablσ fo≥ assembl∙ witΦ M80¼ ZA╙ o≥ SL╥ Systemsº assemblers« Allì
- ááááprogram≤ requirσ linkinτ witΦ L8░ o≥ SLRNK¼ o≥ an∙ othe≥ compatibles.
-
- ááááWha⌠ arσ thesσ libraries┐
-
- áááThe∙ arσ thσ librarie≤ oµ ZCPR│ anΣ consis⌠ oµ SYSLI┬ (SYSteφ LIBrar∙ ¡ ì
- áááánoε-ZCPR│ áspecific)¼ VLI┬ (Vide∩ LIBrar∙ ¡ screeε orienteΣ ároutines)¼ ì
- ááááanΣ áZ3LI┬ (ZCPR│ specifiπ routines)« BUFFER╙ i≤ anothe≥ collectioε áoµ ì
- áááároutine≤ á(noε-ZCPR│ specific⌐ t∩ managσ maiε storage« Thesσ álibrarie≤ ì
- ááááarσ áintendeΣ t∩ relievσ thσ programme≥ oµ thσ tasδ oµ frequentl∙ á"rσ-ì
- ááááinventinτ thσ wheeló anΣ t∩ providσ hiφ witΦ aε environmen⌠ oµ reliablσ ì
- áááátool≤ whicΦ encourage≤ structureΣ programminτ a⌠ thσ assembl∙ álanguagσ ì
- áááálevel.
-
- ááááEacΦ routinσ iε thσ librarie≤ caε bσ vieweΣ a≤ ß reliablσ "blacδ box.ó ì
- ááááMos⌠ oµ thσ routine≤ wil∞ bσ completel∙ documenteΣ withiε thi≤ columε ì
- ááááanΣ thσ hel≡ files¼ anΣ thσ programme≥ wil∞ bσ consistentl∙ provideΣ ì
- ááááwitΦ thσ followinτ information:
-
- áááá 1« Namσ oµ subroutine
- áááá 2« Functioε i⌠ performs
- áááá 3« Wha⌠ it≤ input≤ are
- áááá 4« Wha⌠ it≤ output≤ are
- áááá 5« Wha⌠ register≤ arσ affecteΣ b∙ it
- áááá 6« Wha⌠ othe≥ librar∙ routine≤ i⌠ call≤ upon
- áááá 7« Wha⌠ error≤ caε occu≥ anΣ ho≈ i⌠ handle≤ them.
-
- ááááThσ routine≤ arσ designeΣ t∩ worδ togethe≥ anΣ complemen⌠ eacΦ other« ì
- ááááParamete≥ passinτ i≤ consisten⌠ betweeε thσ variou≤ subroutines« Fo≥ ì
- ááááinstance¼ al∞ routine≤ whicΦ neeΣ t∩ bσ passeΣ ß pointe≥ t∩ ß Filσ ì
- ááááContro∞ Blocδ arσ passeΣ tha⌠ pointe≥ iε thσ D┼ registe≥ pair« A≤ ß ì
- áááágenera∞ rule¼ iµ ß registe≥ i≤ no⌠ returneΣ a≤ aε outpu⌠ froφ thσ ì
- áááároutine¼ theε it≤ valuσ i≤ no⌠ affecteΣ (i⌠ ha≤ thσ samσ valuσ wheε thσ ì
- áááároutinσ i≤ exiteΣ a≤ i⌠ haΣ wheε thσ routinσ wa≤ called).
-
- ááááThσ librarie≤ arσ relocatablσ objec⌠ module≤ createΣ iε thσ MicroSof⌠ ì
- ááááM8░ relocatablσ objec⌠ format« Thσ M80¼ SL╥ o≥ ZA╙ assembler≤ caε bσ ì
- ááááuseΣ t∩ creatσ anΣ minipulatσ relocatablσ objec⌠ modules« Al∞ routine≤ ì
- ááááarσ groupeΣ withiε functionall∙-relateΣ modules« Oncσ ß routinσ i≤ ì
- ááááreferenceΣ (b∙ thσ EX╘ statement)¼ it≤ modulσ i≤ loadeΣ anΣ i⌠ i≤ ì
- ááááavailablσ t∩ thσ programme≥ b∙ mean≤ oµ ß simplσ subroutinσ call« Al∞ ì
- ááááothe≥ subroutine≤ withiε tha⌠ particula≥ modulσ arσ als∩ loaded¼ bu⌠ ì
- ááááthe∙ arσ no⌠ availablσ t∩ thσ programme≥ unles≤ hσ ha≤ als∩ referenceΣ ì
- áááátheφ b∙ EX╘ statements« Thσ modulσ i≤ loadeΣ onl∙ once¼ regardles≤ oµ ì
- ááááho≈ man∙ routine≤ withiε thσ modulσ arσ referenced« Fo≥ thi≤ reason¼ ì
- ááááeacΦ modulσ wa≤ designeΣ t∩ contaiε routine≤ whicΦ arσ frequentl∙ useΣ ì
- áááátogethe≥ o≥ arσ calleΣ b∙ eacΦ othe≥ (onσ routinσ withiε thσ modulσ ì
- áááácall≤ anothe≥ routinσ withiε thσ module).
-
- èááááWha⌠ i≤ needeΣ t∩ usσ thσ libraries?
-
- ááááYo⌡ neeΣ aε 8080¼ Z80¼ NSC800¼ o≥ HD6418░-baseΣ microcompute≥ witΦ a⌠ ì
- ááááleas⌠ 48╦ byte≤ oµ contiguou≤ memor∙ runninτ ZCPR│ o≥ ┌-Systeφ (ZCPR│ ì
- ááááanΣ ZRDOS)¼ thσ Microsof⌠ M8░ assembe≥ too∞ se⌠ (specificall∙ M8░ anΣ ì
- ááááthσ L8░ Linker)¼ thσ Echelon ZA╙ too∞ se⌠ (specificall∙ ZA╙ assemble≥ ì
- ááááanΣ ZLIN╦ linker⌐ o≥ thσ SL╥ tool≤ se⌠ (specificall∙ SLRAS═ anΣ SLRNK⌐ ì
- ááááo≥ thσ SL╥ virtua∞ too∞ se⌠ (SLR180½ anΣ SLRNK+)¼ anΣ thσ usua∞ se⌠ oµ ì
- áááásoftwarσ developmen⌠ tool≤ (aε editor¼ and¼ preferably¼ ß debugger⌐ t∩ ì
- ááááusσ thσ libraries.
-
- ááááWha⌠ d∩ thσ librarie≤ bu∙ you?
-
- ááááT∩ thσ experienceΣ programmer¼ thσ librarie≤ havσ thσ potentia∞ oµ ì
- áááábeinτ ß significan⌠ too∞ whicΦ enable≤ hiφ to:
-
- áááá 1.áááSolvσ hi≤ programminτ tasδ quickly
- áááááááááááááá¡¡ becausσ hσ spend≤ les≤ timσ writinτ commonl∙-useΣ ì
- áááááááááááááásubroutine≤ anΣ worryinτ abou⌠ ho≈ hi≤ register≤ arσ affecteΣ ì
- ááááááááááááááb∙ thesσ subroutine≤ anΣ morσ timσ concentratinτ oε thσ ì
- ááááááááááááááprobleφ a⌠ hand.
-
- áááá 2.áááWritσ space¡ anΣ speed-efficien⌠ code
- áááááááááááááá¡¡ becausσ al∞ oµ thσ routine≤ havσ beeε gonσ ove≥ timσ anΣ ì
- áááááááááááááátimσ agaiε t∩ reducσ thei≥ sizσ anΣ makσ theφ morσ efficien⌠ ì
- ááááááááááááááiε term≤ oµ speed« Fo≥ example¼ thσ SOR╘ routinσ i≤ ß Shel∞ ì
- ááááááááááááááSor⌠ tha⌠ caε bσ calleΣ t∩ perforφ thσ sor⌠ usinτ pointer≤ ì
- áááááááááááááá(iε whicΦ casσ i⌠ exchange≤ pointer≤ rathe≥ thaε record≤ wheε ì
- áááááááááááááái⌠ neeΣ t∩ d∩ ß swap⌐ o≥ perforφ thσ sor⌠ withou⌠ usinτ ì
- áááááááááááááápointe≥s (wheε spacσ i≤ ß facto≥ anΣ therσ ma∙ no⌠ bσ enougΦ ì
- áááááááááááááárooφ fo≥ ß pointe≥ table).
-
- áááá 3« Writσ morσ maintainablσ code
- áááááááááááááá¡¡ becausσ thσ librarie≤ arσ designeΣ witΦ structureΣ ì
- ááááááááááááááprogramminτ philosoph∙ iε mind« EacΦ subroutine≤ i≤ ì
- ááááááááááááááequivalen⌠ t∩ ß proces≤ box¼ havinτ (1⌐ onl∙ onσ entrancσ anΣ ì
- ááááááááááááááonσ exit¼ (2⌐ ß precisel∙-defineΣ function¼ anΣ (3⌐ ß ì
- ááááááááááááááprecisel∙-defineΣ se⌠ oµ inpu⌠ anΣ outpu⌠ parameters« Havinτ ì
- ááááááááááááááuseΣ thσ librarie≤ fo≥ somσ timσ now¼ thσ autho≥ ha≤ noteΣ ì
- áááááááááááááátha⌠ hi≤ programminτ though⌠ processe≤ anΣ prograφ design≤ ì
- ááááááááááááááhavσ tendeΣ morσ anΣ morσ towarΣ "enΣ-inó (to≡-dowε froφ thσ ì
- ááááááááááááááobjectivσ poin⌠ oµ vie≈ anΣ bottoφ-u≡ froφ thσ librar∙ ì
- áááááááááááááásubroutinσ poin⌠ oµ view)¼ structureΣ design≤ tha⌠ hσ caε g∩ ì
- áááááááááááááábacδ t∩ a⌠ ß late≥ datσ anΣ readil∙ deciphe≥ anΣ modify.
-
- áááá 4.áááReducσ thσ programminτ effort
- áááááááááááááá¡¡ becausσ thσ librarie≤ providσ ß numbe≥ oµ ver∙ involveΣ ì
- áááááááááááááároutine≤ whicΦ would¼ iε themselves¼ takσ quitσ somσ timσ t∩ ì
- áááááááááááááácode« Fo≥ example¼ thσ DIR╞ routine≤ wil∞ loaΣ thσ director∙ ì
- ááááááááááááááoµ ß disδ int∩ memory¼ selec⌠ ß se⌠ oµ file≤ froφ tha⌠ loadeΣ ì
- áááááááááááááádirector∙ a≤ specified b∙ ß Filσ Contro∞ Blocδ (FCB⌐ anΣ ß ì
- ááááááááááááááflaτ whicΦ indicate≤ whethe≥ t∩ includσ Systeφ o≥ Noε-Systeφ ì
- ááááááááááááááfile≤ anΣ wha⌠ use≥ areß i≤ t∩ bσ examined¼ pack≤ thσ loadeΣ ì
- áááááááááááááádirector∙ (removinτ entrie≤ no⌠ selecteΣ froφ thσ memor∙ ì
- áááááááááááááábuffer)¼ alphabetize≤ thσ director∙ entrie≤ b∙ filσ namσ anΣ ìèáááááááááááááátypσ o≥ b∙ filσ typσ anΣ name¼ anΣ return≤ ß pointe≥ t∩ thσ ì
- ááááááááááááááfirs⌠ entr∙ anΣ ß coun⌠ oµ thσ nubme≥ oµ entrie≤ selected.
-
- ááááIε man∙ ways¼ thσ librarie≤ brinτ advantage≤ oµ programminτ iε ß HigΦ-ì
- ááááOrde≥ Language¼ likσ ├ o≥ Pascal¼ t∩ thσ assembl∙ languagσ programmer« ì
- ááááThe∙ allo≈ hiφ t∩ maintaiε thσ smalle≥ codσ sizσ anΣ greate≥ efficiencyì
- ááááwhicΦ caε bσ realizeΣ iε assembl∙ languagσ programming¼ anΣ ì
- áááásimultaneously¼ realizσ ß reduceΣ lifσ-cyclσ cos⌠ (froφ developmen⌠ t∩ ì
- ááááfieldinτ t∩ pos⌠-fieldinτ maintenancσ anΣ modification⌐ ove≥ assembl∙ ì
- áááálanguagσ programminτ withou⌠ ß simila≥ to∩∞ set.
-
- ááááHo≈ t∩ learε t∩ usσ thσ librarie≤ effectively?
-
- ááááThi≤ i≤ opinion¼ oµ course¼ bu⌠ ╔ fee∞ tha⌠ thσ bes⌠ wa∙ t∩ learε ho≈ ì
- áááát∩ usσ thσ librarie≤ woulΣ involvσ thσ followinτ steps:
-
- áááá 1.áááStud∙ thesσ columε article≤ iε aε overvie≈ fashion¼ ì
- ááááááááááááááfamiliarize yourselµ witΦ thσ function≤ oµ thσ subroutine≤ ì
- ááááááááááááááavailable.
-
- áááá 2. Study iε somσ detail¼ thσ samplσ sourcσ programs¼ jumpinτ ì
- áááááááááááááábacδ t∩ thesσ article≤ froφ timσ t∩ time¼ t∩ seσ wh∙ anΣ thσ ì
- ááááááááááááááwa∙ ╔ useΣ thσ routines«
-
- áááá 3. Tr∙ codinτ ß couplσ oµ routine≤ froφ thi≤ column¼ copyinτ ì
- áááááááááááááátheφ verbatiφ anΣ assemblinτ them.
-
- áááá 4« Tr∙ makinτ u≡ ß fe≈ simplσ problem≤ oµ you≥ owε anΣ usσ thσ ì
- áááááááááááááálibrarie≤ t∩ codσ them.
-
- áááá 5.áááAppl∙ thσ librarie≤ t∩ ß significan⌠ prograφ yo⌡ wan⌠ t∩ ì
- ááááááááááááááwrite.
-
- áááá╔ aφ ß stronτ advocatσ oµ writinτ program≤ iε orde≥ t∩ learε ho≈ t∩ ì
- ááááprogram¼ anΣ ╔ fee∞ tha⌠ i⌠ i≤ mos⌠ importan⌠ t∩ (1⌐ gaiε a≤ mucΦ ì
- ááááfamiliarit∙ witΦ thσ routine≤ a≤ yo⌡ caε anΣ (2⌐ t∩ writσ program≤ ì
- ááááusinτ thesσ routines.
-