Поддерживать
www.wikidata.ru-ru.nina.az
U etogo termina sushestvuyut i drugie znacheniya sm Modul Modul yadra zagruzhaemyj modul yadra angl loadable kernel module LKM obektnyj fajl soderzhashij kod rasshiryayushij funkcionalnost zapushennogo ili tak nazyvaemogo bazovogo yadra OS Moduli yadra ispolzuyutsya chtoby dobavit podderzhku novogo oborudovaniya ili fajlovyh sistem ili dlya dobavleniya novyh sistemnyh vyzovov Kogda funkcionalnost predostavlyaemaya modulem bolshe ne trebuetsya on mozhet byt vygruzhen chtoby osvobodit pamyat i drugie resursy Bolshinstvo sovremennyh Unix sistem i Windows podderzhivayut zagruzhaemye moduli yadra hotya oni mogut ispolzovat dlya nih raznye nazvaniya naprimer kernel loadable module kld vo FreeBSD kernel extension kext v OS OS X Inogda ih nazyvayut Kernel Loadable Modules KLM ili Kernel Modules KMOD PreimushestvaBez zagruzhaemyh modulej yadra operacionnye sistemy dolzhny byli by imet vsyu vozmozhnuyu funkcionalnost v monolitnom yadre Znachitelnaya chast koda ne ispolzuetsya i lish zanimaet pamyat Kazhdyj raz kogda polzovatelyu neobhodima novaya funkcionalnost eshyo ne vklyuchennaya v bazovoe yadro trebuetsya polnaya perekompilyaciya bazovogo yadra i perezagruzka Ispolzovanie podgruzhaemyh modulej znachitelno uproshaet izmenenie funkcionalnosti yadra i ne trebuet ni polnoj perekompilyacii modul chasto mozhet byt sobran otdelno ot yadra ili postavlen v predkompilirovannom vide ni perezagruzok Binarnaya sovmestimostLinux ne obespechivaet stabilnyj API ili ABI dlya modulej yadra Eto oznachaet chto sushestvuyut razlichiya vo vnutrennej strukture i funkcii mezhdu raznymi versiyami yadra kotorye mogut vyzvat problemy sovmestimosti V popytke borby s etimi problemami simvol upravleniya versiyami dannyh pomeshaetsya v modinfo v razdele zagruzhaemyh ELF modulej Eta informaciya o versii mozhet byt sravnena s informaciej versii ispolnyaemogo yadra pered zagruzkoj modulya esli versii nesovmestimy to modul ne budet zagruzhen Drugie operacionnye sistemy takie kak Solaris FreeBSD Mac OS X Windows podderzhivayut API i ABI dlya modulej otnositelno stabilnymi chto pozvolyaet izbezhat etoj problemy Naprimer moduli FreeBSD skompilirovannye pod versiyu yadra 6 0 budet rabotat bez perekompilyacii na lyuboj drugoj versii FreeBSD 6 x naprimer 6 4 Odnako oni ne sovmestimy s drugimi osnovnymi versiyami i dolzhny byt perekompilirovany dlya ispolzovaniya s FreeBSD 7 x tak kak sovmestimost API i ABI podderzhivaetsya tolko vnutri odnoj vetvi BezopasnostZagruzhaemye moduli yadra yavlyayutsya udobnym sposobom modificirovat yadro eto mozhet byt ispolzovano zloumyshlennikom pri vzlome sistemy dlya predotvrasheniya obnaruzheniya ego processov ili fajlov pozvolyaya emu sohranit kontrol nad sistemoj Poetomu mnogie rutkity ispolzuyut moduli yadra LinuxV mire Linux moduli zagruzhayutsya i vygruzhayutsya utilitoj modprobe Moduli hranyatsya v lib modules v fajlah s rasshireniem ko kernel object nachinaya s versii Linux 2 6 V predydushih versiyah ispolzovalos rasshirenie o Komanda pokazyvaet spisok zagruzhennyh modulej yadra i zavisimosti mezhdu nimi Voprosy licenzirovaniya Po mneniyu hranitelej Linux LKM predstavlyaet soboj proizvodnuyu rabotu ot yadra Funkcii yadra mogut pomechatsya kak dostupnye tolko dlya GPL modulej Zagruzka sobstvennicheskih ili GPL nesovmestimyh modulej ustanavlivaet flag taint porcha v yadre Dannyj flag oznachaet chto kakie libo problemy ili bagi imeyut menshie shansy na issledovanie hranitelyami yadra Moduli fakticheski stanovyatsya chastyu rabotayushego yadra i mogut povredit vnutrennie struktury dannyh sozdavaya oshibki kotorye ne mogut byt vosproizvedeny temi kto ne mozhet zagruzit proprietarnyj modul Delo Linuxant V 2004 godu konsaltingovaya kompaniya Linuxant vypuskavshaya proprietarnyj modul drajver ustrojstva popytalas obojti ogranicheniya GPLONLY na nekotorye funkcii yadra Dlya etogo v ishodnom kode svoego modulya v grafe MODULE LICENSE byl ispolzovan simvol NUL MODULE LICENSE GPL 0for files in the GPL directory for others only LICENSE file applies Opredelenie licenzii yadrom Linux proizvoditsya putyom leksikograficheskogo sravneniya NUL terminirovannyh strok poetomu sravnenie ukazannoj stroki budet ekvivalentno sravneniyu so strokoj GPL v to vremya kak modul ne rasprostranyaetsya po licenzii GPL FreeBSDModuli yadra OS FreeBSD hranyatsya v boot kernel moduli rasprostranyaemye s distributivom ili v boot modules dlya modulej ustanovlennyh iz FreeBSD portov i drugih istochnikov Moduli yadra FreeBSD obychno imeyut rasshirenie ko Moduli mogut podgruzhatsya komandoj kldload vygruzhatsya kldunload Spisok modulej viden po komande kldstat Nekotorye moduli zagruzhayutsya na etape pervichnoj zagruzki ukazyvayutsya v fajle boot loader conf Mac OS XNekotorye zagruzhaemye moduli yadra v Mac OS X mogut byt zagruzheny avtomaticheski Zagruzhaemye moduli yadra mogut byt takzhe zagruzheny komandoj kextload Spisok mozhet byt vyveden komandoj kextstat Zagruzhaemye moduli yadra raspolozheny v programmnyh paketah s rasshireniem kext Moduli postavlyaemye s operacionnoj sistemoj hranyatsya v kataloge System Library Extensions moduli ot tretih lic v drugih katalogah WindowsYadro Windows samo po sebe ne podderzhivaet rasshireniya s pomoshyu zagruzhaemyh modulej Odnako podderzhivayutsya zagruzhaemye drajvery a modul oformlennyj v vide drajvera Windows ne obyazan rabotat s kakim libo vneshnim ustrojstvom Blagodarya etomu psevdodrajvery shiroko ispolzuyutsya dlya izmeneniya i rasshireniya funkcionalnosti yadra Windows anti rutkity perehvatchiki otladochnogo vyvoda vspomogatelnye agenty mnogih sistemnyh programm vypuskaemyh Sysinternals i t p PrimechaniyaEkspluataciya Zagruzhaemyh Modulej yadra neopr Data obrasheniya 5 maya 2012 4 fevralya 2012 goda The Linux Kernel Module Programming Guide section 2 2 Compiling Kernel Modules neopr Data obrasheniya 14 oktyabrya 2011 Arhivirovano 20 sentyabrya 2012 goda Linus Torvalds et all Documentation oops tracing txt neopr kernel org 21 iyunya 2011 Data obrasheniya 3 oktyabrya 2011 Arhivirovano iz originala 20 sentyabrya 2012 goda Jonathan Corbet Tainting from user space neopr LWN net 24 marta 2006 Data obrasheniya 3 oktyabrya 2011 16 noyabrya 2011 goda Novell support documentation Tainted kernel neopr 26 iyulya 2007 Data obrasheniya 3 oktyabrya 2011 Arhivirovano 20 sentyabrya 2012 goda Jonathan Corbet Being honest with MODULE LICENSE neopr LWN net 27 avgusta 2004 Data obrasheniya 4 iyunya 2012 Arhivirovano 20 sentyabrya 2012 goda SsylkiOleg Cilyurik Moduli yadra Linux neopr redakciya 4 95 ot 10 08 2011 Data obrasheniya 9 noyabrya 2011 IBM DeveloperWorks in depth article on LKM ot 26 iyulya 2008 na Wayback Machine Ori Pomerantz Moduli Yadra Linux Rukovodstvo Po Programmirovaniyu ot 26 fevralya 2018 na Wayback Machine Kernel Extension Programming Topics document for OS X ot 9 aprelya 2010 na Wayback Machine
Вершина