Sustav za upravljanje procesima u Windows 7. Upravljanje procesima. Koncept objekta u Windowsima

24.03.2021 Recenzije

Praktičan rad br.

Upravljanje procesima u Windows.

Cilj rada: proučavanje mogućnosti praćenja i upravljanja procesima u Windows operativnim sustavima, učenje rada s Task Managerom, upoznavanje s upravljanjem procesima u Windowsima pomoću uslužnog programa Process Explorer.

TEORIJSKI DIO.

Za ispravno obavljanje određenog zadatka u Windows potrebno je da se pokrene jedan ili drugi program. U ovom ćete se radu upoznati s minimalnim skupom programa koji se moraju pokrenuti za ispravan rad Windows . Kako bi vidjeli puni popis obavljao zadatke u ovaj trenutak možete koristiti Task Manager Windows ili bilo koji drugi sličan program(Uslužni programi Process Explorer (procexp.exe.)). U ovom radu osvrnut ćemo se samo na Task Manager koji se pokreće pritiskom na kombinaciju CTRL + ALT + DELETE.

Upravitelj zadataka prikazuje informacije o programima i procesima koji se izvode na vašem računalu.

Na kartici Aplikacije Prikazuje se status programa koji se izvode na računalu. Na ovoj kartici imate mogućnost završiti ili pokrenuti program, kao i otići u prozor programa. Na kartici Procesi Prikazuje informacije o procesima koji se izvode na računalu. Na primjer, možete prikazati informacije o upotrebi CPU-a i memorije, pogreškama stranice, broju rukovanja i nekim drugim parametrima.

Na kartici Performanse Sljedeće informacije o performansama vašeg računala dinamički se prikazuju.

  1. Grafikoni CPU opterećenja i korištenja memorije.
  2. Ukupan broj ručica, procesa koji se izvode na računalu.
  3. Ukupna količina fizičke memorije, memorije jezgre i dodjele memorije u kilobajtima.

Ako ste spojeni na mrežu, možete vidjeti status mreže i parametre performansi.

Ako je na vaše računalo spojeno više korisnika, možete vidjeti njihova imena, koje zadatke obavljaju i poslati im poruku.

Kako biste vidjeli sve programe učitane u RAM, morate prijeći s kartice Applications na karticu Processes.

Ovdje navedeni procesi su programi koji su trenutno učitani u RAM. Ovi mogu biti posebni komunalije, Bez čega Windows neće raditi, programi odgovorni za pružanje bilo kakvih usluga, na primjer, usklađivanje sistemskog vremena s vremenskim poslužiteljem na mreži Internet itd. Donja tablica sadrži informacije o nazivima nekih procesa i svrhu ovog programa.

Postupak Neaktivnost sustavaje zasebna nit koja se izvodi na svakom procesoru i ima jedini zadatak ispunjavanja procesorskog vremena kada sustav ne obrađuje druge dretve. U upravitelju zadataka ovaj proces zauzima većinu CPU vremena.

Naziv procesa

Opis

Explorer.exe

Program Explorer je odgovoran za prikaz radne površine na ekranu, otvaranje glavnog izbornika (ako otvorite prozor Explorera, pojavljuje se drugi proces)

Spoolsv.exe

Program je odgovoran za red čekanja za ispis (stavljanje dokumenata u red čekanja, brisanje reda čekanja, praćenje broja ispisanih listova)

usluge.exe

Omogućuje računalu da prepozna promjene u instaliranu opremu i prilagoditi im se, bilo bez potrebe za intervencijom korisnika ili je svesti na minimum. Zaustavljanje ili onemogućavanje ove usluge može rezultirati nestabilan rad sustavi.( Uključi i igraj ). Također pruža podršku za poruke zapisnika događaja koje generiraju Windows programi i komponente sustava te pregledavanje tih poruka.

svchost.exe

Omogućuje vam da prilagodite svoj raspored automatsko izvršenje zadataka na ovom računalu.

svchost.exe

Upravlja objektima u mreži i daljinski pristup na mrežu"", prikazujući svojstva lokalna mreža i veze s daljinskim pristupom.

svchost.exe

Kontrolira sinkronizaciju datuma i vremena na svim klijentima i poslužiteljima na mreži. Ako se ova usluga zaustavi, sinkronizacija datuma i vremena neće biti dostupna.

svchost.exe

Pruža podršku opći pristup datotekama, pisačima i imenovanim cijevima za ovog računala kroz Mrežna veza. Ako je usluga zaustavljena, takve se funkcije ne mogu izvoditi.

svchost.exe

Dopušta udaljeni korisnici promijeniti postavke registra na ovom računalu.

mdm.exe

Upravlja lokalnim i udaljenim otklanjanjem pogrešaka za programere Vizualni studio

lsass.exe

Pohranjuje sigurnosne podatke za račun lokalni korisnik.

Winlogon.exe

Windows NT program za prijavu

Promjena izgleda prozora Upravitelja zadataka i odabir parametara za prikaz vrši se pomoću stavki izbornika. Sve informacije o radu s Upraviteljem zadataka možete pronaći u stavci izbornika "Pomoć".

Upravljanje procesima i nitima u Windows OS-u pomoću uslužnog programa Process Explorer tvrtke SysInternals.

Uslužni program ne prikazuje samo popis aktivnih procesa, već i datoteke dinamičke biblioteke povezane s procesom, prioritet procesa, opterećenje procesora zasebno za svaki program itd.

Osim toga, pomoću programa možete promijeniti prioritet procesa, pregledati informacije o DLL datoteci i prisilno prekinuti beznadno zamrznuti program.

