Sulautettu käyttöjärjestelmä

Sulautetun käyttöjärjestelmän on käyttöjärjestelmä, joka voidaan asentaa olemassa sulautettujen järjestelmien . Tämä käyttöjärjestelmä on suunniteltu hallittavilla erityisominaisuuksilla vastaamaan aluksen järjestelmätyypin erityistarpeita.

Määritelmä

Käyttöjärjestelmän on ohjelma, joka hallinnoi laitteistoa. Se toimii välittäjänä ohjelmistosovelluksen ja tietokonelaitteiston (oheislaitteet, anturit, moottorit jne.) Välillä. Käytettävissä olevien käyttöjärjestelmien moninaisuus tarjoaa erityisiä rakenteita ja ominaisuuksia, jotka mahdollistavat monenlaisten tavoitteiden saavuttamisen. Hyvin yksinkertaisia ​​tehtäviä (aikataulutus, tehtävänvaihto, tulot / lähdöt jne.) Lukuun ottamatta, sisäinen sovellus tarvitsee asianmukaisen käyttöjärjestelmän, joka täyttää junajärjestelmään asennettavat rajoitukset (esimerkiksi muistitila). Käyttöjärjestelmällä on oltava myös tarvittavat toiminnot tehtävän suorittamiseksi. PC-käyttöjärjestelmissä on erityinen ihmisen ja koneen välinen käyttöliittymä (näyttö-näppäimistö-hiiri). Sisäänrakennetun käyttöjärjestelmän yhteydessä ihmisen ja koneen käyttöliittymä, joka voi olla vuorovaikutuksessa sen kanssa, voi olla erityinen (näppäimistö, älypuhelimen näytöt jne.) Tai jopa olematon (luottokortit, sim-kortit jne.) .), jolloin käytetään välikonetta (päätelaitteet, puhelimet). Sulautetun käyttöjärjestelmän vankkuustaso on suurimmaksi osaksi ihmisten ulottumattomissa, ja se on huomattavasti korkeampi kuin työpöydän käyttöjärjestelmän vaatimukset. Sulautetut käyttöjärjestelmät edellyttävät erittäin korkeaa luotettavuutta ja hyvää suorituskykyä.

Erityispiirteet

Sulautettuja järjestelmiä käytetään monilla aloilla, kuten matkapuhelimissa, kodinkoneissa, lääketieteellisissä laitteissa, ilmailussa, autoissa, automaattisissa päätelaitteissa jne. Järjestelmäkellon lisäksi sen käyttöjärjestelmän toiminnot, johon ne perustuvat, ovat heterogeenisiä. Ja yhtä heterogeenisen laitekannan kanssa nämä laitteet eivät tue kaikkia olemassa olevien käyttöjärjestelmien muunnelmia. Rajoitetussa järjestelmässä käyttöjärjestelmän on täytettävä laitteen tarpeet. Sopeutuminen tapahtuu siksi etsimällä oikea kompromissi koon ja suorituskyvyn välillä käyttöjärjestelmän optimoimiseksi. Siksi suositut käyttöjärjestelmät ovat ne, joissa on vain vaaditut laiteohjaimet.

Reaaliaika

Sulautetuilla järjestelmillä voi olla aikarajoituksia. Näiden rajoitusten tukemiseksi on olemassa reaaliaikaisia ​​käyttöjärjestelmiä, jotka tarjoavat palveluja ja primitiivejä, jotka voivat taata halutut suoritusajat.

Jotta käyttöjärjestelmä olisi RTOS, sen on täytettävä 4 vaatimusta:

Käyttöjärjestelmän synkronointikäyttäytymisen tulisi olla ennustettavissa. Käyttöjärjestelmän on varmistettava, että se pystyy suorittamaan jokaisen käynnissä olevan palvelun kiinteässä enimmäisajassa. Aikataulu on sen vuoksi deterministinen tehtävien optimaalisen hallinnan kannalta. Käyttöjärjestelmän on hallittava tehtävien ajoitusta. Aikataulu voi olla tapahtumavetoinen (puhumme myös aikataulutuksesta prioriteetin mukaan): ajastin muuttaa tehtävää vain, kun korkeamman prioriteetin tapahtuma tarvitsee palvelua. Se voi tapahtua myös jakamalla tehtäviä: Ajastin vaihtaa tehtävää kellon keskeytyksissä, mikä tekee siitä monitehtävämmän siinä mielessä, että tehtäviä ei enää suoriteta yksi kerrallaan käyttäjän silmissä. Käyttöjärjestelmän on hallittava aikaa voidakseen aikatauluttaa tehtävät mahdollisimman hyvin niiden määräajan mukaan. Tämä hallinta on pakollista, jos sisäinen käsittely liittyy absoluuttiseen aikaan fyysisessä ympäristössä. Kellon maailmanlaajuinen synkronointi suoritetaan (haluttaessa) kahden standardin kautta: UTC tai TAI . Jos järjestelmää käytetään verkossa, se synkronoidaan säännöllisesti siten, että kaikki järjestelmät ovat koordinoituja. Käyttöjärjestelmän on oltava nopea. Kaikki tähän mennessä mainitut vaatimukset täyttävä käyttöjärjestelmä olisi hyödytön, jos se olisi hyvin hidasta.

Tiedostojärjestelmä

Sulautettu järjestelmä ei aina tarvitse tiedostojärjestelmää. Verkkoanturi hakee tiedot ja lähettää ne välittömästi verkkoon. Pankkikortin tai kulkulupaa ovat vasta-esimerkkejä, koska niiden on oltava käyttäjän tiedot muistissa. Tiedostojärjestelmä voidaan integroida käyttöjärjestelmän kanssa, jolloin sovellukset voivat lukea ja kirjoittaa tiedostoja fyysisen järjestelmän haihtumattomaan muistiin .

turvallisuus

Alla on luettelo tyypillisistä suojausvaatimuksista, jotka löytyvät sulautetuista järjestelmistä, joita käyttöjärjestelmä voi tarjota:

Käyttäjätunnus Käyttäjien vahvistusprosessi ennen kuin annat heille pääsyn järjestelmään. Kyseinen järjestelmä voi olla fyysinen (oven avaaminen tunnuksella) tai tietokoneistettu (tili ja salasana ennen kuin se voi olla vuorovaikutuksessa ohjelmiston kanssa). Suojattu verkkoyhteys Tarjoaa verkkoyhteyden vain, jos laite on valtuutettu. Antaa tunkeutumisen yhteydessä rajoittaa sen vaikutusta verkkoon ja liitettyihin järjestelmiin. Langattomien anturiverkkojen kohdalla tämä vähentää mahdollisuuksia, että väärä anturi murtautuu niihin kerättyjen tietojen noutamiseksi. Suojattu viestintä Sisältää kommunikoivien yksiköiden todennuksen, joka varmistaa lähetettyjen tietojen luottamuksellisuuden ja eheyden ja suojaa kommunikoivien tahojen identiteettiä. Kaksi synkronointia haluavaa PLC-laitetta todentavat toisensa ja vaihtavat sitten tietonsa varmistaen samalla luottamuksellisuuden ja eheyden salausmenetelmillä. Turvallinen varastointi Järjestelmään tallennettujen tietojen luottamuksellisuus ja eheys. Sisällön turvallisuus Rajoitus digitaalisen luku- ja kirjoitussisällön käyttöön järjestelmässä. Suojaamalla sisällön se varmistaa tietoturvan koko järjestelmän käytössä. Saatavuus Järjestelmän on kyettävä suorittamaan toimintansa kaikissa tapauksissa. Auton ABS on hyvä esimerkki, sen on oltava käytettävissä aina, kun pyydämme varmistamaan sen matkustajien turvallisuus.

API / kirjasto

Kehittäjille on toivottavaa, että laitteella on sovellusliittymät sovelluksen kehittämisen helpottamiseksi.

