Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Windows CE Tomi Paananen Mikko Kosonen Muistinhallinta ja ajanjakomenetelmät 12.4.2006.

Samankaltaiset esitykset


Esitys aiheesta: "Windows CE Tomi Paananen Mikko Kosonen Muistinhallinta ja ajanjakomenetelmät 12.4.2006."— Esityksen transkriptio:

1 Windows CE Tomi Paananen Mikko Kosonen Muistinhallinta ja ajanjakomenetelmät 12.4.2006

2 Windows CE 32-bittinen reaaliaikainen käyttöjärjestelmä suunniteltu laajan skaalan pienlaitteille toimii pienillä resursseilla ei johdettu muista käyttöjärjestelmistä yleispätevä alusta, helppo laajentaa

3 Kehitys ensimmäinen versio julkaistiin 1996 alun perin suunniteltu juuri PDA-laitteille sittemmin levinnyt myös teollisuuteen, älypuhelimiin… tuorein PDA-laitteille suunnattu CE- järjestelmä: Windows Mobile 5.0

4 Windows CE -kehityshistoria

5 Arkkitehtuuri

6 nelitasoinen  laite-, OEM-, kj-, sovellustaso OEM-taso hoitaa kommunikoinnin laitteiston ja käyttöjärjestelmän välillä kj-tasolla laitteiden, verkkojen, muistien, prosessien ym. hallinta sovellustaso käyttäjälle näkyvin taso

7 Muistinhallinta CE-pohjaisten laitteiden RAM-muisti jaettu kahteen osaan:  oliomuisti (object store) virtuaalinen RAM-levy verrattavissa PC-koneen kovalevyyn  ohjelmamuisti (program memory) kuten RAM-muisti PC-koneessa varattu sovellusten dynaamisiin muistitarpeisiin

8 Virtuaalimuistijärjestelmä virtuaalimuistin avulla järjestelmässä näennäisesti enemmän muistia toimintaperiaate CE:ssä sama kuin tavallisissa Windows-järjestelmissä CE suorittaa muistikuvauksen loogisista osoitteista fyysiseen muistiin

9 Muistikuvaus (memory mapping)

10 Virtuaaliosoiteavaruus (virtual address space) avaruus on kooltaan neljä gigatavua, jotka jakautuvat seuraavasti:  33 kappaletta 32 megatavun osioita prosesseille sisältävät koodin, DLL-kirjastot, pinot, keot ja virtuaalimuistivaraukset  ydin (kernel), virtuaaliosoitteet: 2 gigatavua  loppuosa jaettua muistia

11 Sivutus kuten tavalliset Windows-järjestelmät, myös CE käsittelee ohjelmia sivuina sivun koko on joko 1024 tai 4096 tavua CE pitää sivujen tilasta kirjaa:  vapaa (free) sivu on varattavissa mille tahansa sovellukselle  sovellus omistaa varatun (reserved) sivun, mutta sitä ei ole kuvattu fyysiseen muistiin  käytössä oleva committed-sivu on kuvattu fyysiseen muistiin ja on ajossa

12 Keot ja pinot prosesseilla ja säikeillä eri tietorakenteet CE luo  prosessille keon (heap)  säikeelle (thread) pinon (stack)

13 Keko (heap) puurakenteisiin perustuva tietorakenne sovellus varaa/vapauttaa muistia keosta yhden tai neljän tavun osissa CE tukee ainoastaan ei-siirrettävien lohkojen varaamista keossa  yksinkertaistaa hallintaa  johtaa sisäiseen pirstoutumiseen

14 Keko (heap) kj luo oletuskeon prosessille sovellus voi luoda erillisiä kekoja  keino välttää oletuskeon pirstoutumista CE käyttää linkitettyä listaa keon osille keon varauksessa käytetään first-fit- algoritmia  suosii pieniä varauksia

15 Pino (stack) pino perustuu last in first out – periaatteeseen pinoon varastoidaan funktioissa viitattuja muuttujia kernel varaa tilan uusien säikeiden pinoille pinon arkkitehtuuri on suoritinriippuvainen oletuspinotilarajoitus (default stack limit) 64 kt  kaksi kilotavua varattu ylivuodon hallintaan

16 Ajanjako (scheduling) Tarkoittaa käyttöjärjestelmien tapaa jakaa aikaa prosessien suorittamiselle prosessorissa. Käyttöjärjestelmän jouhevuus riippuu hyvin paljon ajanjaon toteutuksesta. Tärkeä osa-alue reaaliaikaisuutta tavoittelevien käyttöjärjestelmien suunnittelussa.

17 Ajanjaon tasot 3 tasoa: Long-term, mid-term ja short-term –ajanjakaja. Long-term –ajanjakaja päättää mitkä prosessit lisätään suoritettavien jonoon. Mid-term –ajanjakaja siirtää väliaikaisesti prosesseja päämuistista sekundääriseen muistiin kuten esim. kovalevylle. Short-term –ajanjakaja päättää mitkä valmiustilassa olevat prosessit siirretään prosessorin työstettäväksi seuraavaksi.

18 Keskeytymätön ja keskeyttävä ajanjako Keskeytymätön (nonpreemptive) ajanjako tarkoittaa prosessia, jota ei voida keskeyttää kun se kerran on saanut suoritinaikaa. Keskeyttävässä (preemptive) ajanjaossa prosessi on mahdollista syrjäyttää kesken suorituksen ja siirtää pois suorittimelta

19 Prioriteetit Prosessien tärkeyden kuvaamiseen. Kertoo, missä järjestyksessä ja kuinka nopeasti kj:n halutaan suorittavan prosessit. Staattinen prioriteetti: muuttumaton, tarvitsee vähän kirjanpitoa, ei sopeudu ympäristön muutoksiin. Dynaaminen prioriteetti: muuttuva, vaatii runsaasti kirjanpitoa, kykenee mukautumaan järjestelmän muutosten mukaan.

20 Prosessien ja säikeiden hallinta Windows CE:ssä Windows CE mahdollistaa 32 eri prosessin ajamisen samanaikaisesti. Säie on itsenäinen prosessin osa, jolle kj jakaa prosessoriaikaa Säikeiden määrää rajoittaa käytettävissä olevien järjestelmän resurssien määrä.

21 Windows CE:n prioriteettitasot 256 prioriteettitasoa, joista 8 alinta vastaavat Windowsin Win32-rajapinnan tarjoamia prioriteetteja. Ylimmät 248 tasoa on varattu järjestelmälle sekä OEM-käyttöä varten. Prioriteettitasojen määrittelyyn: CeSetThreadPriority ja CeGetThreadPriority. Säikeiden prioriteetit vakioita.

22 Windows CE:n 8 alinta prioriteetti tasoa

23 Ajanjako Windows CE:ssä Perustuu säikeiden prioriteetteihin. Toteutettu FIFO-jonoon perustuvalla round robin-periaatteella. Kvantin tai aikaviipaleen oletusarvo 25 millisekuntia ja maksimiaika 100 millisekuntia

24 Round robin


Lataa ppt "Windows CE Tomi Paananen Mikko Kosonen Muistinhallinta ja ajanjakomenetelmät 12.4.2006."

Samankaltaiset esitykset


Iklan oleh Google