Uslužni program sadrži 2 prozora. Gornji dio prikazuje popis aktivnih procesa (uključujući identifikator procesa - PID, postotak opterećenja procesora - CPU, opis - Opis, ime vlasničkog računa - Vlasnik, prioritet procesa - Prioritet, Ručke, Windows naslov). Informacije prikazane u donjem prozoru ovise o načinu rada Process Explorer - ako je u načinu rukovanja, možete vidjeti ručke (datoteke za Windows 9x/Me) koje je otvorio proces odabran u gornjem prozoru; ako je DLL mod - možete vidjeti DLL-ove koje je ovaj proces učitao.

Prebacivanje između načina rada vrši se pomoću "vrućih tipki" ili pomoću odgovarajućih stavki izbornika:

Procese možete sortirati po bilo kojem kriteriju klikom na odgovarajući stupac; ili predstavite procese u obliku stabla procesa odabirom stavke izbornika View - Show Process Tree.

Desnim klikom na odabrani proces, koristeći pojavio se kontekstni izbornik Možete promijeniti osnovni prioritet procesa (Set Priority), prisiliti proces na prekid (Kill Process) i pregledati Dodatne mogućnosti proces (Svojstva):

Pomoću stavke izbornika Options - Highlight Services možete odabrati procese koji služe hostu. Za isticanje procesa trenutni korisnik odaberite stavku izbornika Opcije - Istakni vlastite procese.

Nakon pokretanja uslužnog programa, pokrenite nekoliko aplikacija (na primjer, Far, Word, Paint, Notepad itd.), obratite pozornost na promjene u prozoru procesa. Molimo komentirajte ih. Navedite kopiju zaslona i opišite proces koji generira pokrenuta aplikacija.

Zadaci koje treba izvršiti:

1. Na kartici Procesi u Upravitelju zadataka promijenite broj stupaca, zabilježite operacije izvedene za to. Koje procese pokreće korisnik?

2. Koliko je procesa aktivno u trenutku izvođenja praktični rad, koliko je opterećen središnji procesor, koliko je memorije alocirano za trenutne procese?

3. Pogled sustav pomoći Upravitelj zadataka. Pronađite informacije o pokretanju novih programa, prekidu postojećih programa pomoću Upravitelja i zapišite ih u bilježnicu.

4. Dovršite sljedeće korake pomoću uslužnog programa Process Explorer. Sortirajte procese prema određenim kriterijima. Opišite jedan od procesa sustava. Pokrenite navedenu aplikaciju. Opišite nastali proces prema zadanim karakteristikama. Prisilno prekinuti navedeni proces. Ilustrirajte izvršene radnje kopijama ekrana.

posao br.

Kriterij

Primjena

Karakteristike

Prikaži stablo procesa sustava

Daleki upravitelj

Odredite koji se DLL-ovi koriste

Poredaj po PID-u

Bilježnica

Wordpad

Poredaj po prioritetu

Kalkulator

Pogledajte dodatne svojstva procesa

Poredaj po vlasniku

Boja

Dirigent

Pogledajte dodatne svojstva procesa

Poredaj po imenu

Urednik registra

Odredite koji se DLL-ovi koriste

Poredaj po prioritetu

web-preglednik

Promjena prioriteta korisničkog procesa

Poredaj po opterećenju procesora

mreža

Definirajte korištene ručke

Prikaži stablo korisničkog procesa

Defragmentator diska

Odredite koji se DLL-ovi koriste

Kopije zaslona s obavljenim zadatkom i opisom provedenih radnji treba uključiti u izvješće.

Kontrolna pitanja:

  1. Što je proces?
  2. Opisati opće informacije o Upravitelju zadataka?
  3. Što znači postavka "neaktivnost sustava"?
  4. Je li moguće promijeniti izgled Kartica Procesi u upravitelju zadataka?
  5. Kako završiti proces?
  6. Opišite funkcionalnost korištenja uslužnog programa Istraživač procesa.
  7. Procese i njihove opise iz tablice zapišite u bilježnicu i zapamtite.

Procesno upravljanje

Najvažniji dio operacijski sustav Podsustav upravljanja procesima koji direktno utječe na funkcioniranje računala je podsustav upravljanja procesima.

Za svaki novonastali proces OS generira informacijske strukture sustava koje sadrže podatke o potrebama procesa za resursima računalnog sustava, kao io resursima koji su mu stvarno dodijeljeni. Međutim, proces se također može definirati kao zahtjev za potrošnju resursa sustava.

Do proces bi mogao biti dovršen, operativni sustav mora dodijelite mu područje RAM memorija , koji će sadržavati kod i podatke procesa, a također će mu osigurati iznimno važnu količinu procesorskog vremena. Međutim, proces može trebati pristup resursima kao što su datoteke i ulazno/izlazni uređaji.

Informacijske strukture procesa često uključuju pomoćne podatke koji karakteriziraju povijest procesa u sustavu, njegovo trenutno stanje (aktivan ili blokiran) i stupanj povlaštenosti procesa (vrijednost prioriteta). Ovu vrstu podataka operativni sustav može uzeti u obzir kada odlučuje hoće li procesu dati resurse.

U višeprogramskom operacijskom sustavu može postojati nekoliko procesa istovremeno. Neki se procesi generiraju na inicijativu korisnika i njihovih aplikacija; takvi se procesi obično nazivaju prilagođen. Ostali procesi tzv sistemski, inicijalizira sam operativni sustav kako bi izvršili svoje funkcije.

