Apple DOS

Allikas: Vikipeedia

Apple DOS oli firma Apple Computer (Apple Inc.) Apple II mikroarvutite operatsioonisüsteem 1980'ndatel ja varem.


Et arvuti oleks kasulik, peab tal olema failide salvestamise ja lugemise võimalus ja see võimalus peab olema nii mugav kui ka taskukohane. Apple II arvutite alguses suutsid nad saavutada ainult selle, et see oli taskukohane. Arvutitele sisseehitatud kassetiport oli tollel ajal tehnika viimane sõna (aastal 1977). Enne DOS 3.1 väljatulekut pidid Apple´i kasutajad failisalvestuseks kasutama helikasette (nagu Atari mängukonsoolidel), aga see viis oli väga aeglane, ebamugav ja mitte eriti usaldusväärne, mis sest et kasseti kasutamine polnud eriti kallis. Seetõttu oligi operatsioonisüsteeme esimestel Apple II arvutitel väga ebamugav kasutada. Midagi paremat pidi kiiresti leidma. Apple DOS oli mõeldud Apple II seeria arvutitele, mida tehti 1978–1983. Apple DOS-il on 3 põhilist väljalaset: DOS 3.1, DOS 3.2 ja DOS 3.3. Kõigile neile järgnes ka versioon, kus oli vigu parandatud. DOS 3.2 oli ainuke, mille väljalase sai oma versiooninumbri, milleks oli DOS 3.2.1. Kõige rohkem tuntud ja kõige laialdasemalt kasutatud oli DOS 3.3. Apple DOS kirjutati põhiliselt Steve Wozniaki, Randy Wigginton ja Paul Laughtoni poolt. Ametlik dokumentatsioon Apple DOS kohta avaldati alles versiooni 3.2 kohta.

Ajalugu[muuda | redigeeri lähteteksti]

Otseselt ei olnud olemas sellist asja nagu Apple DOS 1 või 2. Need olid lihtsalt nummerdatud versioonid mis tehti arendamise käigus. Apple DOS 3.0, mis oli ümbernimetatu 2.8 jäi avaldamata, sest tal oli liiga palju vigu.[1]

Apple DOS 3.1 tuli välja 1978. aasta juunis. See oli esimene disketipõhine operatsioonisüsteem, mis oli Apple´i arvutile tehtud. Hiljem lisandusid sellele ka versioonid, kus oli vigu parandatud. Kui seda esimest korda tutvustati, oli tal kaasas väga vähe dokumentatsiooni. Kuna disketiseadmete nõudlus oli nii suur, tegid Apple insenerid palju tööd, et nõudlust rahuldada ja seetõttu polnud neil aega korralikku kasutusjuhendit teha ja sellepärast said nad palju kaebusi.[2]

Apple DOS 3.2 tuli välja 1979, et kajastada suuri muutusi arvuti käivitumismeetoditele, mis oli Apple II järglasele – Apple II Plus´ile sisse ehitatud. Originaalse Integer BASIC asemel oli nüüd uuem Applesoft II. Uuel tarkvaral oli ka automaatkäivitus, mis otsis automaatselt disketi kontrolleri ja käivitas süsteemi ning teenis endale sellega nime "Autostart ROM".[2]

Apple DOS 3.3 tuli välja 1980. See parandas mitmeid funktsioone, mis olid olemas versioonil 3.2 ja samuti kaasnesid sellega suured salvestusruumi tõusud. Originaalis olid disketid disainitud nii, et nad suudaksid lugeda ja kirjutada 35 rada 13 sektoril. Iga sektor oli 256 baiti ja disketi suurus oli 113,75kB ja kuna iga disketi kolmel esimesel rajal oli DOS ja kataloog võttis enda alla lisaks veel ühe raja, oli kasutajale vaba kõigest 100,75kB salvestusruumi. Steve Wozniak aga leidis viisi, kuidas Apple´i diskettide mahtu suurendada. Ta muutis natuke kodeerimismeetodit, mida kasutati ja tulemuseks oli 16 võimalikku sektorit disketi kohta. See tähendas, et diskettide suurus oli nüüd 140kB (124kB, kui 4 rada DOS´i ja kataloogi jaoks maha arvata). Märkimisväärne asi selle uuenduse juures oli, et disketiseadet ei pidanud muutma, muutma pidi ainult ROM programmi Disk II kontrolleri kaardil. Versioon 3.3-ga oli kaasas ka kõvasti suurem kasutajajuhend.[3]

Tehniline info[muuda | redigeeri lähteteksti]

Apple DOS 3.1 disketid kasutasid infosalvestuseks 13 sektorit ja 35 rada. Iga sektor oli 256 baiti. 35 rada oli kastusel disketi ühel poolel ja need said ligipääsu ainult ühele poolele. Disketti võis ka ümber keerata ja see tähendas, et ühe poole kohta oli 113.75kB, millest tuli maha arvata umbes 10kB DOS´i ja disketi kataloogi jaoks. See tähendas, et kasutaja programmide jaoks oli vaba umbes 100kB. Hiljem suurenes sektorite arv disketi kohta 16 peale. Diskettide suurus oli nüüd 140kB, millest kasutajale oli vaba umbes 124kB.

Kui võrrelda Apple DOS´i praeguste operatsioonisüsteemidega, siis oli ta suhteliselt algeline. Esimene operatsioonisüsteemi kiht kandis nimetus "RWTS", mis tähendab "read/write track sector" (eesti kirjutamis/lugemis raja sektor). See koosnes alamfunktsioonidest radade otsimiseks (liigutas disketi "kätt" vajalikule rajale), sektorite lugemiseks (laadis sektori disketilt mälusse) ja kirjutamiseks (salvestas sektori mälust disketile) ning disketi formaatimiseks(tühjendas disketi ja lõi tühja kataloogi raja). Selle peale ehitati Failihaldur (inglise File Manager), mis suutis rakendada järgmisi funktsioone: avamine, sulgemine, lugemine, kirjutamine, kustutamine, lukustamine (näiteks kirjutamise takistamine), avamine (näiteks kirjutamise võimaldamine), ümbernimetamine, failide terviklikkuse kontrollimine. Lisaks oli veel kataloogifunktsioon, mis loetles disketil olevad failid ja init-funktsioon, mis formaatis disketi, et seda kasutada DOS´iga ja pani kõrvale käivitamisel kasutatavad programmid.

Järgmine kiht, mis asetses failihalduri peal hoidis endas põhilisi DOS rutiine (inglise Main DOS Routines). Need rutiinind ühendusid BASIC´i külge ja vastutasid selle eest, et BASIC oleks disketiga liidestatud. See andis käsklusi salvestamise (BSAVE), laadimise (BLOAD) ja binaarprogrammide laadimiseks ja jooksutamiseks (BRUN). SAVE, LOAD ja RUN oli mõeldud BASIC programmidele ja EXEC käsklus oli mõeldud, et jooksutada tekstipõhiseid faile, mis koosnesid BASIC ja DOS käsklustest. Oli 4 tüüpi faile, mida sai tuvastada tähega kataloogis.

Apple DOS failiformaadid

I: Integer BASIC programmid (salvestatud kompaktses formaadis, ei olnud tavaline tekst)

A: Applesoft BASIC programmid (samuti salvestatud kompaktses formaadis)

B: Binaarfailid (kas käivitatavad masinkeele programmid või andmefailid)

T: ASCII tekstifailid (või tavalised tekstifailid)

Lisaks oli veel 4 tüüpi faile: "R", "S" ja veel lisanduvad "A" ja "B", millest ükski polnud täielikult toetatud. DOS tundis neid ära ainult kataloogi loeteluna ja otsest viisi nende muutmiseks polnud. "R" tüüp leidis natuke kasutust mõne liigutatava binaartüüpi faili jaoks. Mõni programm toetas "S" tüüpi andmefailina.

Liigutatav tarkvara[muuda | redigeeri lähteteksti]

Erinevalt tänapäevastest arvutitest ei jooksutanud Apple II arvutid tavaliselt korraga rohkem, kui ühte programmi, seetõttu polnud 8-bitistel programmidel vaja muretseda masinkoodi liigutamise pärast. Programmid kirjutati üldiselt nii, et nad leiaksid oma masinkoodi alati samast kohast mälust. Täielikult liigutatavat koodi oli raskem teha ja see oli ka keerulisem.

Apple DOS pidi aga arvestama, et Apple II arvutitel võis olla mälu 16kB kuni 48kB. See tähendas, et DOS laadis ennast kõige kõrgemas võimalikus punktis, et alumised mälukohad oleksid vabad BASIC programmidele ja graafikale. Masinates, kus oli mälu rohkem kui 48kB, võttis DOS enda alla ala $9600 kuni $BFFF (kolm failibufrit + 10kB tarkvara), aga suutis samuti laadida madalamas mälualas, kui vähem mälu oli saadaval.

Vahemik $03D0 kuni $03FF andis programmidele võimaluse leida DOS´i, ükskõik kuhu ta mällu laetud oli. Näiteks, kui DOS´i haakuvus BASIC CLI´sse lakkas töötamast, sai DOS ennast taaskäivitada, kui ta kutsus välja asukoha $03D0, sealt on pärit ka traditsiooniline "3DOG" käsklus, et pöörduda BASIC´ust tagasi System Monitor´i.

Alglaadur[muuda | redigeeri lähteteksti]

Apple DOS´i laadimine kujutas endast väga väikeste programmide järjest jooksutamist, millest igaüks viis laadimisprotsessi natuke edasi.

  • Algselt ei toetanud Apple II ROM disketilt laadimist. Kui arvuti käivitada, läks ta otse süsteemi jälgmise ekraanile. Kui oleks seal tahtnud disketilt laadida, siis oleks pidanud kasutaja kirjutama kohanumbrid ja vajutama CTRL-P ning siis Enterit, mis põhjustas laadimisrutiini käivituse, kui sisestada järgmine ühik või kui kirjutada Cn00G (n on kohanumber), et seda otse käivitada.
  • Apple II´l oli võimalus uurida iga laienduskohta (alustas kohast 7 ja liikus alla 1 poole), et leida laienduskaardi ROM, millel on laadimiskood ja automaatselt see käivitada.
  • Laienduskaardi ROM laadimiskood üritas käivituda kohast 1 kontrolleril liigutades oma lugemis/kirjutamis "käe" rajale 0 ja üritas lugeda 256 baiti tolle raja sektorilt 0. (Kui loetavat disketti pole saadaval, keerleb seade niikaua, kuni loetav diskett sisestati).
  • Sektor 0 sisaldas endas väikest programmi, mis ütles arvutle, kuidas lugeda sektoreid 0–9 rajal 0 (lugedes uuesti ka sektori 0)
  • Programm sektoritel 1–9 rajal 0 laadis rajad 1 ja 2, mis sisaldas endas DOS´i. "Süsteemiisanda" disketil on ka kood, mis pani DOS´i nii kõrgele mällu, kui võimalik.
  • Kui DOS oli mällu laetud, siis üritas ta laadida ja käivitada programmi, mis oli kirjas DOS´i koodis. See oli tavaliselt BASIC keeleprogramm nimega "HELLO", aga DOS´i sai muuta, et ta käivitaks mõne muu programmi. Parempoole kandiline sulg (]) andis kasutajale teada, et Applesoft BASIC´u programm laadis ja suurem-kui sümbol (>) andis teada, et Integer BASIC´u programm laadis.
  • Kui kõik eelnev oli tehtud, hakkas laadima esimene programm.

