{"id":87925,"date":"2020-07-11T13:42:22","date_gmt":"2020-07-11T11:42:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust"},"modified":"2020-07-11T13:42:22","modified_gmt":"2020-07-11T11:42:22","slug":"predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust","title":{"rendered":"Arutelu ettepanek Linuxi tuumasse Rusti arendust\u00f6\u00f6riistade lisamise kohta","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nick DeSaulniers (<noindex><a rel=\"nofollow\" href=\"http:\/\/nickdesaulniers.github.io\/about\/\">Nick DeSaulniers<\/a><\/noindex>), kes tegeleb Google'is <noindex><a rel=\"nofollow\" href=\"https:\/\/clangbuiltlinux.github.io\/\">toetust<\/a><\/noindex> Linuxi tuuma ehitamise tagamisega Clangi kompilaatori abil ning <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/search?q=nickdesaulniers&#038;type=Commits\">aitab<\/a><\/noindex> lahendada Rusti kompilaatori vigu, <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/7\/9\/952\">soovitas<\/a><\/noindex> pidas konverentsil <noindex><a rel=\"nofollow\" href=\"https:\/\/www.linuxplumbersconf.org\/event\/7\/page\/47-attend\">Linux Plumbers Conference 2020<\/a><\/noindex> sessiooni, et arutada Rusti keeles tuumakomponentide arendamise v\u00f5imalust. Nick korraldab LLVM-ile p\u00fchendatud mikro-konverentsi ja peab vajalikuks arutada tehnilisi aspekte, mis on seotud Rusti toe integreerimise v\u00f5imalusega tuuma (tal on juba KBuildi jaoks t\u00f6\u00f6protot\u00fc\u00fcp valmistatud) ning m\u00f5ista, kas sellist tuge on \u00fcldse vaja ja millised on Rusti kasutuse piirangud.<\/p>\n<p>Tuletame meelde, et hiljutises arutelus konverentsil &#171;Open Source Summit and Embedded Linux&#187; r\u00e4\u00e4kis Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53292\">ei v\u00e4listanud<\/a><\/noindex> tuumikomponentide k\u00f5rvaliste alams\u00fcsteemide, nagu draiverite, arendamiseks seotud sidemete ilmumine keeles Rust. Draiverite arendamine keeles Rust v\u00f5imaldaks minimaalse vaevaga luua turvalisi ja kvaliteetseid draivereid, vabastades need probleemidest, nagu m\u00e4lu ala juurde p\u00e4\u00e4semine p\u00e4rast selle vabastamist, nullviidatud de-referentseerimine ja puutumatuse \u00fcletamine. Sellise v\u00f5imaluse rakendamiseks on juba olemas mitmeid kolmandate osapoolte projekte:<\/p>\n<ul>\n<li class=\"l\"> Arendajad ettev\u00f5ttest &#171;Fish in a Barrel&#187; <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fishinabarrel\/linux-kernel-module-rust\">valmistasid<\/a><\/noindex> on loonud t\u00f6\u00f6riistakomplekti Linuxi tuuma laaditavate moodulite kirjutamiseks Rusti keeles, kasutades kaitse suurendamiseks tuuma liideste ja struktuuride kohalolevate abstraktsete kihtide komplekti. Kihtide loomine toimub olemasolevate tuuma p\u00e4istefailide p\u00f5hjal utiliidi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust-bindgen\">bindgen<\/a><\/noindex>. Kihtide koostamiseks kasutatakse Clangit. Koostatavad moodulid kasutavad lisaks kihtidele ka paketti staticlib.\n<li class=\"l\"> Hongkongi \u00dclikooli teadlased <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lizhuohua\/linux-kernel-module-rust\">arendatakse<\/a><\/noindex> arendavad Rusti kiirusjuhte v\u00e4listatud ja asjade internetisse, mis kasutab ka bindgeni, et genereerida kihte p\u00f5hinedes tuumapealkirjadele. Raamistik v\u00f5imaldab suurendada draiverite turvalisust ilma tuuma muutmata \u2014 lisaks uute isolatsioonitasemete loomisele tuumas draiverite jaoks, pakutakse probleemide blokeerimist kompileerimise etapis, kasutades turvalisemat keelt Rust. Eeldatakse, et selline l\u00e4henemine v\u00f5ib huvi pakkuda seadmete tootjatele, kes arendavad patenteeritud draivereid kiirelt, ilma n\u00f5uetekohase auditi l\u00e4biviimiseta.\n<li class=\"l\"> Raamistik arendajad <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/immunant\/c2rust\">C2Rust<\/a><\/noindex> C-koodi Rusti t\u00f5lkimiseks, <noindex><a rel=\"nofollow\" href=\"https:\/\/immunant.com\/blog\/2020\/06\/kernel_modules\/\">rahvusvaheline p\u00e4ev<\/a><\/noindex> eksperimendid tuumamoodulite \u00fcmberkujundamiseks minimaalse k\u00e4sitsi sekkumisega. Probleemid, mida on m\u00e4rkida, h\u00f5lmavad koodi mitmes osas tuumas, kus kasutatakse GCC laiendusi, mida C2Rust veel ei toeta. Selle probleemi lahendamiseks on C2Rustis plaanis lisada GCC atribuute inline, cold, alias, used ja section, samuti laiendada inline-assembleri v\u00f5imalusi ja lahendada probleemid struktuuridega, mis on samal ajal joondatud ja pakendatud (n\u00e4iteks xregs_state). Oluliste probleemide seas, mis vajavad k\u00e4sitsi sekkumist, on m\u00e4rgitud v\u00f5imetus edastada mittetriviaalseid C-makrosid Rusti makrosse ja vajadus t\u00fc\u00fcpide \u00fclekirjutamiseks, kuna C2Rust edastab C-t\u00fc\u00fcbid libc paketi definitsioonidesse, kuid seda paketti ei saa kasutada tuumamoodulites.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Allikas: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53331\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0438\u043a \u0414\u0435\u0441\u0430\u043d\u044c\u0435 (Nick Desaulniers), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0432 Google \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Clang \u0438 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0439 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0435 Rust, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Linux Plumbers Conference 2020 \u0441\u0435\u0441\u0441\u0438\u044e \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u044f\u0434\u0440\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041d\u0438\u043a \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0438\u043a\u0440\u043e-\u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438, \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d\u043d\u043e\u0439 LLVM, \u0438 \u0441\u0447\u0438\u0442\u0430\u0435\u0442, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-87925","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0438\u043a \u0414\u0435\u0441\u0430\u043d\u044c\u0435 (Nick Desaulniers), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0432 Google \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c\" \/>\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\/et\/blog\/news\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\udd47\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u044f\u0434\u0440\u043e Linux \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0438\u043a \u0414\u0435\u0441\u0430\u043d\u044c\u0435 (Nick Desaulniers), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0432 Google \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust\" \/>\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=\"2020-07-11T11:42:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-11T11:42:22+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\udd47Ettepanek arutada Rust'i arendust\u00f6\u00f6riistade lisamist Linuxi tuuma | ProHoster","description":"Nick Desaulniers, kes t\u00f6\u00f6tab Google'is turvamise valdkonnas","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\udd47\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u044f\u0434\u0440\u043e Linux \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041d\u0438\u043a \u0414\u0435\u0441\u0430\u043d\u044c\u0435 (Nick Desaulniers), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0432 Google \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/predlozhenie-po-obsuzhdeniyu-voprosa-dobavleniya-v-yadro-linux-sredstv-dlya-razrabotki-na-yazyke-rust","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":"2020-07-11T11:42:22+00:00","article:modified_time":"2020-07-11T11:42:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87925","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:40:35","updated":"2022-10-02 21:14:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=87925"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87925\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=87925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=87925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=87925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}