Važan zadatak operacijski sustav je zaštita resursa, dodijeljeno ovaj proces, iz drugih procesa. Jedan od najpažljivije zaštićenih resursa procesa su područja RAM-a u kojima se pohranjuju procesni kod i podaci. Cjelokupnost svih područja RAM-a koje operativni sustav dodjeljuje procesu obično se naziva njegov adresni prostor. Kaže se da svaki proces radi u vlastitom adresnom prostoru, što se odnosi na zaštitu adresnih prostora koje pruža OS. Zaštićene su i druge vrste resursa, poput datoteka, vanjskih uređaja itd. Operativni sustav ne može samo zaštititi resurse dodijeljeni jednom procesu, ali i organizirati njihovo dijeljenje, na primjer, omogućiti pristup određenom memorijskom području za nekoliko procesa.

Tijekom trajanja procesa, njegovo se izvođenje mora više puta prekidati i nastaviti. Kako bi se nastavilo izvršavanje procesa, ključno je vratiti stanje njegovog radnog okruženja. Stanje radne okoline identificira se stanjem registara i programskog brojača, načinima rada procesora, pokazivačem na otvorene datoteke, informacije o nedovršenim I/O operacijama, šifre grešaka sistemskih poziva koje izvodi ovaj proces itd. Ove informacije nazivaju se procesnim kontekstom. Kažu da kada se proces promijeni, dolazi do promjene konteksta.

Operativni sustav također preuzima funkcije sinkronizacije procesa, dopuštajući procesu da obustavi svoje izvršenje do pojave nekog događaja u sustavu, na primjer, završetka I/O operacije koju izvodi operativni sustav na njegov zahtjev.

U operativnom sustavu ne postoji korespondencija jedan na jedan između procesa i programa. Ista programska datoteka može iznjedriti nekoliko procesa koji se izvode paralelno, a proces može tijekom svog izvođenja promijeniti programsku datoteku i započeti izvršavanje drugog programa. Za implementaciju složenih programski sustavi Može biti korisno organizirati njihov rad u obliku nekoliko paralelnih procesa koji povremeno međusobno djeluju i razmjenjuju neke podatke. Budući da operativni sustav štiti resurse procesa i ne dopušta jednom procesu da piše ili čita iz memorije drugog procesa, za operativnu interakciju procesa, OS mora osigurati posebna sredstva koja nazivaju se međuprocesnim komunikacijskim alatima.

Tako, podsustav za upravljanje procesima (slika 4.) raspoređuje izvođenje procesa, odnosno raspodjeljuje procesorsko vrijeme između više istovremeno postojećih procesa u sustavu, kreira i uništava procese, osigurava procesima potrebne resurse sustava, održava sinkronizaciju procesa, a također osigurava interakciju između procesa

Upravljanje memorijom

Memorija je jednako važan resurs za proces kao i procesor, budući da proces može izvršiti procesor samo ako su njegovi kodovi i podaci (ne nužno svi) u RAM-u. Upravljanje memorijom uključuje distribuciju dostupne fizičke memorije između svih procesa koji trenutno postoje u sustavu, učitavanje procesnih kodova i podataka u njihova dodijeljena memorijska područja, postavljanje dijelova procesnih kodova koji su osjetljivi na adresu na fizičke adrese dodijeljenog područja, kao i zaštitu memorijskih područja svaki proces.

postoji širok izbor algoritama raspodjela memorije. Οʜᴎ se može razlikovati:

Broj memorijskih područja dodijeljenih procesu (u nekim slučajevima memorija je dodijeljena procesu u obliku jednog kontinuiranog područja, au drugim - u obliku nekoliko nesusjednih područja),

Stupanj slobode granica područja (mora biti kruto fiksiran tijekom cijelog životnog vijeka procesa ili se dinamički pomicati kada se procesu dodijele dodatne dodatne kapacitet memorije),

Na nekim sustavima, dodjela memorije se vrši u stranicama fiksne veličine, dok se u drugima dodjeljuje u segmentima promjenjive duljine.

Jedna od najpopularnijih metoda upravljanja memorijom u modernim operacijskim sustavima je tzv virtualna memorija.

Zaštita memorije je selektivna sposobnost da se spriječi zadatak koji je u tijeku od pisanja ili čitanja memorije dodijeljene drugom procesu (zadatku). Mjere zaštite memorije implementirane u operativni sustav moraju spriječiti neovlaštene procese u pristupu stranim memorijskim područjima.

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, Funkcije OS-a za upravljanje memorijom su (slika 5) praćenje slobodne i iskorištene memorije; dodjeljivanje memorije procesima i oslobađanje memorije kada procesi završe; zaštita memorije; premještanje procesa iz RAM-a na disk kada je veličina glavne memorije nedovoljna da primi sve procese u njoj, te vraćanje u RAM kada se u njemu oslobodi prostor, kao i postavljanje programskih adresa na određeno područje fizičke memorije.

Upravljanje datotekama i vanjskim uređajima

Operativni sustav virtualizira zaseban skup podataka pohranjenih na vanjskom disku u obliku datoteka- jednostavan nestrukturirani niz bajtova sa simboličnim nazivom. Radi lakšeg rada s podacima, datoteke su grupirane u direktorije. Koristeći OS, korisnik može izvoditi radnje na datotekama i direktorijima kao što su pretraživanje po imenu, brisanje, prikazivanje sadržaja na vanjskom uređaju (na primjer, na zaslonu), mijenjanje i spremanje sadržaja.

Za predstavljanje velikog broja skupova podataka nasumično raštrkanih po cilindrima i površinama diskova različite vrste, u obliku poznatog i zgodnog hijerarhijska struktura datoteke i direktorije, operativni sustav mora riješiti mnoge probleme.

