{"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\/da\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust","title":{"rendered":"Projektet Kerla udvikler en Linux-kompatibel kerne skrevet i Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I projektet Kerla udvikles der et operativsystemkerne skrevet i Rust. Den nye kerne er oprindeligt designet til at sikre kompatibilitet med Linux-kerne p\u00e5 ABI-niveau, hvilket vil g\u00f8re det muligt at k\u00f8re u\u00e6ndrede eksekverbare filer, der er bygget til Linux, i et milj\u00f8 baseret p\u00e5 Kerla. Koden distribueres under licenserne Apache 2.0 og MIT. Projektet udvikles af den japanske udvikler Seiya Nuta, kendt for at have skabt den mikrokernel-baserede operativsystem Resea, skrevet i C.      <\/p>\n<p>P\u00e5 det nuv\u00e6rende udviklingsstadium kan Kerla kun k\u00f8re p\u00e5 systemer med x86_64-arkitektur og implementerer grundl\u00e6ggende systemopkald som write, stat, mmap, pipe og poll, underst\u00f8tter signaler, anonyme r\u00f8r og kontekstskift. Til processtyring leveres opkald som fork, wait4 og execve. Der er st\u00f8tte til tty og pseudoterminaler (pty). Af filsystemer underst\u00f8ttes indtil videre initramfs (anvendes til at montere rodfilsystemet), tmpfs og devfs. Der tilbydes et netv\u00e6rksstak med underst\u00f8ttelse af TCP- og UDP-sokler, implementeret med smoltcp-biblioteket.        <\/p>\n<p>Udvikleren har forberedt et boot-milj\u00f8, der kan k\u00f8res i QEMU eller i <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/da\/vps\/abuzoustojchivye-vps\/\"   title=\"virtuelle maskiner\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4316\">virtuelle maskiner<\/a> Firecracker med virtio-net driver, som man allerede kan tilslutte via SSH. Som systembibliotek anvendes musl, og som bruger v\u00e6rkt\u00f8jer \u2014 BusyBox.     <center><img decoding=\"async\" alt=\"Projektet Kerla udvikler en Linux-kompatibel kerne skrevet i Rust. \" src=\"\/wp-content\/uploads\/2021\/10\/e87c8367e185a133178cb4e38b7d96f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Der er forberedt et buildsystem baseret p\u00e5 Docker, der g\u00f8r det muligt at skabe egne boot-initramfs med Kerla-kerne. Der udvikles desuden en shell-lignende program nsh og GUI-stakken Kazari baseret p\u00e5 Wayland-protokollen.    <center><img decoding=\"async\" alt=\"Projektet Kerla udvikler en Linux-kompatibel kerne skrevet i Rust. \" src=\"\/wp-content\/uploads\/2021\/10\/313a1bfad2de07e0d904597c2aec4bdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Brugen af Rust-sproget i projektet reducerer antallet af fejl i koden ved at anvende metoder til sikker programmering og forbedre effektiviteten i problemidentifikation ved h\u00e5ndtering af hukommelse. Sikker hukommelsesh\u00e5ndtering sikres i Rust under kompilering ved at tjekke referencer, f\u00f8lge ejerskab af objekter og tage hensyn til objektlivscyklus (synlighed) samt evaluere korrekt adgang til hukommelsen under udf\u00f8relsen af koden. Derudover tilbyder Rust v\u00e6rkt\u00f8jer til beskyttelse mod heltalsoverskridelser, kr\u00e6ver obligatorisk initialisering af variabelv\u00e6rdier f\u00f8r brug, anvender konceptet med uforanderlighed (immutable) for referencer og variabler som standard, og tilbyder st\u00e6rk statisk typisering for at minimere logiske fejl og g\u00f8re h\u00e5ndteringen af inddata lettere med m\u00f8nstermatching.    <\/p>\n<p>Til udvikling af lavniveau komponenter som operativsystemets kerne giver Rust st\u00f8tte til raw-pegepinde, strukturoverpakning, inline assembly inds\u00e6ttelser og indlejring af filer i assembly. For at arbejde uden afh\u00e6ngighed af standardbiblioteket er der separate crate-pakker til at udf\u00f8re operationer med strenge, vektorer og bitflag. Blandt fordelene bem\u00e6rkes ogs\u00e5 indbyggede v\u00e6rkt\u00f8jer til vurdering af kodekvalitet (linter, rust-analyzer) og oprettelse af unit-tests, som kan k\u00f8res ikke kun p\u00e5 fysisk hardware, men ogs\u00e5 i QEMU.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Projektet Kerla udvikler en Linux-kompatibel kerne p\u00e5 Rust-sproget | ProHoster","description":"I projektet Kerla udvikles en operativsystemkerne, der er skrevet i Rust-sproget.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/proekt-kerla-razvivaet-linux-sovmestimoe-yadro-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/101790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=101790"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/101790\/revisions"}],"predecessor-version":[{"id":164191,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/101790\/revisions\/164191"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/101791"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=101790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=101790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=101790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}