Kerla төсөл нь Rust хэл дээр Linux-тэй нийцтэй цөмийг хөгжүүлж байна

Керла төсөл нь Rust хэл дээр бичигдсэн үйлдлийн системийн цөмийг хөгжүүлж байна. Шинэ цөм нь ABI түвшний Линуксийн цөмтэй нийцтэй байдлыг хангахад чиглэгдсэн бөгөөд энэ нь Linux-д зориулж хөрвүүлсэн өөрчлөгдөөгүй ажиллах боломжтой файлуудыг Kerla-д суурилсан орчинд ажиллуулах боломжийг олгоно. Энэ кодыг Apache 2.0 болон MIT лицензийн дагуу түгээдэг. Төслийг Си хэл дээр бичигдсэн Resea микро цөмийн үйлдлийн системийг бүтээдгээрээ алдартай Японы хөгжүүлэгч Seiya Nuta боловсруулж байна.

Одоогийн хөгжлийн үе шатанд Kerla нь зөвхөн x86_64 системүүд дээр ажиллах боломжтой бөгөөд бичих, стат, mmap, хоолой, санал асуулга гэх мэт үндсэн системийн дуудлагуудыг хэрэгжүүлдэг, дохио, нэргүй хоолой, контекст шилжүүлэгчийг дэмждэг. Процессыг удирдахын тулд fork, wait4, execve гэх мэт дуудлагуудыг өгдөг. tty болон псевдо-терминалуудыг (pty) дэмждэг. Одоогоор дэмжигдсэн файлын системүүд нь initramfs (үндсэн файлын системийг холбоход ашигладаг), tmpfs болон devfs юм. Smoltcp номын сан дээр суурилсан TCP болон UDP залгууруудыг дэмждэг сүлжээний стекийг өгсөн.

Хөгжүүлэгч нь virtio-net драйвер бүхий QEMU эсвэл Firecracker виртуал машин дээр ажилладаг ачаалах орчныг бэлтгэсэн бөгөөд та SSH-ээр аль хэдийн холбогдож болно. musl нь системийн номын сан болгон, BusyBox нь хэрэглэгчийн хэрэгсэл болгон ашиглагддаг.

Kerla төсөл нь Rust хэл дээр Linux-тэй нийцтэй цөмийг хөгжүүлж байна

Docker-д суурилсан бүтээх системийг бэлтгэсэн бөгөөд энэ нь танд Kerla цөм ашиглан өөрийн ачаалах initramfs үүсгэх боломжийг олгодог. Загастай төстэй nsh програм хангамжийн бүрхүүл болон Wayland протокол дээр суурилсан Kazari GUI стекийг тусад нь боловсруулж байна.

Kerla төсөл нь Rust хэл дээр Linux-тэй нийцтэй цөмийг хөгжүүлж байна

Төсөлд Rust хэлийг ашиглах нь аюулгүй програмчлалын техникийг ашиглан кодын алдааны тоог бууруулж, санах ойтой ажиллах үед асуудлыг тодорхойлох үр ашгийг нэмэгдүүлэх боломжийг олгодог. Rust нь лавлагаа шалгах, объектын эзэмшил болон объектын ашиглалтын хугацааг хянах (хамрах хүрээ), ажиллах үед санах ойн хандалтын зөв байдлыг үнэлэх замаар эмхэтгэх үед санах ойн аюулгүй байдлыг хангадаг. Нэмж дурдахад Rust нь бүхэл тоон хэтрэхээс хамгаалж, ашиглахын өмнө хувьсагчийн утгыг эхлүүлэхийг шаарддаг, өөрчлөгддөггүй лавлагаа болон хувьсагчдын ойлголтыг анхдагчаар мөрддөг, логик алдааг багасгахын тулд хүчтэй статик бичвэрийг санал болгодог, оролтын утгуудын зохицуулалтыг хялбаршуулдаг. загвар тааруулсаны ачаар..

OS цөм зэрэг доод түвшний бүрэлдэхүүн хэсгүүдийг хөгжүүлэхийн тулд Rust нь түүхий заагч, бүтцийн багц, ассемблерийн доторлогоо, ассемблер файлуудыг оруулахад дэмжлэг үзүүлдэг. Стандарт номын санд холбогдохгүйгээр ажиллахын тулд мөр, вектор, бит тугуудтай үйлдэл хийх тусдаа хайрцагны багцууд байдаг. Өөр нэг давуу тал нь кодын чанарыг (линтер, зэв анализатор) үнэлэх, зөвхөн бодит техник хангамж дээр төдийгүй QEMU дээр ажиллах боломжтой нэгжийн туршилтуудыг бий болгох суурилуулсан хэрэгслүүд юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх