KÄYTTÖJÄRJESTELMÄT Seminaarityö



Samankaltaiset tiedostot
Käyttöjärjestelmät: prosessit

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Linuxissa uusi elämä 1

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Mac OS:n ja Windowsin vertaileminen

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

TIETOKONE JA VERKOT IT PC & NETWORK SUPPORT TAITAJA 2001 LAHTI KÄYTTÖJÄRJESTELMIEN JA OHJELMISTOJEN ASENTAMINEN SEKÄ KONFIGUROINTI

SQL Server 2005 Express Edition tietokannan asennusohje

MP3 Manager Software for Sony Network Walkman


2 Konekieli, aliohjelmat, keskeytykset

Windowsin kehitysvaiheet CT50A2602 Käyttöjärjestelmät

TEHTÄVÄ 5: Microsoft Virtual PC asennus ja hallinta

DVD-RAM-levyjen käyttö

Coolselector Asennusohje

Nero 7:n Windows Vista TM -tuki

POP-UP -IKKUNOIDEN SALLIMINEN

Jouko Nielsen. Ubuntu Linux

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Taitaja 2015 Windows finaalitehtävä

Käyttöjärjestelmät: Virtuaalimuisti

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Käyttöjärjestelmän rakenne

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle

Asteri Vuokrankanto (Dos) Vuosipäivitys

CUDA. Moniydinohjelmointi Mikko Honkonen

Office ohjelmiston asennusohje

Automaattinen rivitys

TI10 Joni Hämäläinen & Jan Lampikari

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Tietokoneet ja verkot (32)

WINE API ja Virtualisointiohjelmistot

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Visma Avendon asennusohje

ClassPad fx-cp400 päivitys. + Manager for ClassPad II Subscription päivitys

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

Linux palomuurina (iptables) sekä squid-proxy

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Pikaintro käyttöjärjestelmiin

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

Visma Nova. Visma Nova ASP käyttö ja ohjeet

PC-LAITTEEN TESTAAMINEN

ZENworks Application Virtualization 11

LINUXIN ASENTAMINEN WINDOWSIN RINNALLE

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

Visma Liikkuvan työn ratkaisut

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Varmuuskopiointi ja palauttaminen Käyttöopas

Tietoturvan Perusteet Yksittäisen tietokoneen turva

Yhteydensaantiongelmien ja muiden ongelmien ratkaisuita

Office 2013 ohjelman asennus omalle työasemalle/laitteelle Esa Väistö

Jäsenrekisteri (dos) Kirjuri tekstinkäsittely Vuosipäivitys

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät

11/20: Konepelti auki

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

1. päivä ip Windows 2003 Server ja vista (toteutus)

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu LAPPEENRANTA Puh.

Backup Exec 3600 Appliance

FuturaPlan. Järjestelmävaatimukset

HP ProBook 430 G5 kannettavien käyttöönotto

Lisenssin hakeminen PTC:n verkkosivun kautta

Luento 1 Tietokonejärjestelmän rakenne

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

MultiBoot. Käyttöopas

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Windows ja Linux. Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma

Suomenkielinen versio. Johdanto. Laitteiston asennus. LC2002 Sweex Virtajohdon Ethernet-sovitin 200 Mbps

Hallintatyökaluja Fujitsu-työasemille

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen

erasmartcardkortinlukijaohjelmiston

1 Tivax siirto uuteen koneeseen

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

WINDOWSIN ASENTAMINEN

Työasemien hallinta Microsoft System Center Configuration Manager Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

Ohjelman Suositukset. Luku 5 Suositukset

Käyttöohje Planeetta Internet Oy

Liitäntäkaapelin CA-42 pika-asennusohje

TK Palvelinympäristö

Client Management -hallintaratkaisut ja mobiilitulostus

TEHTÄVÄ 4: Microsoft Windows Deployment Services asennus ja hallinta

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

Transkriptio:

Lappeenrannan teknillinen yliopisto Teknillistaloudellinen tiedekunta Tietotekniikan koulutusohjelma KÄYTTÖJÄRJESTELMÄT Seminaarityö Lauri Saavalainen Joonas Talvitie Juha Toikka WINDOWS Työn tarkastajana toimii prof. Heikki Kälviäinen

ii TIIVISTELMÄ Lappeenrannan teknillinen yliopisto Teknillistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Lauri Saavalainen, Joonas Talvitie, Juha Toikka Windows 2009 25 sivua, 3 kuvaa, 1 taulukkoa ja 1 liitettä Tarkastaja: Professori Heikki Kälviäinen Hakusanat: Microsoft Windows, prosessi, muistinhallinta, siirräntä ja tiedostonhallinta Keywords: Microsoft Windows, process, memory management, I/O and file management Työssä käsitellään Microsoft Windows käyttöjärjestelmän teknistä toteutusta ja historiaan lyhyesti. Teknisistä toteutuksista keskitytään prosessien vuorottamiseen, hallintaan ja ajanjakoon, sekä käyttöjärjestelmän tapaan hallita muistia ja käyttää apunaan virtuaalimuistia. Työssä tutkitaan myös Windowsin tapaa käsitellä suuria datamääriä eli tiedostonhallintaa ja etenkin NTFS- tiedostojärjestelmää. Siirrännässä keskitytään taas Windowsin synkroniseen ja asynkroniseen siirräntään.

iii ABSTRACT Lappeenrannan University of Technology The Faculty of Technology Management Information Technology Lauri Saavalainen, Joonas Talvitie, Juha Toikka Windows 2009 25 pages, 3 figures, 1 tables and 1 appendices Examiner: Professor Heikki Kälviäinen Keywords: Microsoft Windows, process, memory management, I/O and file management This work handles Microsoft Windows operating system's technical implementations and history briefly. The technical implementation will focus on the processes dispatching, management and time allocation, and also the way the operating system manages memory and with the help of virtual memory. The work also examines the way Windows handles large amounts of data, i.e. file management and especially the NTFS file system. Input/output section of the work focuses on the asynchronous and asynchronous input/output.

iv ALKUSANAT Työn tarkastaa prof. Heikki Kälviäinen seminaarin pitämisen jälkeen ja työtä opponoi toinen kurssia suorittava ryhmä, jonka työn aiheena on Linux-käyttöjärjestelmä. Tarkastuksen jälkeen työ palautetaan ryhmälle, joka korjaa mahdolliset virheet ja palauttaa korjatun työn takaisin tarkastajalle. Työhön apua on saatu kurssin luennoilla, sekä netissä olevista kurssimateriaaleista. Päiväys: 20.7.2009 Tekijät: Lauri Saavalainen Joonas Talvitie Juha Toikka

