{"id":30992,"date":"2019-10-31T21:38:47","date_gmt":"2019-10-31T18:38:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod\/"},"modified":"2019-10-31T21:38:47","modified_gmt":"2019-10-31T18:38:47","slug":"operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod","title":{"rendered":"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1>Hyrje n\u00eb sistemet operative<\/h1>\n<p>\nP\u00ebrsh\u00ebndetje, Habr! D\u00ebshiroj t'ju prezantoj nj\u00eb seri artikujsh-p\u00ebrkthime mbi nj\u00eb literatur\u00eb q\u00eb e konsideroj interesante \u2014 OSTEP. Ky material shqyrton n\u00eb m\u00ebnyr\u00eb t\u00eb thell\u00eb funksionimin e sistemeve operative t\u00eb ngjashme me Unix, sidomos \u2014 menaxhimin e proceseve, planifikuesit e ndrysh\u00ebm, memorjen dhe komponent\u00eb t\u00eb tjer\u00eb t\u00eb till\u00eb q\u00eb p\u00ebrb\u00ebjn\u00eb nj\u00eb sistem operativ modern. Origjinali i t\u00eb gjitha materialeve mund ta shihni k\u00ebtu <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/\">k\u00ebtu<\/a><\/noindex>. Ju lutem, mbani n\u00eb mend se p\u00ebrkthimi \u00ebsht\u00eb b\u00ebr\u00eb n\u00eb m\u00ebnyr\u00eb jo profesionale (mjaft e lir\u00eb), por shpresoj se e kam ruajtur kuptimin e p\u00ebrgjithsh\u00ebm.<\/p>\n<p>Laborator\u00ebt p\u00ebr k\u00ebt\u00eb l\u00ebnd\u00eb mund t'i gjeni k\u00ebtu:<\/p>\n<ul>\n<li>origjinali: <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html\">pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html<\/a><\/noindex><\/li>\n<li>origjinali: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/remzi-arpacidusseau\/ostep-code\">github.com\/remzi-arpacidusseau\/ostep-code<\/a><\/noindex><\/li>\n<li>adaptimi im personal: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">github.com\/bykvaadm\/OS\/tree\/master\/ostep<\/a><\/noindex><\/li>\n<\/ul>\n<p>\nPjes\u00eb t\u00eb tjera:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/446340\/\">Pjesa 1: Intro<\/a><\/noindex><\/li>\n<\/ul>\n<p>\nPo ashtu mund t\u00eb d\u00ebshironi t\u00eb vizitoni kanalin tim n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/bykvaadm\">telegram<\/a><\/noindex> =)<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Le t\u00eb shqyrtojm\u00eb abstraksionin m\u00eb themelor q\u00eb OS i ofron p\u00ebrdoruesve: procesi. Definimi i procesit \u00ebsht\u00eb mjaft i thjesht\u00eb \u2014 kjo \u00ebsht\u00eb <b>nj\u00eb program n\u00eb pun\u00eb<\/b>. Programi vet\u00eb \u00ebsht\u00eb nj\u00eb gj\u00eb e pajet\u00eb, q\u00eb ndodhet n\u00eb disk \u2014 ajo \u00ebsht\u00eb nj\u00eb grup instruksionesh dhe ndoshta disa t\u00eb dh\u00ebnash statike, q\u00eb presin momentin e aktivizimit. Pik\u00ebrisht OS merr k\u00ebto byte dhe i aktivizon, duke i transformuar programin n\u00eb di\u00e7ka t\u00eb dobishme.<br \/>\n Shumica e p\u00ebrdoruesve d\u00ebshirojn\u00eb t\u00eb drejtojn\u00eb m\u00eb shum\u00eb se nj\u00eb program nj\u00ebkoh\u00ebsisht, p\u00ebr shembull, mund t\u00eb hapni n\u00eb laptop tuaj nj\u00eb shfletues, nj\u00eb loj\u00eb, nj\u00eb player multimedia, nj\u00eb redaktues teksti dhe gj\u00ebra t\u00eb ngjashme. N\u00eb t\u00eb v\u00ebrtet\u00eb, nj\u00eb sistem tipik mund t\u00eb drejtoj\u00eb dhjet\u00ebra dhe qindra procese nj\u00ebkoh\u00ebsisht. Ky fakt e b\u00ebn sistemin m\u00eb t\u00eb leht\u00eb p\u00ebr t'u p\u00ebrdorur, kurr\u00eb nuk keni p\u00ebr t\u00eb shqet\u00ebsuar n\u00ebse CPU \u00ebsht\u00eb e lir\u00eb, thjesht hapni programet.<\/p>\n<p><i>K\u00ebtu lind problemi: si t\u00eb krijoni iluzionin e shum\u00eb CPU-ve? Si mund t\u00eb krijoj\u00eb OS iluzionin e nj\u00eb numri praktikisht t\u00eb pafund CPU-sh, edhe n\u00ebse keni vet\u00ebm nj\u00eb CPU fizik?<\/i><\/p>\n<p>OS-ja krijon k\u00ebt\u00eb iluzion p\u00ebrmes virtualizimit t\u00eb CPU-s\u00eb. Duke drejtuar nj\u00eb proces, pastaj duke e ndaluar at\u00eb, duke hapur nj\u00eb proces tjet\u00ebr dhe k\u00ebshtu me radh\u00eb, OS-ja mund t\u00eb mbaj\u00eb iluzionin q\u00eb ekzistojn\u00eb shum\u00eb CPU virtuale, edhe pse n\u00eb t\u00eb v\u00ebrtet\u00eb do t\u00eb jet\u00eb nj\u00eb ose disa procese fizike. Kjo teknik\u00eb quhet <b>ndarja e burimeve t\u00eb CPU-s\u00eb sipas koh\u00ebs<\/b>. Kjo teknologji u lejon p\u00ebrdoruesve t\u00eb nisin sa m\u00eb shum\u00eb procese t\u00eb nj\u00ebkohshme sa t\u00eb duan. \u00c7mimi i k\u00ebsaj zgjidhjeje \u00ebsht\u00eb performanca \u2013 pasi n\u00ebse CPU ndan disa procese, \u00e7do proces do t\u00eb p\u00ebrpunoj\u00eb m\u00eb ngadal\u00eb.<br \/>\n P\u00ebr t\u00eb realizuar virtualizimin e CPU-s\u00eb, ve\u00e7an\u00ebrisht p\u00ebr ta b\u00ebr\u00eb k\u00ebt\u00eb mir\u00eb, sistemi operativ ka nevoj\u00eb p\u00ebr mb\u00ebshtetje t\u00eb ul\u00ebt dhe t\u00eb lart\u00eb. Mb\u00ebshtetje e ul\u00ebt quhet <b>mekanizmat<\/b> \u2014 k\u00ebto jan\u00eb metoda apo protokolle t\u00eb ul\u00ebta q\u00eb realizojn\u00eb pjes\u00ebn e nevojshme t\u00eb funksionalitetit. Nj\u00eb shembuj i till\u00eb funksionaliteti \u00ebsht\u00eb ndryshimi i konteksteve, i cili i duh\u00ebt sistemit operativ p\u00ebr t\u00eb ndaluar nj\u00eb program dhe p\u00ebr t\u00eb nisur nj\u00eb program tjet\u00ebr n\u00eb procesor. Ky ndarje n\u00eb koh\u00eb \u00ebsht\u00eb realizuar n\u00eb t\u00eb gjitha sistemet operativ moderne.<br \/>\n N\u00eb maj\u00eb t\u00eb k\u00ebtyre mekanizmave ka disa logjik\u00eb, e vendosur n\u00eb sistemin operativ, n\u00eb form\u00ebn e \u201cpolitikave\u201d. <b>Politika<\/b> \u2014 \u00ebsht\u00eb nj\u00eb algorit\u00ebm i caktimit t\u00eb vendimeve nga sistemi operativ. K\u00ebto politika, p\u00ebr shembull, vendosin se cilin program duhet t\u00eb nis\u00eb (nga lista e komandave) m\u00eb par\u00eb. K\u00ebshtu, p\u00ebr shembull, k\u00ebt\u00eb detyr\u00eb do ta zgjidh\u00eb nj\u00eb politik\u00eb q\u00eb quhet <b>politika e caktimit (scheduling policy)<\/b> dhe gjat\u00eb zgjedhjes s\u00eb zgjidhjes do t\u00eb udh\u00ebhiqet nga t\u00eb dh\u00ebna t\u00eb tilla si: historia e p\u00ebrgatitjes (cila program ka qen\u00eb e ekzekutuar m\u00eb gjat\u00eb gjat\u00eb minut\u00ebs s\u00eb fundit), \u00e7far\u00eb ngarkese p\u00ebrmbush ky proces (\u00e7far\u00eb lloj programesh jan\u00eb ekzekutuar), metrikat e performanc\u00ebs (n\u00ebse sistema \u00ebsht\u00eb optimizuar p\u00ebr nd\u00ebrveprimin interaktiv ose p\u00ebr kapacitetin e kalimit) dhe k\u00ebshtu me radh\u00eb.<\/p>\n<h3>Abstraksioni: procesi<\/h3>\n<p>\n Abstraksioni i nj\u00eb programi n\u00eb ekzekutim, i realizuar nga sistemi operacional, \u00ebsht\u00eb ajo q\u00eb ne e quajm\u00eb <b>proces<\/b>. Si\u00e7 \u00ebsht\u00eb th\u00ebn\u00eb m\u00eb par\u00eb, procesi \u00ebsht\u00eb thjesht nj\u00eb program n\u00eb ekzekutim, n\u00eb \u00e7do moment t\u00eb caktuar t\u00eb koh\u00ebs. Programi me an\u00eb t\u00eb t\u00eb cilit ne mund t\u00eb marrim informacion t\u00eb p\u00ebrmbledhur nga burime t\u00eb ndryshme t\u00eb sistemit, dhe q\u00eb i referohet ose q\u00eb preken nga ky program gjat\u00eb ekzekutimit t\u00eb tij.<br \/>\n P\u00ebr t\u00eb kuptuar p\u00ebrb\u00ebr\u00ebsit e procesit, duhet t\u00eb kuptojm\u00eb gjendjet e sistemit: \u00e7far\u00eb mund t\u00eb lexoj\u00eb ose ndryshoj\u00eb programi gjat\u00eb pun\u00ebs s\u00eb tij. N\u00eb \u00e7do moment t\u00eb caktuar, duhet t\u00eb kuptojm\u00eb se cilat elemente t\u00eb sistemit jan\u00eb t\u00eb r\u00ebnd\u00ebsishme p\u00ebr ekzekutimin e programit.<br \/>\n Nj\u00eb nga element\u00ebt e duksh\u00ebm t\u00eb gjendjes s\u00eb sistemit, t\u00eb cilat procesi p\u00ebrfshin \u2014 \u00ebsht\u00eb <b>\u043f\u0430\u043c\u044f\u0442\u044c<\/b>. Instruksionet vendosen n\u00eb memorie. T\u00eb dh\u00ebnat q\u00eb programi lexon ose shkruan gjithashtu, jan\u00eb t\u00eb vendosura n\u00eb memorie. Pra, memoria q\u00eb procesi mund t\u00eb adresoj\u00eb (e ashtuquajtur hap\u00ebsir\u00eb adresimi) \u00ebsht\u00eb nj\u00eb pjes\u00eb e procesit.<br \/>\n Gjithashtu, nj\u00eb pjes\u00eb e gjendjes s\u00eb sistemit jan\u00eb regjistrat. Shum\u00eb instruksione kan\u00eb p\u00ebr q\u00ebllim t\u00eb ndryshojn\u00eb vler\u00ebn e regjistrave ose t\u00eb lexojn\u00eb vler\u00ebn e tyre dhe k\u00ebshtu regjistrat b\u00ebhen gjithashtu nj\u00eb pjes\u00eb e r\u00ebnd\u00ebsishme e funksionimit t\u00eb procesit. <br \/>\nDuhet t\u00eb theksohet se gjendja e makin\u00ebs formohet edhe nga disa regjistra special\u00eb. P\u00ebr shembull,<b> IP \u2014 treguesi i instrukcioni<\/b> \u2014 tregon p\u00ebr instrukcionin q\u00eb programi po ekzekuton n\u00eb k\u00ebt\u00eb moment. Ka gjithashtu <b>treguesin e stack<\/b> dhe t\u00eb lidhur me t\u00eb <b>treguesin e korniz\u00ebs<\/b>, t\u00eb cilat p\u00ebrdoren p\u00ebr menaxhimin: parametrave t\u00eb funksioneve, variablave lokal\u00eb dhe adresave t\u00eb kthimit.<br \/>\nM\u00eb n\u00eb fund, programet shpesh i referohen ROM (memoris\u00eb s\u00eb p\u00ebrhershme). Kjo informacion n\u00eb lidhje me \u201cI\/O\u201d (hyrje-dalje) duhet t\u00eb p\u00ebrfshij\u00eb nj\u00eb list\u00eb t\u00eb skedar\u00ebve q\u00eb procesi ka hapur n\u00eb k\u00ebt\u00eb moment.<\/p>\n<h3>Process API<\/h3>\n<p>\n P\u00ebr t\u00eb p\u00ebrmir\u00ebsuar kuptimin e funksionit t\u00eb procesit, le t\u00eb shqyrtojm\u00eb shembuj t\u00eb thirrjeve sistemore q\u00eb duhet t\u00eb p\u00ebrfshihen n\u00eb \u00e7do nd\u00ebrfaqe operative. K\u00ebto API jan\u00eb n\u00eb form\u00eb t\u00eb caktuar t\u00eb disponueshme n\u00eb \u00e7do OS.<\/p>\n<p>\u25cf <b>Create<\/b> (krijimi): Nj\u00eb metod\u00eb e till\u00eb duhet t\u00eb jet\u00eb e pranishme n\u00eb OS q\u00eb lejon krijimin e proceseve t\u00eb reja. Kur vendosni nj\u00eb komand\u00eb n\u00eb terminal ose hapni nj\u00eb aplikacion duke dyfishuar klikimin n\u00eb ikon\u00eb, d\u00ebrgohet nj\u00eb k\u00ebrkes\u00eb n\u00eb OS p\u00ebr t\u00eb krijuar nj\u00eb proces t\u00eb ri dhe p\u00ebr t\u00eb nisur programin e specifikuar.<br \/>\n\u25cf <b>Fshirja<\/b>: Duke qen\u00eb se ka nj\u00eb nd\u00ebrfaqe p\u00ebr krijimin e proceseve, OS duhet gjithashtu t\u00eb ofroj\u00eb mund\u00ebsin\u00eb p\u00ebr t\u00eb fshir\u00eb me forc\u00eb nj\u00eb proces. Shumica e programeve pritet t\u00eb ekzekutohen dhe t\u00eb mbyllen vetvetiu gjat\u00eb funksionimit t\u00eb tyre. N\u00eb t\u00eb kund\u00ebrt, p\u00ebrdoruesi do t\u00eb doj\u00eb t\u00eb ket\u00eb mund\u00ebsin\u00eb p\u00ebr t'i p\u00ebrfunduar ato, k\u00ebshtu q\u00eb nj\u00eb nd\u00ebrfaqe p\u00ebr ndalimin e procesit do t\u00eb ishte e dobishme.<br \/>\n\u25cf <b>Wait <\/b>(pritja): Ndonj\u00ebher\u00eb \u00ebsht\u00eb e dobishme t\u00eb prisni p\u00ebr p\u00ebrfundimin e nj\u00eb procesi, ndaj ofrohen disa nd\u00ebrfaqe q\u00eb ofrojn\u00eb mund\u00ebsi pritjeje.<br \/>\n\u25cf <b>Misc Control<\/b> (menaxhimi i ndrysh\u00ebm): P\u00ebrve\u00e7 vrasjes dhe pritjes s\u00eb procesit, ekzistojn\u00eb edhe metoda t\u00eb tjera t\u00eb ndryshme kontrolluese. P\u00ebr shembull, shumica e OS-ve ofrojn\u00eb mund\u00ebsin\u00eb p\u00ebr t\u00eb ngrir\u00eb nj\u00eb proces (ndalimi i ekzekutimit t\u00eb tij p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar) dhe pastaj p\u00ebr ta rinisur (vazhdimi i ekzekutimit).<br \/>\n\u25cf <b>Statusi <\/b>(gjendja): Ekzistojn\u00eb nd\u00ebrfaqe t\u00eb ndryshme p\u00ebr t\u00eb marr\u00eb disa informata mbi statusin e procesit, si\u00e7 jan\u00eb koha e pun\u00ebs s\u00eb tij ose n\u00eb cil\u00ebn gjendje ndodhet tani.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/eccf4ba3b12a60a54a62bb13986a7783.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Krijimi i procesit: detajet<\/h3>\n<p>Nj\u00eb nga gj\u00ebrat interesante \u00ebsht\u00eb se si programet transformohen n\u00eb procese. Ve\u00e7an\u00ebrisht, si OS e ngre dhe e nis programin. Si krijohet konkretisht nj\u00eb proces.<br \/>\nS\u00eb pari, OS duhet t\u00eb ngarkoj\u00eb kodin e programit dhe t\u00eb dh\u00ebnat statike n\u00eb memorie (n\u00eb hap\u00ebsir\u00ebn adresore t\u00eb procesit). Programet zakonisht ndodhen n\u00eb disk ose n\u00eb nj\u00eb ruajt\u00ebs t\u00eb ngurt\u00eb n\u00eb nj\u00eb format ekzekutues t\u00eb caktuar. Prandaj, procesi i ngarkimit t\u00eb programit dhe t\u00eb dh\u00ebnave statike n\u00eb memorie k\u00ebrkon nga OS mund\u00ebsin\u00eb p\u00ebr t\u00eb lexuar k\u00ebto byte nga disku dhe p\u00ebr t\u2019i vendosur ato diku n\u00eb memorie.<\/p>\n<p>N\u00eb sistemet operative t\u00eb hershme, procesi i ngarkes\u00ebs realizohej me padurim, q\u00eb do t\u00eb thot\u00eb se kodi ngarkohej n\u00eb memorie n\u00eb t\u00ebr\u00ebsi para se t\u00eb fillonte programi. Sistemet moderne b\u00ebjn\u00eb k\u00ebt\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb ngadalt\u00eb, ngjash\u00ebm me ngarkimin e copave t\u00eb kodit ose t\u00eb dh\u00ebnave vet\u00ebm kur ato k\u00ebrkohen nga programi gjat\u00eb ekzekutimit t\u00eb tij.<\/p>\n<p>PasiKodi dhe t\u00eb dh\u00ebnat statike ngarkohet n\u00eb memorie, sistemi operativ duhet t\u00eb kryej\u00eb disa gj\u00ebra p\u00ebrpara se t\u00eb nis\u00eb procesin. Nj\u00eb sasi memorie duhet t\u00eb ndahet p\u00ebr stek. <b>Programet p\u00ebrdorin stek p\u00ebr variablat lokal\u00eb, parametrat e funksioneve dhe adresat e rikthimit.<\/b>. Sistemi operativ e ndan k\u00ebt\u00eb memorie dhe ia jep procesit. Steku gjithashtu mund t\u00eb ndar\u00eb disa argumente, posa\u00e7\u00ebrisht mbush parametrat e funksionit main(), si\u00e7 jan\u00eb masat argc dhe argv.<\/p>\n<p>Sistemi operativ gjithashtu mund t\u00eb ndar\u00eb nj\u00eb sasi memorie p\u00ebr grumbullin e programit. <b>Grumbulli p\u00ebrdoret nga programet p\u00ebr t\u00eb dh\u00ebna dinamike q\u00eb k\u00ebrkohen shprehimisht.<\/b>. Programet k\u00ebrkojn\u00eb k\u00ebt\u00eb hap\u00ebsir\u00eb duke thirrur funksionin <b>malloc()<\/b> dhe e \u00e7liron at\u00eb duke thirrur funksionin <b>free()<\/b>. Koshat nevojitet p\u00ebr strukturat e till\u00eb t\u00eb t\u00eb dh\u00ebnave si: lista t\u00eb lidhura, tabela t\u00eb hash-it, pem\u00eb dhe t\u00eb tjera. Fillimisht, hapsira e nevojshme e alokuar p\u00ebr koshin \u00ebsht\u00eb e vog\u00ebl, por me kalimin e koh\u00ebs, gjat\u00eb funksionimit t\u00eb programit, koshat mund t\u00eb k\u00ebrkojn\u00eb m\u00eb shum\u00eb hapsir\u00eb p\u00ebrmes thirrjes API t\u00eb bibliotek\u00ebs malloc(). Sistemi operativ \u00ebsht\u00eb i p\u00ebrfshir\u00eb n\u00eb procesin e alokimit t\u00eb m\u00eb shum\u00eb hapsir\u00ebs p\u00ebr t\u00eb ndihmuar n\u00eb k\u00ebnaqjen e k\u00ebtyre thirrjeve.<\/p>\n<p>Sistemi operativ gjithashtu do t\u00eb kryej\u00eb detyra inicializimi, ve\u00e7an\u00ebrisht ato q\u00eb lidhen me hyrjen dhe daljen. P\u00ebr shembull, n\u00eb sistemet UNIX, \u00e7do proces ka p\u00ebr default 3 deshkrime t\u00eb hapura t\u00eb skedar\u00ebve p\u00ebr rrjedh\u00ebn standarde t\u00eb hyrjes, daljes dhe gabimeve. K\u00ebto deshkrime lejojn\u00eb programet t\u00eb lexojn\u00eb hyrjen nga terminali dhe gjithashtu t\u00eb nxjerrin informacion n\u00eb ekran. <\/p>\n<p>K\u00ebshtu, duke ngarkuar kodin dhe t\u00eb dh\u00ebnat statike n\u00eb memories, duke krijuar dhe inicializuar stekun, si dhe duke kryer pun\u00eb t\u00eb tjera q\u00eb lidhen me ekzekutimin e detyrave t\u00eb hyrjes dhe daljes, sistemi operativ p\u00ebrgatit terrenin p\u00ebr ekzekutimin e procesit. N\u00eb fund t\u00eb fundit, mbetet detyra e fundit: t\u00eb nisni programin p\u00ebr ekzekutim n\u00ebp\u00ebrmjet pik\u00ebs s\u00eb tij t\u00eb hyrjes, e quajtur funksioni main(). Duke u kaluar n\u00eb ekzekutimin e funksionit main(), sistemi operativ i kalon kontrollin CPU-s\u00eb procesit t\u00eb sapo krijuar, k\u00ebshtu q\u00eb programi fillon t\u00eb ekzekutohet. <\/p>\n<h3>Gjendja e procesit<\/h3>\n<p>\n Tani, kur kemi nj\u00eb kuptim t\u00eb caktuar se \u00e7far\u00eb \u00ebsht\u00eb nj\u00eb proces dhe si krijohet ai, le t\u00eb rendisim gjendjet e procesit n\u00eb t\u00eb cilat ai mund t\u00eb ndodhet. N\u00eb form\u00ebn m\u00eb t\u00eb thjesht\u00eb, procesi mund t\u00eb ndodhet n\u00eb nj\u00ebr\u00ebn nga k\u00ebto gjendje:<br \/>\n\u25cf <b>Running<\/b>. N\u00eb gjendjen e ekzekutimit, procesi po ekzekutohet n\u00eb procesor. Kjo do t\u00eb thot\u00eb se po ndodh ekzekutimi i instrukcioneve.<br \/>\n\u25cf <b>Gati<\/b>. N\u00eb gjendjen e gatshme, procesi \u00ebsht\u00eb gati t\u00eb filloj\u00eb, por p\u00ebr disa arsye sistemi operativ nuk e ekzekuton at\u00eb n\u00eb momentin e caktuar.<br \/>\n\u25cf <b>Blokuar<\/b>. N\u00eb gjendje t\u00eb bllokuar, procesi kryen disa operacione q\u00eb nuk e lejojn\u00eb at\u00eb t\u00eb jet\u00eb i gatsh\u00ebm p\u00ebr ekzekutim deri sa t\u00eb ndodhi nj\u00eb ngjarje. Nj\u00eb nga shembujt e zakonsh\u00ebm \u00ebsht\u00eb kur procesi inicializon nj\u00eb operacion IO, ai b\u00ebhet i bllokuar dhe k\u00ebshtu nj\u00eb proces tjet\u00ebr mund ta p\u00ebrdor\u00eb procesorin.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/d2c01bdb08e7b7aeea78edcbf6ce0250.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00eb imagjinojm\u00eb k\u00ebto gjendje si nj\u00eb graf. Si\u00e7 mund t\u00eb shohim n\u00eb figur\u00eb, gjendja e procesit mund t\u00eb ndryshoj\u00eb mes RUNNING dhe READY sipas vendimit t\u00eb OS. Kur gjendja e procesit fillon nga READY n\u00eb RUNNING, kjo do t\u00eb thot\u00eb se procesi \u00ebsht\u00eb planifikuar. N\u00eb an\u00ebn tjet\u00ebr, \u00ebsht\u00eb larguar nga planifikimi. N\u00eb momentin kur procesi b\u00ebhet BLOCKED, p\u00ebr shembull, duke inicializuar nj\u00eb operacion IO, OS do ta mbaj\u00eb at\u00eb n\u00eb k\u00ebt\u00eb gjendje deri sa t\u00eb ndodhi nj\u00eb ngjarje, si p\u00ebrfundimi i IO. N\u00eb k\u00ebt\u00eb moment, ndodh kalimi n\u00eb gjendjen READY dhe ndoshta menj\u00ebher\u00eb n\u00eb gjendjen RUNNING, n\u00ebse k\u00ebshtu vendos OS. <br \/>\nLe t\u00eb shohim nj\u00eb shembull se si dy procese kalojn\u00eb p\u00ebrmes k\u00ebtyre gjendjeve. S\u00eb pari, le t\u00eb imagjinojm\u00eb se t\u00eb dy proceset jan\u00eb t\u00eb aktivizuar, dhe secili p\u00ebrdor vet\u00ebm CPU. N\u00eb k\u00ebt\u00eb rast, gjendjet e tyre do t\u00eb duken si m\u00eb posht\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/904cef8e04c2f0d8eaf4fdc5860f5bfd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb shembullin tjet\u00ebr, procesi i par\u00eb pas nj\u00eb kohe pune k\u00ebrkon IO dhe kalon n\u00eb gjendjen BLOCKED, duke i dh\u00ebn\u00eb mund\u00ebsin\u00eb procesit tjet\u00ebr t\u00eb filloj\u00eb (SHK 1.4). OS sheh se procesi 0 nuk po p\u00ebrdor CPU dhe fillon procesin 1. Gjat\u00eb ekzekutimit t\u00eb procesit 1 \u2014 IO p\u00ebrfundon dhe statusi i procesit 0 ndryshon n\u00eb READY. S\u00eb fundi, procesi 1 p\u00ebrfundon dhe pas p\u00ebrfundimit t\u00eb tij, procesi 0 fillohet, ekzekutohet dhe p\u00ebrfundon pun\u00ebn e tij.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/06f44895cc976e7755c1f7bf5afe466b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Struktura e t\u00eb dh\u00ebnave<\/h3>\n<p>\n OS vet\u00eb \u00ebsht\u00eb nj\u00eb program, dhe si \u00e7do program tjet\u00ebr, ka disa struktura ky\u00e7e t\u00eb t\u00eb dh\u00ebnave q\u00eb ndjekin pjes\u00eb t\u00eb ndryshme relevante informacioni. P\u00ebr t\u00eb mbajtur n\u00ebn kontroll gjendjen e \u00e7do procesi, OS do t\u00eb mbaj\u00eb nj\u00eb <b>list\u00eb procesesh<\/b> p\u00ebr t\u00eb gjitha proceset n\u00eb gjendjen READY dhe disa informacione shtes\u00eb p\u00ebr t\u00eb ndjekur proceset q\u00eb po kryhen tani. Gjithashtu, sistemi operativ duhet t\u00eb ndjek\u00eb edhe proceset e bllokuara. Pasi t\u00eb p\u00ebrfundoj\u00eb IO, sistemi operativ \u00ebsht\u00eb i detyruar t\u00eb zgjoj\u00eb procesin e duhur dhe ta \u00e7oj\u00eb at\u00eb n\u00eb gjendjen e gatishm\u00ebris\u00eb p\u00ebr t\u00eb filluar.<\/p>\n<p>K\u00ebshtu, p\u00ebr shembull, sistemi operativ duhet t\u00eb ruaj\u00eb gjendjen e regjistrave t\u00eb procesorit. N\u00eb momentin e ndalimit t\u00eb procesit, gjendja e regjistrave ruhet n\u00eb hap\u00ebsir\u00ebn adresore t\u00eb procesit, dhe n\u00eb momentin e vazhduesh\u00ebm t\u00eb pun\u00ebs s\u00eb tij \u2014 rikthehen vlerat e regjistrave dhe k\u00ebshtu vazhdohet kryerja e k\u00ebtij procesi.<\/p>\n<p>P\u00ebrve\u00e7 gjendjeve ready, blocked, running ekzistojn\u00eb edhe disa gjendje t\u00eb tjera. Ndonj\u00ebher\u00eb n\u00eb momentin e krijimit, procesi mund t\u00eb ket\u00eb gjendjen INIT. N\u00eb fund, procesi mund t\u00eb vendoset n\u00eb gjendjen FINAL, kur ai tashm\u00eb \u00ebsht\u00eb p\u00ebrfunduar, por informacioni rreth tij nuk \u00ebsht\u00eb pastruar ende. N\u00eb sistemet UNIX, kjo gjendje quhet <b>proces-zombi<\/b>. Ky ky\u00e7 fuqon p\u00ebr rastet kur procesi prind d\u00ebshiron t\u00eb dij\u00eb kodin e kthimit t\u00eb procesit f\u00ebmij\u00eb, p\u00ebr shembull, zakonisht 0 tregon p\u00ebrfundimin e suksessh\u00ebm, nd\u00ebrsa 1 p\u00ebr nj\u00eb gabim, megjithat\u00eb programuesit mund t\u00eb krijojn\u00eb kode t\u00eb tjera t\u00eb daljes, duke sinjalizuar p\u00ebr probleme t\u00eb ndryshme. Kur p\u00ebrfundon, procesi prind b\u00ebn thirjen e fundit t\u00eb sistemit, p\u00ebr shembull wait(), p\u00ebr t\u00eb pritur p\u00ebrfundimin e pun\u00ebs s\u00eb procesit f\u00ebmij\u00eb dhe p\u00ebr t\u00eb sinjalizuar OS-n\u00eb q\u00eb t\u00eb pastroj\u00eb \u00e7do t\u00eb dh\u00ebn\u00eb t\u00eb lidhur me procesin e p\u00ebrfunduar.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemet Operative: Tri Pjesa t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/4756790c823a7e9ebbe26ff067ca00cc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Pikat kryesore t\u00eb leksionit:<\/h3>\n<p>\n\u25cf <b>Procesi <\/b> \u2014 \u00ebsht\u00eb abstraksioni kryesor i nj\u00eb programi n\u00eb funksionim n\u00eb OS. N\u00eb \u00e7do moment, procesi mund t\u00eb p\u00ebrshkruhet p\u00ebrmes gjendjes s\u00eb tij: p\u00ebrmbajtja e memories n\u00eb hap\u00ebsir\u00ebn e tij adresore, p\u00ebrmbajtja e regjistrave t\u00eb procesorit, duke p\u00ebrfshir\u00eb pointer-in e udh\u00ebzimeve dhe pointer-in e stack-ut, si dhe informacione p\u00ebr IO, p\u00ebr shembull, skedar\u00ebt e hapur q\u00eb po lexohen ose shkruhen.<br \/>\n\u25cf <b>Process API<\/b> p\u00ebrb\u00ebhet nga thirrjet q\u00eb programet mund t\u00eb b\u00ebjn\u00eb n\u00eb lidhje me proceset. Zakonisht, k\u00ebto jan\u00eb thirrje p\u00ebr krijimin, fshirjen ose t\u00eb tjerat.<br \/>\n\u25cf Procesi ndodhet n\u00eb nj\u00eb nga shum\u00eb gjendje, duke p\u00ebrfshir\u00eb running, ready, blocked. Ngjarje t\u00eb ndryshme, si planifikimi, p\u00ebrjashtimi nga planifikimi ose pritja, mund t\u00eb shnd\u00ebrrojn\u00eb gjendjen e procesit nga nj\u00ebra n\u00eb tjetr\u00ebn.<br \/>\n\u25cf <b>Lista e proceseve<\/b> p\u00ebrmban informacion rreth t\u00eb gjitha proceseve n\u00eb sistem. \u00c7do rekord n\u00eb t\u00eb quhet blloku i kontrollit t\u00eb procesit, i cili n\u00eb realitet \u00ebsht\u00eb nj\u00eb struktur\u00eb q\u00eb p\u00ebrmban t\u00eb gjitha informacionet e nevojshme p\u00ebr nj\u00eb proces t\u00eb ve\u00e7ant\u00eb.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446866\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22968,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30992","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 2: \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f: \u041f\u0440\u043e\u0446\u0435\u0441\u0441 (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:38:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:38:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sistemet Operative: Tri Cop\u00eb t\u00eb Lehta. Pjesa 2: Abstraksioni: Procesi (p\u00ebrkthim) | ProHoster","description":"Hyrje n\u00eb sistemet operative. P\u00ebrsh\u00ebndetje, Habr! Dua t\u00eb ju prezantoj me nj\u00eb seri artikujsh p\u00ebrkthimesh t\u00eb nj\u00eb let\u00ebrsie interesante sipas mendimit tim \u2014 OSTEP. N\u00eb k\u00ebt\u00eb material shqyrtohet thell\u00ebsisht funksionimi i sistemeve operative t\u00eb ngjashme me UNIX, ve\u00e7an\u00ebrisht m\u00ebnyra se si punojn\u00eb proceset, planifikuesit e ndrysh\u00ebm, memoria dhe komponent\u00ebt e tjera t\u00eb ngjashme q\u00eb formojn\u00eb nj\u00eb sistem operativ modern. Origjinali i t\u00eb gjith\u00eb materialeve mund t\u00eb shikohet k\u00ebtu.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 2: \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f: \u041f\u0440\u043e\u0446\u0435\u0441\u0441 (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-2-abstraktsiya-protsess-perevod","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:38:47+00:00","article:modified_time":"2019-10-31T18:38:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30992","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:59:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:26:04","updated":"2026-01-21 03:59:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30992"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30992\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/22968"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}