Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
In-systémové programovanie Pravdepodobne sa týka programovania firmvéru systému alebo softvéru na nízkej úrovni *, keď je systém spustený *. To zvyčajne zahŕňa:
* vložené systémy: Programovacie mikrokontroléry alebo iné zabudované zariadenia priamo na cieľovom hardvéri. Programátor (často prostredníctvom rozhrania JTAG alebo podobné) sa pripája k zariadeniu a odovzdáva/modifikuje kód, keď je systém zapnutý (hoci by mohol byť pozastavený alebo v konkrétnom režime nízkoenergetického režimu). Tým sa zabráni potrebe odstrániť zariadenie, externe ho preprogramovať a potom ho znova nainštalovať.
* Bootloaders: Aktualizácia alebo úpravy systému zavádzača systému (počiatočný softvér, ktorý načíta operačný systém), keď je systém spustený. To si často vyžaduje starostlivý dizajn, aby sa zabránilo korupcii samotného bootloaderu.
* Dynamické načítanie kódu: Načítanie a vykonávanie kódu za behu. Toto nie je striktne „programovanie“ v zmysle zostavovania zdrojového kódu, ale zahŕňa načítanie vopred kompilovaných modulov alebo segmentov kódov do pamäte a ich spustiteľné. Toto je bežné v dynamických jazykoch alebo systémoch pomocou doplnkov.
Programovanie v aplikácii Pravdepodobne sa týka modifikácie alebo rozšírenia funkčnosti bežiacej aplikácie *bez reštartovania alebo prehodnotenia celej aplikácie *. Toto je širší koncept a obsahuje niekoľko techník:
* skriptovanie: Vkladanie skriptovacieho jazyka (napríklad Python alebo LUA) v aplikácii umožňuje používateľom alebo správcom upravovať správanie aplikácií prostredníctvom skriptov. To mení správanie aplikácie bez toho, aby bolo potrebné prekompilovať hlavný kód aplikácie.
* Pluginy/rozšírenia: Pridanie funkcie do aplikácie prostredníctvom doplnkov alebo rozšírení. Zvyčajne ide o samostatné moduly kódu načítané za behu, čím sa rozširujú schopnosti aplikácie.
* Konfiguračné súbory: Modifikácia nastavení alebo parametrov v konfiguračných súboroch na zmenu správania aplikácie. Aj keď nie je programovanie v najprísnejšom zmysle, mení to, ako aplikácia funguje.
* Generovanie runtime kódu: Niektoré aplikácie generujú kód pri behu a zostavujú/vykonávajú ho, čím sa dynamicky modifikujú svoje správanie.
Kľúčové rozdiely sú zhrnuté:
| Funkcia | Programovanie v systéme Programovanie v aplikácii
| ----------------- | --------------------------------------------------------------- | ---------------------------------------------------------- |
| Target | Firmvér, systémový softvér na nízkej úrovni, bootloader | Aplikačný softvér, funkcie v aplikácii
| metóda | Priamy prístup k pamäti, JTAG atď. Skriptovanie, doplnky, konfiguračné súbory, načítanie dynamického kódu
| rozsah | Zmeny v celom systéme alebo nízkej úrovni Zmeny špecifické pre aplikáciu
| riziko | Vyššie riziko nestability systému, ak sa to nedarí starostlivo Vo všeobecnosti nižšie riziko, pretože zmeny sú obsiahnuté v aplikácii
Je dôležité poznamenať, že rozlíšenie nie je vždy jasné. Niektoré techniky by mohli spadať do obidvoch kategórií v závislosti od kontextu. Samotné výrazy nie sú štandardné, takže pri ich používaní je nevyhnutná jasnosť. Vždy zabezpečte, aby vaše publikum chápe váš zamýšľaný význam.