Java-virtuaalikone sisältää rajapintoja ja muita natiivikirjastoja, joiden avulla se voidaan helposti integroida RTOS: iin. C-muodossa kirjoitettu Java-virtuaalikone käännetään RTOS: n kanssa ja tulkitsee Java-tavut-koodit sovelluksen ajamiseksi. Tämän ansiosta laite pystyy tulkitsemaan Java-tavukoodin ja hyödyntämään käytettävissä olevia sovellusliittymiä (esimerkki: java.net tcp / ip-toiminnoille, java.io tuloille / lähdöille, ...).

Viestintä

Sulautetun järjestelmän täytyy joutua kommunikoimaan yhden tai useamman muun järjestelmän kanssa (jos sulautetut järjestelmät toimivat yhteistyössä) tai oheislaitteiden kanssa. Näissä tapauksissa käyttöjärjestelmä voi tarjota primitiivit yhteyden muodostamiseksi käytetyn välineen mukaan:

Virtualisointi

Virtualisoinnin suurin etu on takuu siitä, että kaksi kilpailevaa sovellusta samassa järjestelmässä eivät häiritse toisiaan. Virtualisoinnin avulla on mahdollista asettaa rajoituksia kunkin virtuaalikoneen resurssien ja laitteiden saatavuudelle sovelluksen tarpeiden mukaan.

Virtualisoinnin etuna on myös saada kaksi erilaista käyttöjärjestelmää rinnalle (reaaliaikainen mukaan lukien) samalla prosessorilla ja siten tarjota jokaiselle prosessille tehtävän suorittamiseen tarvittavat eritelmät.

Virtualisointi mahdollistaa myös tietoturvan tarjoamisen prosessien välisten vahinkojen välttämiseksi. Koska jokainen prosessi käynnistetään erillisellä virtuaalikoneella, jos jollakin niistä on ongelma, sillä ei ole vaikutusta muihin muilla virtuaalikoneilla suoritettaviin prosesseihin.

Energiankulutus

Energiariippumattomille junajärjestelmille on järkevää valita käyttöjärjestelmä, joka rajoittaa energiankulutusta. Kulutuksen rajoittamiseksi on laitteita (komponenttien valinta, uudelleen konfiguroitavat piirit), ohjelmistoja (koodin optimointi, erityisten ohjeiden käyttö) ja hybriditekniikoita (käyttämättömien oheislaitteiden asettaminen valmiustilaan). Käyttöjärjestelmä voi toimia vain hybridi- ja ohjelmistoratkaisuilla.

Käyttöalueet

Käyttöjärjestelmän valintaa ja käyttöä koskevat rajoitukset sulautetulle järjestelmälle riippuvat sovellusalasta, johon järjestelmä löytyy. Jokapäiväisistä esineistämme (älypuhelin, kodinkoneet ...) lentokoneen ohjausjärjestelmiin tai Curiosityyn, puhumattakaan lääketieteellisistä, telekommunikaatio- (satelliitti-, rele-antenni ...) ja sotilaallisista (drone-, valvontajärjestelmä-) laitteista. ...), soveltamisalat ovat laajat ja laajat, ja niiden tavoitteet ovat erilaiset.

Seuraavat soveltamisalat asettavat tilanteessa edellä mainitut erityispiirteet.

Ilmailu ja ilmailu

Suurten reaaliaikaisten rajoitusten tyydyttämiseksi lentokoneiden ohjausjärjestelmien algoritmit suoritetaan reaaliaikaisissa käyttöjärjestelmissä. Tämä tarve johtuu laitteessa ja ohjattavassa elementissä olevien anturien suuresta määrästä.

Autoteollisuus