Datotečni sustav OS-a izvodi simboličku konverziju naziva datoteke, s kojim radi korisnik ili aplikacijski programer, na fizičke adrese podataka na disku, organizira zajednički pristup datotekama i štiti ih od neovlaštenog pristupa.

Prilikom obavljanja svojih funkcija, datotečni sustav blisko komunicira s vanjskim podsustavom upravljanja uređajima, koji na zahtjev datotečnog sustava prenosi podatke između diskova i RAM-a.

Podsustav upravljanja vanjskim uređajima, koji se također naziva ulazno/izlazni podsustav, djeluje kao sučelje za sve uređaje spojene na računalo. Raspon ovih uređaja je vrlo opsežan. Asortiman proizvedenih uređaja za pohranjivanje na krutim, fleksibilnim i optički diskovi, pisači, skeneri, monitori, crtači, modemi, mrežni adapteri i specijaliziraniji ulazno/izlazni uređaji, kao što su analogno-digitalni pretvarači, mogu brojati tisuće modela. Ovi se modeli mogu značajno razlikovati u skupu i redoslijedu naredbi koje se koriste za razmjenu informacija s procesorom i memorijom računala, radnoj brzini, kodiranju prenesenih podataka, mogućnosti dijeljenja i mnogim drugim detaljima.

Program koji kontrolira specifični model vanjski uređaj i uzimajući u obzir sve njegove značajke, obično se naziva upravljački program ovog uređaja (od engleskog pogona - upravljati, voditi). Stvaranje upravljačkih programa uređaja provode i programeri određenog OS-a i stručnjaci iz tvrtki koje proizvode vanjske uređaje.

Održavanje unificiranog aplikacijskog programskog sučelja visoke razine za heterogene I/O uređaje jedan je od najvažnijih zadataka OS-a.

Od pojave UNIX OS-a takvo jedinstveno sučelje na većini operativnih sustava temelji se na konceptu pristupa datoteci. Ovaj koncept je u biti da komunikacija s bilo kojim vanjskim uređajem izgleda kao razmjena s datotekom koja ima naziv i nestrukturirani je niz bajtova. Datoteka može biti stvarna datoteka na disku ili alfanumerički terminal, uređaj za ispis ili mrežni adapter.
Objavljeno na ref.rf
Ovdje se ponovno bavimo sposobnošću operacijskog sustava da zamijeni pravi hardver apstrakcijama koje su prilagođene korisniku i programeru.

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, Funkcije OS-a za upravljanje datotekama i vanjskim uređajima (slika 6) su virtualizacija pojedinačnih skupova podataka; pretvaranje simboličkih naziva datoteka u adrese fizičkih podataka na disku; prijenos podataka između vanjskih uređaja i RAM-a; kontrolu određene vrste periferije vanjski uređaji; implementacija koncepta pristupa datotekama za razmjenu podataka s vanjskim uređajima.

Upravljanje procesima - pojam i vrste. Klasifikacija i značajke kategorije "Upravljanje procesima" 2017., 2018.

operacijski sustav– arhitektonski vrlo složena programski sustav, u kojem se mogu razlikovati sljedeće glavne komponente:
  1. Procesno upravljanje
  2. Upravljanje glavnom memorijom
  3. Upravljanje datotekama
  4. Upravljanje sustavom I/O
  5. Kontrolirati vanjska memorija
  6. Podrška za umrežavanje
  7. Sustav zaštite
  8. Sustav podrške tumač naredbi.
  9. Grafička ljuska.

Pogledajmo pobliže ove komponente.

Procesno upravljanje. Proces je korisnički program tijekom njegovog izvođenja u računalni sustav. OS kontrolira rad procesa, njihovu raspodjelu među procesorima i jezgrama sustava, redoslijed njihovog izvršavanja i smještaja u memoriju, njihovu sinkronizaciju kada se dijelovi istog zadatka paralelno rješavaju različitim procesima.

Upravljanje glavnom memorijom.Glavna (RAM) memorija može se smatrati velikim nizom. operacijski sustav raspodjeljuje memorijske resurse između procesa, dodjeljuje memoriju na zahtjev, oslobađa je na izričit zahtjev ili na kraju procesa, pohranjuje popise zauzetih i slobodna memorija u sustavu.

Upravljanje vanjskom memorijom.Kao što je već spomenuto, vanjska (sekundarna) memorija je proširenje procesorskog RAM-a sa sporijim, ali kapacitetnijim vrstama memorije za trajno pohranjivanje informacija (diskovi, trake, itd.). Kod upravljanja vanjskom memorijom OS rješava probleme slične onima kod upravljanja glavnom memorijom - dodjela memorije na zahtjev, oslobađanje memorije, pohranjivanje popisa slobodne i zauzete memorije, itd. OS također podržava korištenje asocijativne memorije (cache memorije) za optimizaciju pristupa vanjskoj memoriji.

Mrežna podrška.Kao što je više puta naglašeno, svaki suvremeni računalni sustav trajno je ili privremeno smješten u različitim lokalnim i globalne mreže. operacijski sustav osigurava korištenje mrežne opreme ( mrežne kartice, ili adapteri), pozivajući odgovarajuće upravljačke programe, podržavajući daljinsku interakciju s datotečni sustavi smješteni na mrežnim računalima, daljinska prijava na druga mrežna računala i korištenje njihovih računalnih resursa, slanje i primanje poruka putem mreže, zaštita od mrežnih napada.

