{"id":32158,"date":"2019-10-31T21:45:27","date_gmt":"2019-10-31T18:45:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-perevod\/"},"modified":"2019-10-31T21:45:27","modified_gmt":"2019-10-31T18:45:27","slug":"operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-perevod","title":{"rendered":"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1>Bevezet\u00e9s az oper\u00e1ci\u00f3s rendszerekbe<\/h1>\n<p>\nHell\u00f3, Habr! Szeretn\u00e9m bemutatni nektek egy \u00e9rdekes cikk-sorozat ford\u00edt\u00e1s\u00e1t, amely az \u00e9n v\u00e9lem\u00e9nyem szerint izgalmas irodalom \u2014 OSTEP. Ebben az anyagban el\u00e9g m\u00e9lyen megvizsg\u00e1ljuk az unix-szer\u0171 oper\u00e1ci\u00f3s rendszerek m\u0171k\u00f6d\u00e9s\u00e9t, k\u00fcl\u00f6n\u00f6sen a folyamatokkal, k\u00fcl\u00f6nb\u00f6z\u0151 \u00fctemez\u0151kkel, mem\u00f3ri\u00e1val \u00e9s hasonl\u00f3 \u00f6sszetev\u0151kkel foglalkozunk, amelyek alkotj\u00e1k a modern OS-t. Az \u00f6sszes anyag eredeti v\u00e1ltozat\u00e1t itt l\u00e1thatj\u00e1tok <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/\">itt<\/a><\/noindex>. K\u00e9rlek vegy\u00e9tek figyelembe, hogy a ford\u00edt\u00e1s szak\u00e9rtelem n\u00e9lk\u00fcli (el\u00e9g szabad), de rem\u00e9lem, az \u00e1ltal\u00e1nos \u00e9rtelemben megmaradt.<\/p>\n<p>A tant\u00e1rgyhoz kapcsol\u00f3d\u00f3 laborat\u00f3riumi munk\u00e1k itt tal\u00e1lhat\u00f3k:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html\">eredeti<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/remzi-arpacidusseau\/ostep-code\">eredeti<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">saj\u00e1t szem\u00e9lyes adapt\u00e1ci\u00f3m<\/a><\/noindex><\/li>\n<\/ul>\n<p>\nEgy\u00e9b r\u00e9szek:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/446340\/\">1. r\u00e9sz: Bevezet\u0151<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/446866\/\">2. r\u00e9sz: Absztrakci\u00f3: folyamat<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/447182\/\">3. r\u00e9sz: Bevezet\u00e9s a folyamatok API-j\u00e1ba<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/449026\/\">4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be<\/a><\/noindex><\/li>\n<\/ul>\n<p>\nEmellett l\u00e1togathattok el a csatorn\u00e1mra a <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/bykvaadm\">telegramon<\/a><\/noindex> =)<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Bevezet\u00e9s a tervez\u0151be<\/h2>\n<p>\n<u>A probl\u00e9ma l\u00e9nyege: Hogyan alak\u00edtsunk ki tervez\u00e9si politik\u00e1t<br \/>\nHogyan kell kidolgozni a tervez\u00e9si politik\u00e1k alap kereteit? Mik legyenek a kulcsfelt\u00e9telez\u00e9sek? Milyen metrik\u00e1k fontosak? Milyen alapvet\u0151 technik\u00e1k voltak haszn\u00e1latban a korai sz\u00e1m\u00edt\u00e1stechnikai rendszerekben?<\/u><\/p>\n<h3>Terhel\u00e9si felt\u00e9telez\u00e9sek<\/h3>\n<p>\n Miel\u0151tt megbesz\u00e9ln\u00e9nk a lehets\u00e9ges politik\u00e1kat, el\u0151sz\u00f6r tegy\u00fcnk n\u00e9h\u00e1ny egyszer\u0171s\u00edt\u0151 megjegyz\u00e9st a rendszerben fut\u00f3 folyamatokr\u00f3l, amelyeket egy\u00fctt <b>terhel\u00e9snek<\/b>h\u00edvunk. A terhel\u00e9s meghat\u00e1roz\u00e1sa a politik\u00e1k megalkot\u00e1s\u00e1nak kritikus r\u00e9sze, \u00e9s min\u00e9l t\u00f6bbet tud a terhel\u00e9sr\u0151l, ann\u00e1l jobb politik\u00e1t tud \u00edrni.<\/p>\n<p>K\u00f6vetkez\u0151 felt\u00e9telez\u00e9seket tegy\u00fcnk a rendszerben fut\u00f3 folyamatokr\u00f3l, amelyeket n\u00e9ha <b>jobs<\/b> (feladatoknak) neveznek. Gyakorlatilag az \u00f6sszes felt\u00e9telez\u00e9s nem re\u00e1lis, de sz\u00fcks\u00e9ges a gondolatmenet fejleszt\u00e9s\u00e9hez.<\/p>\n<ol>\n<li> Minden feladat ugyanannyi ideig fut,<\/li>\n<li> Minden feladat egyszerre ker\u00fcl be\u00e1ll\u00edt\u00e1sra,<\/li>\n<li> A be\u00e1ll\u00edtott feladat a befejez\u0151d\u00e9s\u00e9ig dolgozik,<\/li>\n<li> Minden feladat csak a CPU-t haszn\u00e1lja,<\/li>\n<li> Minden feladat fut\u00e1si ideje ismert.<\/li>\n<\/ol>\n<h3>Tervez\u00e9si metrik\u00e1k<\/h3>\n<p>\n A terhel\u00e9s n\u00e9h\u00e1ny felt\u00e9telez\u00e9se mellett sz\u00fcks\u00e9g van egy eszk\u00f6zre is a k\u00fcl\u00f6nb\u00f6z\u0151 tervez\u00e9si politik\u00e1k \u00f6sszehasonl\u00edt\u00e1s\u00e1ra: a tervez\u00e9si metrik\u00e1kra. A metrika csup\u00e1n egy m\u00e9r\u0151sz\u00e1m. Sz\u00e1mos metrika l\u00e9tezik, amelyek haszn\u00e1lhat\u00f3k a tervez\u0151k \u00f6sszehasonl\u00edt\u00e1s\u00e1ra.<\/p>\n<p>P\u00e9ld\u00e1ul haszn\u00e1ljunk egy metrik\u00e1t, amelyet <b>forg\u00e1si id\u0151nek<\/b> (turnaround time) neveznek. A feladat forg\u00e1si ideje a feladat befejez\u00e9si ideje \u00e9s a rendszerbe val\u00f3 \u00e9rkez\u00e9s\u00e9nek ideje k\u00f6z\u00f6tti k\u00fcl\u00f6nbs\u00e9g.<\/p>\n<p><u>Tturnaround=Tcompletion\u2212Tarrival<\/u><\/p>\n<p>Mivel felt\u00e9telezt\u00fck, hogy minden feladat egyszerre \u00e9rkezett, Ta=0, \u00edgy Tt=Tc. Ez az \u00e9rt\u00e9k term\u00e9szetesen megv\u00e1ltozik, ha a fenti felt\u00e9telez\u00e9seket m\u00f3dos\u00edtjuk.<\/p>\n<p>Egy m\u00e1sik metrika \u2014 <b>fairness<\/b> (igazs\u00e1goss\u00e1g). A teljes\u00edtm\u00e9ny \u00e9s az igazs\u00e1goss\u00e1g gyakran ellent\u00e9tes jellemz\u0151k a tervez\u00e9s sor\u00e1n. P\u00e9ld\u00e1ul a tervez\u0151 optimaliz\u00e1lhatja a teljes\u00edtm\u00e9nyt, de m\u00e1s feladatok ind\u00edt\u00e1s\u00e1nak v\u00e1rakoz\u00e1s\u00e1nak \u00e1r\u00e1n, \u00edgy cs\u00f6kkentve az igazs\u00e1goss\u00e1got.<\/p>\n<h3>FIRST IN FIRST OUT (FIFO)<\/h3>\n<p>\n A legbasicabb algoritmus, amit megval\u00f3s\u00edthatunk, a FIFO n\u00e9ven ismert, vagyis <b>first come (in), first served (out)<\/b>. Ez az algoritmus t\u00f6bb el\u0151nnyel rendelkezik: nagyon egyszer\u0171 megval\u00f3s\u00edtani, \u00e9s megfelel minden felt\u00e9telez\u00e9s\u00fcnknek, mik\u00f6zben eg\u00e9szen j\u00f3l v\u00e9gzi a feladat\u00e1t.<\/p>\n<p>N\u00e9zz\u00fcnk egy egyszer\u0171 p\u00e9ld\u00e1t. Tegy\u00fck fel, hogy 3 feladatot ind\u00edtottunk el egyszerre. De felt\u00e9telezz\u00fck, hogy az A feladat egy kicsit kor\u00e1bban \u00e9rkezett, mint a t\u00f6bbiek, ez\u00e9rt a feldolgoz\u00e1si list\u00e1ban el\u0151r\u00e9bb fog \u00e1llni, ahogyan a B is a V-hez k\u00e9pest. Tegy\u00fck fel, hogy mindegyik 10 m\u00e1sodpercig fog futni. Mi lesz ebben az esetben a feladatok \u00e1tlagos v\u00e9grehajt\u00e1si ideje?<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/8c17c29e10ac8c2e15f5f9d865922e49.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz \u00e9rt\u00e9kek kisz\u00e1m\u00edt\u00e1s\u00e1val \u2014 10+20+30, \u00e9s elosztva 3-mal, az \u00e1tlagos v\u00e9grehajt\u00e1si id\u0151 20 m\u00e1sodperc lesz.<br \/>\n Most pr\u00f3b\u00e1ljuk meg m\u00f3dos\u00edtani a felt\u00e9telez\u00e9seinket. K\u00fcl\u00f6n\u00f6sen az 1. felt\u00e9telez\u00e9st, \u00e9s \u00edgy m\u00e1r nem azt fogjuk felt\u00e9telezni, hogy minden feladat azonos id\u0151tartamon fut. Milyen teljes\u00edtm\u00e9nnyel fog j\u00e1rni a FIFO ez\u00fattal?<\/p>\n<p>Kider\u00fcl, hogy a feladatok elt\u00e9r\u0151 v\u00e9grehajt\u00e1si ideje rendk\u00edv\u00fcl negat\u00edvan hat a FIFO algoritmus hat\u00e9konys\u00e1g\u00e1ra. Tegy\u00fck fel, hogy az A feladat 100 m\u00e1sodpercig tart, m\u00edg a B \u00e9s C tov\u00e1bbra is 10-10 m\u00e1sodpercig tartanak.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/a375f3d1571f24df30f446b9bc7a9a9e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Ahogy a k\u00e9pen l\u00e1that\u00f3, a rendszer \u00e1tlagos ideje (100+110+120)\/3=110. Ezt a jelens\u00e9get h\u00edvj\u00e1k <b>a konvojhat\u00e1snak<\/b>, amikor egyes r\u00f6vid t\u00e1v\u00fa er\u0151forr\u00e1st ig\u00e9nyl\u0151 feladatok egy neh\u00e9z er\u0151forr\u00e1sig\u00e9nyl\u0151 m\u00f6g\u00f6tt \u00e1llnak a sorban. Ez hasonl\u00edt a boltban val\u00f3 sorban \u00e1ll\u00e1sra, amikor \u00d6n el\u0151tt egy teljes bev\u00e1s\u00e1rl\u00f3kocsi \u00e1ll. A probl\u00e9ma legjobb megold\u00e1sa, ha megpr\u00f3b\u00e1l \u00e1t\u00e1llni egy m\u00e1sik kassz\u00e1ra, vagy egyszer\u0171en csak megnyugszik \u00e9s m\u00e9lyeket l\u00e9legzik.<\/p>\n<h3>Shortest Job First<\/h3>\n<p>\n Van-e valami m\u00f3dja a neh\u00e9z folyamatokkal kapcsolatos ilyen helyzet megold\u00e1s\u00e1nak? Term\u00e9szetesen. Egy m\u00e1sik t\u00edpus\u00fa \u00fctemez\u00e9s neve<b>Shortest Job First<\/b> (SJF). Az algoritmus is el\u00e9g primit\u00edv, ahogy a neve is sugallja, els\u0151k\u00e9nt a legr\u00f6videbb feladatok futnak egym\u00e1s ut\u00e1n.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/d0723e313adc9ce7367da611216bf3ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEbben a p\u00e9ld\u00e1ban ugyanazoknak a folyamatoknak a futtat\u00e1sa jav\u00edtani fogja az program\u00e1tlagos \u00e1tfut\u00e1si idej\u00e9t, amely <b>50 lesz a 110 helyett<\/b>, ami gyakorlatilag k\u00e9tszer jobb.<\/p>\n<p>Ez\u00e9rt, a felt\u00e9telez\u00e9s\u00fcnk alapj\u00e1n, hogy minden feladat egyszerre \u00e9rkezik, az SJF algoritmus a legoptim\u00e1lisabbnak t\u0171nik. Azonban a felt\u00e9telez\u00e9seink tov\u00e1bbra sem t\u0171nnek re\u00e1lisnak. Most m\u00f3dos\u00edtsuk a 2. felt\u00e9telez\u00e9st, \u00e9s k\u00e9pzelj\u00fck el, hogy a feladatok b\u00e1rmikor \u00e9rkezhetnek, nem egyszerre. Milyen probl\u00e9m\u00e1khoz vezethet ez?<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/2f0145551779f2733281d12bffad3a45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00e9pzelj\u00fck el, hogy az A feladat (100 m\u00e1sodperc) \u00e9rkezik el\u0151sz\u00f6r, \u00e9s elkezd\u0151dik a v\u00e9grehajt\u00e1sa. T=10-n\u00e9l \u00e9rkezik a B \u00e9s C feladat, mindkett\u0151 10 m\u00e1sodpercet ig\u00e9nyel. \u00cdgy az \u00e1tlagos v\u00e9grehajt\u00e1si id\u0151 (100+(110-10)+(120-10))\/3 = 103 m\u00e1sodperc. Mit tehetne a tervez\u0151 a helyzet jav\u00edt\u00e1sa \u00e9rdek\u00e9ben?<\/p>\n<h3>Legr\u00f6videbb befejez\u00e9si id\u0151 els\u0151 (STCF)<\/h3>\n<p>\n A helyzet jav\u00edt\u00e1sa \u00e9rdek\u00e9ben elhagyjuk a 3. felt\u00e9telez\u00e9st, miszerint a program elindul \u00e9s folytat\u00f3dik a befejez\u00e9sig. Ezen k\u00edv\u00fcl sz\u00fcks\u00e9g\u00fcnk lesz hardvert\u00e1mogat\u00e1sra, \u00e9s mint kital\u00e1lhatt\u00e1k, haszn\u00e1lni fogjuk <b>az id\u0151z\u00edt\u0151t<\/b> a fut\u00e1sban l\u00e9v\u0151 feladat megszak\u00edt\u00e1s\u00e1hoz \u00e9s <b>a kontextusok v\u00e1lt\u00e1s\u00e1hoz<\/b>. \u00cdgy a tervez\u0151 beavatkozhat, amikor a B \u00e9s C feladatok be\u00e9rkeznek \u2014 le\u00e1ll\u00edthatja az A feladatot, \u00e9s feldolgoz\u00e1sra veheti a B \u00e9s C feladatokat, majd azok befejez\u00e9se ut\u00e1n folytathatja az A feladat v\u00e9grehajt\u00e1s\u00e1t. Az ilyen tervez\u0151t nevezz\u00fck <b>STCF<\/b>vagy <b>Preempt\u00edv els\u0151 feladat<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/81644f82b7b1489f239ebbdc5d78000b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnnek a tervez\u0151nek az eredm\u00e9nye: ((120-0)+(20-10)+(30-10))\/3=50. \u00cdgy ez a tervez\u0151 m\u00e9g optim\u00e1lisabb\u00e1 v\u00e1lik a feladatainkhoz.<\/p>\n<h3>V\u00e1laszid\u0151 metrika (Response Time)<\/h3>\n<p>\n Teh\u00e1t ha tudjuk a feladatok fut\u00e1si idej\u00e9t \u00e9s azt, hogy ezek a feladatok csak CPU-t haszn\u00e1lnak, akkor az STCF a legjobb megold\u00e1s. Valaha ezek az algoritmusok m\u0171k\u00f6dtek \u00e9s el\u00e9gg\u00e9 j\u00f3l is. Azonban ma a felhaszn\u00e1l\u00f3k a legt\u00f6bb id\u0151t a termin\u00e1l el\u0151tt t\u00f6ltik, \u00e9s elv\u00e1rj\u00e1k, hogy az interakt\u00edv interakci\u00f3k teljes\u00edt\u0151k\u00e9pess\u00e9g\u00e9t kapj\u00e1k. \u00cdgy sz\u00fcletett meg az \u00faj metrika \u2014 <b>v\u00e1laszid\u0151<\/b> (response time).<\/p>\n<p>A v\u00e1laszid\u0151t a k\u00f6vetkez\u0151k\u00e9ppen sz\u00e1moljuk:<\/p>\n<p><u>Tresponse=Tfirstrun\u2212Tarrival<\/u><\/p>\n<p>Teh\u00e1t az el\u0151z\u0151 p\u00e9lda v\u00e1laszideje a k\u00f6vetkez\u0151: A=0, B=0, C=10 (abg=3,33).<\/p>\n<p>Kider\u00fcl, hogy az STCF algoritmus nem is olyan j\u00f3, ha h\u00e1rom feladat egyszerre \u00e9rkezik \u2014 meg kell v\u00e1rnia, am\u00edg a kis feladatok teljesen befejez\u0151dnek. \u00cdgy az algoritmus j\u00f3 a fordul\u00e1si id\u0151 m\u00e9r\u00e9s\u00e9re, de rossz az interaktivit\u00e1s m\u00e9r\u00e9s\u00e9re. K\u00e9pzelje el, hogy amikor a termin\u00e1l el\u0151tt \u00fcl, \u00e9s megpr\u00f3b\u00e1l karaktereket be\u00edrni egy sz\u00f6vegszerkeszt\u0151be, 10 m\u00e1sodpercn\u00e9l tov\u00e1bb kell v\u00e1rnia, mert egy m\u00e1sik feladat foglalja el a processzort. Ez nem t\u00fal kellemes.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/f1412665826f845fdc685ec3c1a5bdad.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEzzel a probl\u00e9m\u00e1val szembes\u00fcl\u00fcnk \u2014 hogyan \u00e9p\u00edthet\u00fcnk egy \u00fctemez\u0151t, amely \u00e9rz\u00e9keny a v\u00e1laszid\u0151re?<\/p>\n<h3>K\u00f6rk\u00f6r\u00f6s \u00dctemez\u00e9s<\/h3>\n<p>\n A probl\u00e9ma megold\u00e1s\u00e1ra kifejlesztett algoritmus <b>K\u00f6rk\u00f6r\u00f6s \u00dctemez\u00e9s<\/b> (RR). Az alapgondolat nagyon egyszer\u0171: ahelyett, hogy a feladatokat teljesen befejezn\u00e9nk, egy bizonyos id\u0151tartamra (\u00fagynevezett id\u0151kvantum) ind\u00edtjuk el a feladatot, majd v\u00e1ltunk egy m\u00e1sik feladatra a sorban. Az algoritmus addig folytatja a munk\u00e1t, am\u00edg az \u00f6sszes feladat be nem fejez\u0151dik. A program fut\u00e1si idej\u00e9nek oszthat\u00f3nak kell lennie a megszak\u00edt\u00f3 id\u0151vel. P\u00e9ld\u00e1ul, ha a megszak\u00edt\u00f3 processzk\u00e9nt 10 ms-ig m\u0171k\u00f6dik, akkor a folyamat v\u00e9grehajt\u00e1si idej\u00e9nek is meg kell felelnie ezzel, \u00e9s 10, 20 vagy x*10-nek kell lennie.<\/p>\n<p>N\u00e9zz\u00fck meg a p\u00e9ld\u00e1t: Az A, B \u00e9s C feladatok egyszerre \u00e9rkeznek a rendszerbe, \u00e9s mindh\u00e1rom 5 m\u00e1sodpercet szeretne dolgozni. Az SJF algoritmus minden feladatot a v\u00e9g\u00e9ig futtat, miel\u0151tt egy m\u00e1sikat ind\u00edtana. Ezzel szemben az RR algoritmus 1 m\u00e1sodperces fut\u00e1si ablakot v\u00e1laszt, ami a k\u00f6vetkez\u0151k\u00e9ppen halad a feladatokon (4.3. \u00e1bra):<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/a7790cb63c880b286db2a2e3782d59b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(SJF Ism\u00e9t (Rossz a v\u00e1laszid\u0151 szempontj\u00e1b\u00f3l)<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/f7e82d68a6118828ea4561a4911744e2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(K\u00f6rk\u00f6r\u00f6s \u00dctemez\u00e9s (J\u00f3 a v\u00e1laszid\u0151 szempontj\u00e1b\u00f3l)<\/p>\n<p>Az RR algoritmus \u00e1tlagos v\u00e1laszideje (0+1+2)\/3=1, m\u00edg az SJF eset\u00e9n (0+5+10)\/3=5.<\/p>\n<p>Logikus felt\u00e9telezni, hogy az id\u0151ablak nagyon fontos szempont a RR sz\u00e1m\u00e1ra; min\u00e9l kisebb az, ann\u00e1l magasabb a v\u00e1laszid\u0151. Azonban nem szabad t\u00fal kicsire is be\u00e1ll\u00edtani, mivel a kontextusv\u00e1lt\u00e1s ideje szint\u00e9n szerepet j\u00e1tszik az \u00f6sszteljes\u00edtm\u00e9nyben. \u00cdgy a v\u00e9grehajt\u00e1si id\u0151ablak megv\u00e1laszt\u00e1sa az oper\u00e1ci\u00f3s rendszer \u00e9p\u00edt\u00e9sz\u00e9t\u0151l f\u00fcgg, \u00e9s azokt\u00f3l a feladatokt\u00f3l f\u00fcgg, amelyeket v\u00e9gre k\u00edv\u00e1nnak hajtani. A kontextusv\u00e1lt\u00e1s nem az egyetlen olyan szolg\u00e1ltat\u00e1si m\u0171velet, amely id\u0151t vesz ig\u00e9nybe \u2014 a fut\u00f3 program sok m\u00e1s dologgal is oper\u00e1l, p\u00e9ld\u00e1ul k\u00fcl\u00f6nb\u00f6z\u0151 cache-ekkel, \u00e9s minden egyes v\u00e1lt\u00e1s sor\u00e1n meg kell \u0151rizni \u00e9s vissza\u00e1ll\u00edtani ezt a k\u00f6rnyezetet, ami szint\u00e9n sok id\u0151t ig\u00e9nyelhet.<\/p>\n<p>A RR kit\u0171n\u0151 \u00fctemez\u0151, ha csak a v\u00e1laszid\u0151 metrik\u00e1j\u00e1r\u00f3l van sz\u00f3. De hogyan viselkedik a feladatforg\u00e1s ideje ezzel az algoritmussal? Vegy\u00fcnk egy p\u00e9ld\u00e1t, amikor A, B, C = 5 m\u00e1sodpercig m\u0171k\u00f6dik, \u00e9s egyszerre \u00e9rkeznek. A feladat A 13 m\u00e1sodpercben, B 14 m\u00e1sodpercben, C pedig 15 m\u00e1sodpercben fejez\u0151dik be, \u00e9s az \u00e1tlagos forg\u00e1sid\u0151 14 m\u00e1sodperc lesz. \u00cdgy a RR a forg\u00e1si metrika szempontj\u00e1b\u00f3l a legrosszabb algoritmus.<\/p>\n<p>\u00c1ltal\u00e1nosabb szavakkal, b\u00e1rmely RR t\u00edpus\u00fa algoritmus tisztess\u00e9ges, mivel egyenl\u0151 ar\u00e1nyban osztja el a CPU \u00e1ltal v\u00e9gzett id\u0151t az \u00f6sszes folyamat k\u00f6z\u00f6tt. \u00cdgy ezek a metrik\u00e1k folyamatosan konfliktusban \u00e1llnak egym\u00e1ssal.<\/p>\n<p>Ennek megfelel\u0151en van n\u00e9h\u00e1ny ellent\u00e9tes algoritmusunk, \u00e9s emellett t\u00f6bb felt\u00e9telez\u00e9s is fenn\u00e1ll \u2014 hogy a feladat ideje ismert, \u00e9s hogy a feladat csak a CPU-t haszn\u00e1lja.<\/p>\n<h3>Kevert I\/O<\/h3>\n<p>\n El\u0151sz\u00f6r is megsz\u00fcntess\u00fck a 4. felt\u00e9telez\u00e9st, miszerint a folyamat csak a CPU-t haszn\u00e1lja, term\u00e9szetesen ez nem \u00edgy van, a folyamatok m\u00e1s hardverekhez is fordulhatnak.<\/p>\n<p>Abban a pillanatban, amikor egy folyamat I\/O m\u0171veletet k\u00e9r, a folyamat blocked \u00e1llapotba ker\u00fcl, v\u00e1rva az I\/O befejez\u00e9s\u00e9t. Ha az I\/O a merevlemezre ker\u00fcl, akkor ez a m\u0171velet ak\u00e1r t\u00f6bb ms-t is ig\u00e9nybe vehet, vagy tov\u00e1bb is tarthat, \u00e9s a processzor ebben az id\u0151ben \u00e1llni fog. Ez id\u0151 alatt az \u00fctemez\u0151 b\u00e1rmely m\u00e1s folyamatot be tud \u00e1ll\u00edtani a processzorba. A k\u00f6vetkez\u0151 d\u00f6nt\u00e9s, amelyet az \u00fctemez\u0151nek meg kell hoznia \u2014 mikor fejezi be a folyamat az I\/O-t. Amikor ez bek\u00f6vetkezik, megszak\u00edt\u00e1s fog t\u00f6rt\u00e9nni, \u00e9s az oper\u00e1ci\u00f3s rendszer a h\u00edv\u00f3 I\/O folyamatot ready \u00e1llapotba \u00e1ll\u00edtja.<\/p>\n<p>N\u00e9zz\u00fck meg a p\u00e9ld\u00e1t t\u00f6bb feladattal. Mindegyik 50 ms processzori id\u0151t ig\u00e9nyel. Azonban az els\u0151 feladat 10 ms-k\u00e9nt I\/O-ra fog hivatkozni (ami szint\u00e9n 10 ms-ot fog ig\u00e9nybe venni). A B folyamat pedig egyszer\u0171en 50 ms-ot haszn\u00e1l fel I\/O n\u00e9lk\u00fcl.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/a32f5346eda86042c18d6424c19ad6b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEbben a p\u00e9ld\u00e1ban az STCF \u00fctemez\u0151t fogjuk haszn\u00e1lni. Hogyan reag\u00e1l az \u00fctemez\u0151, ha egy A nev\u0171 folyamatot ind\u00edtunk el rajta? El\u0151sz\u00f6r teljes m\u00e9rt\u00e9kben v\u00e9grehajtja az A folyamatot, majd a B folyamatot.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom egyszer\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s)\" src=\"\/wp-content\/uploads\/2019\/04\/9fb709a822b9fc35871b8a342ac38c7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA probl\u00e9ma megold\u00e1s\u00e1nak hagyom\u00e1nyos megk\u00f6zel\u00edt\u00e9se az A folyamat 10 ms-enk\u00e9nti r\u00e9szmunk\u00e1it k\u00fcl\u00f6n feladatk\u00e9nt \u00e9rtelmezni. \u00cdgy, amikor az STJF algoritmussal indulunk, a 50 ms feladat \u00e9s a 10 ms feladat k\u00f6z\u00f6tti v\u00e1laszt\u00e1s egy\u00e9rtelm\u0171. Azt\u00e1n, amikor az A r\u00e9szmunk\u00e1ja befejez\u0151dik, elind\u00edtjuk a B folyamatot \u00e9s az I\/O-t. Az I\/O befejez\u00e9se ut\u00e1n \u00fajra elindul a 10 ms A folyamat a B folyamat helyett. Ezzel lehet\u0151v\u00e9 v\u00e1lik a p\u00e1rhuzamos haszn\u00e1lat, amikor a CPU-t egy m\u00e1sik folyamat haszn\u00e1lja, m\u00edg az els\u0151 I\/O-ra v\u00e1r. Ennek eredm\u00e9nyek\u00e9nt a rendszer jobban kihaszn\u00e1lhat\u00f3 \u2014 amikor az interakt\u00edv folyamatok I\/O-ra v\u00e1rnak, a CPU-n m\u00e1s folyamatok is v\u00e9grehajthat\u00f3k.<\/p>\n<h3>Az Oracle m\u00e1r nem l\u00e9tezik<\/h3>\n<p>\n Most pr\u00f3b\u00e1ljuk meg megszabadulni att\u00f3l a felt\u00e9telez\u00e9st\u0151l, hogy a feladat v\u00e9grehajt\u00e1si ideje ismert. Ez alapvet\u0151en a legrosszabb \u00e9s a legval\u00f3sz\u00edn\u0171tlenebb felt\u00e9telez\u00e9s a list\u00e1n. A val\u00f3s\u00e1gban a hagyom\u00e1nyos oper\u00e1ci\u00f3s rendszerek alig tudnak a feladatok v\u00e9grehajt\u00e1si idej\u00e9r\u0151l, hogyan \u00e9p\u00edthet\u00fcnk \u00fctemez\u0151t an\u00e9lk\u00fcl, hogy tudn\u00e1nk, mennyi ideig fog egy feladat v\u00e9grehajt\u00f3dni? Tal\u00e1n haszn\u00e1lhatn\u00e1nk n\u00e9h\u00e1ny RR elvet ennek a probl\u00e9m\u00e1nak a megold\u00e1s\u00e1ra?<\/p>\n<h3>Result<\/h3>\n<p>\n Megvizsg\u00e1ltuk a feladat\u00fctemez\u00e9s alapvet\u0151 \u00f6tleteit, \u00e9s k\u00e9t \u00fctemez\u0151 csal\u00e1dot. Az els\u0151 a legr\u00f6videbb feladatot ind\u00edtja el el\u0151sz\u00f6r, \u00edgy cs\u00f6kkentve a k\u00f6rforg\u00e1si id\u0151t, m\u00edg a m\u00e1sodik egyenletesen osztja el az id\u0151t minden feladat k\u00f6z\u00f6tt, jav\u00edtva a v\u00e1laszid\u0151t. Mindk\u00e9t algoritmus rosszul teljes\u00edt ott, ahol a m\u00e1sik csal\u00e1d algoritmusai j\u00f3l teljes\u00edtenek. Azt is megvizsg\u00e1ltuk, hogyan jav\u00edthatj\u00e1k a CPU \u00e9s az I\/O p\u00e1rhuzamos haszn\u00e1lata a teljes\u00edtm\u00e9nyt, de nem oldottuk meg az oper\u00e1ci\u00f3s rendszer l\u00e1tom\u00e1s\u00e1nak probl\u00e9m\u00e1j\u00e1t. A k\u00f6vetkez\u0151 \u00f3r\u00e1n olyan \u00fctemez\u0151t fogunk megvizsg\u00e1lni, amely a legk\u00f6zelebbi m\u00faltba tekint \u00e9s pr\u00f3b\u00e1lja megj\u00f3solni a j\u00f6v\u0151t. Ezt multi-level feedback queue-nak h\u00edvj\u00e1k.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449026\/\">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":23990,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32158","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.3 - 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.\" \/>\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\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-perevod\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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 4: \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a (\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-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:45:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:45:27+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\udd47Oper\u00e1ci\u00f3s rendszerek: H\u00e1rom k\u00f6nny\u0171 r\u00e9sz. 4. r\u00e9sz: Bevezet\u00e9s a tervez\u0151be (ford\u00edt\u00e1s) | ProHoster","description":"Bevezet\u00e9s az oper\u00e1ci\u00f3s rendszerekbe Hell\u00f3, Habr! Szeretn\u00e9m bemutatni nektek egy \u00e9rdekes k\u00f6nyv sorozat ford\u00edt\u00e1s\u00e1t \u2013 OSTEP.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-perevod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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 4: \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a (\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.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-4-vvedenie-v-planirovshhik-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:45:27+00:00","article:modified_time":"2019-10-31T18:45:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32158","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 09:34:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:03:25","updated":"2026-01-21 09:34:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=32158"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32158\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/23990"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=32158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=32158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=32158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}