Nejlepší odpověď
Program , Proces a Vlákna jsou tři základní koncepty operačních systémů, se kterými musí být každý inženýr informatiky obeznámen . Zde vysvětlím, o čem každý z nich je a jak se od sebe liší.
Co je to program?
Program je spustitelný soubor obsahující sadu pokynů napsaných k provedení konkrétní úlohy ve vašem počítači. Například notepad.exe je spustitelný soubor obsahující sadu pokynů, které nám pomáhají upravovat a tisknout textové soubory.
Programy nejsou uloženy v primární paměti vašeho počítače. Jsou uloženy na disku nebo sekundární paměti ve vašem počítači. Jsou načteny do primární paměti a spuštěny jádrem. Program je někdy označován jako pasivní entita , protože se nachází v sekundární paměti.
Co je to proces?
Proces je spouštěcí instance programu. Například když dvakrát kliknete na ikonu poznámkového bloku v počítači, spustí se proces, který spustí poznámkový blok.
Proces se někdy označuje jako aktivní entita , protože se nachází v primární paměti a při restartu systému ji opustí. Se stejným programem může souviset několik procesů. Můžete například spustit více instancí programu poznámkového bloku. Každá instance se označuje jako proces.
Co je vlákno ?
Vlákno je nejmenší spustitelná jednotka procesu. Když například spustíte program poznámkového bloku, operační systém vytvoří proces a zahájí provádění hlavního vlákna tohoto procesu.
Proces může mít více vláken. Každé vlákno bude mít v procesu svůj vlastní úkol a vlastní cestu provedení. Například v programu poznámkového bloku bude jedno vlákno přijímat uživatelské vstupy a jiné vlákno bude tisknout dokument.
Všechna vlákna stejného procesu sdílejí paměť tohoto procesu. Protože vlákna stejného procesu sdílejí stejnou paměť, je komunikace mezi vlákny rychlá.
Shrnutí …
Doufám, že už máte jasno v rozdílech mezi programem, procesem a vláknem a také jste zjistili vztah mezi nimi … Pokud ne, zjistěte níže.
Program je super sada procesů, zatímco, process is a super set of thread.
Užijte si učení !!!
Obrázek se svolením: www.google.com
Odpověď
- Program : Program není nic jiného než soubor veškerých instrukcí, které vyžadují provedení určité konkrétní úlohy. Před provedením musí být převedeny do binárních kódů, kterým by měl rozumět zavaděč OS OS. Obecně v systému Windows jako soubor EXE, který je uložen v Portable Executable (PE) Formátování na sekundární paměti Jako pevný disk. Proces je obvykle definován jako instance spuštěného programu a skládá se ze dvou komponent: 1) Objekt jádra, který operační systém používá ke správě procesu. Objekt jádra je také místem, kde systém uchovává statistické informace o procesu. 2) Adresní prostor, který obsahuje veškerý kód a data spustitelného modulu nebo modulu DLL. Obsahuje také dynamické přidělení paměti, jako jsou zásobníky podprocesů a přidělení haldy. Procesy jsou inertní. Aby mohl proces dosáhnout čehokoli, musí mít podproces, který běží v jeho kontextu; toto vlákno je zodpovědné za provádění kódu obsaženého v adresním prostoru procesu. Ve skutečnosti může jeden proces obsahovat několik podprocesů, které všechny provádějí kód „současně“ v adresním prostoru procesu. K tomu má každé vlákno svou vlastní sadu registrů CPU a vlastní zásobník. Každý proces má alespoň jedno vlákno, které provádí kód v adresním prostoru procesu. Pokud by v adresním prostoru procesu nebyly žádné podprocesy provádějící kód, nebyl by důvod, aby proces nadále existoval, a systém by automaticky zničil proces a jeho adresní prostor.
- Proces : Každý proces poskytuje zdroje potřebné k provedení programu. Proces má virtuální adresní prostor, spustitelný kód, otevřené popisovače systémových objektů, kontext zabezpečení, jedinečný identifikátor procesu, proměnné prostředí, prioritní třída, minimální a maximální velikost pracovní sady a alespoň jedno podproces provedení. Každý proces je spuštěn jedním podprocesem, který se často nazývá primární podproces, ale může vytvořit další podprocesy ze všech podprocesů .
- Vlákno : Vlákno je entita v procesu, kterou lze naplánovat na spuštění. Všechna vlákna procesu sdílejí svůj virtuální adresní prostor a systémové prostředky. Kromě toho každé vlákno udržuje obslužné rutiny výjimek, prioritu plánování, místní úložiště podprocesu, jedinečný identifikátor podprocesu a sadu struktur, které systém použije k uložení kontextu podprocesu, dokud není naplánován. Kontext podprocesu zahrnuje podprocesovou sadu registrů strojů, zásobník jádra, blok prostředí podprocesu a zásobník uživatele v adresním prostoru procesu podprocesu. Vlákna mohou mít také svůj vlastní kontext zabezpečení, který lze použít pro předstírání identity klientů.