Upravljanje procesima u OS-u: PCB in Operating sustav

⚡ Pametni sažetak

Upravljanje procesima u operativnom sustavu obrađuje stvaranje, raspoređivanje i prekid procesa, dok blok za kontrolu procesa pohranjuje stanje, registre i prioritet svakog procesa kako bi CPU mogao track i pouzdano nastaviti izvršavanje.

  • 🔄 Proces: Proces je program u izvršavanju, kreiran od strane OS-a i tracispraćeno od početka do kraja.
  • 🧠 PCB: Blok za upravljanje procesom djeluje kao mozak procesa, držeći njegov ID, stanje, registre i prioritet.
  • 🏗️ Architekstura: Procesna memorija je podijeljena na segmente stog, heap, podataka i tekstualne segmente.
  • 🚦 Države: Proces se tijekom svog životnog ciklusa kreće kroz nova stanja, stanja spremnosti, izvršavanja, čekanja i završetka.
  • 🔀 Prekidač konteksta: OS sprema i vraća podatke o PCB-u kako bi pauzirao jedan proces i nastavio drugi.
  • 🤖 Kut umjetne inteligencije: Strojno učenje predviđa ponašanje procesa, a Copilot pomaže u generiranju rasporeda i PCB koda.

Upravljanje procesima u OS-u i PCB-u

Što je proces?

A postupak je izvršavanje programa koji izvršava radnje navedene u tom programu. Može se definirati kao izvršna jedinica u kojoj se program izvršava. Operacijski sustav vam pomaže u stvaranju, planiranju i prekidanju procesa koje koristi CPU. Proces koji je stvorio glavni proces naziva se podređeni proces.

Procesne operacije mogu se jednostavno kontrolirati uz pomoć PCB-a (bloka za upravljanje procesom). Možete ga smatrati mozgom procesa jer sadrži sve ključne informacije vezane uz obradu, kao što su ID procesa, prioritet, stanje i registri CPU-a.

Što je upravljanje procesima?

Upravljanje procesima uključuje različite zadatke kao što su stvaranje, raspoređivanje i prekid procesa, a također se bavi i zastojProces je program koji se izvršava, što je važan dio modernih operativnih sustava. OS mora dodijeliti resurse koji omogućuju procesima dijeljenje i razmjenu informacija. Također štiti resurse svakog procesa od drugih procesa i omogućuje sinkronizaciju među procesima.

Zadatak je OS-a upravljati svim procesima sustava koji se izvršavaju. On upravlja operacijama obavljajući zadatke poput raspoređivanja procesa i dodjele resursa. Učinkovito upravljanje procesima zaokuplja CPU i poboljšava cjelokupno CPU raspoređivanje.

Proces Architektura

Slika arhitekture procesa

Slika arhitekture procesa

Evo dijagrama arhitekture procesa. Proces je u memoriji podijeljen u četiri glavna dijela:

  • Stack: Stog pohranjuje privremene podatke kao što su parametri funkcija, povratne adrese i lokalne varijable.
  • Hrpa: Ovo dodjeljuje memoriju koja se može obraditi tijekom izvođenja procesa.
  • Podaci: Ovaj odjeljak sadrži globalne i statičke varijable.
  • Tekst: Tekstualni dio uključuje trenutnu aktivnost, koja je predstavljena vrijednošću programskog brojača.

Blokovi kontrole procesa

PCB je kratica za Process Control Block. To je podatkovna struktura koju održava operativni sustav za svaki proces. PCB je identificiran cijelim brojem Process ID-a (PID). Pomaže vam pohraniti sve informacije potrebne za održavanje track svih procesa u tijeku.

Također je odgovoran za pohranjivanje sadržaja registara procesora. Oni se spremaju kada proces izađe iz stanja izvođenja i vraćaju se kada se vrati. Informacije se brzo ažuriraju na PCB-u od strane OS-a čim proces napravi promjenu stanja.

Procesna stanja

Nakon što je proces kreiran, on ne ostaje u jednom stanju. Prebacuje se između nekoliko stanja kako ga operativni sustav raspoređuje i kako resursi postaju dostupni.

Dijagram stanja procesa

Dijagram stanja procesa