Sustav zaštite.Prema modernim principima pouzdano i sigurno računalstvo (vidi "Pojam operacijskog sustava (OS), svrhe njegova rada. Klasifikacija računalnih sustava"), pri radu s OS-om mora se osigurati pouzdanost i sigurnost, t.j. zaštita od vanjskih napada, povjerljivost osobne i korporativne podatke, dijagnostiku i ispravljanje grešaka i kvarova itd. OS pruža zaštitu komponenti računalnog sustava, podataka i programa, podržava filtriranje mrežnih paketa, otkrivanje i sprječavanje vanjskih napada, pohranjuje informacije o svim radnjama na strukturama sustava, korisne za analizirati napade i boriti se protiv njih.

Sustav nosača školjke.Bilo koji operacijski sustav podržava naredbeni jezik (ili set zapovjedni jezici), koji se sastoji od korisničkih naredbi koje se izvode s korisničkog terminala (s korisničke konzole). Tipične naredbe su dobivanje informacija o okruženju, postavljanje i mijenjanje trenutnog radnog direktorija, prijenos datoteka, kompajliranje i izvođenje programa, dobivanje informacija o stanje sustava i izvršavanje njegovih procesa itd. Windows sustav Za izvršavanje naredbi tradicionalno se koristi MS DOS prozor korisničke konzole (MS DOS Prompt), u Linux sustav– poseban prozor “Terminal” (Start / System Tools / Terminal). Najmoćniji procesori naredbi dostupan u sustavima tipa UNIX (UNIX, Solaris, Linux, itd.). Njihovi komandni jezici omogućuju vam pisanje skripteskupne datoteke, koji sadrži često korištene nizove naredbi OS-a. Ovo je najprikladnije na UNIX-u. Takve UNIX komandne jezike možete nazvati kao sh (Bourne Shell), csh (C shell), ksh (Korn shell), bash Svaki UNIX programer ima svoj omiljeni jezik naredbi i navikava se na stalnu upotrebu skripti i dugih netrivijalnih nizova naredbi koje izvršava s terminala. Što se tiče Windowsa, relativno nedavno moćan tumač naredbi PowerShell, koji se preporučuje za korištenje. Osim toga, tu je i sustav za Windows CygWin, što vam omogućuje izvršavanje UNIX naredbi i batch datoteka Windows okruženje. Tipičan niz naredbi u UNIX stilu je: ps –a | grep saf, koji izlazi u standardni izlaz informacije o aktivni procesi, i to samo one koje pripadaju korisniku saf.Okomita crta (p1 | p2) označava operaciju transporter (cijev), što vam omogućuje korištenje standardni izlaz proces p1 kao standardni unos proces p2, što je ono što koristi grep operacija ( filtriranje nizova koji sadrži zadani niz). Više o UNIX-u (Linux) možete pročitati u knjizi [16].

Grafička ljuska– OS podsustav koji implementira grafiku korisničko sučelje korisnici i administratori sustava s operativnim sustavom. Naravno, korištenje samo naredbenog jezika i sistemskih poziva je nezgodno, pa je potrebno jednostavno i pregledno grafičko korisničko sučelje s OS-om. Postoje mnoge dobro poznate grafičke ljuske za operacijske sustave, a njihove mogućnosti su vrlo slične jedna drugoj - toliko da ponekad nije posve jasno koji se OS koristi. Među grafičkim ljuskama koje se koriste u sustavima tipa UNIX su CDE, KDE, GNOME. Windows i MacOS imaju vlastite, vrlo zgodne grafičke ljuske.

Procesno upravljanje

Postupak - je korisnički program kada se izvršava na računalnom sustavu. Proces zahtijeva nekoliko resursi, uključujući CPU vrijeme, memoriju, datoteke, I/O uređaji, mrežni uređaji i tako dalje.

U klasičnoj UNIX shemi, kada stvaranje procesa za njega se stvara novi prostor virtualna memorija, tj. tablica stranica za prikaz virtualne adrese u fizičkim, svoj za svaki novi proces. Ovo troši značajna sredstva. S obzirom da u UNIX-u svaka korisnička naredba (na primjer, ls - izlaz sadržaja trenutni imenik) radi kao odvojeni proces, tada postaje jasno koliko je operacija stvaranja procesa u klasičnom smislu “skupa”. Stoga je još 1980-ih. pojavio se koncept olakšani proces(lagani proces) – izvodi se u istom prostoru virtualne memorije kao roditeljski proces. Kada se stvori novi lagani proces, OS stvara samo stog– sustavno rezidentno polje u memoriji dizajnirano da podrži izvođenje procesnih procedura i pohranjivanje njihovih lokalnih podataka i informacija o povezivanju između njih.

OS je odgovoran za sljedeće aktivnosti vezane uz upravljanje procesima:

Stvaranje i brisanje procesa. Na stvaranje procesa potrebno je izraditi odgovarajuće sistemske strukture u memoriji (tablica stranica, stog i sl.). Kada se proces izbriše, oslobađa se memorija koju je zauzimao, a također se zatvaraju sve datoteke i oslobađaju svi drugi resursi koje je proces koristio osim ako je proces to eksplicitno učinio.

Pauziranje i nastavak procesa. Izvršenje procesa pauzira tijekom izvođenja sinkroni I/O, kao i sistemski poziv ili naredba (kao što je obustaviti). Odmah napomenimo da eksplicitno korištenje takvih operacija obustava procesa treba koristiti s oprezom jer proces koji se obustavlja može biti sam po sebi kritični odjeljak– obavljanje obrade na dijeljenom resursu kojemu je svaki proces dobio ekskluzivni pristup, tako da kada je obustavljen, dolazi do situacije zastoj) – obustavljeni proces ne može osloboditi resurs, a konkurentski proces ga ne može dobiti. Kada je proces obustavljen, OS sprema njegovo stanje izvršenja, a kada se nastavi, vraća ga.

Sinkronizacija procesa. Procesi rade paralelno i istovremeno se natječu za zajedničke resurse, a također moraju čekati da se određeni događaji dogode u nekim točkama izračuna. Da biste spriječili moguće sukobe i nedosljednosti, npr. stanje utrke- nedosljedan pristup dijeljenim podacima, u kojem jedan proces čita stare podatke, a drugi ih ažurira u istom trenutku - OS pruža sredstva sinkronizacija(Na primjer, semafori I monitori, o čemu se raspravlja u sljedećem odjeljku).

Interakcija procesa.Kada rade paralelno, procesi trebaju interakciju kako bi koordinirano riješili različite dijelove istog problema. Procesi mogu komunicirati korištenjem prijenosa poruke međusobno, kao i uz pomoć tzv uvjetne varijable I sastanak(o svim ovim vrstama interakcija raspravljat ćemo kasnije). OS pruža sve te alate, u obliku sistemskih poziva, za organiziranje odgovarajuće i prikladne interakcije između procesa.

Semafori.Godine 1966. u djelu [17] prof. predložio je Edsger Dijkstra novi put sinkronizacija procesa, koji je postao klasičan, su semafori.

Binarni semafor– varijabla S, koja može biti u dva stanja: “otvoreno” i “zatvoreno”; Nad S definirane su dvije operacije (“semaforske zagrade”): P(S) – zatvori, V(S) – otvori. Kada se pokuša zatvoriti već zatvoreni semafor, dolazi do prekida i OS dodaje trenutni proces u red čekanja zatvorenog semafora. Operacija V(S) aktivira prvi proces u redu za S koji uspješno dovrši operaciju P(S). Ako je semafor S već otvoren, operacija V(S) nema učinka.

Dakle, pod pretpostavkom da hardver i OS podržavaju takav koncept semafora, onda jest prikladan alat za sinkronizaciju po resursima. Nazovimo kritični odjeljak kod koji može izvoditi nekoliko procesa paralelno i pristupa nekom resursu koji je zajednički svim procesima - području globalne memorije, zajedničkoj datoteci itd. Označimo kod kritični odjeljak kritični_odjeljak.Ako pretpostavimo da se ovaj kod može izvoditi paralelno u nekoliko procesa izravno, tada se može pojaviti situacija koja nam je već poznata stanje utrke ( natjecanje za dijeljene podatke): jedan proces može promijeniti resurs, a drugi u ovom trenutku očitati njegovo (neispravno) stanje ili će dva procesa istovremeno pokušati promijeniti isti

Upravljanje procesima iz naredbeni redak

Postoji mnogo načina za upravljanje procesima u sustavu Windows, a naredbeni redak je daleko od prvog mjesta u njima. Međutim, ponekad postoje situacije kada svi drugi alati osim naredbenog retka nisu dostupni, na primjer neki malware može blokirati pokretanje Task Managera i sličnih programa. I samo za opći razvoj, korisno je znati kako upravljati računalom iz naredbenog retka.

Za upravljanje procesima u naredbenom retku postoje dva pomoćna programa - lista zadataka I taskkill. Prvi prikazuje popis procesa na lokalnim ili udaljeno računalo, drugi vam omogućuje da ih dovršite. Pokušajmo...

Ako samo upišete naredbu lista zadataka na naredbenom retku ispisat će procese na lokalnom računalu.

Prema zadanim postavkama, podaci se prikazuju u obliku tablice, ali ključ /fo omogućuje postavljanje izlaza kao popisa ili u CSV formatu i ključ /v pokazuje više detaljne informacije o procesima, na primjer naredba popis zadataka /v /fo popisće izlaz Detaljan opis sve procese u obliku liste.

Popis će biti prilično velik, pa pokušajmo razjasniti zahtjev. Da bismo to učinili koristimo ključ /fi, koji vam omogućuje korištenje filtara za izlaz podataka, kao što je naredba popis zadataka /fi ″korisničko ime eq korisnik″ /fi ″memusage le 40000″ prikazuje popis korisničkih procesa korisnik, koji ne zauzimaju više od 40 MB memorije.

Nakon što smo pronašli procese koje je potrebno prekinuti, koristimo naredbu taskkill. Procese možete prekinuti imenom, identifikatorom procesa (PID) ili postavljanjem uvjeta pomoću filtara. Na primjer, pokrenimo nekoliko instanci notepada (notepad.exe) i pokušajmo ga prekinuti na različite načine.

Ključ /f nasilno prekida proces i /t prekida sve podređene procese.

Potpuna pomoć za popis zadataka i taskkill naredbe može se dobiti unosom pomoću ključa /?

Sada upotrijebimo tešku artiljeriju PowerShell . Možete ga pokrenuti bez napuštanja naredbenog retka. Za dobivanje popisa procesa upotrijebite cmdlet Get-Process.

Kako ne bismo prikazali cijeli popis procesa, možemo koristiti cmdlet Gdje-Objekt, koji specificira filtar za prikazane informacije. Na primjer, prikazajmo popis procesa koji opterećuju procesor i razvrstajmo ih prema povećanju opterećenja pomoću naredbe:

Get-Process | gdje je ($_.cpu -gt 0) | sortiraj procesor

Koristeći PowerShell možemo dobiti bilo koju informaciju o bilo kojem procesu. Uzmimo proces kao primjer cmd i prikazati popis njegovih svojstava naredbom:

