{"id":32730,"date":"2019-10-31T21:48:36","date_gmt":"2019-10-31T18:48:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-5-planirovanie-multi-level-feedback-queue-perevod\/"},"modified":"2021-02-08T11:40:35","modified_gmt":"2021-02-08T09:40:35","slug":"operating-systems-three-easy-pieces-part-5-planirovanie-multi-level-feedback-queue-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-5-planirovanie-multi-level-feedback-queue-perevod","title":{"rendered":"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1>Hyrje n\u00eb sistemet operative<\/h1>\n<p>P\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><noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html\">origjinali<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/remzi-arpacidusseau\/ostep-code\">origjinali<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">adaptimi im personal<\/a><\/noindex><\/li>\n<\/ul>\n<p>Pjes\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<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/446866\/\">Pjesa 2: Abstraksioni: procesi<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/447182\/\">Pjesa 3: Hyrje n\u00eb API-t\u00eb e proceseve<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/449026\/\">Pjesa 4: Hyrje n\u00eb planifikuesin<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/450116\/\">Pjesa 5: Planifikuesi MLFQ<\/a><\/noindex><\/li>\n<\/ul>\n<p>Po 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<h2>Planifikimi: Radh\u00eb Feedback me Shkall\u00eb t\u00eb Shumfisht\u00eb<\/h2>\n<p>N\u00eb k\u00ebt\u00eb ligj\u00ebrat\u00eb do t\u00eb flasim p\u00ebr problemet e zhvillimit t\u00eb nj\u00eb prej qasjeve m\u00eb t\u00eb njohura p\u00ebr<br \/>\nplanifikim, e cila quhet <b>Radh\u00eb Feedback me Shkall\u00eb t\u00eb Shumfisht\u00eb<\/b> (MLFQ). P\u00ebr her\u00eb t\u00eb par\u00eb, planifikuesi MLFQ u p\u00ebrshkrua n\u00eb vitin 1962 nga Fernando J. Corbat\u00f3 n\u00eb sistemin, i quajtur<br \/>\nSistemi i Pjes\u00ebve t\u00eb Koh\u00ebs t\u00eb Pajtuesh\u00ebm (CTSS). K\u00ebto punime (p\u00ebrfshir\u00eb punimet e m\u00ebvonshme mbi<br \/>\nMultics) m\u00eb von\u00eb u paraqit\u00ebn p\u00ebr \u00e7mimin Turing. Planifikuesi u<br \/>\np\u00ebrmir\u00ebsua dhe mori form\u00ebn q\u00eb mund t\u00eb gjejm\u00eb tashm\u00eb n\u00eb<br \/>\ndisa sisteme moderne.<\/p>\n<p>Algoritmi MLFQ p\u00ebrpiqet t\u00eb zgjidh\u00eb 2 probleme themelore t\u00eb mbivendosura.<br \/>\n<b>S\u00eb pari<\/b>, ai p\u00ebrpiqet t\u00eb optimizoj\u00eb koh\u00ebn e kthimit, e cila, si\u00e7 e kemi shqyrtuar n\u00eb ligj\u00ebrat\u00ebn e m\u00ebparshme, optimizohet p\u00ebrmes metod\u00ebs s\u00eb fillimit n\u00eb radh\u00eb t\u00eb detyrave m\u00eb<br \/>\nt\u00eb shkurtra. Megjithat\u00eb, OS nuk di sa gjat\u00eb do t\u00eb punoj\u00eb nj\u00eb proces i caktuar, dhe kjo<br \/>\n\u00ebsht\u00eb njohuri e nevojshme p\u00ebr funksionimin e algoritmeve SJF, STCF. <b>N\u00eb radh\u00eb t\u00eb dyt\u00eb<\/b>, MLFQ p\u00ebrpiqet<br \/>\nt\u00eb b\u00ebj\u00eb sistemin reagues p\u00ebr p\u00ebrdoruesit (p\u00ebr shembull, p\u00ebr ata q\u00eb q\u00ebndrojn\u00eb dhe<br \/>\nshikojn\u00eb ekranin n\u00eb pritje t\u00eb p\u00ebrfundimit t\u00eb detyr\u00ebs) dhe k\u00ebshtu t\u00eb minimizoj\u00eb koh\u00ebn<br \/>\ne reagimit. Fatkeq\u00ebsisht, algoritmet si RR zvog\u00eblojn\u00eb koh\u00ebn e reagimit, por jan\u00eb jasht\u00ebzakonisht<br \/>\nt\u00eb d\u00ebmshme p\u00ebr metriken e koh\u00ebs s\u00eb kthimit. Prandaj, problemi yn\u00eb \u00ebsht\u00eb: Si t\u00eb projektosh<br \/>\nnj\u00eb planifikues q\u00eb do t'i p\u00ebrmbush\u00eb k\u00ebrkesat tona dhe n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb t\u00eb mos dij\u00eb asgj\u00eb p\u00ebr<br \/>\nnatyr\u00ebn e procesit, n\u00eb p\u00ebrgjith\u00ebsi? Si mund t\u00eb m\u00ebsoj\u00eb planifikuesi p\u00ebr karakteristikat e detyrave,<br \/>\nt\u00eb cilat ai aktivizon dhe k\u00ebshtu t\u00eb marr\u00eb vendime m\u00eb t\u00eb mira p\u00ebr planifikimin?<\/p>\n<p><u>Thelbi i problemit: Si t\u00eb planifikosh caktimin e detyrave pa njohuri t\u00eb p\u00ebrsosura?<br \/>\nSi t\u00eb zhvillosh nj\u00eb planifikues q\u00eb minimizon koh\u00ebn e reagimit<br \/>\np\u00ebr detyrat interaktive dhe p\u00ebr m\u00eb tep\u00ebr minimizon koh\u00ebn e kthimit pa njohuri t\u00eb qarta<br \/>\np\u00ebr koh\u00ebn e ekzekutimit t\u00eb detyr\u00ebs?<\/u><\/p>\n<p>Sh\u00ebnim: M\u00ebsojm\u00eb nga ngjarjet e m\u00ebparshme<\/p>\n<p>Radh\u00eb MLFQ \u00ebsht\u00eb nj\u00eb shembull i shk\u00eblqyer i nj\u00eb sistemi q\u00eb m\u00ebson nga<br \/>\nngjarjet e kaluara p\u00ebr t\u00eb parashikuar t\u00eb ardhmen. Qasje t\u00eb tilla shpesh<br \/>\ngjen n\u00eb OS (dhe shum\u00eb industri t\u00eb tjera n\u00eb informatik\u00eb, duke p\u00ebrfshir\u00eb deg\u00ebt<br \/>\ne parashikimeve n\u00eb harduer dhe algoritmet e caching). Qasje t\u00eb tilla<br \/>\njan\u00eb efektive kur detyrat kan\u00eb faza sjelljeje dhe k\u00ebshtu jan\u00eb t\u00eb parashikueshme.<br \/>\nMegjithat\u00eb, me k\u00ebt\u00eb teknik\u00eb duhet t\u00eb jemi t\u00eb kujdessh\u00ebm, sepse parashikimet shum\u00eb leht\u00eb<br \/>\nmund t\u00eb d\u00ebshtojn\u00eb dhe t\u00eb \u00e7ojn\u00eb sistemin n\u00eb marrjen e vendimeve m\u00eb t\u00eb dob\u00ebta se sa<br \/>\ndo ishin pa njohuri fare.<\/p>\n<h3>MLFQ: Rregullat Bazike<\/h3>\n<p>Le t\u00eb shqyrtojm\u00eb rregullat bazike t\u00eb algoritmit MLFQ. Dhe megjith\u00ebse ekzistojn\u00eb disa realizime t\u00eb k\u00ebtij algoritmi, qasjet bazike jan\u00eb t\u00eb ngjashme.<br \/>\nN\u00eb at\u00eb realizim q\u00eb do t\u00eb shqyrtojm\u00eb, n\u00eb MLFQ do t\u00eb ket\u00eb disa<br \/>\nradh\u00eb t\u00eb ve\u00e7anta, secila prej t\u00eb cilave do t\u00eb ket\u00eb prioritet t\u00eb ndrysh\u00ebm. N\u00eb \u00e7do moment,<br \/>\ndetyra q\u00eb \u00ebsht\u00eb gati p\u00ebr ekzekutim ndodhet n\u00eb nj\u00eb radh\u00eb. MLFQ p\u00ebrdor prioritetet,<br \/>\np\u00ebr t\u00eb vendosur se cila detyr\u00eb do t\u00eb aktivizohet p\u00ebr ekzekutim, pra detyra me prioritet m\u00eb t\u00eb lart\u00eb<br \/>\n(detyra nga radh\u00eb me prioritet m\u00eb t\u00eb lart\u00eb) do t\u00eb aktivizohet e para.<br \/>\nPa dyshim, n\u00eb nj\u00eb radh\u00eb t\u00eb caktuar mund t\u00eb ket\u00eb m\u00eb shum\u00eb se nj\u00eb detyr\u00eb, k\u00ebshtu q\u00eb ato do t\u00eb ken\u00eb t\u00eb nj\u00ebjtin prioritet. N\u00eb k\u00ebt\u00eb rast, do t\u00eb p\u00ebrdoret mekanizmi<br \/>\n\u043e\u0447\u0435\u0440\u0435\u0434\u044c.<br \/>\n\u041d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u043e, \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438, \u0442\u0430\u043a\u0438\u043c<br \/>\n\u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0443 \u043d\u0438\u0445 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c<br \/>\nRR p\u00ebr planifikimin e ekzekutimeve midis k\u00ebtyre detyrave.<br \/>\nK\u00ebshtu arrijm\u00eb n\u00eb dy rregulla bazike p\u00ebr MLFQ:<\/p>\n<ul>\n<li> Rregulli 1: N\u00ebse prioriteti(A) &gt; Prioriteti(B), do t\u00eb aktivizohet detyra A (B nuk do t\u00eb aktivizohet)<\/li>\n<li> Rregulli 2: N\u00ebse prioriteti(A) = Prioriteti(B), A dhe B do t\u00eb aktivizohen duke p\u00ebrdorur RR<\/li>\n<\/ul>\n<p>Duke marr\u00eb parasysh t\u00eb m\u00ebsip\u00ebrmet, element\u00ebt ky\u00e7 p\u00ebr planifikimin MLFQ<br \/>\njan\u00eb prioritetet. N\u00eb vend q\u00eb t\u00eb caktoj\u00eb nj\u00eb prioritet t\u00eb fiksuar p\u00ebr \u00e7do<br \/>\ndetyr\u00eb, MLFQ e ndryshon prioritetin e saj n\u00eb var\u00ebsi t\u00eb sjelljeve t\u00eb v\u00ebzhguara.<br \/>\nP\u00ebr shembull, n\u00ebse nj\u00eb detyr\u00eb vazhdimisht hedh pun\u00eb n\u00eb CPU n\u00eb pritje t\u00eb inputit nga tastiera,<br \/>\nMLFQ do t\u00eb ruaj\u00eb prioritetin e procesit n\u00eb nj\u00eb nivel t\u00eb lart\u00eb, sepse k\u00ebshtu<br \/>\nduhet t\u00eb punoj\u00eb nj\u00eb proces interaktiv. N\u00ebse ndodhin p\u00ebrkundrazi, nj\u00eb detyr\u00eb vazhdimisht dhe<br \/>\nintensivisht p\u00ebrdor CPU p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb, MLFQ do t\u00eb ul\u00eb prioritetin e saj.<br \/>\nK\u00ebshtu, MLFQ do t\u00eb m\u00ebsoj\u00eb sjelljen e proceseve gjat\u00eb pun\u00ebs s\u00eb tyre<br \/>\ndhe do t\u00eb p\u00ebrdor\u00eb sjelljet.<br \/>\nLe t\u00eb ilustrojm\u00eb nj\u00eb shembull se si mund t\u00eb duken radh\u00ebt n\u00eb nj\u00eb moment t\u00eb caktuar<br \/>\nkohe, dhe k\u00ebshtu do t\u00eb kemi di\u00e7ka t\u00eb till\u00eb:<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/3598e9ca43a56049625bdcf3074de472.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>N\u00eb k\u00ebt\u00eb skem\u00eb, 2 procese A dhe B ndodhen n\u00eb radh\u00ebn me prioritetin m\u00eb t\u00eb lart\u00eb. Procesi<br \/>\nC \u00ebsht\u00eb diku n\u00eb mes, nd\u00ebrsa procesi D \u00ebsht\u00eb n\u00eb fund t\u00eb radh\u00ebs. Sipas p\u00ebrshkrimeve t\u00eb lart\u00eb<br \/>\nt\u00eb algoritmit MLFQ, planifikuesi do t\u00eb ekzekutoj\u00eb detyrat vet\u00ebm me prioritetin m\u00eb t\u00eb lart\u00eb sipas RR, nd\u00ebrsa detyrat C, D do t\u00eb jen\u00eb t\u00eb papun\u00eb.<br \/>\n\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e RR, \u0430 \u0437\u0430\u0434\u0430\u0447\u0438 C,D \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u0443 \u0434\u0435\u043b.<br \/>\nSigurisht, nj\u00eb snapshot statik nuk do t\u00eb ofroj\u00eb nj\u00eb panoram\u00eb t\u00eb plot\u00eb mbi m\u00ebnyr\u00ebn si funksionon MLFQ.<br \/>\n\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb kuptohet se si ndryshon pamja n\u00eb kalim t\u00eb koh\u00ebs.<\/p>\n<h4>P\u00ebrpjekja 1: Si t\u00eb ndryshojm\u00eb prioritetin<\/h4>\n<p>N\u00eb k\u00ebt\u00eb moment, duhet t\u00eb vendoset se si MLFQ do t\u00eb ndryshoj\u00eb nivelin e prioritetit<br \/>\nt\u00eb pun\u00ebs (dhe k\u00ebshtu pozita e pun\u00ebs n\u00eb radh\u00eb) gjat\u00eb gjith\u00eb ciklit t\u00eb saj t\u00eb jet\u00ebs. P\u00ebr<br \/>\nk\u00ebt\u00eb \u00ebsht\u00eb e nevojshme t\u00eb mbahen mend proceset: nj\u00eb num\u00ebr i caktuar<br \/>\ni detyrave interaktive me koh\u00eb t\u00eb shkurt\u00ebr t\u00eb pun\u00ebs (dhe k\u00ebshtu \u00e7lirimi i shpesht\u00eb i<br \/>\nCPU) dhe disa detyra t\u00eb gjata q\u00eb e shfryt\u00ebzojn\u00eb CPU-n\u00eb gjat\u00eb gjith\u00eb koh\u00ebs s\u00eb tyre t\u00eb pun\u00ebs, nd\u00ebrkoh\u00eb<br \/>\nkoha e p\u00ebrgjigjes p\u00ebr k\u00ebto detyra nuk \u00ebsht\u00eb e r\u00ebnd\u00ebsishme. Dhe k\u00ebshtu mund t\u00eb b\u00ebhet p\u00ebrpjekja e par\u00eb<br \/>\np\u00ebr t\u00eb realizuar algoritmin MLFQ me rregullat e m\u00ebposhtme:<\/p>\n<ul>\n<li> Rregulli 3: Kur nj\u00eb detyr\u00eb hyn n\u00eb sistem, ajo vendoset n\u00eb radh\u00ebn me prioritetin m\u00eb t\u00eb lart\u00eb.<\/li>\n<li>prioritet.<\/li>\n<li>Rregulli 4a: N\u00ebse detyra p\u00ebrdor plot\u00ebsisht dritaren e saj t\u00eb caktuar t\u00eb koh\u00ebs, at\u00ebher\u00eb prioriteti i saj<\/li>\n<li>ulet.<\/li>\n<li>Rregulli 4b: N\u00ebse detyra \u00e7liron CPU-n\u00eb p\u00ebrpara skadimit t\u00eb dritares s\u00eb saj t\u00eb koh\u00ebs, at\u00ebher\u00eb ajo<\/li>\n<li>mbetet me prioritetin e nj\u00ebjt\u00eb.<\/li>\n<\/ul>\n<p><b>Shembulli 1: Nj\u00eb detyr\u00eb e gjat\u00eb<\/b><\/p>\n<p>Si\u00e7 shihet n\u00eb k\u00ebt\u00eb shembull, detyra vendoset me prioritetin m\u00eb t\u00eb lart\u00eb kur hyn.<br \/>\nPas dritares s\u00eb temporare prej 10ms, procesi ulet n\u00eb prioritet nga<br \/>\nplanifikuesi. Pas dritares tjet\u00ebr t\u00eb koh\u00ebs, detyra p\u00ebrfundimisht bie n\u00eb<br \/>\nprioritetin m\u00eb t\u00eb ul\u00ebt n\u00eb sistem, ku mbetet.<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/9b4ee6de03aa92d7957d50b4ffa73949.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><b>Shembulli 2: Nj\u00eb detyr\u00eb e shkurt\u00ebr<\/b><\/p>\n<p>Tani le t\u00eb shqyrtojm\u00eb nj\u00eb shembull se si MLFQ do t\u00eb mundohet t\u00eb afrohet me SJF. N\u00eb k\u00ebt\u00eb<br \/>\nshembull ka dy detyra: A, e cila \u00ebsht\u00eb nj\u00eb detyr\u00eb e gjat\u00eb e cila p\u00ebrdor vazhdimisht<br \/>\nCPU, dhe B, e cila \u00ebsht\u00eb nj\u00eb detyr\u00eb e shkurt\u00ebr interaktive. Le t\u00eb supozojm\u00eb<br \/>\nse A ka punuar p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar n\u00eb momentin kur ka hyr\u00eb detyra B.<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/19c299b0519585fd1076a341a71f048b.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>N\u00eb k\u00ebt\u00eb grafik, rezultatet e skenarit jan\u00eb evidente. Detyra A, ashtu si \u00e7do detyr\u00eb,<br \/>\nq\u00eb p\u00ebrdor CPU p\u00ebrfundon n\u00eb fund t\u00eb sistemit. Detyra B do t\u00eb arrij\u00eb n\u00eb T=100 dhe do t\u00eb<br \/>\nvendoset n\u00eb radh\u00ebn me prioritetin m\u00eb t\u00eb lart\u00eb. Duke qen\u00eb se koha e pun\u00ebs s\u00eb saj \u00ebsht\u00eb e vog\u00ebl, ajo<br \/>\ndo t\u00eb p\u00ebrfundoj\u00eb para se t\u00eb arrij\u00eb radh\u00ebn e fundit.<\/p>\n<p>Nga ky shembull mund t\u00eb kuptohet q\u00ebllimi kryesor i algoritmit: pasi algoritmi nuk<br \/>\ndi n\u00ebse \u00ebsht\u00eb nj\u00eb detyr\u00eb e gjat\u00eb apo e shkurt\u00ebr, ai fillimisht supozon se detyra<br \/>\n\u00ebsht\u00eb e shkurt\u00ebr dhe i jep asaj prioritetin m\u00eb t\u00eb lart\u00eb. N\u00ebse kjo \u00ebsht\u00eb n\u00eb t\u00eb v\u00ebrtet\u00eb nj\u00eb detyr\u00eb e shkurt\u00ebr, ajo<br \/>\ndo t\u00eb p\u00ebrfundoj\u00eb shpejt; ndryshe, n\u00ebse \u00ebsht\u00eb nj\u00eb detyr\u00eb e gjat\u00eb, ajo do t\u00eb l\u00ebviz\u00eb ngadal\u00eb<br \/>\nn\u00eb prioritetin m\u00eb t\u00eb ul\u00ebt dhe s\u00eb shpejti do t\u00eb provohet se \u00ebsht\u00eb nj\u00eb detyr\u00eb t\u00eb v\u00ebrtet\u00eb e gjat\u00eb q\u00eb nuk<br \/>\nka nevoj\u00eb p\u00ebr p\u00ebrgjigje.<\/p>\n<p><b>Shembulli 3: Si q\u00ebndron puna me input-output?<\/b><\/p>\n<p>Tani le t\u00eb shohim nj\u00eb shembull me input-output. Si\u00e7 \u00ebsht\u00eb th\u00ebn\u00eb n\u00eb rregullin 4b,<br \/>\nn\u00ebse procesi \u00e7liron procesorin pa e p\u00ebrdorur plot\u00ebsisht koh\u00ebn e tij t\u00eb procesorit,<br \/>\nat\u00ebher\u00eb ai mbetet n\u00eb nivelin e tij t\u00eb m\u00ebparsh\u00ebm t\u00eb prioritetit. Q\u00ebllimi i k\u00ebtij rregulli \u00ebsht\u00eb mjaft i thjesht\u00eb<br \/>\n- n\u00ebse nj\u00eb detyr\u00eb interaktive kryen shum\u00eb operacione input-output, p\u00ebr shembull, duke pritur<br \/>\np\u00ebr klikimet e tastier\u00ebs ose miut nga p\u00ebrdoruesi, nj\u00eb detyr\u00eb e till\u00eb do t\u00eb \u00e7liroj\u00eb procesorin<br \/>\nm\u00eb her\u00ebt se sa dritarja e caktuar. Ne nuk do t\u00eb donim ta ulnim prioritetin e nj\u00eb detyre t\u00eb till\u00eb,<br \/>\ndhe k\u00ebshtu ajo do t\u00eb mbetet n\u00eb nivelin e saj t\u00eb m\u00ebparsh\u00ebm.<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/480d33a670fb62a639e5938dd59e30a1.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ky shembull tregon se si do t\u00eb punoj\u00eb algoritmi me k\u00ebto procese - detyra interaktive B, e cila ka nevoj\u00eb p\u00ebr CPU vet\u00ebm p\u00ebr 1ms para se t\u00eb kryej\u00eb<br \/>\nprocesin input-output dhe detyra e gjat\u00eb A, e cila e p\u00ebrdor gjithmon\u00eb CPU-n\u00eb.<br \/>\nMLFQ e mban procesin B me prioritetin m\u00eb t\u00eb lart\u00eb, pasi ai vazhdimisht<br \/>\n\u00e7liron CPU. N\u00ebse B \u00ebsht\u00eb nj\u00eb detyr\u00eb interaktive, at\u00ebher\u00eb algoritmi n\u00eb k\u00ebt\u00eb rast arrin<br \/>\nq\u00ebllimin e tij p\u00ebr t\u00eb ekzekutuar shpejt detyrat interaktive.<\/p>\n<p><b>Problemet me algoritmin aktual MLFQ<\/b><\/p>\n<p>N\u00eb shembujt e m\u00ebparsh\u00ebm kemi nd\u00ebrtuar nj\u00eb variant themelor t\u00eb MLFQ. Dhe duket se ai<br \/>\npo e b\u00ebn pun\u00ebn e tij mir\u00eb dhe drejt, duke ndar\u00eb koh\u00ebn e procesorit n\u00eb m\u00ebnyr\u00eb t\u00eb ndershme mes<br \/>\ndetyrave t\u00eb gjata dhe duke lejuar detyrat e shkurtra ose detyrat q\u00eb k\u00ebrkojn\u00eb shum\u00eb input-output t\u00eb punojn\u00eb shpejt. Fatkeq\u00ebsisht, ky qasje p\u00ebrmban disa<br \/>\nprobleme serioze.<br \/>\n\u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<br \/>\n<b>S\u00eb pari<\/b>, problemi i uris\u00eb: n\u00ebse n\u00eb sistem ka shum\u00eb detyra interaktive, ato do t\u00eb konsumojn\u00eb t\u00eb gjitha koh\u00ebn e procesorit dhe k\u00ebshtu asnj\u00eb detyr\u00eb e gjat\u00eb<br \/>\nnuk do t\u00eb ket\u00eb mund\u00ebsin\u00eb t\u00eb ekzekutohet (ato do t\u00eb ken\u00eb uri).<br \/>\n\u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f (\u043e\u043d\u0438 \u0433\u043e\u043b\u043e\u0434\u0430\u044e\u0442).<\/p>\n<p><b>N\u00eb radh\u00eb t\u00eb dyt\u00eb<\/b>, p\u00ebrdoruesit e zgjuar mund t\u00eb shkruajn\u00eb programet e tyre n\u00eb m\u00ebnyr\u00eb q\u00eb<br \/>\nt\u00eb tradhtojn\u00eb planifikuesin. Tradhtia q\u00ebndron n\u00eb t\u00eb b\u00ebrit di\u00e7ka q\u00eb i detyron<br \/>\nplanifikuesin t\u00eb jap\u00eb procesit m\u00eb shum\u00eb koh\u00eb procesori. Algoritmi q\u00eb<br \/>\n\u00ebsht\u00eb p\u00ebrshkruar m\u00eb sip\u00ebr \u00ebsht\u00eb mjaft i ndjesh\u00ebm ndaj sulmeve t\u00eb tilla: p\u00ebrpara se dritarja e koh\u00ebs t\u00eb p\u00ebrfundoj\u00eb, \u00ebsht\u00eb e nevojshme t\u00eb kryhet nj\u00eb operacion input-output (p\u00ebrndryshe, p\u00ebr \u00e7do skedar pa r\u00ebnd\u00ebsi).<br \/>\n\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 (\u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e, \u043d\u0435\u0432\u0430\u0436\u043d\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443)<br \/>\ndhe k\u00ebshtu t\u00eb lirojm\u00eb CPU. Nj\u00eb sjellje e till\u00eb do t\u00eb lejoj\u00eb t\u00eb mbetemi n\u00eb t\u00eb nj\u00ebjt\u00ebn<br \/>\nrresht dhe s\u00ebrish t\u00eb marrim nj\u00eb p\u00ebrqindje m\u00eb t\u00eb madhe t\u00eb koh\u00ebs s\u00eb procesorit. N\u00ebse e b\u00ebjm\u00eb<br \/>\nk\u00ebt\u00eb si\u00e7 duhet (p\u00ebr shembull, t\u00eb ekzekutojm\u00eb 99% t\u00eb koh\u00ebs deri para lirimit t\u00eb CPU),<br \/>\nnj\u00eb detyr\u00eb e till\u00eb thjesht mund t\u00eb monopolizoj\u00eb procesorin.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, programi mund t\u00eb ndryshoj\u00eb sjelljen e tij me kalimin e koh\u00ebs. Ato detyra,<br \/>\nt\u00eb cilat p\u00ebrdornin CPU, mund t\u00eb b\u00ebhen interaktive. N\u00eb shembullin ton\u00eb, k\u00ebto<br \/>\ndetyra nuk do t\u00eb marrin trajtimin e duhur nga planifikuesi, ashtu si do t\u00eb merrnin detyra t\u00eb tjera<br \/>\n(fillestare) interaktive.<\/p>\n<p><u>Pyetje p\u00ebr audienc\u00ebn: cilat sulme ndaj planifikuesit mund t\u00eb kryhen n\u00eb bot\u00ebn moderne?<br \/>\n<\/u><\/p>\n<h4>P\u00ebrpjekja 2: Rritja e prioritetit<\/h4>\n<p>Le t\u00eb p\u00ebrpiqemi t\u00eb ndryshojm\u00eb rregullat dhe t\u00eb shohim n\u00ebse mund t\u00eb shmangim problemet me<br \/>\nuriturjen. \u00c7far\u00eb mund t\u00eb b\u00ebjm\u00eb p\u00ebr t\u00eb siguruar q\u00eb detyrat e lidhura me<br \/>\nCPU t\u00eb marrin koh\u00ebn e tyre (edhe n\u00ebse jo p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb).<br \/>\nSi nj\u00eb zgjidhje t\u00eb thjesht\u00eb p\u00ebr problemin, mund t\u00eb propozojm\u00eb q\u00eb periodikisht<br \/>\nt\u00eb rrisim prioritetin e t\u00eb gjitha k\u00ebtyre detyrave n\u00eb sistem. Ekzistojn\u00eb shum\u00eb m\u00ebnyra<br \/>\np\u00ebr ta arritur k\u00ebt\u00eb, le t\u00eb japim si shembull di\u00e7ka t\u00eb thjesht\u00eb: t\u00eb transferojm\u00eb<br \/>\nmenj\u00ebher\u00eb t\u00eb gjitha detyrat n\u00eb prioritetin m\u00eb t\u00eb lart\u00eb, dhe k\u00ebshtu rregulli i ri:<\/p>\n<ul>\n<li><b>Rule5<\/b>: Pas nj\u00eb periudhe t\u00eb caktuar S, t\u00eb transferojm\u00eb t\u00eb gjitha detyrat n\u00eb sistem n\u00eb rreshtin m\u00eb t\u00eb lart\u00eb.<\/li>\n<\/ul>\n<p>Rregulli yn\u00eb i ri zgjidh dy probleme n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. S\u00eb pari, proceset<br \/>\ngarantuar nuk uriten: detyrat n\u00eb rreshtin m\u00eb t\u00eb lart\u00eb do t\u00eb ndajn\u00eb<br \/>\nkoh\u00ebn e procesorit sipas algoritmit RR dhe k\u00ebshtu t\u00eb gjitha proceset do t\u00eb marrin<br \/>\nkoh\u00eb procesori. S\u00eb dyti, n\u00ebse ndonj\u00eb proces, i cili m\u00eb par\u00eb p\u00ebrdorte<br \/>\nvet\u00ebm procesorin, b\u00ebhet interaktiv, ai do t\u00eb mbetet n\u00eb rreshtin me prioritet m\u00eb t\u00eb lart\u00eb pasi t\u00eb marr\u00eb nj\u00eb rritje prioriteti deri n\u00eb maksimum.<br \/>\nLe t\u00eb shqyrtojm\u00eb nj\u00eb shembull. N\u00eb k\u00ebt\u00eb skenar, le t\u00eb konsiderojm\u00eb nj\u00eb proces q\u00eb p\u00ebrdor<br \/>\nCPU dhe dy procese interaktive t\u00eb shkurtra. N\u00eb an\u00ebn e majt\u00eb t\u00eb figur\u00ebs tregohet sjellja pa rritjen e prioritetit, duke treguar se detyra e gjat\u00eb fillon t\u00eb uritet pas mb\u00ebrritjes s\u00eb dy detyrave interaktive n\u00eb sistem. N\u00eb figur\u00ebn e djatht\u00eb, \u00e7do 50ms b\u00ebhet rritje prioriteti, dhe k\u00ebshtu t\u00eb gjitha proceset garantohet q\u00eb t\u00eb marrin koh\u00eb procesori dhe do t\u00eb ekzekutohen me rregull. 50ms n\u00eb k\u00ebt\u00eb rast \u00ebsht\u00eb marr\u00eb si shembull, realisht ky num\u00ebr \u00ebsht\u00eb pak m\u00eb i madh.<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/3b8d879ab4479622684b126ec5af6af3.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>\u00cbsht\u00eb e qart\u00eb se shtimi i koh\u00ebs periodike t\u00eb rritjes S ngre nj\u00eb<br \/>\npyetje t\u00eb natyrshme: \u00e7far\u00eb vlere duhet t\u00eb caktohet? Nj\u00eb nga inxhinier\u00ebt sistemor\u00eb t\u00eb njohur John Ousterhout e ka quajtur nj\u00eb vler\u00eb t\u00eb till\u00eb n\u00eb sistemet si nj\u00eb konstante voo-doo, sepse ata k\u00ebrkonin nj\u00eb lloj magjie t\u00eb zez\u00eb p\u00ebr t'u caktuar sakt\u00ebsisht.<br \/>\nDhe, fatkeq\u00ebsisht, S ka nj\u00eb arom\u00eb t\u00eb till\u00eb. N\u00ebse caktohet nj\u00eb vler\u00eb shum\u00eb<br \/>\nt\u00eb madhe - detyrat e gjata do t\u00eb fillojn\u00eb t\u00eb uriten. Kurse n\u00ebse caktohet nj\u00eb vler\u00eb shum\u00eb t\u00eb vog\u00ebl,<br \/>\n\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u043e\u0434\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438 \u0447\u0435\u0440\u043d\u043e\u0439 \u043c\u0430\u0433\u0438\u0438 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e<br \/>\n\u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0418, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e S \u0438\u043c\u0435\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0430\u0440\u043e\u043c\u0430\u0442. \u0415\u0441\u043b\u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c<br \/>\n\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u2014 \u0434\u043e\u043b\u0433\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u0447\u043d\u0443\u0442 \u0433\u043e\u043b\u043e\u0434\u0430\u0442\u044c. \u0410 \u0435\u0441\u043b\u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043d\u0438\u0437\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,<br \/>\ndetyrat interaktive nuk do t\u00eb marrin koh\u00eb procesori t\u00eb mjaftueshme.<\/p>\n<h4>P\u00ebrpjekja 3: Llogaritja m\u00eb e mir\u00eb<\/h4>\n<p>Tani kemi nj\u00eb problem tjet\u00ebr q\u00eb duhet zgjidhur: si t\u00eb mos<br \/>\nlejojm\u00eb q\u00eb planifikuesi yn\u00eb t\u00eb mashtrohet? Fajtor\u00ebt p\u00ebr k\u00ebt\u00eb mund\u00ebsi rezultojn\u00eb<br \/>\nt\u00eb jen\u00eb rregullat 4a, 4b, t\u00eb cilat lejojn\u00eb nj\u00eb detyre t\u00eb mbaj\u00eb prioritetin, duke liruar procesorin<br \/>\npara se t\u00eb p\u00ebrfundoj\u00eb koha e caktuar. Si mund ta zgjidhim k\u00ebt\u00eb?<br \/>\nNj\u00eb zgjidhje n\u00eb k\u00ebt\u00eb rast mund t\u00eb konsiderohet si llogaritja m\u00eb e mir\u00eb e koh\u00ebs s\u00eb CPU n\u00eb \u00e7do<br \/>\nnivel MLFQ. N\u00eb vend q\u00eb t\u00eb harrojm\u00eb koh\u00ebn e p\u00ebrdorur nga programi<br \/>\np\u00ebr ta kaluar procesorin brenda nj\u00eb periudhe t\u00eb caktuar, duhet ta kemi parasysh dhe ta ruajm\u00eb at\u00eb. Pasi<br \/>\nprocesi t\u00eb ket\u00eb shpenzuar koh\u00ebn e caktuar, duhet t\u00eb ulet n\u00eb nivelin e ardhsh\u00ebm t\u00eb prioritetit. Tani \u00ebsht\u00eb e par\u00ebnd\u00ebsishme se si process do t\u00eb shpenzoj\u00eb koh\u00ebn e tij - si<br \/>\nme p\u00ebrllogaritje t\u00eb vazhdueshme n\u00eb procesor ose me shum\u00eb thirrje. Nj\u00ebsoj,<br \/>\nrruga p\u00ebr t\u00eb ri-shkruar rregullin 4 \u00ebsht\u00eb si vijon:<br \/>\nRule4<\/p>\n<ul>\n<li><b>: Pasi nj\u00eb detyr\u00eb t\u00eb ket\u00eb shpenzuar koh\u00ebn e caktuar n\u00eb rreshtin aktual (pavar\u00ebsisht se sa her\u00eb ajo ka liruar CPU) prioriteti i nj\u00eb detyre t\u00eb till\u00eb ulet (ajo l\u00ebviz posht\u00eb n\u00eb rresht).<\/b>Le t\u00eb shohim nj\u00eb shembull:<\/li>\n<\/ul>\n<p>N\u00eb figur\u00eb tregohet se \u00e7far\u00eb ndodh n\u00ebse p\u00ebrpiqemi t\u00eb mashtrojm\u00eb planifikuesin, sikur t\u00eb ishim me rregullat e m\u00ebparshme 4a, 4b, rezultati do t\u00eb jet\u00eb n\u00eb an\u00ebn e majt\u00eb. Me rregullin e ri - rezultati \u00ebsht\u00eb n\u00eb an\u00ebn e djatht\u00eb. Para mbrojtjes, \u00e7do proces mund t\u00eb th\u00ebrras\u00eb I\/O deri n\u00eb p\u00ebrfundim dhe<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/18c53e62b9b342d14a23995bd422ef5e.png\" style=\"display:block;margin: 0 auto;\">&#187;<\/p>\n<p>\u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0447\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043c\u0430\u043d\u0443\u0442\u044c \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a, \u043a\u0430\u043a<br \/>\n\u0435\u0441\u043b\u0438 \u0431\u044b \u0431\u044b\u043b\u043e \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 4a, 4b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043b\u0435\u0432\u0430. \u0421 \u043d\u043e\u0432\u044b\u043c<br \/>\n\u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c \u2014 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043f\u0440\u0430\u0432\u0430. \u0414\u043e \u0437\u0430\u0449\u0438\u0442\u044b \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0433 \u0432\u044b\u0437\u0432\u0430\u0442\u044c I\/O \u0434\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0438<br \/>\nn\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb t\u00eb dominoj\u00eb mbi CPU, pas aktivizimit t\u00eb mbrojtjes, pavar\u00ebsisht nga sjellja e<br \/>\nI\/O, ai do t\u00eb rritet akoma posht\u00eb n\u00eb rresht, dhe k\u00ebshtu nuk do t\u00eb mund t\u00eb b\u00ebj\u00eb padrejt\u00ebsi<br \/>\nme burimet e CPU.<\/p>\n<h4>P\u00ebrmir\u00ebsimi i MLFQ dhe problemeve t\u00eb tjera<\/h4>\n<p>Me p\u00ebrmir\u00ebsimet e p\u00ebrmendura m\u00eb sip\u00ebr, lindin probleme t\u00eb reja: nj\u00eb nga pyetjet kryesore<br \/>\n\u00ebsht\u00eb se si t\u00eb parametrizohet nj\u00eb planifikues i till\u00eb? P.sh. Sa duhen<br \/>\nrreshta? Cili duhet t\u00eb jet\u00eb madh\u00ebsia e dritares s\u00eb pun\u00ebs brenda rreshtit? Si<br \/>\nshpesh duhet t\u00eb rritet prioriteti i programit p\u00ebr t\u00eb shmangur urin\u00eb dhe<br \/>\np\u00ebr t\u00eb marr\u00eb parasysh ndryshimin e sjelljes s\u00eb programit? P\u00ebr k\u00ebto pyetje, nuk ka p\u00ebrgjigje t\u00eb thjesht\u00eb<br \/>\ndhe vet\u00ebm eksperimenti me ngarkesat dhe konfigurove pasuese<br \/>\nt\u00eb planifikuesit mund t\u00eb sjell\u00eb nj\u00eb balancim t\u00eb k\u00ebnaqsh\u00ebm.<\/p>\n<p>P.sh., shumica e implementimeve MLFQ lejojn\u00eb caktimin e intervaleve t\u00eb ndryshme<br \/>\nt\u00eb koh\u00ebs p\u00ebr rreshta t\u00eb ndrysh\u00ebm. Rreshtat me prioritet t\u00eb lart\u00eb zakonisht<br \/>\nkan\u00eb intervale t\u00eb shkurtra. K\u00ebta rreshta p\u00ebrb\u00ebhen nga detyra interaktive,<br \/>\nnd\u00ebrveprimi i t\u00eb cilave \u00ebsht\u00eb mjaft i ndjesh\u00ebm dhe duhet t\u00eb zgjas\u00eb 10 ose m\u00eb pak<br \/>\nms. N\u00eb p\u00ebrballje, rreshtat me prioritet t\u00eb ul\u00ebt p\u00ebrb\u00ebhen nga detyra t\u00eb gjata, q\u00eb p\u00ebrdorin<br \/>\nCPU. Dhe n\u00eb k\u00ebt\u00eb rast, intervalet e gjata funksionojn\u00eb shum\u00eb mir\u00eb (100 ms).<br \/>\n<img decoding=\"async\" alt=\"Sistemet Operative: Tre Pjes\u00eb t\u00eb Lehta. Pjesa 5: Planifikimi: Radh\u00eb Feedback-u me Shum\u00eb Nivele (p\u00ebrkthim)\" src=\"\/wp-content\/uploads\/2019\/04\/4eb6c6669034adeb1615c29454fbb1dc.png\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>N\u00eb k\u00ebt\u00eb shembull ka 2 detyra, t\u00eb cilat kan\u00eb punuar n\u00eb nj\u00eb rresht me prioritet t\u00eb lart\u00eb p\u00ebr 20<br \/>\nms, t\u00eb ndara n\u00eb dritare prej 10 ms. 40 ms n\u00eb nj\u00eb rresht t\u00eb mes\u00ebm (dritare prej 20 ms) dhe n\u00eb rreshtin me prioritet t\u00eb ul\u00ebt<br \/>\ndritarja p\u00ebrkoh\u00ebsore \u00ebsht\u00eb b\u00ebr\u00eb 40 ms, ku detyrat e p\u00ebrfunduan pun\u00ebn e tyre.<\/p>\n<p>Implementimi MLFQ n\u00eb OS Solaris \u00ebsht\u00eb nj\u00eb klas\u00eb planifikuesish q\u00eb ndan koh\u00ebn.<br \/>\nPlanifikuesi ofron nj\u00eb set tabelash, t\u00eb cilat p\u00ebrcaktojn\u00eb sakt\u00ebsisht se si duhet<br \/>\nt\u00eb ndryshoj\u00eb prioriteti i procesit gjat\u00eb jet\u00ebs s\u00eb tij, cili duhet t\u00eb jet\u00eb madh\u00ebsia<br \/>\ne dritares s\u00eb alokuar dhe sa shpesh duhet t\u00eb rriten prioritetet e detyrave. Administratori<br \/>\ni sistemit mund t\u00eb interagoj\u00eb me k\u00ebt\u00eb tabel\u00eb dhe t\u00eb b\u00ebj\u00eb q\u00eb planifikuesi t\u00eb sillet<br \/>\nndryshe. Si parazgjedhje, n\u00eb k\u00ebt\u00eb tabel\u00eb jan\u00eb 60 rreshta me rritje t\u00eb gradualshme<br \/>\nt\u00eb madh\u00ebsis\u00eb s\u00eb dritares nga 20 ms (prioritet i lart\u00eb) deri n\u00eb disa qindra ms (prioritet i ul\u00ebt), si<br \/>\nedhe me nj\u00eb rritje t\u00eb t\u00eb gjitha detyrave \u00e7do sekond\u00eb.<\/p>\n<p>Planifikuesit e tjer\u00eb MLFQ nuk p\u00ebrdorin tabel\u00ebn ose ndonj\u00eb rregull specifik<br \/>\nt\u00eb p\u00ebrshkruar n\u00eb k\u00ebt\u00eb ligj\u00ebrat\u00eb, p\u00ebrkundrazi ata llogarisin prioritetet duke p\u00ebrdorur<br \/>\nformula matematike. P.sh., planifikuesi n\u00eb FreeBSD p\u00ebrdor nj\u00eb formul\u00eb p\u00ebr<br \/>\nllogaritjen e prioritetit aktual t\u00eb detyr\u00ebs, bazuar n\u00eb sa proces<br \/>\nka p\u00ebrdorur CPU-n\u00eb. P\u00ebr m\u00eb tep\u00ebr, p\u00ebrdorimi i CPU me kalimin e koh\u00ebs p\u00ebrkeq\u00ebsohet, dhe k\u00ebshtu<br \/>\nrritja e prioritetit ndodh disi ndryshe nga sa u p\u00ebrshkrua m\u00eb par\u00eb. K\u00ebto jan\u00eb<br \/>\nalgoritmet e ashtuquajtur t\u00eb decay. Q\u00eb nga versioni 7.1, n\u00eb FreeBSD p\u00ebrdoret planifikuesi ULE.<\/p>\n<p>S\u00eb fundmi, shum\u00eb planifikues kan\u00eb ve\u00e7ori t\u00eb tjera. P.sh., disa<br \/>\nplanifikues rezervohen nivelet m\u00eb t\u00eb larta p\u00ebr pun\u00ebn e sistemit operativ, k\u00ebshtu<br \/>\nnuk ka ndonj\u00eb proces p\u00ebrdorues q\u00eb mund t\u00eb marr\u00eb prioritetin m\u00eb t\u00eb lart\u00eb n\u00eb<br \/>\nsistem. Disa sisteme lejojn\u00eb dh\u00ebnien e k\u00ebshillave p\u00ebr t\u00eb ndihmuar<br \/>\nplanifikuesin t\u00eb vendos\u00eb prioritetet n\u00eb m\u00ebnyr\u00eb t\u00eb sakt\u00eb. P.sh., me ndihm\u00ebn e komand\u00ebs <b>nice<\/b><br \/>\nmund t\u00eb rritet ose ulet prioriteti i detyr\u00ebs dhe k\u00ebshtu t\u00eb rriten ose<br \/>\nulet shanset e programit p\u00ebr koh\u00ebn e procesorit.<\/p>\n<h3>MLFQ: P\u00ebrmbledhje<\/h3>\n<p>Ne p\u00ebrshkruam nj\u00eb qasje p\u00ebr planifikimin, e cila quhet MLFQ. Emri i tij<br \/>\ne ka rr\u00ebnj\u00ebn n\u00eb parimin e funksionimit - ai ka disa rreshta dhe p\u00ebrdor feedbackun<br \/>\np\u00ebr t\u00eb p\u00ebrcaktuar prioritetin e detyrave.<br \/>\nForma p\u00ebrfundimtare e rregullave do t\u00eb jet\u00eb si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li><b>Rule1<\/b>: N\u00ebse prioriteti(A) &gt; Prioriteti(B), do t\u00eb aktivizohet detyra A (B nuk do t\u00eb aktivizohet)<\/li>\n<li><b>Rule2<\/b>: N\u00ebse prioriteti(A) = Prioriteti(B), A dhe B aktivizohen duke p\u00ebrdorur RR<\/li>\n<li><b>Rule3<\/b>: Kur nj\u00eb detyr\u00eb hyn n\u00eb sistem, ajo vendoset n\u00eb rreshtin me prioritetin m\u00eb t\u00eb lart\u00eb.<\/li>\n<li><b>: Pasi nj\u00eb detyr\u00eb t\u00eb ket\u00eb shpenzuar koh\u00ebn e caktuar n\u00eb rreshtin aktual (pavar\u00ebsisht se sa her\u00eb ajo ka liruar CPU) prioriteti i nj\u00eb detyre t\u00eb till\u00eb ulet (ajo l\u00ebviz posht\u00eb n\u00eb rresht).<\/b>Le t\u00eb shohim nj\u00eb shembull:<\/li>\n<li><b>Rule5<\/b>: Pas nj\u00eb periudhe t\u00eb caktuar S, t\u00eb transferojm\u00eb t\u00eb gjitha detyrat n\u00eb sistem n\u00eb rreshtin m\u00eb t\u00eb lart\u00eb.<\/li>\n<\/ul>\n<p>MLFQ \u00ebsht\u00eb interesant p\u00ebr arsye t\u00eb ndryshme - n\u00eb vend q\u00eb t\u00eb k\u00ebrkonte njohuri rreth<br \/>\nnatyr\u00ebs s\u00eb detyr\u00ebs paraprakisht, algoritmi studion sjelljen e kaluar t\u00eb detyr\u00ebs dhe p\u00ebrcakton<br \/>\nprioritetet p\u00ebrkat\u00ebsisht. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb p\u00ebrpiqet t\u00eb arrij\u00eb t\u00eb dyja p\u00ebrfitimet - t\u00eb siguroj\u00eb performanc\u00eb p\u00ebr detyrat e vogla (SJF, STCF) dhe t\u00eb aktivizoj\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb p\u00ebrhershme detyrat e gjata,<br \/>\nt\u00eb ngarkuara me CPU. Prandaj, shum\u00eb sisteme, p\u00ebrfshir\u00eb BSD dhe deg\u00ebt e tyre,<br \/>\nSolaris, Windows, Mac p\u00ebrdorin si planifikues nj\u00eb form\u00eb t\u00eb algoritmit<br \/>\nMLFQ si baz\u00eb themelore.<\/p>\n<h4>Materiale shtes\u00eb:<\/h4>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/manpages.debian.org\/stretch\/manpages\/sched.7.en.html\">manpages.debian.org\/stretch\/manpages\/sched.7.en.html<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Scheduling_\">en.wikipedia.org\/wiki\/Scheduling_<\/a><\/noindex>(computing)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/pages.lip6.fr\/Julia.Lawall\/atc18-bouron.pdf\">pages.lip6.fr\/Julia.Lawall\/atc18-bouron.pdf<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.usenix.org\/legacy\/event\/bsdcon03\/tech\/full_papers\/roberson\/roberson.pdf\">www.usenix.org\/legacy\/event\/bsdcon03\/tech\/full_papers\/roberson\/roberson.pdf<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/chebykin.org\/freebsd-process-scheduling\">chebykin.org\/freebsd-process-scheduling<\/a><\/noindex><\/li>\n<\/ol>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/450116\/\">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":24514,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32730","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-5-planirovanie-multi-level-feedback-queue-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 5: \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Multi-Level Feedback Queue (\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-5-planirovanie-multi-level-feedback-queue-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:48:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-08T09:40:35+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: Tre Pjes\u00ebt e Lehta. Pjesa 5: Planifikimi: Rreshti me Feedback t\u00eb Shum\u00ebfisht\u00eb (p\u00ebrkthimi) | 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-5-planirovanie-multi-level-feedback-queue-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 5: \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Multi-Level Feedback Queue (\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-5-planirovanie-multi-level-feedback-queue-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:48:36+00:00","article:modified_time":"2021-02-08T09:40:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32730","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","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 12:18:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:53:25","updated":"2026-01-21 12:18:19","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\/32730","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=32730"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32730\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/24514"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=32730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=32730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=32730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}