Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. kompilácia (alebo interpretácia): Program napísaný v jazyku na vysokej úrovni (ako C ++, Java, Python) sa musí preložiť do strojových pokynov. Stáva sa to dvoma hlavnými spôsobmi:
* kompilácia: Kompilátor prekladá celý program do kompletného spustiteľného súboru (napr. Táto spustiteľná schopnosť obsahuje strojový kód špecifický pre architektúru cieľového počítača.
* Interpretácia: Tlmočník prekladá a vykonáva programový riadok po riadku bez vytvorenia samostatného spustiteľného súboru. Je to pomalšie ako kompilácia, ale ponúka väčšiu nezávislosť platformy. Jazyky ako Python a JavaScript sa zvyčajne interpretujú (hoci na zlepšenie výkonu sa často používa kompilácia Just-in-Time [Jit].
2. načítanie: Nakladač operačného systému je zodpovedný za načítanie spustiteľného programu do pamäte. To zahŕňa:
* Nájdenie spustiteľného: Nakladač lokalizuje programový súbor na úložnom zariadení (pevný disk, SSD atď.).
* pridelenie pamäte: Vyhradzuje si priestor v RAM počítači pre kód programu, údaje a zásobníky. Stack sa používa na dočasné údaje a funkčné hovory. Halda sa používa pre dynamicky pridelenú pamäť.
* Premiestnenie: Nakladač upravuje adresy pamäte v rámci programu tak, aby odrážal jeho skutočnú polohu v RAM.
* Prepojenie: Ak program používa externé knižnice alebo moduly, nakladač ich prepojí s programom.
3. Vytvorenie bloku riadenia procesu (PCB): Operačný systém vytvára DPS, dátovú štruktúru, ktorá obsahuje všetky informácie potrebné na správu procesu. Tieto informácie obsahujú:
* ID procesu (pid): Jedinečný identifikátor pre tento proces.
* Program Counter: Poukazuje na ďalšiu inštrukciu, ktorá sa má vykonať.
* CPU registruje: Uložte dočasné údaje používané CPU.
* Informácie o správe pamäte: Podrobnosti o pamäte pridelenej tomuto procesu.
* I/O Stav: Informácie o operáciách I/O procesu.
* stav: Označuje, či je proces beh, pripravený, zablokovaný atď.
4. vykonávanie: Po načítaní programu a vytvorení DPS, plánovač operačného systému priradí proces jadre CPU. CPU potom načíta pokyny z kódu programu v pamäti, vykoná ich a podľa toho aktualizuje PCB. Tento proces pokračuje, až kým nedokončí alebo nie je ukončený.
Stručne povedané, program je statická skupina pokynov, zatiaľ čo proces je dynamickou inštanciou programu pri vykonávaní. Tento proces má svoj vlastný pamäťový priestor, zdroje a DPS spravované operačným systémom. Viaceré procesy sa môžu spúšťať súčasne (aj keď nie nevyhnutne súčasne na jednotlivcovom CPU).