Autoteollisuudessa junajärjestelmiä on alettu toteuttaa sen jälkeen, kun ajoavustinlaitteet on integroitu ajoneuvoihimme (ABS, ESP jne.), Mutta myös ajoneuvojen komponenttien (ajovalot, tuulilasinpyyhkimet, ikkunat, ovilukot) ohjaamiseen. navigointityökalut, ...). Tätä varten autonvalmistajat ovat siirtymässä reaaliaikaisiin käyttöjärjestelmiin keskittääkseen kaikkien elektronisten elementtien hallinnan ja voidakseen hallita tehtävien prioriteettia (voidakseen etuoikeuttaa turvaelementtien käsittelyä ennen mukavuus). Valitun käyttöjärjestelmän on myös pystyttävä kommunikoimaan ajoneuvon elektronisten komponenttien kanssa tietoväylällä.

Esimerkki käytöstä autoteollisuudessa on Windows Embedded Automotive  (in), joka käyttää Ford Sync  (in) -tekniikkaa .

Autonvalmistajien ja yksityisten yritysten väliset kumppanuudet ovat käynnissä tuomaan yleisölle paremmin tunnettuja käyttöjärjestelmiä käytettäviksi autoissa. Tämä koskee Applea, jolla on iOS autossa  (en) . Ja Googlen Open Automotive Alliance -hanke .

Valmistajaryhmät pyrkivät saamaan yhteisen RTOS: n, kuten AUTOSAR , OSEK / VDX .

Robotiikka

Robottikehitykseen liittyvät rajoitukset ovat vuorovaikutus oheislaitteiden (anturit, verkkokamera, askelmoottorit jne.) Kanssa. Esimerkiksi RoBIOS on robottien kehittämiseen tarkoitettu käyttöjärjestelmä, jonka binäärikoodissa on laaja kirjasto järjestelmän toimintoja ja laiteohjaimia kaikenlaisten laitteistojen hallitsemiseksi ja käyttämiseksi.

Anturiverkko

Käyttöjärjestelmän tehtävänä on hallita resurssien allokointia hallitusti ja hallitusti. Ohjelmoija voi käyttää järjestelmäkutsuja päästäksesi käyttöjärjestelmän tarjoamiin palveluihin.

Koska anturiverkkoissa on yhä enemmän tietoa kerättäväksi, prosessoitavaksi ja lähetettäväksi, rajoitukset tarkoittavat, että käyttöjärjestelmän on oltava monisäikeinen tarpeiden täyttämiseksi. Kutomalla monimutkaiset ja arkaluonteiset tehtävät järjestelmä voi lievittää tuottaja-kuluttaja-ongelmaa.

Anturiverkoille omistetun käyttöjärjestelmän vertailutaulukko
Käyttöjärjestelmä Arkkitehtuuri Ohjelmointimalli Aikataulu Muistin hallinta ja suojaus Tiedonsiirtoprotokolla tuettu Resurssien jakaminen Tukee reaaliaikaisia ​​sovelluksia
TinyOS Monoliittinen. Tapahtuman ohjelmointi. FIFO . Staattinen muistinhallinta muistisuojauksella. Aktiivinen viesti. Virtualisointi ja tapahtumien loppuun saattaminen. Ei.
Contiki Modulaarinen. Protothreads ja tapahtuma. Koodi suoritetaan, kun siihen liittyvä tapahtuma käynnistyy. Aikataulu prioriteetin WRT (huonoin vasteaika) mukaan. Muistin hallinta ja dynaaminen linkki. Ei suojaa prosessin osoiteavaruudelle. uIP ja Rime. Sarjallinen pääsy tietoihin. Ei.
MANTIS Modulaarinen. Langat. Viisi prioriteettitasoa, joista jokaisella on useita sisäisiä prioriteettitasoja. Dynaaminen muistinhallinta on mahdollista (mutta ei kannustettua). Ei muistisuojausta. Aktiivinen viesti. Muisti jaettu semaforien kanssa. Jossakin määrin prosessisekvensoinnin tasolla (prioriteettisuunnittelun toteuttaminen erityyppisissä prosesseissa).
Nano-RK Monoliittinen. Langat. Nopeuden monotoninen aikataulutus (RMS). Staattinen muistin hallinta. Ei muistisuojausta. Pistorasiaanotto. Mutexien ja semaforien sarjatuotanto. Tarjoaa prioriteettikattoalgoritmin toteutuksen prioriteettien kääntämisen välttämiseksi. Joo.
LiteOS Modulaarinen. Viestiketjut ja tapahtumat. Etuoikeus perustuu Round-Robin- malliin . Dynaaminen muistinhallinta ja suojaa prosessimuistia. Tiedostoviestintä. Synkronointiprimitiivien kautta. Ei.