Stanje procesa je stanje procesa u određenom trenutku. Također definira trenutni položaj procesa. Postoji uglavnom sedam faza procesa:

  • Novo: Novi proces se stvara kada se određeni program pozove iz sekundarne memorije (tvrdog diska) u primarnu memoriju (RAM).
  • Spreman: U stanju spremnosti, proces se učitava u primarnu memoriju i spreman je za izvršenje.
  • Čekanje: Proces čeka dodjelu CPU vremena i ostalih resursa za izvršenje.
  • Izvršavanje: Proces je u stanju izvršenja, radi na CPU-u.
  • Blokiran: Ovo je vremenski interval u kojem proces čeka završetak događaja, poput I/O operacije.
  • Obustavljeno: Suspendirano stanje definira vrijeme kada je proces spreman za izvršenje, ali ga OS nije stavio u red čekanja.
  • Raskinuto: Završeno stanje određuje vrijeme kada je proces završen.

Nakon završetka svakog koraka, svi resursi koje proces koristi se oslobađaju i memorija postaje slobodna.

Blok kontrole procesa (PCB)

Svaki proces je u operativnom sustavu predstavljen blokom za kontrolu procesa, koji se naziva i blok za kontrolu zadataka. Evo važnih komponenti PCB-a:

Blok kontrole procesa (PCB)

Blok kontrole procesa (PCB)

  • Stanje procesa: Proces može biti nov, spreman, u tijeku ili na čekanju.
  • Brojač programa: Brojač programa sadrži adresu sljedeće instrukcije koja se treba izvršiti za taj proces.
  • CPU registri: Ova komponenta uključuje akumulatore, indeksne i opće registre te informacije o uvjetnim kodovima.
  • Informacije o rasporedu procesora: Ova komponenta uključuje prioritet procesa, pokazivače na redove raspoređivanja i ostale parametre raspoređivanja.
  • Računovodstvene i poslovne informacije: To uključuje količinu korištenog CPU-a, uslužne programe za vrijeme poput korištenja stvarnog vremena i brojeve poslova ili procesa.
  • Informacije o upravljanju memorijom: To uključuje vrijednost baznih i graničnih registara te tablica stranica ili segmenata, ovisno o memorijskom sustavu koji koristi operacijski sustav.
  • Informacije o I/O statusu: Ovaj blok uključuje popis otvorenih datoteka i popis I/O uređaja dodijeljenih procesu.

Pitanja i odgovori

Program je pasivni skup instrukcija pohranjenih na disku, dok je proces program u aktivnom izvršavanju s vlastitom memorijom, registrima i programskim brojačem. Jedan program može pokrenuti mnogo procesa.

Proces je neovisan program s vlastitim memorijskim prostorom i PCB-om. Nit je lagana jedinica izvršenja unutar procesa koja dijeli tu memoriju, pa se niti prebacuju brže od procesa.

Prebacivanje konteksta sprema trenutno stanje procesa na svoju PCB ploču i učitava sljedeće stanje procesa s druge PCB ploče. To omogućuje CPU-u da pauzira jedan proces i nastavi drugi, iako dodaje opterećenje raspoređivanja.

PCB se čuva u zaštićenom području glavne memorije kojem korisnički procesi ne mogu pristupiti. Operacijski sustav drži sve PCB-ove zajedno u tablici procesa, indeksiranoj prema svakom identifikatoru procesa (PID).

Podređeni proces je novi proces koji stvara postojeći roditeljski proces, obično putem sistemskog poziva kao što je fork(). Podređeni proces može naslijediti resurse od roditelja, a zatim se pokrenuti neovisno.

Brojač programa pohranjen na tiskanoj pločici sadrži adresu sljedeće instrukcije koju proces mora izvršiti. Kada se proces prerasporedi, CPU ponovno učitava ovu vrijednost tako da se izvršavanje nastavlja tamo gdje je zaustavljeno.

Modeli strojnog učenja predviđaju vrijeme naleta procesa, potrebe za resursima i kvarove, pomoćping Planeri učinkovitije postavljaju i određuju prioritete procesima. Upravitelji vođeni umjetnom inteligencijom proučavaju se za cloud poslužitelje i podatkovne centre kako bi se smanjila latencija i potrošnja energije.

Da. GitHub Copilot može izraditi procese, strukture podataka PCB-a, rutine za promjenu konteksta i simulacije raspoređivanja u C-u ili... JavaUvijek provjerite generirani kod za ispravne prijelaze stanja i rukovanje memorijom prije upotrebe.

Sažmite ovu objavu uz: