Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuArmas Hyttinen Muutettu yli 9 vuotta sitten
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.