Älykortit

Älykortin käyttöjärjestelmissä ei ole käyttöliittymää, ainakin nämä rajapinnat ovat rajoitettuja (pääte, anturi jne.). Älykortin pääominaisuus on turvallisuus; toinen rajoitus on käytettävissä oleva vähän muistitilaa käyttöjärjestelmän ja siihen tallennettavien tietojen sijoittamiseksi.

Älykortin käyttöjärjestelmä on rakennettu tarjoamaan joukko palveluja tiedonhallintaa, kulunvalvontaa ja salauspalveluja varten. Kaikille älykorttityypeille yhteiset käyttöjärjestelmän perustoiminnot ovat:

  1. Kortin ja ulkomaailman välisen vaihdon hallinta, lähinnä vaihtoprotokollan kannalta.
  2. Muistiin tallennettujen tiedostojen ja tietojen hallinta.
  3. Tietojen ja toimintojen kulunvalvonta.
  4. Korttiturvallisuuden ja salausalgoritmimenettelyjen hallinta.
  5. Luotettavuuden takaaminen erityisesti tietojen johdonmukaisuuden kannalta.

Matkapuhelin

Älypuhelimet ovat laitteita ominaisuuksia tietokoneen. Kun älypuhelinten määrä kasvaa päivittäin, käyttöjärjestelmän laadun on oltava välttämätöntä, jotta samaa ohjelmaa voidaan käyttää eri älypuhelimissa. Käyttöjärjestelmä määrittää älypuhelimen sovellusten ominaisuudet, suorituskyvyn, turvallisuuden ja lisäosat. Käyttöjärjestelmän on hallittava intuitiivista ja reagoivaa ihmisen ja koneen välistä käyttöliittymää, jotta käyttäjä voi suorittaa sovelluksiaan. sen on myös autettava minimoimaan älypuhelimen energiankulutus .

Katso myös

Huomautuksia ja viitteitä

Huomautuksia

  1. Reaaliaikainen käyttöjärjestelmä
  2. Koordinoidut maailmanajat
  3. Kansainvälinen atomiaika
  4. Lukkiutumaton pyöräjärjestelmä

Viitteet

  1. Silberschatz 2012 , s.  11
  2. Duquennoy , s.  15-16
  3. Marwedel , s.  178
  4. Rankl , s.  441
  5. Lennon , s.  34
  6. Hisazumi , s.  1
  7. Marwedel , s.  180
  8. Ficheux , s.  12
  9. Marwedel , s.  182-185
  10. Rankl , s.  448
  11. Ravi , s.  4-5
  12. Mulchandani , s.  2
  13. Hristu-Varsakelis , s.  466
  14. Heiser , s.  12
  15. Parain , s.  12
  16. Jin Kim , s.  3
  17. Nauri , s.  1024
  18. Ghangurde
  19. "  Open Automotive Alliance  " osoitteessa openautoalliance.net ( katsottu 17. tammikuuta 2014 )
  20. Bräunl , s.  377
  21. Farooq , s.  2
  22. Bhatti 2005 , s.  1
  23. Rankl , s.  444
  24. Selimis , s.  146-147
  25. Lin

Bibliografia

Artikkelin kirjoittamiseen käytetty asiakirja : tämän artikkelin lähteenä käytetty asiakirja.

Kyberfyysiset järjestelmät - sulautetut järjestelmät - monikäyttöinen optimointi Kohtaa täysin varusteltu käyttöjärjestelmien todellinen maailma Uusi tapaustutkimus - OpenEmbedded-tutkielma Uusi tapaustutkimus - OpenEmbedded-tutkielma

Artikkelin kirjoittamiseen käytetty asiakirja