Get-Process -Name cmd | Svojstvo Get-Member -Membertype

Odaberemo ona svojstva koja su nam zanimljiva (u primjeru naziv i ID procesa, put do datoteke, korištene module i vrijeme pokretanja) i prikažemo ih u obliku popisa naredbom:

Get-Process -Name cmd | Format-Ime popisa, ID, staza, moduli, vrijeme početka

Na taj način možemo vidjeti kada je i tko pokrenuo proces, koliko resursa troši, gdje se nalazi izvršna datoteka i još mnogo različitih informacija.

U PowerShell-u postoji cmdlet za prekid procesa Zaustavi proces. Završava navedeni proces svojim imenom ili ID-om. Međutim, mi ćemo to učiniti drugačije i proslijediti rezultat izvršavanja cmdleta Get-Process duž pokretne trake:

Get-Process | gdje ($_.name -match ″notepad″) | Zaustavi proces

Get-Process ne može prikazati procese na udaljenom računalu, za to ćemo koristiti cmdlet Get-WmiObject, na primjer, pogledajmo procese na udaljenom računalu s naredbom:

Get-WmiObject win32_process -naziv računala PC | ft ime, ID procesa, opis

Da biste se bolje upoznali s PowerShell-om, možete koristiti ugrađenu pomoć; da biste pristupili pomoći, morate tipkati Dobiti pomoć″ime cmdleta″

Pa, da dovršimo pregled, pogledajmo još jedan alat za upravljanje procesima iz naredbenog retka. Ovo su komunalije Pslist I Pskill uključeno u paket PSTOols tvrtke Sysinternals.

Ovi uslužni programi ne zahtijevaju posebnu instalaciju, samo ih trebate kopirati na disk. Za početak morate otići u mapu s uslužnim programima i unijeti potrebnu naredbu u naredbeni redak.

Zatvaranje procesa s pskill-om je iznimno jednostavno, unesite naredbu i naziv (ili ID) procesa i to je to.

Pomoć oko režija Pslist I Pskill možete pogledati unosom naredbe s tipkom /?

Pa ipak, sve manipulacije s procesima moraju se izvoditi s administratorskim pravima; za to se naredbeni redak mora pokrenuti s povišenim privilegijama.

Cilj rada: praktično upoznavanje s načinom upravljanja procesima MS Windows XP pomoću upravitelja zadataka

1 KRATKE TEORIJSKE INFORMACIJE

1.1 Procesi i niti

Za razliku od MS DOS-a, procesi u Win32 su inertni, tj. u Win32 proces ne izvodi ništa.

Proces posjeduje:

4 GB adresnog prostora (kada se izvršava na 32-bitnom CPU-u);

Datoteke;

Moduli (na primjer, učitani u DLL adresni prostor);

Jedna ili više niti.

Proces ima:

ID procesa (PID);

Osnovna klasa prioriteta;

Pristupni token;

ID nadređenog procesa;

Skup korištenih deskriptora (Handles) objekata sustava;

Radni skup RAM stranica itd.

Proces (Pr) može dovesti do drugog procesa - vidi sliku 1.

Slika 1 – generiranje procesa.

Proces Pr1 iznjedrio je proces Pr2, koji je generirao procese Pr3 i Pr4.

razlikovati sistemski I prilagođen procesima. Sistemski procesi su procesi operacijskog sustava koji se izvode u povlaštenom načinu rada procesora (način jezgre). Većina sistemskih procesa stvara se prilikom pokretanja OS-a.

Svaki Windows sustav pokreće sljedeće: procesi sustava:

Proces mirovanja (uključuje jednu nit po procesoru za računanje vremena mirovanja procesora);

Sistemski proces (sadrži većinu sistemskih niti u načinu rada jezgre);

Upravitelj sesije (Smss.exe);

Windows podsustav (Csrss.exe);

Proces prijave (Winlogon.exe);

Upravitelj kontrole usluge (Services.exe) i podređeni servisni procesi koje stvara (na primjer, univerzalni proces za hosting usluge, Svchost.exe);

Proces poslužitelja lokalne provjere autentičnosti (Lsass.exe).

Dva od navedenih procesa, Idle i System, nisu procesi u strogom smislu riječi jer ne izvršavaju nikakav kôd korisničkog načina rada.

Upravitelj sesija Smss.exe prvi je proces korisničkog načina rada stvoren na sustavu. Pokreće ga sistemska nit načina rada jezgre i pokreće procese podsustava Csrss.exe i Winlogon, što zauzvrat stvara druge sistemske procese.

Proces prijave u Windows - Winlogon.exe upravlja interaktivnom prijavom i odjavom korisnika. Kada pritisnete kombinaciju tipki Alt+Ctrl+Del, Winlogon prima obavijest o korisnikovom zahtjevu za prijavu.

Jednom uneseno, korisničko ime i lozinka šalju se procesu lokalnog autentifikacijskog poslužitelja LSASS na provjeru. Nakon uspješne provjere autentičnosti, LSASS poziva funkciju u Security Status Monitoru za generiranje objekta tokena pristupa koji sadrži korisnički sigurnosni profil. Winlogon ga naknadno koristi za stvaranje početnog procesa ljuske. Informacije o početnom procesu pohranjene su u parametru Userinit u ključu registra HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.

Prema zadanim postavkama, početni proces je Userinit.exe, koji izvodi određenu inicijalizaciju korisničkog okruženja, a zatim traži parametar Shell u registru i stvara proces za pokretanje određene ljuske sustava - Explorer.exe prema zadanim postavkama. Nakon toga, Userinit.exe proces završava i nije prikazan na popisu pokrenutih procesa. Proces Explorer.exe nasljednik je procesa Winlogona. Proces Explorer.exe je predak svih pokrenutih aplikacijskih (korisničkih) procesa.

