{"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":"Pakkumine arutada k\u00fcsimust Rusti programmeerimise keele arendamise vahendite lisamist Linuxi tuumasse","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nik DeSanje (<noindex><a rel=\"nofollow\" href=\"http:\/\/nickdesaulniers.github.io\/about\/\">Nick Desaulniers<\/a><\/noindex>), kes Google'is vastutab <noindex><a rel=\"nofollow\" href=\"https:\/\/clangbuiltlinux.github.io\/\">toetuseks<\/a><\/noindex> Linuxi tuuma kokkupaneku eest Clang-kompilaatori abil ja samuti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust\/search?q=nickdesaulniers&#038;type=Commits\">aitab<\/a><\/noindex> vigu Rusti kompilaatoris parandada, <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/7\/9\/952\">soovitust<\/a><\/noindex> viis konverentsil <noindex><a rel=\"nofollow\" href=\"https:\/\/www.linuxplumbersconf.org\/event\/7\/page\/47-attend\">Linux Plumbers Conference 2020<\/a><\/noindex> sessiooni, et arutada tuuma komponentide arendamise v\u00f5imaluse pakkumist Rust keeles. Nik korraldab LLVM-ile p\u00fchendatud mikro-konverentse ja arvab, et oleks hea arutada tehnilisi aspekte Rusti toetuse v\u00f5imaliku integreerimise kohta tuuma (nad on juba KBuild jaoks t\u00f6\u00f6tava protot\u00fc\u00fcbi valmistanud) ja m\u00f5ista, kas on vajalik sellise toetuse lisamine ning millised piirangud Rusti kasutamisele tuleks kehtestada.<\/p>\n<p>Tulet meelde, et hiljuti peetud 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\">et ei v\u00e4listata<\/a><\/noindex> keele Rust s\u00f5lmede tekkimist mitte p\u00f5hifunktsioonide (nt draiverite) t\u00f6\u00f6tamiseks. Rust keeles draiverite arendamise v\u00f5imalus v\u00f5imaldaks minimaalse vaevaga luua ohutumaid ja kvaliteetsemaid draivereid, mis on vabad probleemidest, nagu m\u00e4lu vabastamise j\u00e4rgsed juurdep\u00e4\u00e4sud, nulln\u00e4idikute dereferentsimine ja m\u00e4lupiiride \u00fcletamine. Sellise v\u00f5imaluse rakendamiseks on juba olemas mitu kolmandast osapoolsest projekti:<\/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\">valmis<\/a><\/noindex> t\u00f6\u00f6riistakomplekt, mis on m\u00f5eldud laaditavate moodulite kirjutamiseks Linuxi s\u00fcdamikku Rusti keeles, kasutades turvalisuse suurendamiseks abstraktsete kihtide komplekti s\u00fcdamiku liideste ja struktuuride kohal. Kihti genereeritakse automaatselt olemasolevate s\u00fcdamiku pealkirjade p\u00f5hjal t\u00f6\u00f6riista abil <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rust-lang\/rust-bindgen\">bindgen<\/a><\/noindex>. Kihtide kokkupanekuks kasutatakse Clangit. Kogutavad moodulid kasutavad lisaks kihtidele ka staatilist paketti.\n<li class=\"l\"> Uurijad Hongkongi \u00dclikoolist <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lizhuohua\/linux-kernel-module-rust\">arendada<\/a><\/noindex> on projekt, mis arendab Rusti jaoks draivereid integreeritud s\u00fcsteemidele ja asjade interneti seadmetele, samuti kasutab see bindgen'i, et genereerida kihtide p\u00f5hjal kernel'i pealkirjade faile. Raamistik v\u00f5imaldab suurendada draiverite turvalisust ilma kerneli muutmiseta &#8212; selle asemel, et luua kernelis lisakihte draiverite jaoks, pakutakse v\u00e4lja probleemide blokeerimist kompileerimise etapis, kasutades turvalisemat Rusti keelt. Eeldatakse, et selline l\u00e4henemine v\u00f5ib osutuda n\u00f5utuks seadmete tootjate poolt, kes arendavad patendeeritud draivereid kiiresti, ilma n\u00f5uetekohase auditi l\u00e4biviimiseta.\n<li class=\"l\"> Raamistiku arendajad <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/immunant\/c2rust\">C2Rust<\/a><\/noindex> C-koodi t\u00f5lkimiseks Rusti, <noindex><a rel=\"nofollow\" href=\"https:\/\/immunant.com\/blog\/2020\/06\/kernel_modules\/\">korraldavad<\/a><\/noindex> eksperimentide l\u00e4biviimine tuumamoodulite muutmiseks minimaalse k\u00e4sitsi sekkumisega. Probleemide seas on m\u00e4rgitud kood, kus kasutatakse GCC laiendusi, mis ei ole veel C2Rustis toetatud. Selle probleemi lahendamiseks plaanib C2Rust lisada GCC atribuutide inline, cold, alias, used ja section toe ning laiendada inline-assembleri v\u00f5imalusi ja lahendada probleemid struktuuridega, mis on samaaegselt joondatud ja pakendatud (n\u00e4iteks xregs_state). Oluliste probleemide hulka, mis vajavad k\u00e4sitsi sekkumist, kuulub keeruliste C-makrode transpileerimise v\u00f5imatus Rusti makrodeks ja t\u00fc\u00fcpide \u00fcmberdefineerimise vajadus, kuna C2Rust transpileerib C-t\u00fc\u00fcbid libc paketi m\u00e4\u00e4ratlusteks, 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.1.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.1.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\udd47Pakkumine arutada k\u00fcsimust Rusti programmeerimiskeele arendamisest Linuxi tuumas | ProHoster","description":"Nick Desaulniers, kes tegutseb Google'is","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}]}}