340 likes | 472 Views
Tietojenkäsittelytieteen historia –seminaari: MS-DOS-käyttöjärjestelmän kehitys. Petteri Salonvaara 31.1.2006. Matemaattis-luonnontieteellinen tiedekunta. esityksen sisältö. 1 sisältö ja aiheen rajaus 2 Microsoftin ja MS-DOS:in alkutaipaleen historiaa 3 MS-DOS:in rakenne
E N D
Tietojenkäsittelytieteen historia –seminaari:MS-DOS-käyttöjärjestelmän kehitys Petteri Salonvaara 31.1.2006 Matemaattis-luonnontieteellinen tiedekunta
esityksen sisältö • 1 sisältö ja aiheen rajaus • 2 Microsoftin ja MS-DOS:in alkutaipaleen historiaa • 3 MS-DOS:in rakenne • 4 MS-DOS:in versiokehitys • 4.1 PC/MS-DOS 1.0 - 1.25 • 4.2 MS-DOS 2.0 - 2.25 • 4.3 MS-DOS 3.0 - 3.3 • 4.4 MS-DOS 4.0 - 4.01 • 4.5 MS-DOS 5.0 • 4.6 MS-DOS 6.0 - 6.22 • 5 DOS-demo • 6 Yhteenveto
aiheen rajaus • erisnimi MS-DOS (Microsoft Disk Operating System) tarkoittaa merkkipohjaista versiota • joissakin lähteissä Windowsin versioita kutsutaan myös MS-DOS:ksi: • MS-DOS 7.0 = Windows 95 • MS-DOS 7.1 = Windows 95OSR2/Windows 98 • MS-DOS 8.0 = Windows ME • käsittelyn ulkopuolelle muiden valmistajien DOS:sit • IBM PC-DOS, DR-DOS, FreeDOS, OpenDOS ja PTS-DOS • poikkeuksena PC-DOS 1.0
Microsoftin ja MS-DOS:n alkutaivalta • IBM havitteli vuonna 1981 uusiin IBM PC-työasemiinsa Digital Researchin CP/M-käyttöjärjestelmää (Command Processor for Microcomputers) ... • ... huonolla menestyksellä. • IBM kääntyi pienen ja tuntemattoman ohjelmistoyrityksen Microsoftin puoleen • tilasi tältä käyttöjärjestelmän • Microsoftin tuotteita XENIX ja kääntäjiä Basic-, Cobol-, Fortran ja Pascal-kielille • Microsoftilla vuoden 1980 lopussa 40 työntekijää ja vuoden liikevaihto 7.520.720 dollaria
Microsoftin ja MS-DOS:n alkutaivalta (jatkuu) • IBM:n projektilla kiire • Microsoft osti Seattle Computer Products -yhtiöltä lisenssin QDOS-käyttöjärjestelmään (Quick and Dirty Operating System) 50.000 dollarin hinnalla • Microsoft paranteli hieman QDOS:ia ja nimesi tuotteen PC-DOS:ksi • Microsoft sai neuvoteltua itselleen hyvän sopimuksen • sai pitää DOS:in oikeudet itsellään • provision IBM:n tekemästä PC-DOS-myynnistä • tuote alkusysäys Bill Gatesin ja Microsoftin menestystarinalle
MS-DOS:in rakenne • sisäiset komennot komentotulkissa command.com, joka keskusmuistissa • pysyvä osa • siirtyvä osa • ulkoiset komennot Dos-alihakemistossa tiedostoina • asetustiedostot config.sys ja autoexec.bat
MS-DOS:in rakenne (jatkoa) • käynnistysprosessi • käynnistyssektori (boot sector) ladataan keskusmuistiin • käynnistyssektori lataa io.sys:in • Io.sys lataa msdos.sys:in • Io.sys asettaa oheislaitteiden alkuarvoja msdos.sys:in arvojen mukaisesti • io.sys pyytää msdos.sys:iä • toteuttamaan config.sys:in asetukset • lataamaan ajurit • lataamaan komentotulkin command.com • Komentotulkki command.com • ajaa autoexec.bat:in komennot • tuo ruudulle komentokehotteen
MS-DOS:in rakenne (jatkoa) • FAT16-tiedostojärjestelmä (file allocation table) • linkitetyt listat • fragmentoituminen ongelmana • tiedosto- ja hakemistonimissä max. 8 + 3 merkkiä • ensiöosio (primary partition), jatkettu osio (extended partition) ja loogiset levyt, max koko 2 GB • levypinta jaettu varausyksiköihin:
PC-DOS 1.0 ja MS-DOS 1.0 • julkaistiin elokuussa 1981 • toimi vain IBM:n mikroissa = PC-DOS • osa lähteistä kutsuu myös MS-DOS:ksi • käynnistys ja käyttö 160-kilotavun levykkeeltä • FAT12-tiedostojärjestelmä • siis ei kiintolevytukea • ei hakemistoja -> tiedostot juuressa • levykkeen toinen puoli jäi käyttämättä • keskusmuistin tarve minimissään 64 kilotavua
MS-DOS 1.25 • julkaistiin kesällä 1982 • toimi myös muun merkkisillä mikroilla • = IBM-yhteensopivilla ”klooneilla” • levisi nopeasti, vuonna 1982 jo 50 OEM-valmistajaa käytti • nimeksi MS-DOS • käynnistys 320-kilotavun levykkeeltä • levykkeen toinen puoli nyt käyttöön
MS-DOS 2.0 • julkaistiin maaliskuussa 1983 • käynnistys 360-kilotavun levykkeeltä • sektoreiden lukumäärä kasvatettu 8 -> 9 • 15 megatavun kiintolevylle tuki • käskyt hakemistorakenteen hallintaan • config.sys-tiedosto ajureita ja asetuksia varten • ansi.sys-ajuri • files=lukumäärä -asetus
MS-DOS 2.0 (jatkoa) • uusia komentoja • if, for ja goto mahdollistamaan silmukat • echo, find, fc, more, path, print, prompt, set, sort ja verify • keskusmuistin tarve 128 kilotavua • seuraavina kuukausina julkaistiin päivityksiä versioina 2.05, 2.11, 2.2 ja 2.25 • pieniä laajennuksia aika-, päiväys- ja näppäimistöasetuksiin
MS-DOS 3.0 • julkaistiin elokuussa 1984 • levykeaseman kapasiteetti kasvoi 1,2 megatavuun • tuki suuremmille kiintolevyosioille • FAT16-tiedostojärjestelmä • 32 MB max. osiokoko • pyrki korjaamaan MS-DOS 2.0:n virheitä, mutta seurauksena lisää ja pahempia virheitä • -> kaikkein ”bugisin” MS-DOS
MS-DOS 3.0 (jatkoa) • uusia komentoja attrib, graftabl, keyb, select ja share • Config.sys-tiedostoon uusia asetuksia country, lastdrive, vdisk.sys ja fcbs
MS-DOS 3.1 • julkaistiin 1984 vuoden lopussa • korjasi MS-DOS 3.0:n virheitä • lähiverkkotuki • tiedostojen lukitukset • uusi käskyjä join ja subst • config.sys-tiedostoon shell-asetus
MS-DOS 3.2 • julkaistiin kesällä 1986 • IBM Token ring -tuki • tuki 3.5" levykkeille 720 kilotavun kapasiteetilla • tuki kahdelle osiolle per kiintolevy • ensiöosio (primary partition) ja jatkettu osio (extended partition), jossa 1 looginen levy • uusi käskyjä append, replace ja xcopy • config.sys:iin ramdrive.sys ja driver.sys
MS-DOS 3.3 • julkaistiin vuonna 1987 • merkittävin uusi ominaisuus koodisivujen käyttöönotto • levykeasematuki 3,5” 1,44 MB levyke • kiintolevyille usean loogisen levyn tuki per jatkettu osio • => enemmän kuin 2 osiota per levy
MS-DOS 3.3 (jatkoa) • uusia käskyjä chcp, fastopen, nlsfunc ja call • Config.sys-tiedostoon display.sys ja printer.sys • Display.sys tuki EGA- ja VGA-näyttötiloja • Printer.sys tuki IBM:n kirjoitinmalleja Proprinter ja Quietwriter III
MS-DOS 4.0 • julkaistiin heinäkuussa 1988 • myös suomenkielisenä • optiona graafinen käyttöliittymä Dosshell
MS-DOS 4.0 (jatkoa) • kiintolevyn osion maksimikoko kasvoi 32 megatavusta 2 gigatavuun • MS-DOS 3.x-versioissa esimerkiksi 105 megatavun kiintolevy piti jakaa vähintään neljään eri osioon • levyasematunnukset A: - Z: loppuvat helposti kesken ja suurta lukumäärää vaikea hallita • osa vanhemmista sovelluksista ei kuitenkaan tunnistanut uutta yli 32 megatavun aluetta • ohjelmistovalmistajat mukaan päivityskierteeseen
MS-DOS 4.0 (jatkoa) • levyvälimuisti smartdrv.sys • muita uusia komentoja • mem • xmaem.sys ja xma2ems.sys laajennetun muistin (EMS expanded memory) käyttöä varten • laitteistovalmistajakohtainen toteutus • vuoden 1988 lopussa julkaistiin MS-DOS 4.01 • sisälsi pieniä korjauksia
MS-DOS 5.0 • julkaistiin 11.6.1991 • ensimmäinen MS-DOS-versio, jolle toteutettiin laaja beta-testaus • n. 7000 testaajaa etsi ohjelmavirheitä vuoden ajan • tuloksena tuotantoversiosta ei löytynyt merkittäviä virheitä
MS-DOS 5.0 (jatkoa) • merkittäviä parannuksia muistinkäsittelyyn • DOS käyttää vain 640 kilotavun perusmuistia (conventional memory) toimintaansa = 640 kilon muuri (640K barrier) • alkutaipaleen virhearvio muistintarpeen kehityksestä • Intel 8088-prosessori tukee max 1 MB ram • 640 kilotavua jaettiin DOS:ille • 384 kilotavua laitteistolle = ylämuisti (UMA – upper memory area) • esim. näytönohjain ja BIOS varaavat työmuistin ylämuistista • *säätö* komponenttikohtaisesti dippikytkimillä, jumppereilla tai setup-ohjelmistoilla • ylämuistin vapaat alueet = UMB (upper memory blocks)
MS-DOS 5.0 (jatkoa) • uusia tuettuja muistityyppejä • HMA-muisti (high memory area) • 1024 KB – 1088 KB = 64 kilotavua • "By a strange design glitch the Intel 80286 and subsequent processors can actually address 17×64 KB minus 16 bytes of memory (from 0000:0000 to FFFF:FFFF (equivalent to the memory address FFFF0 + FFFF = 10FFEF ), written in PC memory segment notation with hexadecimal numbers) in real mode. In the Intel 8086 and Intel 8088 processors, unable to handle more than 1 megabyte of memory, addressing wrapped around, that is, address FFFF:0010 was equivalent to 0000:0000." [wikipedia 23.1.2006]
MS-DOS 5.0 (jatkoa) • laajennettu muisti (EMS – expanded memory) • LIM EMS 4.0 –standardi (LIM = Lotus, Intel, Microsoft) • 1 megatavusta ylöspäin yhtenäinen alue, max 32 MB • rakenne 16 kilotavun sivuina • sivuja myös ylämuistissa • jatkettu muisti (XMS – extended memory) • 1 megatavusta ylöspäin yhtenäinen alue, max 4 GB • toimii suojatussa tilassa (protected mode)
MS-DOS 5.0 (jatkoa) • aiemmin ylämuistin, HMA-muistin, jatketun (XMS) tai laajennetun muistin (EMS) käyttöä varten tarvittiin erillisiä kolmansien osapuolien ohjelmistoja • esimerkiksi Qemm386 tai 386max • uusia apuvälineitä himem.sys, emm386.exe ja loadhigh • Config.sys-tiedostoon devicehigh ja ”dos=high,umb” • käyttöjärjestelmän osia, laiteohjaimia ja muistiresidenttejä ohjelmia voitiin siirtää ylemmille muistialueille • 640-kilon alueelle jäi enemmän vapaata tilaa sovellusten suoritusta varten
MS-DOS 5.0 (jatkoa) • esimerkkilaitteen muistin rakenne
MS-DOS 5.0 (jatkoa) • muita uusia komentoja doskey, edit, expand, help, loadfix, mem, mirror, qbasic, setver, undelete ja unformat • doskey:ssä makrot
MS-DOS 6.0 • julkaistiin 30.3.1993 • sisälsi uutuutena joukon muilta ohjelmistovalmistajilta lisensoituja apuohjelmia: • kiintolevyn tuplaaja Doublespace • tiedostojärjestelmän eheyttämistä varten defrag • Memmaker automatisoimaan muistinhallintaa • käynnistysvalikot (Multiconfig) • varmuuskopiointi – MSBackup • virustorjunta – MS Antivirus
MS-DOS 6.20 • julkaistiin jo syksyllä 1993 käyttäjien yllätykseksi • kiireen aiheutti tarve korjata Doublespacea, joka oli saanut julkisuudessa negatiivista palautetta • Versionumero hyppäsi 6.10:n yli, jotta kilpaileva IBM-DOS 6.1 jäisi ”vanhanaikaiseksi”. • Scandisk tiedostojärjestelmän huoltamiseen • Doublespacen poisto-ohjelma (uninstall)
MS-DOS 6.21 • julkaistiin 1994 • ainoa muutos: Doublespace oli jätetty kokonaan pois paketista • Microsoft hävisi oikeudenkäynnin Stac Electronics vastaan, joka oli Doublespacessa käytetyn pakkausalgoritmin kehittäjä.
MS-DOS 6.22 • julkaistiin 1994 • kiintolevyn pakkausohjelmaksi DriveSpace • viimeinen MS-DOS • puutteina yhä • 640 kilon muistiraja • tiedosto- ja hakemistonimien lyhyys (8+3 merkkiä) • ei graafista käyttöliittymästandardia • Microsoft ei enää korjannut näitä, vaan keskittyi Windowsiin
Yhteenveto • käyttöjärjestelmien vs. laitteiston kehitys • käyttöjärjestelmät muutaman vuoden jäljessä • Rousku ja Kivimäki: MS-DOS 6.22:n ominaisuudet olisi pitänyt olla jo Intelin julkistaessa 386-prosessorin vuonna 1995, jolloin tuotannossa oli MS-DOS 3.1. • MS-DOS:lla suuri merkitys käyttöjärjestelmien kehityksessä • Entä jos Digital Research olisi aikanaan tarttunut IBM:n tarjoukseen? • CP/M:lle MS-DOS:n asema • käyttöjärjestelmien historiasta oli muodostunut hyvinkin erilainen