{"id":31229,"date":"2019-10-31T21:40:10","date_gmt":"2019-10-31T18:40:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-3-process-api-perevod\/"},"modified":"2019-10-31T21:40:10","modified_gmt":"2019-10-31T18:40:10","slug":"operating-systems-three-easy-pieces-part-3-process-api-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-3-process-api-perevod","title":{"rendered":"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API","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<\/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><br \/>\n<b>Riaszt\u00e1s!<\/b> Ehhez az el\u0151ad\u00e1shoz van egy labor! N\u00e9zd meg <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">github<\/a><\/noindex><\/p>\n<h2>Folyamat API<\/h2>\n<p>N\u00e9zz\u00fck meg egy folyamat l\u00e9trehoz\u00e1s\u00e1nak p\u00e9ld\u00e1j\u00e1t UNIX rendszeren. Ez k\u00e9t rendszerh\u00edv\u00e1son kereszt\u00fcl t\u00f6rt\u00e9nik. <b>fork()<\/b> \u00e9s <b>exec()<\/b>.<\/p>\n<h3>A fork() h\u00edv\u00e1s<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API\" src=\"\/wp-content\/uploads\/2019\/04\/c0c39726560e18a82ae05a31b43f92c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e9zz\u00fck meg a programot, amely v\u00e9grehajtja a fork() h\u00edv\u00e1st. Az eredm\u00e9nye a k\u00f6vetkez\u0151 lesz.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API\" src=\"\/wp-content\/uploads\/2019\/04\/3ddddbaf5bbb38e9882827da0513805a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl\u0151sz\u00f6r bel\u00e9p\u00fcnk a main() f\u00fcggv\u00e9nybe, \u00e9s v\u00e9grehajtjuk a sorozat ki\u00edr\u00e1s\u00e1t a k\u00e9perny\u0151re. A sorozat tartalmazza a folyamat azonos\u00edt\u00f3j\u00e1t, amely az eredetiben \u00edgy nevezz\u00fck <b>PID<\/b> vagy process azonos\u00edt\u00f3. Ez az azonos\u00edt\u00f3 a UNIX rendszerben a folyamat el\u00e9r\u00e9s\u00e9re szolg\u00e1l. A k\u00f6vetkez\u0151 parancs a fork() h\u00edv\u00e1sa lesz. Ekkor szinte pontos m\u00e1solat k\u00e9sz\u00fcl a folyamatr\u00f3l. Az oper\u00e1ci\u00f3s rendszer sz\u00e1m\u00e1ra \u00fagy t\u0171nik, hogy a rendszerben mintha 2 p\u00e9ld\u00e1nya lenne ugyanannak a programnak, amelyek saj\u00e1t maguk fognak kil\u00e9pni a fork() f\u00fcggv\u00e9ny v\u00e9grehajt\u00e1s\u00e1b\u00f3l. Az \u00fajonnan l\u00e9trehozott ut\u00f3d-processz (a l\u00e9trehoz\u00f3 sz\u00fcl\u0151folyathoz k\u00e9pest) m\u00e1r nem fog v\u00e9grehajt\u00f3dni a main() f\u00fcggv\u00e9nyb\u0151l kezd\u0151d\u0151en. Eml\u00e9kezz\u00fcnk arra, hogy az ut\u00f3d-processz nem pontos m\u00e1solata a sz\u00fcl\u0151processznek, p\u00e9ld\u00e1ul saj\u00e1t c\u00edmtartom\u00e1nya, saj\u00e1t regiszterei, saj\u00e1t utas\u00edt\u00e1s-kimutat\u00f3i stb. vannak. \u00cdgy a fork() f\u00fcggv\u00e9ny h\u00edv\u00f3nak visszaadott \u00e9rt\u00e9ke elt\u00e9r\u0151 lesz. K\u00fcl\u00f6n\u00f6sen a sz\u00fcl\u0151processz a gyermekfolyamat PID-\u00e9rt\u00e9k\u00e9t kapja vissza, m\u00edg a gyermek \u00e9rt\u00e9ke 0-t kap. Ezen visszat\u00e9r\u00e9si k\u00f3dok alapj\u00e1n a tov\u00e1bbiakban m\u00e1r lehet\u0151s\u00e9g ny\u00edlik a folyamatok elk\u00fcl\u00f6n\u00edt\u00e9s\u00e9re, \u00edgy mindenik saj\u00e1t munk\u00e1j\u00e1t el tudja v\u00e9gezni. A program v\u00e9grehajt\u00e1sa azonban nem szigor\u00faan meghat\u00e1rozott. A jelentkez\u00e9s ut\u00e1n a rendszer kezdi k\u00f6vetni a 2 folyamatot, \u00e9s megtervezi azok m\u0171k\u00f6d\u00e9s\u00e9t. Egy magos processzor eset\u00e9n egy folyamat, ebben az esetben a sz\u00fcl\u0151, folytatja a m\u0171k\u00f6d\u00e9st, majd a vez\u00e9rl\u00e9s \u00e1tker\u00fcl az ut\u00f3d-processzhez. Az \u00fajraind\u00edt\u00e1skor a helyzet m\u00e1sk\u00e9pp alakulhat.<\/p>\n<h3>wait() h\u00edv\u00e1s<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API\" src=\"\/wp-content\/uploads\/2019\/04\/abb10671424f1889fbbb3facae739029.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e9zz\u00fck a k\u00f6vetkez\u0151 programot. Ebben a programban a h\u00edv\u00e1s r\u00e9v\u00e9n, <b>wait()<\/b> a sz\u00fcl\u0151folyamat mindig meg fog v\u00e1rni, am\u00edg a gyermekfolyamat befejezi a munk\u00e1j\u00e1t. Ekkor a k\u00e9perny\u0151n szigor\u00faan meghat\u00e1rozott kimenetet kapunk.<\/p>\n<p><img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API\" src=\"\/wp-content\/uploads\/2019\/04\/7e8ea54531b7717b7b42802550afd27b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>exec() h\u00edv\u00e1s<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Oper\u00e1ci\u00f3s Rendszerek: H\u00e1rom K\u00f6nny\u0171 Darab. 3. R\u00e9sz: Folyamat API\" src=\"\/wp-content\/uploads\/2019\/04\/dfe3a41c03bc35fd716a1b4c3af68c2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e9zz\u00fck meg az <b>exec()<\/b>h\u00edv\u00e1st. Ez a rendszerh\u00edv\u00e1s hasznos, amikor egy eg\u00e9szen m\u00e1s programot szeretn\u00e9nk elind\u00edtani. Itt az <b>execvp()<\/b> A wc program, which is a word counting utility, is initiated. What happens when exec() is called? The name of the executable file and some parameters are passed as arguments to this call. The code and static data from the executable file are then loaded, overwriting the current code segment. Other memory areas, such as the stack and heap, are reinitialized. After that, the OS simply executes the program, providing it with a set of arguments. Thus, we haven't created a new process; we have merely transformed the currently running program into another running program. After executing exec(), it seems to the child process that the original program was never launched at all.<\/p>\n<p>Such complexity in launching is absolutely normal for Unix shell, allowing it to execute code after the call <b>fork()<\/b>, but before the call <b>exec()<\/b>. An example of such code could be adapting the shell environment to meet the needs of the launched program before its actual startup.<\/p>\n<p><b>Shell<\/b> is just a user program. It displays a prompt and waits for you to type something. In most cases, when you enter the name of a program, the shell finds its location, calls fork(), and then to create a new process, it calls one of the exec() types and waits for it to execute with wait(). When the child process finishes, the shell returns from wait() and shows the prompt again, waiting for the next command input.<\/p>\n<p>The separation of fork() &amp; exec() allows the shell to do several things, for example:<br \/>\n<b>wc file &gt; new_file.<\/b><\/p>\n<p>In this example, the output of the wc program is redirected to a file. The method by which the shell achieves this is quite simple \u2014 when creating a child process before the call to <b>exec()<\/b>, the shell closes the standard output stream and opens the file <b>new_file<\/b>, thus all output from the next launched program <b>wc<\/b> will be redirected to the file instead of the screen.<\/p>\n<p><b>Unix pipes<\/b> are implemented in a similar way, with the difference that they use the pipe() call. In this case, the output stream of the process will be connected to a pipe queue located in the kernel, which will also be linked to the input stream of another process.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447182\/\">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":23195,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31229","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-3-process-api-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 3: Process API (\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-3-process-api-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:40:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:40:10+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 egyszer\u0171 r\u00e9sz. 3. r\u00e9sz: Folyamat API (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-3-process-api-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 3: Process API (\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-3-process-api-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:40:10+00:00","article:modified_time":"2019-10-31T18:40:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31229","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 05:09:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:20:31","updated":"2026-01-21 05:09: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\/31229","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=31229"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/31229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/23195"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=31229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=31229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=31229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}