{"id":37708,"date":"2019-10-31T22:19:14","date_gmt":"2019-10-31T19:19:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-na-yazyke-rust\/"},"modified":"2019-10-31T22:19:14","modified_gmt":"2019-10-31T19:19:14","slug":"frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-na-yazyke-rust","title":{"rendered":"Raamistik kaitstud Linuxi s\u00fcdamiku draiverite kirjutamiseks Rustis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Josh Triplett, Intel'i t\u00f6\u00f6taja ja Crates.io arenduse komitee liige, r\u00e4\u00e4kis oma esitluses Open Source Technology Summit konverentsil <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.packtpub.com\/rust-is-the-future-of-systems-programming-c-is-the-new-assembly-intel-principal-engineer-josh-triplett\/\">esitles<\/a><\/noindex> t\u00f6\u00f6r\u00fchmast, mille eesm\u00e4rk on viia Rusti programmeerimiskeel s\u00fcsteemiprogrammeerimise osas tasemele, mis on v\u00f5rdne C keele tasemega. <\/p>\n<p>T\u00f6\u00f6r\u00fchma, mis hetkel on loomise protsessis, arendajad Rust koos Intel'i inseneridega koostavad spetsifikatsioone, milles m\u00e4\u00e4ratletakse funktsionaalsus, mida on vaja Rust'is s\u00fcsteemiprogrammeerimiseks ellu viia. S\u00fcsteemiprogrammeerimine n\u00f5uab sageli madala taseme manipuleerimist, nagu privileegidega protsessori k\u00e4skude t\u00e4itmine ja \u00fcksikasjalike informatsiooni saamine protsessori seisundi kohta. Juba arendatavate Rust'i sarnaste v\u00f5imaluste hulgas on m\u00e4rgitud nimetamata struktuuride, liideste (union), assembleri sisestuste (makro \u201easm!\u201d) ja\u6d6e\u70b9\u683c\u5f0f BFLOAT16 toimetamist.<\/p>\n<p>Josh usub, et s\u00fcsteemiprogrammeerimise tulevik kuulub Rustile, ja C keel p\u00fc\u00fcab t\u00e4nap\u00e4eval saavutada positsiooni, mida pealegi varem oli omanud Assembly. Rust<br \/>\nei aita mitte ainult arendajaid vabastada C keele madalama taseme m\u00e4lut\u00f6\u00f6tlusega seotud probleemidest, vaid pakub ka v\u00f5imalust rakendada kaasaegseid programmeerimisparadigmasid.<\/p>\n<p>Esitluse k\u00e4igus <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/797714\/\">arutelu<\/a><\/noindex> esitas<br \/>\nJosh idee lisada Linuxi kerneli v\u00f5imalus arendada draivereid Rusti keeles, mis v\u00f5imaldab luua ohutumaid ja kvaliteetsemaid draivereid minimaalse vaevaga, vabastades taolised probleemid nagu m\u00e4lu vabastamise j\u00e4rgne juurdep\u00e4\u00e4s, nullviidete de-referentsimine ja puute\u00fclemine.  <\/p>\n<p>Greg Kroah-Hartman, kes vastutab Linuxi kerneli stabiilse haru toe eest, v\u00e4ljendas valmisolekut lisada k\u00e4rneli raamistik rusti keeles draiverite arendamiseks, kui see pakub reaalseid eeliseid v\u00f5rreldes C-ga, n\u00e4iteks pakkudes ohutuid \u00fcmbritsevaid teenuseid k\u00e4rneli API-le. Lisaks peab Greg seda raamistikku vaid valikuks, mis pole vaikimisi aktiivne, et Rust ei muutuks k\u00e4rneli s\u00f5ltuvusteks.<\/p>\n<p>Selgus, et mitmed meeskonnad t\u00f6\u00f6tavad juba selle suuna kallal. N\u00e4iteks arendajad ettev\u00f5ttest \"Fish in a Barrel\" <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.<\/p>\n<p>Samas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lizhuohua\/linux-kernel-module-rust\">areneb<\/a><\/noindex> veel \u00fcks projekt, mis keskendub juhtmete arendamisele sisseehitatud s\u00fcsteemide ja asjade interneti seadmete jaoks, kasutab samuti bindgen'i, et genereerida vahekihte tuumafailide p\u00f5hjal. Raamistik v\u00f5imaldab suurendada draiverite turvalisust ilma tuuma muutmisteta \u2014 selle asemel, et luua tuumas t\u00e4iendavaid isolatsioonitasemeid draiveritele, pakutakse probleeme blokeerida kompileerimise etapil, kasutades turvalisemat Rust'i keelt. Eeldatakse, et selline l\u00e4henemine v\u00f5ib olla n\u00f5utav seadme tootjate seas, kes arendavad mitteavalikke draivereid kiirusel, ilma n\u00f5uetekohase auditeerimise l\u00e4biviimiseta.<\/p>\n<p>Kuid mitte k\u00f5ik planeeritud funktsioonid pole veel ellu kutsutud, kuid raamistik on juba piisavalt t\u00f6\u00f6kindel ning seda on kasutatud t\u00f6\u00f6 draiveri kirjutamiseks Ethernet-kontrollerile LAN9512 USB, mis on varustatud Raspberry Pi 3 plaadil. Rusti draiveri kirjutamisel kasutati malli rakendamiseks olemasolevat C keeles kirjutatud smsc95xx draiverit. M\u00e4rgitakse, et mooduli suurus ja runtime-komponentide kulud Rusti draiveri v\u00e4ljat\u00f6\u00f6tamisel on ebaolulised, mis v\u00f5imaldab raamistikku kasutada piiratud ressurssidega seadmetes.<\/p>\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=51401\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442 (Josh Triplett), \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Intel \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u0438\u0442\u0435\u0442, \u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 Crates.io, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Open Source Technology Summit \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443, \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430 \u0434\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Rust \u0434\u043e \u043f\u0430\u0440\u0438\u0442\u0435\u0442\u0430 \u0441 \u044f\u0437\u044b\u043a\u043e\u043c \u0421\u0438 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Rust \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 [&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-37708","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442 (Josh Triplett), \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Intel \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u0438\u0442\u0435\u0442, \u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 Crates.io, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Open Source Technology Summit\" \/>\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\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.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\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442 (Josh Triplett), \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Intel \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u0438\u0442\u0435\u0442, \u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 Crates.io, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Open Source Technology Summit\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-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=\"2019-10-31T19:19:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:19:14+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\udd47Raamistik, et kirjutada kaitstud draivereid Linuxi s\u00fcdamikule Rusti keeles | ProHoster","description":"Josh Triplett, kes t\u00f6\u00f6tab Intelis ja kuulub Crates.io arengu komiteesse, esines oma ettekandes Open Source Technology Summit konverentsil","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-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\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u0414\u0436\u043e\u0448 \u0422\u0440\u0438\u043f\u043b\u0435\u0442 (Josh Triplett), \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Intel \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 \u043a\u043e\u043c\u0438\u0442\u0435\u0442, \u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 Crates.io, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Open Source Technology Summit","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/frejmvork-dlya-napisaniya-zashhishhyonnyh-drajverov-dlya-yadra-linux-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":"2019-10-31T19:19:14+00:00","article:modified_time":"2019-10-31T19:19:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37708","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-23 18:58:59","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:22:28","updated":"2026-01-23 18:58:59","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\/37708","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=37708"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37708\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}