{"id":181745,"date":"2026-05-26T02:49:17","date_gmt":"2026-05-26T00:49:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kernelscript-0-1-0"},"modified":"2026-05-26T02:49:17","modified_gmt":"2026-05-26T00:49:17","slug":"kernelscript-0-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/news\/kernelscript-0-1-0","title":{"rendered":"KernelScript 0.1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p>Presented <strong><a rel=\"nofollow\" href=\"https:\/\/github.com\/multikernel\/kernelscript\">KernelScript<\/a><\/strong> \u2014 nj\u00eb gjuh\u00eb eksperimentale programimi p\u00ebr zhvillimin e programeve eBPF, bootloader-eve t\u00eb personalizuara dhe zgjerimeve t\u00eb b\u00ebrtham\u00ebs Linux nga nj\u00eb baz\u00eb e vetme kode. Projekti zhvillon <strong>Multikernel Technologies<\/strong>, nj\u00eb kompani q\u00eb promovon arkitektur\u00ebn split-kernel \/ multikernel p\u00ebr Linux. Rreth KernelScript foli themeluesi i kompanis\u00eb Cong Wang n\u00eb Samitin e Burimeve t\u00eb Hapura t\u00eb Fondacionit Linux; kodi i projektit \u00ebsht\u00eb publikuar n\u00eb GitHub n\u00ebn licenc\u00ebn <strong>Apache 2.0<\/strong>.<\/p>\n<p><\/noindex><\/noindex><br \/>\n<noindex><\/p>\n<p>eBPF (Extended Berkeley Packet Filter) \u2014 \u00ebsht\u00eb nj\u00eb teknologji q\u00eb lejon ekzekutimin e programeve t\u00eb vogla direkt n\u00eb b\u00ebrtham\u00ebn Linux, pa prekur kodin e saj dhe pa rrezikuar stabilitetin e sistemit. eBPF ndihmon n\u00eb zgjidhjen e shum\u00eb detyrave, nga monitorimi i performanc\u00ebs deri te sigurimi dhe optimizimi i rrjetit. P\u00ebr shembull, me an\u00eb t\u00eb eBPF \u00ebsht\u00eb e mundur t\u00eb monitorohen thirrjet sistemike, trafiku rrjet dhe ngjarje t\u00eb tjera n\u00eb koh\u00eb reale. Kjo lejon identifikimin e ngushticave n\u00eb performanc\u00eb dhe optimizimin e sistemit (<a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/887272\/\">Habr<\/a>).<\/p>\n<p><\/noindex><\/p>\n<p>Ideja e KernelScript \u00ebsht\u00eb t\u00eb b\u00ebj\u00eb zhvillimin e eBPF m\u00eb pak t\u00eb dhimbshme sesa p\u00ebrdorimi i n\u00ebnpaketes C + libbpf, dhe n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb t\u00eb mos kufizohet vet\u00ebm n\u00eb gjurmim, si bpftrace. Zhvilluesit e p\u00ebrshkruajn\u00eb gjuh\u00ebn si nj\u00eb DSL t\u00eb siguris\u00eb s\u00eb tipit, e cila bashkon <strong>eBPF<\/strong>, zhvillimin n\u00eb hap\u00ebsir\u00ebn e p\u00ebrdoruesit dhe n\u00eb b\u00ebrtham\u00eb: nga nj\u00eb sked\u00eb burimi, kompajleri duhet t\u00eb gjeneroj\u00eb kod p\u00ebr programet e eBPF, pjes\u00ebn e hap\u00ebsir\u00ebs s\u00eb p\u00ebrdoruesit dhe integrimin me modulat e b\u00ebrtham\u00ebs p\u00ebrmes kfunc.<\/p>\n<p>Aft\u00ebsit\u00eb e shpallura t\u00eb KernelScript:<\/p>\n<ul>\n<li>\n<p><strong>Kompilimi p\u00ebr q\u00ebllime t\u00eb ndryshme nga nj\u00eb sked\u00eb<\/strong> \u2014 funksionet me atribute si @xdp, @tc, @helper dhe @kfunc automatikisht i p\u00ebrkasin pjes\u00ebs p\u00ebrkat\u00ebse: programit XDP\/TC, funksionit ndihm\u00ebs, funksioneve t\u00eb b\u00ebrtham\u00ebs ose kodit t\u00eb zakonsh\u00ebm t\u00eb hap\u00ebsir\u00ebs s\u00eb p\u00ebrdoruesit.<\/p>\n<\/li>\n<li>\n<p><strong>Automatizimi i thirrjeve tail<\/strong> \u2014 n\u00eb vend q\u00eb t\u00eb konfigurojn\u00eb manualisht programin array dhe thirrjet bpf_tail_call(), zhvilluesi ofrohet t\u00eb shkruaj\u00eb nj\u00eb thirrje t\u00eb zakonshme t\u00eb funksionit tjet\u00ebr, nd\u00ebrsa gjenerat\u00ebn e kodit t\u00eb posht\u00ebm eBPF ta l\u00ebr\u00eb kompajlerit.<\/p>\n<\/li>\n<li>\n<p><strong>Pun\u00eb e thjeshtuar me dynptr dhe harta eBPF<\/strong> \u2014 gjuha fsheh nj\u00eb pjes\u00eb t\u00eb pun\u00ebs manuale me bpf_ringbuf_reserve_dynptr, bpf_dynptr_write dhe API t\u00eb ngjashme. Harta eBPF mund t\u00eb p\u00ebrdoren si variabla globale, t\u00eb disponueshme p\u00ebr programe t\u00eb ndryshme.<\/p>\n<\/li>\n<li>\n<p><strong>Kontrolli i ciklit t\u00eb jet\u00ebs s\u00eb programeve<\/strong> \u2014 programet e eBPF paraqiten si vlera t\u00eb tipizuara, q\u00eb, sipas ideve t\u00eb autor\u00ebve, lejojn\u00eb parandalimin e gabimeve si p\u00ebrpjekja p\u00ebr t\u00eb ekzekutuar attach() para ngarkimit t\u00eb suksessh\u00ebm.<\/p>\n<\/li>\n<li>\n<p><strong>Mb\u00ebshtetje p\u00ebr kfunc<\/strong> \u2014 KernelScript lejon t\u00eb shpall\u00eb funksione me atributin @kfunc, q\u00eb ekzekutohen n\u00eb hap\u00ebsir\u00ebn e kernelit dhe mund t\u00eb thirren nga programet e eBPF; p\u00ebr to \u00ebsht\u00eb premtuar gjenerim automatik t\u00eb kernel module dhe regjistrimeve BTF.<\/p>\n<\/li>\n<li>\n<p><strong>Mb\u00ebshtetje p\u00ebr tipet kryesore t\u00eb programeve eBPF<\/strong> \u2014 n\u00eb README jepen shembuj p\u00ebr XDP, TC, programe probe dhe perf_event, duke p\u00ebrfshir\u00eb pun\u00ebn me num\u00ebruesit e harduerit p\u00ebr performanc\u00ebn.<\/p>\n<\/li>\n<\/ul>\n<p>Autor\u00ebt theksojn\u00eb se KernelScript nuk \u00ebsht\u00eb nj\u00eb z\u00ebvend\u00ebsim p\u00ebr kernelin Linux ose nj\u00eb runtime t\u00eb ri eBPF. \u00cbsht\u00eb m\u00eb shum\u00eb nj\u00eb kompiler dhe nj\u00eb gjuh\u00eb e nivelit t\u00eb lart\u00eb, e cila duhet t\u00eb gjeneroj\u00eb komponent\u00ebt e zakonsh\u00ebm t\u00eb niveleve t\u00eb ul\u00ebta: kodi eBPF, ngarkuesit e userspace, Makefile dhe, n\u00ebse \u00ebsht\u00eb e nevojshme, kernel module.<\/p>\n<p>Aktualisht projekti duhet t\u00eb perceptohet si nj\u00eb eksperiment fillestar. N\u00eb depo \u00ebsht\u00eb th\u00ebn\u00eb qart\u00eb se KernelScript \u00ebsht\u00eb n\u00eb faz\u00ebn <strong>beta<\/strong>, sintaksa dhe API mund t\u00eb ndryshojn\u00eb pa mbajtur p\u00ebrputhshm\u00ebri t\u00eb prapme, dhe p\u00ebrdorimi i tij n\u00eb production nuk rekomandohet ende.<\/p>\n<p>Burimi: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18301757\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d KernelScript \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 eBPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u043e\u0432 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u044f\u0434\u0440\u0430 Linux \u0438\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b. \u041f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 Multikernel Technologies, \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u044e\u0449\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 split-kernel \/ multikernel \u0434\u043b\u044f Linux. \u041e KernelScript \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Cong Wang \u043d\u0430 Linux Foundation Open Source Summit; \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430 GitHub \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. eBPF (Extended [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181745","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d KernelScript \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 eBPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/news\/kernelscript-0-1-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\udd47KernelScript 0.1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d KernelScript \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 eBPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/news\/kernelscript-0-1-0\" \/>\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=\"2026-05-26T00:49:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-26T00:49:17+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\udd47KernelScript 0.1.0 | ProHoster","description":"Paraqitet KernelScript \u2014 nj\u00eb gjuh\u00eb programimi eksperimentale p\u00ebr zhvillimin e programeve eBPF.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/kernelscript-0-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\udd47KernelScript 0.1.0 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d KernelScript \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 eBPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.","og:url":"https:\/\/prohoster.info\/sq\/blog\/news\/kernelscript-0-1-0","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":"2026-05-26T00:49:17+00:00","article:modified_time":"2026-05-26T00:49:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/181745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=181745"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/181745\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=181745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=181745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=181745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}