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

Slides:



Advertisements
Samankaltaiset esitykset
18. Abstraktit tietotyypit
Advertisements

Tietokonetekniikka 4 Tieto ja tiedon talletus
Tietokoneen käyttöjärjestelmä
5.4 Käyttöjärjestelmät operating system (OS) OS on systeemiohjelmistoista tärkein ja monimutkaisin tarkoituksena on helpottaa ja tehostaa tietokoneen käyttöä.
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
Susanna Plathan1 Bambuser Ohjeet videon tekemiseen
Active directory.
© Hannu Laine 1 Tietorakenteet ja algoritmit Funktio-osoittimet Funktio-osoittimen ja taulukko-osoittimen vertailu Funktio-osoittimen käyttötapoja.
Tietokonetekniikka 3 Tietokoneen Rakenteen ja toiminnan perusteet
PROSESSIT Tehtäviä: Limittää usean prosessin suoritus, jotta resurssien käyttö olisi tehokasta, mutta samalla taata, että kaikki prosessit etenevät mielekästä.
JavaScript (c) Irja & Reino Aarinen, 2007
IBM WebSphere Application Server Mediatekniikan Seminaari Mikko Matilainen.
1 Heli Lepomäki Yritysten ja muiden organisaatioiden käyttöön sähköinen työpöytä on jo leviämässä, koska niiden toiminta ja asiakaspalvelu.
Tietokone Koostuu keskusyksiköstä, näytöstä, näppäimistöstä, hiirestä sekä muista mahdollisista lisälaitteista. Pöytäkoneiden lisäksi löytyy myös kannettavia.
Linuxin rakenne ja ominaisuudet
Käyttöjärjestelmien perustehtävät
Kiintolevyn osiointi.
Kuinka rakentaa tietokone itse
VMware workstation. VMware •Virtual Machine •Yhtiö perustettu vuonna 1998 •1999 julkaisi ensimmäisen tuotteen: VMware for workstations •2001 tuli VMware.
2.8.3 Abstraktit tietotyypit
C-kieli ja dynaaminen muistin varaus
KJ-I S2003 / Auvo Häkkinen, CT50A2601 / Heikki Kälviäinen0 - 1 Tervetuloa! CT50A2601Käyttöjärjestelmät (4 op)
Käyttöjärjestelmät Johdanto. Kurssimateriaalista 15 lukua, jotka vastaavat enemmän tai vähemmän 15 kahden tunnin pakettia Perustuu Gary Nuttin Operating.
Windows NT Mika Purmonen
JYVÄSKYLÄN YLIOPISTO 2006 Bluetooth-kirjautumismenetelmiä InSitu-järjestelmässä Tietotekniikan kandidaattiseminaari Tuukka Puranen
Siirräntäjärjestelmät. 2 w Siirräntäjärjestelmä Tiedostojärjestelmä ja siirräntä keskusmuistin ja oheislaitteiden välillä w Voidaan käsitellä hierarkkisina.
Ajoitus -prosessien ajoitus -resurssien varaaminen -vuorontamisen algoritmit -reaaliaikaiset järjestelmät.
E-Commerce 2010: Business, Technology, Society 6e
Virtuaalimuisti Modernin muistinhallinnan tärkein menetelmä on virtuaalimuisti, jossa looginen osoiteavaruus ja fyysinen muistiavaruus on erotettu toisistaan.
Muistinhallinta. 2 Teknisiä kehitysaskelia §Muisti- ja osoiteavaruuden erottaminen toisistaan l virtuaaliosoitteiden avulla muistin koko voi olla suurempi.
Tiedon esittäminen.
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
Tiedostomuodot Jussi Talaskivi atk-suunnittelija Jyväskylän yliopisto.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Web 2.0 tiivistetysti 1. Ohjelmistoalusta on Web. Webtop korvaa Desktopin. Keskeistä yhteisöllisyys ja ”Software as a Service”. 2. Kollektiivisen älyn.
Novell NetWare Verkkokäyttöjärjestelmä. NOS (Network Operating System) Yleensä järjestelmäriippumaton. Antaa: Läpinäkyvän (käyttäjän kannalta protokollavapaan)
UNIX ftp://shell.shore.net/members/w/s/ws/Support/OS/UNIX.pdf
Mandrake linux Seminaarityö. Linux -Linux on vapaa Unix-tyyppinen käyttöjärjestelmä. Tavallisesti Linuxista puhuttaessa tarkoitetaan "levitysversiota"
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
Tietotekniikan peruskäsitteet
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
Pinon ylivuodon estäminen Mikko Toivonen & Antti Mattila.
JavaStation haastaa PC:n oppilaitoksissa Pasi Häkkinen TTKK/DMI/Hypermedialaboratorio Multimedian monet muodot, Tampere-talo.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Tietokone asiantuntijan työvälineenä ICT01D Tietokoneen toiminta Juhani Merilinna.
Linux palomuurina Kimmo Karhu, EL0A
Wiki …ja muutamia huomioita sosiaalisesta mediasta [työyhteisöjen näkökulma] Kulttuurituotanto YAMK | | Milla Laasonen.
Monimuotoinen luokka tMyn1 Monimuotoinen luokka Monimuotoinen luokka mahdollistaa saman jäsenfunktion toteutuksen monella tavalla. Tällöin puhutaan virtuaalisesta.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Software product lines. Suomeksi ohjelmistotuotelinja Kuvaa metodeja ja työkaluja tuottaa yhteiskäytettävää koodia samankaltaisissa sovelluksissa Tarkoituksena.
Kertaus Näkökulmat: käyttöjärjestelmä rajapintana prosessit resurssit.
Prioriteettijonot ja kekolajittelu (heapsort)
KJ-I S2003 / Auvo Häkkinen, CT50A2601 / Heikki Kälviäinen5 - 1 YKSINKERTAINEN MUISTINHALLINTA YKSINKERTAINEN MUISTINHALLINTA Stallings, Luku 7 Käyttöjärjestelmät.
UNIX Niina Hänninen TITE3 Katja Marika Savolainen TITE 2.
Ti Lähiverkot - Erikoistyökurssi Sillat ja kytkimet Toni Helenius & Ville Parviainen
Windows 2000 Jukka Stranden Marko Suhonen Käyttöjärjestelmät Seminaari 2006.
Tietoturva Toni Pirinen Esa Kuparinen Otso Lonka
Job and Resource Management Systems FRITZ FERSTL Rinnakkaislaskennan jatkokurssi Ossi Kauranen.
Scalan valmiit kokoelmat. Mikä on kokoelma?  Tietorakenne jonka tehtävänä on pitää kirjaa (useista) tietyn tyyppisistä arvoista. Kokoelman sisältämiä.
Jukka Saari haastattelu. Tietoa jota et ehkä tiennyt henkilöstä jota et tiennyt!!!
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
Jarkko Muhonen TeamProg
PaikkaOppi Mobiilin käyttöohje
Tervetuloa kirjastoon Suomessa
Tietoturva internetissä
8. Ohjelman toteutus järjestelmässä
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
Esityksen transkriptio:

Windows CE Tomi Paananen Mikko Kosonen Muistinhallinta ja ajanjakomenetelmät

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

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

Windows CE -kehityshistoria

Arkkitehtuuri

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

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

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

Muistikuvaus (memory mapping)

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

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

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

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

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

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

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.

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.

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

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.

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ä.

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.

Windows CE:n 8 alinta prioriteetti tasoa

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

Round robin