Windows arkkitehtuuri

Windows NT tunnetaan vanhempana ja raskaampana arkkitehtuurina, joka koostuu sarjasta käyttöjärjestelmiä ja kahdesta osatekijästä (Käyttäjä tila ja Kernel eli ydin). Nykyään on käytössä Windows Core, joka tunnetaan useamman laitteen saumattomuudesta.

Windows NT

muokkaa

Windows NT ”WinNT” on Microsoftin käyttämä tuoteperheen käyttöjärjestelmä, joka on kirjoitettu C -ja C++ ohjelmointikielillä. Windows NT tarkoittaa uutta teknologian ydintä ”New Technology”, joka sisälsi prosessointikyvyn, prosessorin itsenäisyyden ja monen käyttäjän tuen. Ydin on otettu käyttöön koska, se on turvallisempi ja toiminta on parempaa. Järjestelmän kaatumista tapahtui huomattavasti vähemmän uuden ytimen ansiosta. WinNT oli tarkoitettu täydentämään MS DOS- pohjaista Windows-käyttöjärjestelmää 1.0, joka oli Windowsin kuluttajaversio. [1]

WinNT- järjestelmä 3.1 otettiin käyttöön 1993. WinNT 3.1 kehitettiin työasemille – ja palvelimien käyttöön. WinNT 3.1 edeltäjät olivat WinNT 3.5, sekä Windows 3.51. WinNT 3.1 suosio ei aivan tavoittanut ensimmäistä, WinNT 1.0, mutta kolmen vuoden päästä sen kolmas versio WinNT 4.0 kohosi suosion huipulle. Syynä siihen, että miksi ensimmäinen versio ei noussut menestyksen huipulle, pidetään järjestelmän vaativaa muistimäärää (12MB). WinNT 4.0 oli merkittävä yrityskäyttöön kohdennettu järjestelmä, joka toi paljon uusia lisäyksiä verrattuna edellisiin versioihinsa. Käyttöliittymältään tämä versio oli Windows 95:n kaltainen ja siten helppokäyttöinen, joka vaikutti merkittävästi sen suosioon. [2]

Vuonna 1996 julkaistussa WinNT 4.0 versiossa tuotiin ensimmäistä kertaa Windows Shell, Windows Tehtävienhallinta, sekä Windows ”oma tietokone”. WinNT 4.0 toi mukanaan mahdollisuuden toimia järjestelmänä niin yhden- kuin myös monen suorittimen tietokoneissa. WinNT salli toimivan moniajon ja rajattomat järjestelmäresurssit. WinNT -järjestelmän ylläpito lopetettiin kokonaan vuonna 2003, turvallisuusongelmien vuoksi.[3]

Käyttäjätila

muokkaa

Jokainen Windowsin käynnistämä prosessi suoritetaan käyttäjätilassa (user mode), joka koostuu useista erilaisista prosesseista ja DLL-tiedostoista. Kernel- ja käyttäjätilan väliset rajapinnat eli ympäristön alijärjestelmät (environment subsystems) mahdollistavat pääsyn ohjelmien muistiin API-toimintojen avulla. Käyttäjätilassa ei kuitenkaan ole suoraa pääsyä itse laitteistoon. Neljä olennaisinta alijärjestelmää ovat Win32-alijärjestelmä, OS/2-alijärjestelmä, POSIX-alijärjestelmä ja Linux-alijärjestelmä. [4] [5]

  • Win32-alijärjestelmä voi käyttää 32-bittisiä Windows-sovelluksia ja siihen kuuluvat ominaisuudet ovat konsoli, tuki teksti-ikkunalle, sammuttaminen ja muiden alijärjestelmien virheiden käsittely. Se pitää sisällään myös ikkunoiden hallintaan liittyvät toiminnot, syötteiden käsittelyn sekä niiden välittämisen tarvittaville ohjelmille. [5]
  • OS/2-alijärjestelmä tarjoaa tuen 16-bittisille merkkipohjaisille OS/2-sovelluksille, mutta ei graafisille sovelluksille. Graafiset sovellukset on kuitenkin mahdollista saada mukaan lataamalla Windows NT Add-On Subsystem for Presentation Manager -järjestelmä. [5]
  • POSIX-alijärjestelmä tukee ainoastaan POSIX.1-standardin mukaisia sovelluksia ja se kattaa ensisijaisesti ydinrajapinnan sekä C-kirjaston ohjelmointirajapinnan. POSIXin on kuitenkin korvannut SFU (Windows Services for UNIX). [6]
  • Linux-alijärjestelmä eli WSL (Windows Subsystem for Linux) pitää sisällään Linux-yhteensopivan käyttöliittymän, joka voi ylläpitää esimerkiksi seuraavia käyttöjärjestelmiä: Ubuntu, OpenSUSE, SUSE Linux Enterprise Server, Debian ja Kali Linux. [7]

Muihin olennaisiin alijärjestelmiin kuuluu myös turva-alijärjestelmä, jonka vastuulla on käsitellä suojaukseen liittyviä tunnuksia ja salasanoja, valvoa käyttöoikeuksia, käsitellä sisäänkirjautumispyyntöjä ja käynnistää kirjautumisen todennus. Työaseman avulla taas välitetään paikallisia pyyntöjä tiedostojen muuntamiseksi ja tulostamiseksi ohjaamalla ne oikeisiin palvelimiin. Palvelin ja sen sisältämät palvelut sen sijaan mahdollistavat muiden verkossa olevien tietokoneiden pääsyn paikallisen järjestelmän tiedostoihin ja esimerkiksi käytettävissä oleviin tulostimiin.[5]

Kernelin tila

muokkaa

Kernel

muokkaa

Kernel, eli ydin, on toinen Windows NT arkkitehtuurin pääosista. Se on käyttöjärjestelmän ytimessä oleva tietokoneohjelma, joka sijaitsee HAL:in (Hardware abstraction layer) ja suorittimen välissä. Se koostuu useista pienemmistä komponenteista, joilla jokaisella on oma tehtävänsä. Komponentteja ovat muun muassa Executive kerroksen alijärjestelmäkomponentit joita ovat muun muassa I/O-manageri, kokoonpanomanageri ja välimuistiohjain. Yleisesti ydin ohjaa tietokoneen toimintaa, esimerkiks se huolehtii usean prosessorin synkronoinnista ja tehtävien ajoituksesta, sekä keskeytyksestä. Yksinkertaistettuna kernel on vastuussa ohjelmien suorituksesta ja koneen käytettävyydestä.[5] [8]

Kernel- ja käyttäjätila

Executive

muokkaa

Executive-kerros on osa Windows NT käyttöjärjestelmän matalinta tasoa. Se koostuu useasta eri alijärjestelmästä, joista käytetään yhteistä nimitystä Executive-palvelut (Executive services).

Executive-palvelut

  • Object Manager on Executive-kerroksen alijärjestelmä, jonka tehtävänä on hallinnoida ja jakaa järjestelmäresursseja toisille alijärjestelmäkomponenteille. Sen avulla minimoidaan alijärjestelmissä tapahtuvia päällekkäisiä toimintoja ja päällekkäisyyksistä aiheutuvia ohjelmointivirheitä.[5]
  • Cache Controller toimii yhteistyössä alijärjestelmien Memory Managerin, I/O Managerin ja I/O ajureiden kanssa. Sen avulla mahdollistetaan välimuisti tavallisille tiedosto- ja muistioperaatioille.[5]
  • I/O Manager hallinnoi käyttäjätilan ja laitteiden välistä kommunikointia. Sen avulla käyttäjätilan luku- ja kirjoituspyynnöistä muodostetaan IRP-paketteja, eli data rakenteita, jotka sisältävät pyyntöön liittyvät tiedot.[5]
  • Local Procedure (LPC) tarjoaa kommunikaatioväyliä järjestelmän prosessien keskinäiseen viestintään.[5]
  • Process Structure hallinnoi prosesseja ja säikeitä, sekä on vastuussa niiden tuhoamisesta ja luomisesta. Se toteuttaa myös Job-käsitteen, minkä avulla voidaan muodostaa ryhmä useasta samaan työhön liittyvästä prosessista.[5]
  • PnP Manager toimii yhdessä Plug and Play Servisen kanssa. Se vastaa käyttöjärjestelmään liitettyjen oheislaitteiden tunnistuksesta ja niiden tarvitsemien ajureiden asentamisesta.[5]
  • Power Manager vastaa virranhallintaa, kuten sammuttamiseen liittyvistä tapahtumista.[5]
  • Security Reference Monitor (SRM) hallinnoi ja valvoo turvallisuuteen liittyviä palveluita ja asetuksia, kuten resursseihin pääsyä Access Control List (ACL):in avulla.[5]
  • Graphic Device Interface (GDI) vastaa tehtävistä, kuten viivojen piirtämisestä, fonttien esityksestä ja väripalettien hyödyntämisestä.[5]

Kernelin tila ajurit

muokkaa