SISÄLLYSLUETTELO TIIVISTELMÄ... ii ABSTRACT... iii ALKUSANAT... iv KÄYTETYT MERKINNÄT JA LYHENTEET... 2 1. JOHDANTO... 3 1.1 TYÖN TAUSTA... 3 1.2 TYÖN TAVOITTEET JA RAJAUKSET... 3 1.3 TYÖN RAKENNE... 3 2. YLEISTÄ KÄYTTÖJÄRJESTELMISTÄ... 4 3. MICROSOFT WINDOWSIN HISTORIA... 5 4. MUISTINHALLINTA... 8 5. VIRTUAALIMUISTI JA LAITTEISTO... 9 6. PROSESSI JA PROSESSIEN HALLINTA... 10 6.1 AJANJAKO... 11 6.2 AJANJAKO MONIPROSESSORI JÄRJESTELMISSÄ... 12 7. WINDOWS VISTAN SIIRRÄNTÄJÄRJESTELMÄ... 13 8. TIEDOSTOJEN HALLINTA... 15 9. YHTEENVETO... 18 LÄHTEET... 19 LIITE 1: Microsoft Windowsin eri versiot julkaisuvuosineen

2 KÄYTETYT MERKINNÄT JA LYHENTEET ACPI FAT32 HAL IRP I/O LAN MBR MS-DOS NTFS PC PnP SMP USB Advanced Configuration and Power Interface. Virranhallintajärjestelmä. File Allocation Table. Tiedostojärjestelmä. Hardware Abstraction Layer. Käyttöjärjestelmän osa, joka on lähimpänä laitetasoa. Mappaa yleiset laitteistoa ohjaavat käskyt laitespesifisiksi. I/O Request Packets. Paketti, joka sisältää siirräntäpyynnön parametrit ja attribuutit. Input/Output, Siirräntä Local Area Network on paikallisesti toimiva tietoliikenne verkko. Master Boot Record. Käynnistyslohko. Microsoft Disk Operating System on tekstipohjaisella komentoliittymällä varustettu käyttöjärjestelmä. New Technology File System. Tiedostojärjestelmä Personal Computer tarkoittaa yksityiskäyttöön tarkoitettua tietokonetta. Plug and Play. Määrittää laitteen keskeytykset ja osoitteet automaattisesti. Symmetric multiprocessing. Symmetrinen moniprosessorijärjestelmä, jossa suorittimet ovat samanlaisia ja jakavat saman muistin. Universal Serial Bus on oheislaitteiden liittämiseen tarkoitettu sarjaväyläarkkitehtuuri

3 1. JOHDANTO Microsoft Windows on PC:lle (Personal Computer) valmistettujen graafisten käyttöjärjestelmien perhe. Windowsin lähes 90 % markkinaosuus on suuri, mutta se on ollut laskusuunnassa jo vuodesta 2003 Windowsin kilpailijoiden lisätessä osuuttaan markkinoilla. Windowsin suurimpiin kilpailijoihin kuuluvat Applen Mac OS X -käyttöjärjestelmä 9.73 % markkinaosuudella ja eri Linux-versiot 1.02 % markkinaosuudella, (Kowaliski, Cyril 2009). 1.1 TYÖN TAUSTA Käyttöjärjestelmä on ohjelmisto, jonka tehtävänä on huolehtia sovellusten suorittamisesta. Käyttöjärjestelmä valvoo sovellusten suoritukseen tarvittavia toimenpiteitä, kuten muistinvarausta ja datan siirtoa, sekä kirjaa ylös tietoa mm. koneen suorituskyvystä. 1.2 TYÖN TAVOITTEET JA RAJAUKSET Työssä käydään läpi yleistä Windows-käyttöjärjestelmän toiminnasta, kuten muistinhallinnasta ja prosessin hallinnasta. Windowsin tiedostojenhallinnasta käydään läpi vai NTFStiedostojärjestelmä, jotta työn pituus saadaan pysymään sallituissa rajoissa. 1.3 TYÖN RAKENNE Työn luvussa 2 käsitellään käyttöjärjestelmiä yleisesti. Niiden sovellusten suorittamiseen tarvitsemia toimintoja ja käyttöjärjestelmän tarjoamia palveluita. Luvussa 3 taas käsitellään Microsoft Windowsin historiaa lyhyesti koti- ja yrityskoneissa, sekä palvelimissa. Windowsin muistinhallintaan perehdytään luvussa 4. Muistinhallinnasta käydään läpi sen tarkoitus ja se kuinka käyttöjärjestelmä toteuttaa sen. Seuraava luku taas keskittyy virtuaalimuistin merkityksen selostamiseen ja sen toimintaan. Luku 6 syventyy Windowsin prosesseihin ja niiden hallintaa, mutta myös ajanjakoon prosesseissa, sekä moniprosessorijärjestelmissä. Luvussa 7 käy Windows Vistan siirräntäjärjestelmän ja luvussa 8 käydään läpi Windowsin tiedostonhallintaa keskittyen Windowsin NTFS-tiedostojärjestelmään.

4 2. YLEISTÄ KÄYTTÖJÄRJESTELMISTÄ Luku 2 pohjautuu William Stallings:n kirjaan: Operating systems, internals and design principles 5th edition, 2005. Käyttöjärjestelmän on ohjelmisto, jonka tehtävänä on huolehtia sovellusten suorittamisesta. Käyttöjärjestelmä huolehtii sovelluksen käynnistämisestä ja siihen tarvittavista toimenpiteistä, kuten muistitilan varauksesta ja datan siirrosta muistiin. Mikäli tarvittava data sijaitsee tiedostossa tai hakemistossa, hoitaa käyttöjärjestelmä tiedoston tai hakemiston lukemisen ja tarvittaessa niihin tallentamisen. Ennen sovelluksen käynnistämistä on käyttöjärjestelmän tehtävänä myös tarkistaa onko sovelluksella tarvittavat käyttöoikeudet tiedostoihin ja suojata muistia, etteivät käynnissä olevat prosessit sotke toistensa muistialueita sekoittaen näin koko tietokoneen. Käyttöjärjestelmä myös vahtii myös sovellusten resurssien käyttöä ja tarvittaessa vuorottaa sovelluksia resurssien saannin ja sovelluksen prioriteetin mukaan, optimoiden näin laitteiston käytön ja mahdollistaen parhaan mahdollisen suorituskyvyn. Sovelluksen suorituksen jälkeen resurssien vapauttaminen kuuluu myös käyttöjärjestelmän vastuulle, kuten myös mahdollinen virheiden hallinta tai vahingon jo sattuessa niistä selviytyminen. Sovelluksen suorittamisen edetessä käyttöjärjestelmä pitää kirjaa mm. laitteiston suorituskyvystä, mahdollisista suorittamiseen tarvittavista tiedostoista ja hakemistoista ja resurssien käytöstä. Käyttöjärjestelmä tarjoaa myös käyttäjän tarvitsemia palveluita. Kaikista näkyvin näistä palveluista on käyttöliittymä. Käyttöliittymät pyritään suunnittelemaan niin, että ne olisivat mahdollisimman helppokäyttöisiä ja käyttäjäystävällisiä. Käyttöjärjestelmien käyttöliittymät ajatellaan nykyisin graafisiksi, vaikka ei-graafiset komentoliittymät ovat vieläkin käytössä niiden nopeuden ja teknisten ratkaisujen vaatimattomuuden takia. Toinen käyttöjärjestelmän tarjoama palvelu on ohjelmoijille tutuksi tullut ohjelmointiympäristö, jolla ohjelmoija luo tai muokkaa ohjelmistoa. Ohjelmointiympäristö sisältää esimerkiksi käyttöliittymän, joka voi olla esimerkiksi tekstieditori, sekä kääntäjän virheentarkistamiseen ja paikantamiseen.

5 3. MICROSOFT WINDOWSIN HISTORIA Microsoft esitteli vuonna 1985 ensimmäisen käyttöjärjestelmänsä nimeltä Windows. Microsoft loi Windowsin MS-DOSin graafiseksi käyttöliittymäksi IBM:n tietokoneisiin. Windowsin tarkoituksena oli saada etulyöntiasema kilpailussa Applen kehittämää Mac OS - käyttöjärjestelmää vastaan. Microsoft on julkaissut tähän mennessä useita eri versioita Windows-käyttöjärjestelmistä, joista täydellinen versio lista on esitettynä liitteessä 1. Vuonna 1985 julkaistu ensimmäinen Windows-käyttöjärjestelmä perheen versio 1.0 ei sallinut päällekkäisiä ikkunoita, jotka ovat muodostuneet Windows käyttöjärjestelmien tunnusmerkiksi vaan ikkunat pystyttiin vain näyttämään vierekkäin, (Todea, Lucian 2006). Windows 1.0 oli enemmänkin MS-DOSin lisäosa kuin itsenäinen käyttöjärjestelmä. Kuva Windows 1.0 työpöydästä on esitetty kuvassa 2.1. Windows 2.0 esitteli Microsoftin uudet graafiset ohjelmat Excelin ja Wordin, sekä mahdollisti ikkunoiden sijoittelemisen päällekkäin, (Todea, Lucian 2006). Windows 3.0 vuorostaan tarjosi parempaa grafiikkaa ja suorituskykyä tukemalla Intelin tehokasta 386 prosessoria ja tuki myös 16 bittisiä värejä. Windows 3.0 suosio kasvoi räjähdysmäisesti Intelin 386 prosessorilla varustettujen koneiden myyntiaallon myötä. 2.1: Windows 1.0 työpöytä. (Todea, Lucian 2006) Kuluttajille suunnattu Windows 95 julkaistiin nimensä mukaisesti vuoden 1995 syyskuussa. Windows 95 suunniteltiin niin, ettei sitä voitu käyttää muun kuin Microsoftin valmistamien DOS-käyttöjärjestelmien kanssa, (Wikipedia 2009). Koneen käynnistyessä DOSkäyttöjärjestelmä ladattiin käytiin osana Windowsin käynnistysprosessia, (Wikipedia 2009). Aikaisempiin Windows versioihin verrattuna näkyvin muutos oli parannukset Win-

6 dows 95 graafisessa käyttöliittymässä. Tehtäväpalkki, käynnistä-painike ja valikot olivat parannuksia, jotka ovat säilyneet lähes muuttumattomina aina uusimpiin Windows versioihin saakka. Nämä seikat tekivät Windows 95:sta aikansa menestyneimmän käyttöjärjestelmän. Windows 95:n uusi aikaisemmista Windows versioista paranneltu työpöytä on esitetty kuvassa 2.2. 2.2 Windows 95 työpöytä. (Anon 1995) Windows 98 oli päivitetty versio Windows 95:sta. Tämä erityisesti kuluttajille suunnattu versio oli vakaampi ja luotettavampi kuin edeltäjänsä. Se kykeni siirtämään yli 2GB tiedostoja mihin Windows 95 ei pystynyt, sekä tarjosi USB tuen. Myöhemmin julkaistu Windows 98 Second Edition mahdollisti LAN verkon luonnin. (Wikipedia 2009) Windows XP oli yhdistelmä aikaisempia Windows versioita. Tämä suosiota saanut ja pisimpään säilynyt Windows versio kärsi turvallisuusongelmista, jonka takia sille julkaistiinkin 3 suurta päivityspakettia (Service pack), (Todea, Lucian 2006). XP oli edeltäjiinsä verrattuna vakaampi ja tehokkaampi, sekä ensimmäisenä Windowsina se tuli aktivoida tuoteaktivoinnilla laittoman kopioinnin välttämiseksi. XP versioita on useita, jotka on tarkoitettu aina kotikäyttäjistä yrityksille ja 32- ja 64- bittisille prosessoreille. Windows Server 2003 oli merkittävä päivitys palvelinkäyttöjärjestelmä Windows 2000 Server versiosta. Server 2003 tarjosi parannellun tietoturvan ja mahdollisuuden optimoida kone tiettyihin tehtäviin parantaen suorituskykyä. Tätä seurannut palvelin käyttöön tarkoi-