Da biste razumjeli odnose između ovih procesa, korisno je pogledati stablo procesa koje prikazuje odnose između roditeljskih i podređenih procesa. Ako vidite tko kreira određeni proces, lakše je razumjeti odakle svaki proces dolazi.

Korisnički procesi povezani su s izvršavanjem aplikacije softver. Izvršavaju se u korisničkom načinu rada procesora uz nametanje određenih ograničenja. Obično se korisnički procesi stvaraju pomoću Explorer.exe kada korisnik pokreće aplikacije ili prema rasporedu.

Da bi proces mogao izvesti bilo što, treba stvoriti nit. U principu, jedan proces može sadržavati više niti i one istovremeno koriste kod u adresnom prostoru procesa. Da biste to učinili, svaka nit mora imati vlastiti skup registara procesora, a svaki proces mora imati barem jednu nit. Kako bi sve te niti bile pokrenute, OS svakoj od njih dodjeljuje određenu količinu procesorskog vremena (vremenski odsječak). Vrijeme se daje nitima u kvantima u krugu (vidi sliku 2) u skladu s njihovim prioritetima:

Slika 2 - shema za dodjelu vremenskih odsječaka nitima (P)

Kada se kreira proces, sustav automatski kreira primarnu nit; tada primarna nit može stvoriti dodatne niti pomoću funkcije CreateThread.

Niti se također mogu kreirati pomoću upravljačkih programa kernel moda.

U WinNT, 2000, XP Windows Server - dretvi se može dodijeliti poseban procesor (može biti do 32 procesora), tada se dretve zapravo izvode paralelno.

1.2 Alati za upravljanje procesima

Windows OS ima ugrađeni program Task Manager, s kojim možete dobiti informacije o sustavu i aplikacijskim procesima koji se izvode u sustavu, broju niti koje koriste i resursima koje troše, upravljati izvršavanjem procesa i mijenjati prioritete procesa . Za pokretanje upravitelja zadataka možete koristiti kombinaciju Alt+Ctrl+Del ili desnom tipkom miša kliknuti programsku traku. Prozor upravitelja zadataka prikazan je na sl. 3.

Slika 3 - Prozor upravitelja zadataka (kartica Procesi)

U prozoru Procesi možete vidjeti popis svih procesa koji se izvode u sustavu i njihove parametre - na slici 3 to su identifikatori procesa, CPU opterećenje po svakom procesu i broj niti. Imajte na umu da broj niti jednak 0 ne znači da ih stvarno nema (ovo je proces).

Pomoću izbornika Pogled možete ukloniti parametre prikazane na slici 3 s popisa ili dodati nove.

Kartica Performance (vidi sliku 4) omogućuje prikaz grafikona ukupnog CPU opterećenja, upotrebe stranične datoteke, kao i dobivanje informacija o ukupnoj potrošnji resursa računala.

Upravitelj zadataka je vrlo jednostavan alat, njegove mogućnosti nisu dovoljne za rješavanje čak ni jednostavnih problema analize i upravljanja sustavom. PRIMJER - izgraditi stablo procesa koji se izvode u sustavu na temelju informacija dobivenih pomoću upravitelja zadataka.

Sysinternals je razvio program Process Explorer koji ima znatno veće mogućnosti od Microsoft task managera, kao i niz drugih programa za upravljanje i analizu računala sigurnost informacija. Međutim, svi su ti programi besplatni. samo za osobna upotreba te se u sadašnjoj fazi bez licence ne mogu koristiti u nastavnom procesu odjela.

Slika 4 - Prozor upravitelja zadataka (kartica Performanse)

2. NAČIN IZVRŠENJA

1. Pokrenite upravitelj zadataka, pogledajte popis parametara procesa (prikaz izbornika, kartica Procesi).

2. Upoznajte se s mogućnostima upravitelja zadataka za upravljanje procesima (stvaranje procesa i završetak procesa). Promijenite prioritet odabranog procesa pomoću kontekstnog izbornika.

3. Upoznajte se s mogućnostima dispečera za upravljanje prikazom informacija na ekranu (poređanje popisa uzlaznim i silaznim redoslijedom vrijednosti odabranog parametra).

4. Izgradite grafikon promjena u CPU opterećenju prilikom pomicanja miša, promjene veličine prozora upravitelja i pokretanja Open Office aplikacija.

5. Izgradite grafikon promjena u veličini memorije dodijeljene u straničnoj datoteci prilikom pokretanja aplikacija (Open Office, Visual Studio).

6. Dobiti popis tekućih procesa u skladu s pojedinačnim zadacima za timove

Tablica 1. Individualni zadaci

Tablica 2 - Parametri procesa

3. IZVJEŠĆE O RADU

Pripremljeno u pisanom obliku koristeći Open Office, jedan po timu.

1. Naslovnica s brojem i naslovom rada, brojem grupe, brojem brigade, imenima učenika i nastavnika

2. Popis procesnih parametara koji se koriste pri izvođenju radova

3. Rezultati dobiveni rješavanjem pojedinog zadatka.

KONTROLNA PITANJA

1. Definirajte proces, nit, sustav i proces aplikacije

2. Koje su informacije potrebne za izradu popisa procesa koji se izvode u sustavu u obliku stabla. Je li moguće dobiti takve informacije u MS Windows-u pomoću upravitelja zadataka?