2021-07 [prednáška] Procesy a vlákna

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška sa venuje procesom a vláknam v operačnom systéme ako mechanizmu multiplexingu obmedzeného počtu procesorových jadier medzi väčším množstvom aplikácií a úloh. Vlákno je definované ako sériové vykonávanie programového kódu charakterizované registrami procesora (najmä programovým počítadlom) a zásobníkom. Vysvetľujú sa dve stratégie nasadenia vlákien – jedno vlákno na jadro bez prerušenia, alebo prepínanie viacerých vlákien na jednom jadre pomocou časovača. Rozoberá sa rozdiel medzi vláknami zdieľajúcimi virtuálnu pamäť (napríklad v Linuxe) a jednovláknovými procesmi v XV6, kde je izolácia procesov zámerná. Diskutuje sa aj o vláknach jadra, dobrovoľnom a vynútenom prepínaní kontextu a probléme uvoľňovania zdrojov po skončení procesu.

  • - Multiplexing procesora medzi viacero aplikácií a vlákien pomocou ilúzie procesora
  • - Vlákno = sériové vykonávanie kódu definované registrami (PC) a zásobníkom
  • - Dve stratégie: vlákno na jadro bez prerušenia vs. časové prepínanie viacerých vlákien na jadre
  • - Vlákna môžu, ale nemusia zdieľať virtuálnu pamäť (Linux áno, XV6 procesy nie)
  • - Vytvorenie vlákna je lacnejšie ako vytvorenie celého procesu (bez nového mapovania pamäte)
  • - V XV6 sú procesy jednovláknové – úlohou labu je pridať podporu viacerých vlákien
  • - Prepnutie kontextu môže byť dobrovoľné (napr. wait) alebo vynútené prerušením časovača
  • - Otvorený problém: kto uvoľní zdroje procesu po jeho skončení (exit)

Zhrnutie pripravené s pomocou AI z prepisu videa.