Laiteohjaimia käytetään Windows NT:ssä vuorovaikutukseen käyttöjärjestelmään liitettävien laitteistojen kanssa. Jokaisella laiteohjaimella on hyvin määritellyt järjestelmä- ja sisäiset rutiinit, joita se toimittaa muualle käyttöjärjestelmään. Ohjaimet voivat toimia joko käyttäjä- tai kernel ympäristössä, niiden tyypistä riippuen. Niiden toiminta perustuu käyttöjärjestelmän syöttö- ja tulostusohjeiden muuntamiseen laitteen ymmärtämään muotoon. Laiteajurit siis yksinkertaistavat viestintää, käyttöjärjestelmän ja laitteiden välillä.[5]

Hardware Abstraction Layer (HAL)

muokkaa

HAL on Windows NT:n niin sanottu abstraktiokerros tietokoneen ulkoisten fyysisten laitteiden ja tietokoneen käyttöjärjestelmällä toimivien ohjelmistojen välillä. Sen tarkoitus on "piilottaa" ulkoisten laitteiden erilaisuudet ja luoda ohjelmien ja ohjelmistojen käytölle tasainen pohja. HAL operoi yhteistyössä Kernelin kanssa. [5]

Windows 10

muokkaa

Windows 10 on käyttöjärjestelmä joka kuuluu Microsoftin Windows-perheeseen. Käyttöjärjestelmä julkaistiin virallisesti 29. heinäkuuta 2015. Windows 10:n on sanottu olevan viimeinen Windows. Käyttöjärjestelmä on saanut haukkuja sen samankaltaisuuden aikaisempiin käyttöjärjestelmiin verrattuna, ja myös useat sovellukset jotka ovat esiasennettuna käyttöjärjestelmässä. Microsoft kuvaili Windows 10 -käyttöjärjestelmää "palveluna", joka päivittää jatkuvasti ominaisuuksiaan ja toimivuuttaan. Käyttöjärjestelmän tavoitteena on myös vähentää pirstoutumista Windows-alustan poikki. [9]

Windows 10:n tärkeimpiä ominaisuuksia on Käynnistä-valikko uusilla ominaisuuksilla. Virtuaalityöpöytä on myös yksi uudistus, joka helpottaa useiden eri sovellusten käyttöä jaotellen käyttötarkoituksen mukaisesti työpöydät. Ilmoituskeskus työpöydällä ja entistä lähempi integrointi Windows Phonen kanssa ovat myös uusia ominaisuuksia jotka sisältyvät Windows 10 -käyttöjärjestelmään. Käyttöjärjestelmän ominaisuuksissa ollaan huomioitu paljon käyttäjien antamaa palautetta, ja osa toiminnoista lisätty palautteen perusteella. Windows 10 sisältää myös monta erilaista versiota joilla on eri piirteitä, mikä palvelee juuri sille suunnattua käyttäjäkuntaa. Esimerkiksi Windows 10 Koti on tarkoitettu kotikäyttöön, Windows 10 Pro yrityksille, Windows Opetus on tarkoitettu kouluille ja Windows 10 Matkapuhelin on tarkoitettu mobiilikäyttöön. [9]

Uusin Windows päivitys on 2018 lokakuun päivitys(Koodinimi Redstone5, versio 1809).[10]

Applikaatiot

muokkaa

Microsoftin nykyinen linjaus arkkitehtuurin osalta on Windows 10 ja sen ”päälle” tulevat universaalit Windows-käyttöalustan applikaatiot. Erilaisia yhteisen ohjelmointirajapinnan eli APIn (Application programming interface) avulla toimivia ratkaisuja löytyy mm.

  • IoT:lle
  • Mobiilille
  • PC:lle
  • Xbox
  • Surface Hub
  • HoloLens

IoT eli Internet of Things-ratkaisuihin Microsoftilla on tarjota Windows IoT sulautettu järjestelmä ja Azure Sphere, joka soveltuu Linux kernelillä toimiville laitteille. Ratkaisuja löytyy niin suurteollisuuden, autojen, navigoinnin kuin erilaisten servereiden tarpeisiin. Mobiilisovelluksissa yhteinen rajapinta mahdollistaa kotikäyttäjälle esimerkiksi tekstiviestien lähettämisen, vastaanottamisen ja lukemisen tietokoneelta puhelimen sijaan. Puhelimen käyttöliittymän ei tarvitse olla Windows vaan ominaisuus toimii minkä tahansa Android 7.0 puhelimen kanssa. Applikaatio osaa myös mm. ladata puhelimen viimeisimmät kuvat automaattisesti tietokoneelle.

