Reaaliaikainen laskenta: käyttötapojen ja arkkitehtuurin määrittely

Kun puhumme reaaliajasta, mielemme yhdistää tämän termin yleensä lennossa tapahtuvaan grafiikan renderöintiin, jota yleensä näemme videopeleissä, mutta reaaliaikaisen tietojenkäsittelyn käsite menee pidemmälle ja viittaa laitteiston alueeseen, jota me näemme. käyttää joka päivä tietämättään. Siksi olemme päättäneet selittää, miten se toimii ja mistä se koostuu.

Reaaliaikainen tietojenkäsittely

Ihmisellä voi olla sydämentahdistin sydänsairauden vuoksi, mutta vaikka se on suhteellisen yksinkertainen laitteisto, sen on aina annettava vastaus tietyssä ajassa. Jos jo liikumme ajoympäristössä, voimme löytää mikrokontrollerin, joka huolehtii siitä, että koko järjestelmä toimii ihanteellisesti, jotta vältytään mekaaniselta tai sähköiseltä vialta ajoneuvossa.

Jos puhumme jo enemmän kotona olemisesta, niin selkein esimerkki on kahden laitteen välinen viestintä, joka on suoritettava tiettyinä standardin asettamina aikoina. Näin tapahtuu erityisesti langattomissa tulostimissa, jotka lähettävät datapurskeita tulostettaessa paperille. Emme myöskään saa unohtaa 8- ja 16-bittisiä konsoleita, jotka joutuivat videomuistin rajoitusten vuoksi lähettämään dataa videolähtöön elektronisuihkun ylittäessä näytön.

Mitä on reaaliaikainen tietojenkäsittely?

Computación Tiempo Real

Reaaliaikaisella laskennalla tarkoitetaan kaikkea sitä, jossa käskyjen tai niiden joukkojen, prosessien tai ohjelmien suorittaminen on suoritettava mahdollisimman lyhyessä ajassa, mikä aiheuttaa kohtalokkaita seurauksia, jos prosessia ei suoriteta mainitun rajan sisällä. perustettu väliaikaisesti. Tätä varten meidän on kvantifioitava mainittu jakso käyttämällä mittaa, joka voi olla tavallinen tavoiteaika, kuten mikrosekuntia, millisekuntia tai sekuntia, tai jos emme voi tehdä sitä tällä tavalla, meidän on käytettävä suorittavan prosessorin kellojaksoja. mainittu ohje tai ohjesarja.

Joten reaaliaikaisen järjestelmän on annettava vastaus tietyssä ajassa käyttäjän toiminnasta riippumatta aiemmin olemassa olevista prosesseista. Hyvin selkeä esimerkki tästä on, kun painamme hiiren painiketta tai ohjausnuppia videopelissä, odotamme vastauksen näytölle ilmestyvän mahdollisimman nopeasti, jos se kestää liian kauan, ymmärrämme, että järjestelmä ei työskentele asiallisesti.

Reaaliaikaiset laskentajärjestelmät ovat siis sellaisia, jotka ovat herkkiä prosessien suoritusajalle ja joiden toimintaan voi vaikuttaa kokonaan tai osittain, jos prosesseja ei ratkaista tietyssä ajassa.

Reaaliaikaiset tietojenkäsittelyluokat

computación tiempo real

Koska reaaliaikaisella laskennalla on aikavaatimuksia, voimme jakaa ne kahteen tyyppiin, kovaan ja pehmeään.

  • Kovan tyyppisessä reaaliaikaisessa järjestelmässä, jos prosessia ei saada suoritettua määritetyssä ajassa, se johtaa täydelliseen järjestelmävikaan. Esimerkiksi auton reaaliaikainen turvatyynyjärjestelmä ei välttämättä toimi ajoissa ja onnettomuuteen joutunut henkilö törmää ohjauspyörään ja kuolee välittömästi.
  • Toisaalta pehmeän tyyppinen reaaliaikainen järjestelmä kärsii vain palvelun laadun heikkenemisestä, mutta ei yleisestä järjestelmän viasta, selkeä esimerkki on videopelin tuloviive tai viive lähettää.

Ensimmäisen tyypin näemme yleensä itsenäisesti ja jatkuvassa silmukassa toimivissa laitteissa, joissa lisäohjeiden lisääminen voi johtaa prosessin viivästymiseen, joka voi olla kohtalokas, siksi tähän käytetään mikrokontrollereita, jotka toimivat erillään. ja jokainen sen ohje on mitattu sveitsiläisen kellon arvoiseksi suorituskyvyksi. Ovatko ne tietokoneillamme? No kyllä, esimerkiksi järjestelmät, jotka ohjaavat Boost-jaksoja prosessori ja GPU ovat esimerkkejä reaaliaikaisista laskentajärjestelmistä

Syy, miksi mikro-ohjaimia käytetään, johtuu siitä, että niiden RAM muisti on itse prosessorissa, joten sen latenssi on minimaalinen ja välimuistijärjestelmää ei tarvita, lisäksi se olisi täysin haitallista, koska näissä tapauksissa lisäisi latenssia ja olisi kohtalokasta järjestelmän moitteettoman toiminnan kannalta. Mikro-ohjaimissa käskyjoukko ei anneta vain siinä mielessä, mitä kukin niistä tekee, vaan myös sen ajan, jonka ne kuluttavat.

Erikoiskäyttöjärjestelmien käyttö reaaliajassa

Prosessori Render

Mikro-ohjaimen ongelma on kuitenkin se, että ne eivät pysty suorittamaan useampaa kuin yhtä prosessia samanaikaisesti ja juuri siinä vaiheessa tarvitaan monimutkaisempia laitteistoja ja ohjelmistoja, erityisesti jälkimmäistä, ja siksi ne reaaliaikaiset käyttöjärjestelmät, jotka ovat vastuussa prosessorilla käyvien prosessien hallinnasta, tässä on jälleen kahdenlaisia:

  • Tapahtumat ohjaavat järjestelmät, ohjelmien suoritus tapahtuu normaalisti, mutta tapahtumilla ei ole lähtökohtaisesti suorituspreferenssiä etuoikeusjärjestelmälle ja hierarkialle, vaan ne ratkaistaan ​​sellaisenaan.
  • Aikajakojärjestelmä, jossa jokaiselle käskylle annetaan aika suorittaa suoritus viiveiden välttämiseksi. Jos prosessia ei voida suorittaa odotetussa ajassa, se keskeytetään ja siirretään seuraavaan prosessiin.

Tämän tyyppiset käyttöjärjestelmät toimivat paljon kehittyneemmillä mikrokontrollereilla, joiden ytimet pystyvät suorittamaan useita prosesseja samanaikaisesti ja jotka siksi voivat suorittaa paljon monimutkaisempia tehtäviä tai peräkkäisiä tehtäviä järjestelmällisesti, jotka yhdessä vaativat enemmän tehoa toimiakseen. . toiminta. Mitä tulee reaaliaikaisten käyttöjärjestelmien tai RTOS:ien luokitteluun, ne on luokiteltu käytettävän reaaliaikaisen tietojenkäsittelyn tyypin mukaan, joten on olemassa kovaa ja pehmeää tyyppiä.