7 tettu käyttöjärjestelmä oli Windows Server 2008. Tämä uusin Microsoftin palvelin käyttöön tarkoitettu käyttöjärjestelmä perustuu Vistasta tuttuihin teknisiin ja tietoturva ominaisuuksiin. Server 2008 on Server 2003:sta huomattavasti modulaarisempi. (Wikipedia 2009) Nykyinen Windows versio Windows Vista, jota on saatavilla 32- ja 64- bittisenä toi mukanaan uudet ominaisuudet: käyttäjätilien valvonta ja turvallisemman version Internet Explorerista, sekä parannellun turvallisuuden, josta Windows XP:tä kritisoitiin. Käyttöliittymää on muutettu mm. paremmalla ja nopeammalla hakutoiminnolla, sekä mahdollisuudella lisätä ikkunoihin tehosteita ja säätää ikkunan läpinäkyvyyttä. Kuva Vistan työpöydästä on esitetty kuvassa 2.3. (Wikipedia 2009) 2.3: Windows Vistan työpöytä. (Anon 2007) RC (Release Candidate) vaiheella oleva Windows 7 on tämän vuoden loppupuolella julkaistava Windows sarjan uusin tulokas. Sen luvataan olevan ensimmäinen Windows, joka on suorituskyky vaatimustensa mukaan keveämpi kuin edeltäjänsä. Windows 7 on tulossa useita uusia toimintoja, kuten käsinkirjoituksen tunnustuksen ja multi-touch tuen, sekä mahdollisuuden käynnistää virtuaalinen Windows Vista. Käyttöjärjestelmään pyritään myös optimoimaan moniydinprosessoreille ja mahdollistamaan jopa 256 ydinprosessorin tukemisen.

8 4. MUISTINHALLINTA Muistinhallintaa käytetään kaikissa nykyisissä käyttöjärjestelmissä ja se on erityisen tarpeellinen useampien ohjelmien yhtäaikaisen käytön mahdollistamiseksi. Ohjelmien ja niiden prosessien käyttämiseksi tulee ne ensin ladata tietokoneen muistiin. Ohjelmassa käytettävät muistiosoitteet ovat virtuaaliosoitteita ja ohjelma näkee vain nämä virtuaaliosoitteet. Muistinhallinnan tehtävänä on muuttaa virtuaaliset osoitteet todellisiksi fyysisiksi muistiosoitteiksi. Ohjelmien käyttämät osoitteet ovat siis riippumattomia todellisista fyysisistä muistiosoitteista. (Merilinna, Juhani 2004) Windowsin muistinhallinta käsittää muistin jaetuksi sivuiksi ja jakaa käytettävissä olevat sivut prosessien kesken. Jokainen Windowsin prosessi saa käyttöönsä 32-bittisen osoiteavaruuden, joka sallii 4 gt muistia prosessia kohden. Esiasetuksena Windowsille itselleen varataan kuitenkin 2 gt osoiteavaruudesta, joten itse prosessille jää 2 gigatavua keskusmuistia käytettäväkseen. (Stallings 2005) Rajallista muistitilaa voidaan myös jatkaa käyttämällä kovalevyä apuna. Tämä tarkoittaa datan tallentamista kovalevylle keskusmuistin sijaan. Kovalevyn käyttämisen heikkoutena on kuitenkin sen hitaus verrattuna keskusmuistiin. Mikäli kaikki muisti on käytetty, muistinhallinta voi esimerkiksi siirtää vähiten käytetyn datan muistista sivutustiedostoon (swap file) kovalevylle ja vapauttaa näin tarvittavan määrän muistia (Stallings, William 2005). Windowsin muistinhallinta pyrkii pitämään aktiiviset prosessit muistissa ja maksimoimaan prosessorin kellojaksojen käytön. Dataa poistetaan ja tallennetaan muistiin jatkuvasti, joten muistinhallinnan on pidettävä huoli siitä, että ohjelmat saavat oikeat muistiosoitteet ja että mitään tarpeellista dataa ei hävitetä. Windowsin 2000:n muistinhallinnalla on paljon samankaltaisuuksia Linuxin 2.4:n muistinhallinnan kanssa, mutta erojakin löytyy esimerkiksi muistisivujen vapautuksesta. Yksinkertaistettuna Windowsin muistinhallinta on monimutkaisempi, alttiimpi virheille ja hankalampi ohjelmoijille, mutta tehokas. Linuxin muistinhallinta taas on yksinkertaisempi, mutta moderni ja huomattavasti helpompi ohjelmistojen kehittäjille. Molempien käyttöjärjestelmien muistinhallinta on myös kehittynyt uudemmissa käyttöjärjestelmän versioissa. (Gaurang, Khetan 2002)

9 5. VIRTUAALIMUISTI JA LAITTEISTO Virtuaalimuisti mahdollistaa sen, että osa prosessin muistista voi olla kovalevyllä keskusmuistin sijaan. Tällä tavoin saadaan kasvatettua keskusmuistia massamuistilla ja tällöin keskusmuistin määrä ei ole rajoittava tekijä ohjelmoinnissa. Virtuaalimuistin, segmentoinnin ja sivutiedostojen avulla voidaan muistissa pitää vain tarvittavaa osaa prosessista eikä koko prosessia tarvitse ladata muistiin, jos vain tiettyjä osia siitä tarvitsee suorittaa, (Stallings 2005). Virtuaalimuisti tarvitsee toimiakseen virtuaaliosoitteet sekä laitteiston tukea. Windowsin virtuaalimuistinhallinta on suunniteltu toimimaan monilla erilaisilla laitteistoilla ja sen muistisivujen koot voivat vaihdella 4 kilotavusta 64 kilotavuun. Virtuaalimuistinhallinnan tehtävänä on hallita muistin jakoa ja sivujen käyttöä eri prosesseille. Kuten muistinhallinnan yhteydessä tuli ilmi Windows sallii esiasetuksena yhdelle prosessille 2 Gt virtuaalimuistiavaruudesta. Prosessille sallittua muistiavaruutta voidaan laajentaa myös kolmeen gigatavuun, jolloin käyttöjärjestelmälle jää käytettäväkseen yksi gigatavu, mutta tämä mahdollisuus on tarkoitettu lähinnä serverikäyttöön. (Stallings, William 2005) Windows määrää jokaiselle prosessille oman muistialueensa sen ensimmäisen käynnistyksen yhteydessä. Tämän muistialueen täyttyessä siirretään käyttämättömänä olleita sivuja sivutustiedostoon ja tuodaan uusia sivuja niiden tilalle. Mikäli muistiviittaus ei ole mahdollinen, pitää laitteiston pystyä keskeyttämään ajossa oleva käsky. Keskeytyksen jälkeen Windows tarkistaa onko kyseessä virheellinen muistiviittaus ohjelman sallitun osoiteavaruuden ulkopuolelle, ja jos ei ole, niin noutaa halutun sivun keskusmuistiin kovalevyltä tai muulta massamuistilaitteelta. Windows ei poista keskusmuistista sivuja vaan antaa niiden kertyä keskusmuistiin niin kauan kuin yksittäiselle prosessille määrätyllä muistialueella on tilaa. Prosessille annetun muistialueen täyttyessä Windows alkaa siirtää pisimpään käyttämättömänä olleita sivuja pois keskusmuistista. (Stallings, William 2005)

