{"id":101790,"date":"2021-10-26T16:22:50","date_gmt":"2021-10-26T14:22:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust"},"modified":"2021-10-26T16:22:50","modified_gmt":"2021-10-26T14:22:51","slug":"proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust","title":{"rendered":"Le projet Kerla d\u00e9veloppe un noyau compatible Linux en Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dans le cadre du projet Kerla, un noyau de syst\u00e8me d'exploitation est en cours de d\u00e9veloppement, \u00e9crit en langage Rust. Ce nouveau noyau est initialement con\u00e7u pour assurer la compatibilit\u00e9 avec le noyau Linux au niveau de l'ABI, ce qui permettra d'ex\u00e9cuter des fichiers binaires non modifi\u00e9s, compil\u00e9s pour Linux, dans un environnement bas\u00e9 sur Kerla. Le code est distribu\u00e9 sous les licences Apache 2.0 et MIT. Le projet est d\u00e9velopp\u00e9 par le d\u00e9veloppeur japonais Seiya Nuta, connu pour la cr\u00e9ation du syst\u00e8me d'exploitation \u00e0 micro-noyau Resea, \u00e9crit en langage C.      <\/p>\n<p>\u00c0 l'\u00e9tape actuelle de d\u00e9veloppement, Kerla ne peut fonctionner que sur des syst\u00e8mes avec une architecture x86_64 et impl\u00e9mente des appels syst\u00e8me de base tels que write, stat, mmap, pipe et poll, prend en charge les signaux, les canaux anonymes et les \u00e9changes de contexte. Pour la gestion des processus, des appels tels que fork, wait4 et execve sont fournis. Le support de tty et des pseudo-terminaux (pty) est \u00e9galement pr\u00e9sent. Pour les syst\u00e8mes de fichiers, seuls initramfs (utilis\u00e9 pour monter le syst\u00e8me de fichiers racine), tmpfs et devfs sont pris en charge. Un stack r\u00e9seau avec prise en charge des sockets TCP et UDP, impl\u00e9ment\u00e9 \u00e0 l'aide de la biblioth\u00e8que smoltcp, est fourni.        <\/p>\n<p>Le d\u00e9veloppeur a pr\u00e9par\u00e9 un environnement de d\u00e9marrage, qui peut \u00eatre ex\u00e9cut\u00e9 dans QEMU ou dans <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/vps\/abuzoustojchivye-vps\/\"   title=\"une machine virtuelle\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4316\">une machine virtuelle<\/a> Firecracker avec le pilote virtio-net, auquel on peut d\u00e9j\u00e0 se connecter par SSH. La biblioth\u00e8que syst\u00e8me utilis\u00e9e est musl, et les utilitaires utilisateurs sont BusyBox.     <center><img decoding=\"async\" alt=\"Le projet Kerla d\u00e9veloppe un noyau compatible Linux en Rust \" src=\"\/wp-content\/uploads\/2021\/10\/e87c8367e185a133178cb4e38b7d96f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Un syst\u00e8me de construction bas\u00e9 sur Docker a \u00e9t\u00e9 pr\u00e9par\u00e9, permettant de cr\u00e9er ses propres initramfs de d\u00e9marrage avec le noyau Kerla. Une interface de commande similaire \u00e0 fish, appel\u00e9e nsh, ainsi qu'une pile graphique Kazari bas\u00e9e sur le protocole Wayland, sont \u00e9galement en d\u00e9veloppement.    <center><img decoding=\"async\" alt=\"Le projet Kerla d\u00e9veloppe un noyau compatible Linux en Rust \" src=\"\/wp-content\/uploads\/2021\/10\/313a1bfad2de07e0d904597c2aec4bdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>L'utilisation du langage Rust dans le projet permet de r\u00e9duire le nombre d'erreurs dans le code gr\u00e2ce \u00e0 l'application de techniques de programmation s\u00e9curis\u00e9es et \u00e0 une am\u00e9lioration de l'efficacit\u00e9 de d\u00e9tection des probl\u00e8mes li\u00e9s \u00e0 la gestion de la m\u00e9moire. La gestion s\u00e9curis\u00e9e de la m\u00e9moire est assur\u00e9e en Rust lors de la compilation par la v\u00e9rification des r\u00e9f\u00e9rences, le suivi de la propri\u00e9t\u00e9 des objets et la prise en compte de la dur\u00e9e de vie des objets (port\u00e9e), ainsi que par l'\u00e9valuation de la validit\u00e9 de l'acc\u00e8s \u00e0 la m\u00e9moire lors de l'ex\u00e9cution du code. De plus, Rust fournit des moyens de protection contre les d\u00e9bordements entiers, exige une initialisation obligatoire des valeurs des variables avant leur utilisation, applique le concept d'immuabilit\u00e9 (immutable) des r\u00e9f\u00e9rences et des variables par d\u00e9faut, et offre une forte typage statique pour minimiser les erreurs logiques, facilitant le traitement des valeurs d'entr\u00e9e gr\u00e2ce \u00e0 des moyens de correspondance de mod\u00e8les.    <\/p>\n<p>Pour le d\u00e9veloppement de composants bas niveau, tels que le noyau du syst\u00e8me d'exploitation, Rust fournit un support pour les pointeurs bruts, l'emballage de structures, les insertions inline en assembleur, et l'inclusion de fichiers en assembleur. Pour fonctionner sans d\u00e9pendance \u00e0 la biblioth\u00e8que standard, il existe des packages crate isol\u00e9s pour effectuer des op\u00e9rations sur des cha\u00eenes de caract\u00e8res, des vecteurs et des indicateurs de bits. Parmi les avantages, on note \u00e9galement des outils int\u00e9gr\u00e9s pour \u00e9valuer la qualit\u00e9 du code (linter, rust-analyzer) et cr\u00e9er des tests unitaires, qui peuvent \u00eatre ex\u00e9cut\u00e9s non seulement sur du mat\u00e9riel r\u00e9el, mais aussi dans QEMU.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56043\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Kerla \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0434\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041d\u043e\u0432\u043e\u0435 \u044f\u0434\u0440\u043e \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u044f\u0434\u0440\u043e\u043c Linux \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 ABI, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 Kerla \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f Linux. \u041a\u043e\u0434 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 Apache 2.0 \u0438 MIT. \u041f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0421\u0435\u0439\u044f \u041d\u0443\u0442\u0430 (Seiya [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":101791,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101790","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Kerla \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0434\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\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\/fr\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\u043e\u0435\u043a\u0442 Kerla \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 Linux-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u044f\u0434\u0440\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Kerla \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0434\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-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=\"2021-10-26T14:22:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-10-26T14:22:51+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\udd47Le projet Kerla d\u00e9veloppe un noyau compatible Linux en langage Rust | ProHoster","description":"Dans le cadre du projet Kerla, le d\u00e9veloppement d'un noyau de syst\u00e8me d'exploitation \u00e9crit en langage Rust est en cours.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\u043e\u0435\u043a\u0442 Kerla \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 Linux-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u044f\u0434\u0440\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Kerla \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0434\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-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":"2021-10-26T14:22:51+00:00","article:modified_time":"2021-10-26T14:22:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101790","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-10-26 14:24:15","updated":"2022-09-27 19:20:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/101790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=101790"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/101790\/revisions"}],"predecessor-version":[{"id":164191,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/101790\/revisions\/164191"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/101791"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=101790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=101790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=101790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}