Microsoft Store tarjoaa tietokoneelle laajan valikoiman erilaisia applikaatioita samaan tapaan kuin puhelimelle ja tabletille löytyy sovelluksia Google Playsta ja Applen AppStoresta. Perinteisten Office-työkalujen lisäksi sovelluksia on mm. kuvankäsittelyyn, musiikin ja videoiden suoratoistopalveluille, työn tehokkuuden parantamiseen sekä tietenkin pelaamiseen. Xboxin yhdistäminen tietokoneeseen mahdollistaa pelien ja elokuvien streamaamisen suoraan pelikonsolilta tietokoneelle. [11]

Työn tekemiseen Microsoft tarjoaa uusina teknologisina edistysaskeleina Surface Hubin ja HoloLensen MixedRealityn. Surface Hub on suuri kosketusnäyttö, joka mahdollistaa mm. kokousten pitämisen interaktiivisesti ja digitaalisesti. HoloLens on holograafinen tietokone, jonka avulla voit käyttää digitaalista materiaalia ja hologrammeja todellisen maailman kanssa.[12]


Windows Core OS

muokkaa

On Microsoftin uusin käyttöjärjestelmä Windowsille. Windows Core OS (lyhyemmin WCOS) on uusi, modernimpi versio Windowsista, joka on valtava askel tulevaisuuden Windowsille sekä universaalille OS:lle. Se toimii alustariippumattomasti eli riippumatta palvelun tyypistä tai arkkitehtuurista. WCOS pystyy tehostamaan moduulisia laajennuksia, mikä antaa palveluille ominaisuutensa ja kokemuksia tarvittaessa. Windows Core OS:sää ei pääsääntöisesti ole suunniteltu arki käyttöön. Ensisijaisesti se on tarkoitettu palvelutuotannon ja kehittäjien avuksi rakentaa mukautettu Windows käyttöjärjestelmä laitteistojaan varten. Tämä alusta on ”modulaarinen”, eli tämä Windows versio on räätälöitävissä palveluiden tarpeiden mukaisesti. [13]

WCOS:n avulla Microsoft pyrkii saavuttamaan uutta modulaarisuutta ja turvallisuuden kokemuksia, samalla kun se ylläpitää sen joustavuutta, funktionaalisuutta ja kansainvälistä ilmettä. Windows Core OS on siis uudenajan käyttöjärjestelmä. Mukautuminen laitteille saumattomasti on sen parhaimpia ominaisuuksia, josta Windows Core OS on saanut ylistystä. [14]

Toisin kuin AOSP:ssä (Android Open Source Projekt) , Windows Core OS ei sisällä yhtään alkuperäistä binääriä tai ohjelmistoa, jonka ansiosta alusta toimii vapaasti avoimena lähdekoodina. Microsoft pidättää oikeudet tehdä yksityiskohtaisia muokkauksia Windowsiin, mukaan lukien myös Windows Core OS. [13]

Lähteet

muokkaa

[1],[2],[3],[4]

  1. https://simple.wikipedia.org/wiki/Windows_NT , Wikipedia.org. Viitattu 5.12.2018.
  2. https://www.techopedia.com/definition/8356/windows-nt-winnt, Techopedia.com. Viitattu 5.12.2018.
  3. https://simple.wikipedia.org/wiki/Windows_NT, Wikipedia.org. Viitattu 5.12.2018.
  4. Windows Programming/User Mode vs Kernel Mode Wikibooks.org. Viitattu 3.12.2018. (englanniksi)
  5. 5,00 5,01 5,02 5,03 5,04 5,05 5,06 5,07 5,08 5,09 5,10 5,11 5,12 5,13 5,14 5,15 5,16 5,17 Architecture of Windows NT Wikipedia.org. Viitattu 3.12.2018. (englanniksi)
  6. Microsoft POSIX subsystem Wikipedia.org. Viitattu 3.12.2018. (englanniksi)
  7. Windows Subsystem for Linux Wikipedia.org. Viitattu 3.12.2018. (englanniksi)
  8. Hybrid Kennel microsoft.wikia.com. Viitattu 4.12.2018. (englanniksi)
  9. 9,0 9,1 Windows 10 Wikipedia.org. Viitattu 3.12.2018.
  10. Windows 10 Updates and support Wikipedia.org. Viitattu 3.12.2018.
  11. Microsoft Mobile microsoft.com. Viitattu 3.12.2018.
  12. Microsoft Hololens microsoft.com. Viitattu 3.12.2018.
  13. 13,0 13,1 Microsoft Core OS microsoft.com. Viitattu 3.12.2018.
  14. Microsoft Core OS windowscentral.com. Viitattu 3.12.2018.