10 6. PROSESSI JA PROSESSIEN HALLINTA Prosessi on ajossa oleva ohjelma tai ohjelman osa. Windowsissa prosessit koostuvat yhdestä tai useammasta säikeestä (thread). Säikeet voivat myös luoda uusia säikeitä ja näin prosessissa voi olla samanaikaisesti tekeillä useita erilaisia toimintoja. Prosessin käytössä on yleensä oma muistialueensa ja muita resursseja joita muut prosessit eivät voi käyttää samanaikaisesti. (Stallings, William 2005) Windowsin prosessien hallinta on suunniteltu toimimaan monilla erilaisilla laitteistoilla, kuten muistinhallintakin. Prosessien hallinnassa Windowsin täytyy lomittaa useiden prosessien ajamista niin, että prosessorin käyttö maksimoidaan, mutta riittävä nopeus ja tietokoneen käytettävyys säilytetään samanaikaisesti. Windowsin täytyy myös ottaa huomioon prosessien prioriteetit ja jakaa tietokoneen resursseja eri prosessien kesken kuitenkaan ajautumatta umpikujaan. Windowsissa prosessit toteutetaan objekteina ja sekä säie että prosessi objekteilla on sisäänrakennettuna synkronointiominaisuudet, (Stallings, William 2005). Säikeiden ajojärjestyksen säätely on tärkeä osa prosessien hallintaa. Prosessi voi olla monessa eri tilassa, kuten esimerkiksi suorittaa (running), suoritusvalmiina (ready) ja odottavana (blocked/waiting). Odotustilassa prosessi voi odottaa esimerkiksi I/O-operaation (input/output) suoritusta ja suoritusvalmis-tilaan prosessi voi päätyä esimerkiksi sen ajon loputtua. Moniajojärjestelmässä, kuten Windows, käyttöjärjestelmän vuorottaja säätelee ajossa olevia prosesseja ja irrottaa prosessin tarvittaessa ajosta, valitsee uuden suoritettavan prosessin valmiustilassa olevien prosessien joukosta, antaa sille hallinnan prosessorista ja määrittää prosessille aikaviipaleen prosessin prioriteetin mukaan. (Merilinna, Juhani 2006) Windowsin 2000:n moniajo on prioriteetteihin perustuva keskeyttävä järjestelmä, jossa säikeet saavat toiminta-aikaa vuorotellen. Sillä mihin prosessiin kulloinkin suoritettava säie kuuluu ei ole merkitystä vuoronnukseen. Windows 2000:n vuoronnus on keskeyttävä

11 (preemptive) eli vuorossa oleva säie toimii kunnes määritetty aika (aikaviipale) on kulunut loppuun, säie luovuttaa vuoron siirtymällä odotustilaan tai korkeamman prioriteetin omaava säie siirtyy valmiustilaan. (Merilinna, Juhani 2006) 6.1 AJANJAKO Windowsin ajanjaon tavoitteena on reagoiva järjestelmä, joka soveltuu hyvin niin yhden käyttäjän järjestelmiin kuin palvelinkäyttöön. Windowsin vuorottaminen perustuu säikeiden prioriteettitasoihin ja keskeytyvyyteen (pre-emptive). Prosessien ja säikeiden prioriteettitasot vaihtelevat nollasta 31:een, joissa suurempi luku kuvaa suurempaa prioriteettia. Prioriteetit jaetaan kuuteen eri prioriteettiluokkaan, joista yksi on reaaliaikaisten prioriteettien luokka. Loput viisi ovat ei-reaaliaikaisia. Jokaisella luokalla on perusprioriteetti (esimerkiksi 8) ja prioriteetti voi saada jokaisessa luokassa seitsemän eri arvoa. Jokaisessa ei-reaaliaikaisessa luokassa säie voi saada arvon 1 tai 15, sekä kaksi perusprioriteettiä korkeampaa sekä kaksi matalampaa arvoa. Esimerkiksi normaaliprioriteettiluokassa ovat mahdollisia arvot 1, 6, 7, 8, 9, 10 ja 15. Reaaliaikaluokassa pienin arvo on 16 ja suurin 31. (Microsoft 2009a) Järjestelmä käsittelee jokaista saman prioriteettiarvon säiettä samanarvoisena. Järjestelmä jakaa jokaiselle korkeimman prioriteettiluokan säikeelle aikasiivun round-robin algoritmin mukaisesti. Mikäli yksikään säie ei ole valmis ajettavaksi korkeimmasta luokasta, jaetaan aikasiivut toiseksi korkeimman prioriteettiluokan säikeille. Jos korkeampi prioriteettinen säie tulee saataville, keskeytyy matalampi prioriteettisen säikeen käsittely kesken aikasiivun (pre-emptive). Ei-reaaliaikaisten säikeiden prioriteettia voidaan säädellä dynaamisesti. (Microsoft 2009b)