Integer BASIC ja Applesoft BASIC[muuda | redigeeri lähteteksti]

Integer BASIC oli Apple I ja esimestel Apple II arvutitele mõeldud BASIC tõlkimiseks. Algselt oli see saadaval kassetil, hiljem oli Apple II arvutite ROM´i sees. See oli esimene BASIC´u versioon, mis tavakasutajatel oli.

Steve Wozniak, kes töötas varem ATARI´ga "Breakout´i"[4] kallal, seadis endale eesmärgiks, et Apple II arvuti suudab selle mängu järgi teha kasutades ainult BASIC´ut. See tegi Apple II-st ühe esimesi arvuteid, mis kasutas värvigraafikat, kui nad said valmis programmiga "Little Brick Out"[5]. Peab veel märkima, et Wozniakil polnud tööriistu 6502 protsessori jaoks ja seepärast kirjutas ta koodi paberile ja hiljem sisestas selle käsitsi 4096 tükina arvutisse.

Enim välja toodud viga BASIC´u juures oli see, et tema muutujad oli 16-bitised täisarvud ja seega oli raske teha programme.

Apple sai endale parema (kuid aeglasema) BASIC´u Microsofti käest natuke pärast seda, kui Apple II 1977-l aastal välja tuli. Nad tegid mõned muudatused, panid sellele nimeks "Applesoft BASIC" ja lisasid selle Apple II Plus-ile, mis tuli välja 1979. Samuti oli Applesoft BASIC kaasas ka hilisemate mudelitega ja lõpuks tehti temaga palju rohkem programme kui Integer BASIC´uga.

DOS´i kadumine[muuda | redigeeri lähteteksti]

Apple II ja DOS hakkasid ära vajuma pärast 1980-dat aastat, kui Apple keskendus Apple III arvutile ja SOS operatsioonisüsteemile. Kui Apple III hüljati firma poolt, tuli välja veel 2 Apple DOS versioon, mis olid mõlemad numbriga 3.3, sest nad olid kõigest veaparandused.

Apple DOS suutis lugeda ainult 5.25-tolliseid diskette, mis olid Disk II seadmes, kuid ei suutnud lugeda muid asju nagu kõvakettad, virtuaalsed muutmälu seadmed ja 3.5-tollised disketid. DOS oli tehtud nii, et ühe seadme jaoks oli saadaval kõigest 400kB ja see oli üks peamisi põhjuseid, miks Apple DOS´i hülgas 1983-l aastal. Apple DOS asemele tuli nüüd ProDOS

ProDOS suutis lugeda 5.25-tolliseid diskette, kuid sinna lisandusid veel uued formaadid. ProDOS oli sobiv seadmete, mis olid kuni 32MB, see tähendas, et temaga sai kasutada 3.5-tolliseid diskette ja kõvakettaid. Kõik arvutid Apple II Plus´ist edasi suudavad jooksutada nii DOS 3.3 kui ka ProDOS´i, kuigi Apple II Plus nõuab eraldi "Language Card" (eesti "Keelekaart") mälulaiendit, et ProDOS´i kasutada. ProDOS võimaldas ka kopeerida faile Apple DOS diskettidelt.

Paljudel inimestel polnud siiski vaja uuendusi, mida ProDOS pakkus ja Apple DOS või mõni tema kloon oli kasutuses veel pärast 1983-dat aastat. Apple keelas DOS 3.3 jagamise aastaid tagasi ära, kuid ühel firmal nimega "Syndicomm" on olemas litsents, et DOS 3.3-e müüa.

Viited[muuda | redigeeri lähteteksti]

  1. [1]
  2. 2,0 2,1 http://apple2history.org/history/ah14/#01
  3. http://apple2history.org/history/ah15/#01
  4. http://en.wikipedia.org/wiki/Breakout_(video_game)
  5. http://www.youtube.com/watch?v=iLIAaq9_zYM

Välislingid[muuda | redigeeri lähteteksti]