Hacker News

Хамгийн багадаа x86 цөм Zig

\u003ch2\u003eХамгийн бага x86 цөм Zig\u003c/h2\u003e \u003cp\u003e Энэхүү нээлттэй эхийн GitHub репозитор нь хөгжүүлэгчийн экосистемд чухал хувь нэмэр оруулдаг. Төсөл нь орчин үеийн хөгжлийн практик болон хамтын кодчиллыг харуулж байна.\u003c/p\u003e \u003ch3\u003e Техникийн F...

2 min read Via github.com

Mewayz Team

Editorial Team

Hacker News
\u003ch2\u003eХамгийн бага x86 цөм Zig\u003c/h2\u003e \u003cp\u003e Энэхүү нээлттэй эхийн GitHub репозитор нь хөгжүүлэгчийн экосистемд чухал хувь нэмэр оруулдаг. Төсөл нь орчин үеийн хөгжлийн практик болон хамтын кодчиллыг харуулж байна.\u003c/p\u003e \u003ch3\u003eТехникийн онцлогууд\u003c/h3\u003e \u003cp\u003e Хадгалах газарт:\u003c/p\u003e орсон байх магадлалтай. \u003cul\u003e \u003cli\u003eЦэвэр, сайн баримтжуулсан код\u003c/li\u003e \u003cli\u003e Хэрэглээний жишээ бүхий цогц README\u003c/li\u003e \u003cli\u003e Асуудлыг хянах, хувь нэмэр оруулах удирдамж\u003c/li\u003e \u003cli\u003eТогтмол шинэчлэлт ба засвар үйлчилгээ\u003c/li\u003e \u003c/ul\u003e \u003ch3\u003eНийгэмд үзүүлэх нөлөө\u003c/h3\u003e \u003cp\u003e Энэ мэт нээлттэй эхийн төслүүд нь хүртээмжтэй код, хамтын хөгжүүлэлтээр дамжуулан мэдлэг хуваалцах, техникийн шинэчлэлийг хурдасгадаг.\u003c/p\u003e

Байнга асуудаг асуултууд

Minimal x86 Kernel Zig төсөл гэж юу вэ, хэнд зориулагдсан бэ?

Minimal x86 Kernel Zig төсөл нь Zig програмчлалын хэлийг ашиглан нүцгэн металл x86 цөмийг хэрхэн бүтээхийг харуулсан нээлттэй эхийн агуулах юм. Энэ нь системийн программистууд, үйлдлийн систем хөгжүүлэгчид болон доод түвшний тооцооллын талаар сонирхож буй хөгжүүлэгчдэд зориулагдсан болно. Та туршлагатай цөмийн хакер эсвэл компьютерийн архитектурыг судалж буй оюутан эсэхээс үл хамааран энэ төсөл нь орчин үеийн үйлдлийн системүүд техник хангамжийг хэрхэн ачаалж, эхлүүлэх талаар ойлгоход ойлгомжтой, сайн баримтжуулсан эхлэлийг өгдөг.

Яагаад цөм боловсруулахдаа C-ийн оронд Zig ашигладаг вэ?

Zig нь цөм хөгжүүлэхэд С-ээс илүү давуу талыг санал болгодог бөгөөд үүнд суурилагдсан comptime үнэлгээ, илэрхий алдаатай харьцах, далд хяналтын урсгал байхгүй, тусдаа libc шаарддаггүй орчин үеийн хэрэгслийн сүлжээ зэрэг багтана. Аюулгүй байдлын онцлогууд нь эмхэтгэх үед доод түвшний нийтлэг алдааг олж илрүүлэхэд тусалдаг ба тэг нэмэлт хийсвэрлэлийг хадгалах. Сард 19 доллараар 207 модулийг багцалсан Mewayz зэрэг платформ дээр бүрэн стек төслүүдийг удирдаж буй хөгжүүлэгчдэд Zig гэх мэт орчин үеийн, засвар үйлчилгээ хийх боломжтой хэлүүдийг ашиглах нь нарийн төвөгтэй кодын санд дибаг хийх хугацааг эрс багасгадаг.

Би энэ цөмийг бүтээж, ажиллуулахын тулд ямар урьдчилсан нөхцөл шаардлагатай вэ?

Minimal x86 Kernel Zig төслийг бүтээхийн тулд танд Zig хөрвүүлэгч (0.12 ба түүнээс дээш хувилбарыг ашиглахыг зөвлөж байна), эмуляц хийх QEMU, x86 угсралт болон ачаалах процессын талаархи үндсэн ойлголт хэрэгтэй болно. Linux эсвэл macOS хөгжүүлэлтийн орчин нь хамгийн сайн ажилладаг. Холбогч скриптүүд болон Multiboot техникийн шинж чанаруудтай танилцах нь тустай. Репозиторийн README нь эмулятор дотор ачаалах боломжтой цөмийн дүрсийг хурдан ажиллуулахын тулд алхам алхмаар бүтээх зааварчилгааг агуулсан байх ёстой.

Би энэ төслийг бүрэн үйлдлийн систем болгон өргөжүүлж болох уу?

Мэдээж. Хамгийн бага цөм нь санах ойн менежер, тасалдалтай харьцах, үндсэн файлын систем, улмаар хэрэглэгчийн орон зайн орчинг нэмснээр та бүтээж болох бат бөх суурь болдог. Илүү өргөн хүрээний техникийн төслүүд эсвэл SaaS бүтээгдэхүүнүүдийг үйлдлийн системийнхээ туршилтын хажуугаар бүтээж буй хөгжүүлэгчдэд зориулсан Mewayz зэрэг платформууд нь баталгаажуулалтаас аналитик хүртэлх 207 нэгдсэн модулийг бүгдийг нь сард 19 доллараар хангадаг бөгөөд энэ нь таныг системийн програмчлалын гүнийг судлах явцдаа хэрэглээний давхарга дээр бүтээмжтэй байх боломжийг олгоно.