12 6.2 AJANJAKO MONIPROSESSORI JÄRJESTELMISSÄ Moniprosessorijärjestelmät voidaan jakaa kahteen erilaiseen arkkitehtuuriin, SMP (symmetric multiprocessing) ja NUMA (non-uniform memory access). SMP-järjestelmässä yksi tai useampi identtinen prosessori on yhteydessä yhteiseen muistiin. Ajanjaossa mikä tahansa säie voidaan ohjata mille tahansa prosessorille säikeen prioriteetin mukaan. Aivan kuten yksiprosessorijäjestelmässä, korkeimman prioriteetin säikeet suoritetaan ensin. Säikeelle voidaan kuitenkin määritellä affiniteetti tai ideaaliprosessori, joissa säie suoritellaan. Affiniteetilla voidaan määritellä tietty prosessorien osajoukko ja ideaaliprosessorilla tietty prosessori, jossa säie ensisijaisesti suoritetaan. (Microsoft 2009c) NUMA-järjestelmässä jokainen prosessori on lähellä jotain tiettyä osaa muistia, kun muut muistin osat ovat kauempana. Prosessori pääsee lähempänä oleviin muistin osiin nopeammin. Saman muistin jakavat prosessorit muodostavat solmuja, jotka ovat yhteydessä suurempaan järjestelmään. Vuorottaja pyrkii selvittämään mitkä prosessorit ovat samassa solmussa ja ohjaa säikeitä sen perusteella. Usein joudutaan osa tarvittavasta tiedosta hakemaan muualta kuin solmun omasta muistista. (Microsoft 2009d)

13 7. WINDOWS VISTAN SIIRRÄNTÄJÄRJESTELMÄ Windowsin siirräntäjärjestelmä on asynkroninen, pakettipohjainen ja laajennettava. Sen tarkoituksena on tarjota yhtenäinen käsitteellinen liittymä sovelluksille. Se mahdollistaa dynaamisen ajureiden lataamisen ja poistamisen, ajureiden kerroksellisuuden ja asynkronisen siirrännän. Ominaispiirteisiin kuuluvat plug-and-play:tä tukeva laitteiden havaitseminen. Tuki löytyy myös virranhallinnalle (ACPI). Levyt tunnistetaan ja mountataan automaattisesti. Ajurit voivat suodattaa toisten samassa kasassa olevin ajureiden toimintoja. Ajurit kiinnitetään laitteiden ajurikasoihin. Siirräntäjärjestelmässä on integroitu kernelituki, jossa muistimanageri tarjoaa Direct Memory Access -tuen. Hardware Abstraction Layer (HAL) tarjoaa pääsyn laitteistoon ja PnP:n (Plug and Play) tarkoituksena on hoitaa laitteiden resursseja. Välimuistimanageri tarjoaa tiedostotason välimuistit. (Probert 2005a, s. 2) Kaikki siirräntäoperaatiot ja pyynnöt on paketoitu IRP:eihin (I/O Request Packets), jotka matkaavat ajuripinon läpi. Jokainen ajuri saa sijainnin pinossa, jossa ovat kyseisen siirräntäpyynnön parametrit. IRP sisältää koodeja, jotka kuvaavat I/O operaatiota. Kernelin siirräntämanageri (I/O manager) on vastuussa kaikesta käyttöjärjestelmän siirrännästä ja tarjoaa yhdenmukaisen käyttöliittymän, jota kaikki ajurit voivat käyttää. Siirräntämanageri mappaa käyttäjän pyynnöt IRP-paketeiksi, konfiguroi siirräntälaitteita ja toteuttaa ajureille palveluita, (Probert 2005b s. 7). Kaikki siirräntäpyynnöt tehdään objekteille, jotka koostuvat ajuriobjekteista, laiteobjekteista tai tiedosto-objekteista. Ajuriobjektit ovat ladattuja ajureita, ajurit luovat laiteobjekteja edustamaan laitteita ja tiedosto-objektit ovat avoimia laiteobjekteja. (Probert 2005a, s. 4) Siirräntämanageri koostuu neljästä eri kernelikomponentista: Välimuistimanageri (Cache manager): Hoitaa kaikkien tiedostojärjestelmien tiedostojen puskuroinnin. Se voi suurentaa tai pienentää dynaamisesti kullekin tiedostolle omistetun välimuistin määrää fyysisen muistin määrän vaihdellessa.

14 Tiedostojärjestelmän ajurit: Siirräntämanagerille tiedostojärjestelmän ajuri on yksi ajuri muiden joukossa. Siirräntäpyynnöt ohjataan tiedostojärjestelmän ohjelmistoajurille, joka lähettää ne laitteiston ajurille. Verkkoajurit: Windowsin sisäänrakennetut verkko-ominaisuudet ja tuki etätiedostojärjestelmille on toteutettu ohjelmistoajureina. Laitteistoajurit: Nämä ohjelmistoajurit pääsevät käsiksi oheislaitteiden rekistereihin käyttäen HAL:n sisäänmenokohtia. (Stallings, William 2009 s.533-534) Windows tukee sekä asynkronista että synkronista siirräntää. Asynkronista pyritään käyttämään aina kun mahdollista paremman suorituskyvyn vuoksi. Synkronisessa siirrännässä sovellus blokataan, kunnes siirräntä on valmis, (Stallings, William 2009 s.534). Tämä voi aiheuttaa käyttöjärjestelmän hidastumista tai jumiutumista, koska laite vastaa hitaasti. Ongelman vähentämiseksi Windows Vistan Siirräntämanageri lopettaa jumiutuneiden ohjelmien suorittamisen vähän ajan kuluttua. (Microsoft 2009e) Asynkronisessa siirrännässä sovelluksen siirräntäpyyntö menee siirräntämanagerille odottamaan suoritusta, kun alkuperäisen säikeen suoritus jatkuu. Siirrännän valmistuminen voidaan signaloida viidellä eri tavalla. Nämä ovat tiedosto-objektin signalointi, tapahtumaobjektin signalointi, asynkroninen toimenpidekutsu, I/O valmistumisportit sekä pollaus. (Stallings, William 2009 s. 534-535)

