Linux sulautetuissa järjestelmissä.
AUTIO, HENRI (2003)
AUTIO, HENRI
2003
Tietojenkäsittelyoppi - Computer Science
Informaatiotieteiden tiedekunta - Faculty of Information Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2003-05-27
Julkaisun pysyvä osoite on
https://urn.fi/urn:nbn:fi:uta-1-11908
https://urn.fi/urn:nbn:fi:uta-1-11908
Sisällysluettelo
1 JOHDANTO 1 2 TUTKIMUKSEN LÄHTÖKOHDAT 3 3 TAUSTAA 5 3.1 UNIXÔ 5 3.2 MINIX 5 3.3 LINUX 6 3.3.1 Arkkitehtuuri 6 3.3.1.1 Modulaarisuus 6 3.3.1.2 Monoliittinen ydin 7 3.3.1.3 Moduulit 7 3.3.1.4 Muistinsuojaus 7 3.3.2 Kehitys 8 4 KESKEISET TERMIT JA KÄSITTEET 10 4.1 AVOIN LÄHDEKOODI 10 4.2 GNU GENERAL PUBLIC LICENSE 10 4.3 POSIX 11 4.4 KÄYTTÖJÄRJESTELMÄ 11 4.5 LAITEAJURI 12 4.6 KIRJASTOT 13 4.7 SULAUTETTU JÄRJESTELMÄ 14 4.8 REAALIAIKAISUUS 15 4.8.1 Järjestelmän ennakoitavuus 16 4.8.2 Vasteaika 17 4.8.3 Pehmeä vs. kovareaaliaika 17 4.9 MONIAJO 17 4.9.1 Vuoropohjainen moniajo 18 4.9.2 Keskeyttävä moniajo 18 4.9.3 Aito vs. näennäinen moniajo 18 4.9.4 Moniprosessorointi 20 4.10 AIKATAULUTIN 20 4.11 SUORITUSTASOT 21 4.12 SÄIKEET 21 4.13 KESKEYTYKSET 21 5 SULAUTETTU LINUX 22 5.1 LAITTEISTO 22 5.2 LAITEAJURIT 23 5.3 SKAALAUTUVUUS JA JOUSTAVUUS 25 5.4 SIIRRETTÄVYYS 26 5.5 REAALIAIKAISUUS 27 5.5.1 Ytimen ongelmat 27 5.5.2 Ei-keskeyttävä ydin 28 5.5.3 Ennakoimattomuus 29 5.6 SULAUTETUN LINUXIN JAKELUPAKETIT 30 5.6.1 Kaupallisia jakelupaketteja 31 5.6.2 Avoimen lähdekoodin jakelupaketteja 31 5.6.3 Muita jakelupaketteja 32 6 RATKAISUJA REAALIAIKAISUUDEN PUUTTEESEEN 33 6.1 REAALIAIKAPÄIVITYKSET JA JAKELUPAKETIT 33 6.1.1 Kaupalliset reaaliaika-Linux-jakelupaketit 34 6.1.2 Avoimen lähdekoodin reaaliaika-Linux-jakelupaketit 34 6.1.3 Avoimen lähdekoodin reaaliaikapäivityksiä ja työkaluja Linuxille 34 6.2 MENETELMIÄ 35 6.2.1 Kaksoisydin 35 6.2.2 Pienempi viive 37 6.2.3 Keskeyttävä ydin 38 6.2.4 Ytimen korvaaminen 39 6.3 YHTEENVETO 41 7 SULAUTETUN LINUXIN SOVELLUKSIA 43 7.1 PDALAITTEET SEKÄ WEB-PADIT 43 7.2 ÄLY- JA INTERNETPUHELIMET 44 7.3 AUDIO JA VIDEO VIIHDELAITTEET 45 7.4 VERKKOLAITTEET 45 7.5 MUITA LAITTEITA 46 7.6 YHTEENVETO 47 8 KESKUSTELUA 48 8.1 TULOSTEN RAJAUS 50 8.2 JATKOTUTKIMUSAIHEITA 50 9 LÄHTEET 52
Tiivistelmä
Sulautettuja järjestelmiä löytää nykyään kaiken tyyppisistä laitteista, joihin törmäämme jokapäiväisessä elämässämme. Ne on tarkoitettu kustannustehokkaaksi ratkaisuksi tiettyyn ongelmaan ja niiden laitteisto on rakennettu nimenomaan tiettyä tarkoitusta varten ja vastaavasti ohjelmistopuolella sovellusohjelmat on suunniteltu hyödyntämään mahdollisimman tehokkaasti kyseisen laitteiston tarjoamia ominaisuuksia.
Suurimmaksi ongelmaksi, jota vastaan sulautettujen järjestelmien suunnittelijat nykyään taistelevat, on muodostunut aika; Miten ehditään toteuttaa kaikki uudet ja monimutkaiset ominaisuudet laitteisiin, joita asiakkaat haluavat? Lyhyen kehityskaaren aikana on kyettävä reagoimaan nopeasti markkinoiden muutoksiin ja tämä asettaa omat vaatimuksensa sulautetun järjestelmän käyttöjärjestelmälle; sen on oltava joustava.
Tutkimuksessani paneudun sulautettuihin järjestelmiin Linux-käyttöjärjestelmän näkökulmasta ja tarkoitukseni on selvittää niitä asioita, jotka tekevät Linuxista kilpailukykyisen ja varteenotettavan vaihtoehdon sulautetun järjestelmän sieluksi, siis käyttöjärjestelmäksi. Lisäksi haluan valottaa niitä asioita, miksi on perusteltua valita Linux sulautettuun järjestelmään ja mitä mahdollisia rajoituksia sillä on sulautetun järjestelmän kannalta.
Avainsanat ja sanonnat: Linux, sulautettu järjestelmä
Suurimmaksi ongelmaksi, jota vastaan sulautettujen järjestelmien suunnittelijat nykyään taistelevat, on muodostunut aika; Miten ehditään toteuttaa kaikki uudet ja monimutkaiset ominaisuudet laitteisiin, joita asiakkaat haluavat? Lyhyen kehityskaaren aikana on kyettävä reagoimaan nopeasti markkinoiden muutoksiin ja tämä asettaa omat vaatimuksensa sulautetun järjestelmän käyttöjärjestelmälle; sen on oltava joustava.
Tutkimuksessani paneudun sulautettuihin järjestelmiin Linux-käyttöjärjestelmän näkökulmasta ja tarkoitukseni on selvittää niitä asioita, jotka tekevät Linuxista kilpailukykyisen ja varteenotettavan vaihtoehdon sulautetun järjestelmän sieluksi, siis käyttöjärjestelmäksi. Lisäksi haluan valottaa niitä asioita, miksi on perusteltua valita Linux sulautettuun järjestelmään ja mitä mahdollisia rajoituksia sillä on sulautetun järjestelmän kannalta.
Avainsanat ja sanonnat: Linux, sulautettu järjestelmä