15 8. TIEDOSTOJEN HALLINTA Windows Vista tukee mm. NTFS- (New Technology File System), FAT32- (File Allocation Table) ja FAT16-tiedostojärjestelmiä. FAT32 ja FAT16 ovat vanhempia sekä rajoittuneempia. NTFS on yleisemmin käytössä Windowsissa, joten vain NTFS esitellään seuraavassa. NTFS on suunniteltu sekä palvelin- että työasemakäyttöön, asiakas/palvelin sovelluksiin, resurssi-intensiivisiin suunnittelu- ja tieteellisiin sovelluksiin. Lähtökohtana on ollut myös soveltuvuus palvelinjärjestelmiin. (Stallings, William 2009 s.591) NTFS-tiedostojärjestelmän tärkeimmät ominaisuudet ovat: Palautuvuus: Kyky palautua järjestelmän kaatumisesta tai levyvirheistä. NTFS palautuu virhettä edeltävään tilaan. Jokainen tapahtuma joko tapahtuu kokonaan tai ei tapahdu lainkaan. Tärkeimmistä tiedostojärjestelmän tiedoista pidetään useita kopioita. Isot tiedostot ja levyt: Tukee erittäin suuria tiedostoja ja levyjä. Useat datastreamit: tiedoston dataa käsitellään datastreameina. Mahdollistaa useiden datastreamien määrittämisen yhdelle tiedostolle. Journalointi: Pitää logia kaikista muutoksista volyymien tiedostoissa. Ohjelmat (esimerkiksi työpöytähaku) voivat lukea journalia ja nähdä mitä tiedostoja on muutettu. Pakkaus ja enkryptaus: Kokonaiset tiedostot tai hakemistot voivat olla läpinäkyvästi pakattuja tai enkryptattuja. NTFS:n tiedostorakenne koostuu sektoreista, jotka ovat pieniä fyysisiä tallennusyksiköitä levyllä. Datan koko tavuissa on kakkosen potenssi ja melkein aina 512 tavua. Samalla raidalla oleva tai olevat sektorit muodostavan klusterin, jonka koko on myös 2 potenssi. Klusterit taas muodostavat loogisen osion levyllä eli volyymin, jota tiedostojärjestelmä käyttää tilan antamiseen. Volyymi sisältää tiedostojärjestelmän informaation, tiedostot sekä tiedon tyhjästä tilasta, jota voidaan antaa tiedostojen tallentamiseen. Volyymi voi olla yhden levyn osa tai koostua monesta levystä. (Stallings, William 2009 s. 591-593)

16 NTFS volyymi koostuu neljästä eri osasta: NTFS käynnistyslohko: sisältää BIOS-parametriblokin (voluumin layout, tiedostojärjestelmän rakenteet sekä käynnistykoodin Windowsin käynnistämiseksi). Päätiedostotaulukko (Master File Table): Tarvittavat tiedot tiedostojen hakemiseen NTFS-osiolta (esim tiedostojen attribuutit). Relaatiotietokanta kaikista tiedostojärjestelmän tiedostoista ja attribuuteista. Tiedostojärjestelmän data: Sisältää kaiken muun tiedon, joka ei ole MFT:ssä Päätiedostotaulukon kopio: Kopiot tärkeimmistä tallenteista, mahdollistaa palautumisen, jos alkuperäinen on tuhoutunut. (Microsoft 2003) Klusteri on perusyksikkö tilan varaamisessa, NTFS ei tunnista sektoreita. Tiedostolle määrättyjen klustereiden ei tarvitse olla vierekkäisiä (fragmentoituminen). Etuna on riippumattomuus sektorien koosta, helppo tukea epästandardeja levyjä. Klusterin koko riippuu levyn koosta, mitä isompi levy, sitä isommat klusterit. Klustereiden kokoa on helppo suurentaa - > tehokas tuki isommille tiedostoille/levyille, (Stallings, William 2009 s. 593-594). NTFS tiedostojärjestelmä rajoittaa mm. tiedostojen ja volyymeiden kokoa. Nämä kokorajoitukset on esitetty taulukossa 1. Taulukko 1: NTFS tiedostojärjestelmän kokorajoitukset. Kuvaus Raja Volyymin koko Arkkitehtuurin raja: 2⁶⁴ klusteria 1 klusteri Implementointi: 256 teratavua 64 KB (2³² klusteria 1 klusteri) Tiedoston koko Arkkitehtuurin raja: 16 eksatavua (2⁶⁴ tavua) 1 KB Implementointi: 16 teratavua (2⁴⁴ tavua) 64 KB Tiedostojen maksimimäärä volyymissä 4,294,967,295 (2³² yksi tiedosto)

17 MBR (Master Boot Record) levyillä osiotaulukko tukee vain 2 teratavun volyymeitä. Suuremmilla täytyy käyttää dynaamisia volyymejä. (Microsoft 2003) NTFS tukee palautumista virhetilanteista. Jokainen toimenpide joko suoritetaan loppuun asti tai perutaan. NTFS tekee seuraavat toimenpiteet varmistaakseen palautumisen onnistumisen: 1. NTFS kutsuu logitiedostojärjestelmää tallentamaan välimuistin logitiedostoon tiedon tulevista tiedostojärjestelmää muokkaavista toimenpiteistä 2. NTFS muokkaa volyymejä välimuistissa 3. Välimuistimanageri kutsuu logitiedostojärjestelmää siirtämään logitiedoston levylle 4. Tulevat muutokset ovat levyllä kirjoitetussa logitiedostossa ja välimuistimanageri siirtää volyymille tulevat muutokset levylle. (Stallings, William 2009 s. 596-597)

18 9. YHTEENVETO Microsoft Windows on pitkän tuotekehityksen tulos ja saamastaan kritiikistä huolimatta uusimmat Windows-versiot ovat vakaita ja tehokkaita, sekä kilpailijoihinsa verrattuna paremmin yhteensopivia useampien ohjelmistojen kanssa. Windowsin muistinhallinta ja prosessien hallinta on varsin kehittynyttä erityisesti uusimmassa Vista nimeä kantavassa versiossa ja tulevassa Windows 7:ksi nimetyssä versiossa. Windowsin ajanjako perustuu keskeytyvään, tehokkaaseen ja reagoivaan järjestelemään, jossa säikeet saavat suoritusaikaa prioriteettitasonsa mukaan. Siirräntäjärjestelmä on asynkroninen ja kaikki siirräntä tapahtuu paketteina (I/O Request Packets), joissa siirräntäpyyntö on kuvattu. Windowsin tiedostojärjestelmänä käytetään lähes aina NTFS-tiedostojärjestelmää, jonka tärkeimpiä ominaisuuksia ovat mm. tuki suurille levyille, isoille tiedostoille ja journaloinnille sekä kyky palautua virhetilanteista. Windows tukee myös muita tiedostojärjestelmiä, kuten FAT32:sta. Windowsien heikkous on ollut pitkään aina raskaammaksi käyvä itse käyttöjärjestelmä, joka syö tietokoneen resursseja muilta sovelluksilta. Tämänkin suhteen on kuitenkin nähtävissä muutoksen merkkejä Windows 7:n myötä, jonka kerrotaan olevan selkeästi edeltäjäänsä kevyempi. Tätä on tukenut myös Microsoftilta vapaasti saatavilla olevalla RC versiolla tehdyt testit. Tietoturvaa on myös pidetty yhtenä Windowsin heikkouksista, mutta uusien versioiden myötä aikaisempia virheitä on aktiivisesti korjattu. Osa syynä Windowsin tietoturvaongelmiin on se, että Windows on maailman eniten käytetty käyttöjärjestelmä, jonka vuoksi sen tietoturvan kimppuun hyökätään useammin kuin kilpailijoidensa. Windows on selkeästi suosituin käyttöjärjestelmä lähes 90 % markkinaosuudellaan. Suosioon varmasti osittain vaikuttanut sekin, että Windows on pitkään ollut pohjimmiltaan samanlainen ja uudempiin versioihin siirtyminen on ollut helppoa ja loogista. Linux etu sekä osittain heikkous on valtava muokattavuus, joka on johtanut moniin erinäköisiin graafisiin käyttöliittymiin. Eri koneilla olevat eri Linux versiot eivät ole välttämättä samalla tapaa tuttuja kuin Windowsit, jotka ovat käytännössä identtisiä vaikka versio vähän muuttuisikin. Myös tuki eri ohjelmistoille ja peleille on ollut pitkään Windowsin etu verrattuna Linuxiin, joskin nykyään lähes kaikki ohjelmat tai korvaavat vaihtoehdot löytyvät myös Linuxille, mutta aina näin ei ole ollut.

19 LÄHTEET (Anon 1995) (Anon 2007) (Gaurang, Khetan 2002) (Kowaliski, Cyril 2009) (Microsoft 2003) (Wikipedia 2009) (Microsoft 2009a) Anon, 1995, Windows 95:n työpöytä, kuva http://www.harding.edu/fmccown/gui/win95.gif Anon, 2007, Windows Vistan työpöytä, kuva http://www.softpedia.com/screenshots/windows- Vista_2.png Gaurang, K, 2002, Comparison of Memory Management Systems of BSD, Windows, and Linux, Lopputyö, http://www.gaurang.org/academics/csci555/termp aper2.pdf Kowaliski, C., 2009, Net Applications: Linux reaches 1% client usage share, Artikkeli, http://techreport.com/discussions.x/16860 Microsoft, 2003, How NTFS Works, Artikkeli, http://technet.microsoft.com/enus/library/cc781134(ws.10).aspx Wikipedia, 2009, History of Microsoft Windows, Vapaa tietosanakirja, http://en.wikipedia.org/wiki/history_of_microsoft _Windows Microsoft, 2009, Scheduling Priorities, Artikkeli, http://msdn.microsoft.com/enus/library/ms685100(vs.85).aspx (Microsoft 2009b) Microsoft, 2009, Priority Boosts, Artikkeli http://msdn.microsoft.com/enus/library/ms684828(vs.85).aspx (Microsoft 2009c) (Microsoft 2009d) Microsoft, 2009, Multiple Processors, Artikkeli http://msdn.microsoft.com/enus/library/ms684251(vs.85).aspx Microsoft, 2009, NUMA Support, Artikkeli http://msdn.microsoft.com/enus/library/aa363804(vs.85).aspx

20 (Microsoft 2009e) (Merilinna, Juhani 2004) (Merilinna, Juhani 2006) (Probert 2005a) (Probert 2005b) (Stallings, William 2005) (Stallings, William 2009) (Todea, Lucian 2006) Microsoft, 2009, Restricting Waits in Vista, Artikkeli, http://msdn.microsoft.com/enus/library/cc264587.aspx Merilinna, J., 2004, Muistinhallinta, Luento, http://myy.helia.fi/~merju/tie28d/tietokoneen toiminta2.pdf Merilinna, J., 2006, Prosessit ja säikeet, Luento http://myy.helia.fi/~merju/tie62d/ntrakenne3.pdf Probert, 2005, Windows Kernel Internals I/O Architecture, Luento, http://www.i.utokyo.ac.jp/edu/training/ss/lecture/newdocuments/lectures/06- IOArchitecture/IOArchitecture.pdf Probert, 2005, Windows Kernel Internals Overview, Luento, http://www.i.utokyo.ac.jp/edu/training/ss/lecture/newdocuments/lectures/00- WindowsKernelOverview/WindowsKernelOverview.pdf Stallings, W., 2005 Operating systems, internals and design principles, 5th ed., Prentice Hall 818 s. ISBN0-13-127837-1 Stallings, W., 2009 Operating systems, internals and design principles, Pearson education, Inc. 822 s. ISBN 978-0-13-603337-0 Todea, L., 2006 Windows Evolution, Artikkeli, http://news.soft32.com/windowsevolution_1629.html

21 LIITE 1: Microsoft Windowsin eri versiot julkaisuvuosineen. Windows 1.0 (1985) Windows 2.0 (marraskuu 1987) Windows/286 2.1 (toukokuu 1988; myöhemmin Windows 2.11) Windows/386 2.1 (toukokuu 1988; myöhemmin Windows 2.11) Windows 3.0 (toukokuu 1990) Windows 3.1 (1992) Windows 3.11 (1993) Windows 95 (1995) Windows 95 OSR2 Windows 95 OSR 2.1 Windows 95 OSR 2.5 Windows 98 (1998) Windows 98 SE (Second Edition, 1999) Windows ME (Millennium Edition, syyskuu 2000) Windows NT o Windows NT 3.51 (1995) o Windows NT 4.0 (1996) o Windows 2000 (Windows NT 5.0) (helmikuu 2000) o Windows XP (Windows NT 5.1) (2001) o Windows Server 2003 (Windows NT 5.2) (2003) o Windows Vista (Windows NT 6.0-loppukäyttäjille) (2007) o Windows Server 2008 (Windows NT 6.0-palvelimiin) (2007) o Windows 7 (Windows NT 6.1-loppukäyttäjille) (22. lokakuuta 2009) Windows CE o Windows CE (1996) o Pocket PC 2000 (2000) o Pocket PC 2002 (2001) o Windows Mobile 2003 (kesäkuu 2003) o Windows Mobile 2003 SE (2004) o Windows Mobile 5 (2005) o Windows Mobile 6 (2007) o Windows Mobile 6.1 (2008) o Windows Mobile 6.5 (2009)