Módulo de núcleo

En computación, un módulo cargable del núcleo (loadable kernel module, LKM en inglés) es un archivo que contiene código objeto que puede extender el núcleo en ejecución (también llamado núcleo base) de un sistema operativo. La mayoría de los sistemas estilo Unix, y Microsoft Windows, soportan módulos cargables en el núcleo, aunque suelen utilizar distintos nombres para ellos, como "extensión del núcleo" en Mac OS X.

Los módulos cargables en el núcleo son generalmente utilizados para brindar soporte a nuevos dispositivos de hardware y sistema de archivos, así como para agregar llamadas al sistema. Cuando la funcionalidad provista por un módulo del núcleo deja de ser requerida, normalmente este puede ser descargado, liberando su memoria.

Un ejemplo típico de módulo cargable son los controladores de dispositivo.

Diferencias entre módulos y aplicaciones

Un módulo cargable es diferente de una aplicación en varias formas. Si bien las aplicaciones de tamaño pequeño a mediano suelen realizar una única tarea de comienzo a fin, un módulo cargable únicamente se registra en el núcleo con el fin de servir futuros requerimientos.[1]​ El estilo de programación de un módulo es similar a la programación dirigida por eventos.[1]

Otra diferencia importante consiste en la tolerancia a fallos. Si bien el hecho de que una aplicación aborte por errores suele ser inofensivo a nivel del sistema operativo, el fallo de un módulo cargado en el núcleo podría dejar a todo el sistema en un estado inconsistente o inutilizable.[1]

Finalmente, los módulos ejecutan en espacio de núcleo, mientras que las aplicaciones ejecutan en espacio de usuario.

Módulos y controladores de dispositivos

Un típico empleo para los módulos cargables en el caso de Linux es crear controladores de dispositivos de hardware.

Los controladores de dispositivos tienen un rol especial en el núcleo Linux. Estos son los encargados de esconder completamente los detalles de cómo un dispositivo funciona internamente a nivel del hardware, permitiendo que las actividades de los usuarios sean realizadas mediante un conjunto de llamadas estándar, independientes del controlador específico que se está utilizando en realidad.[1]

La ventaja de desarrollar controladores de dispositivos para Linux consiste en que estos pueden desarrollarse por separado del resto del núcleo y luego ser cargados en tiempo de ejecución, cuando se necesite de ellos. Esta modularidad hace que escribir controladores de dispositivos para Linux sea una tarea sencilla.[1]

Ventajas del uso de módulos

Un sistema operativo que no dispone de módulos cargables en el núcleo debe tener toda aquella funcionalidad que pueda llegar a ser necesitada precompilada dentro del núcleo base. El problema de este enfoque consiste en que en general la imagen del núcleo sería mucho mayor, ocupando un gran espacio memoria. Así mismo, resultaría necesario que los usuarios recompilaran y reiniciaran el núcleo base cada vez que se necesite agregar nueva funcionalidad al mismo.

Cuestiones de licenciamiento

Linux

El núcleo Linux es un proyecto de código abierto licenciado bajo la versión 2 de la licencia GNU GPL. Debido a las características de esta licencia, los fabricantes de hardware suelen dudar si es posible distribuir controladores de dispositivos privativos.

En la opinión de quienes realizan el mantenimiento de Linux, los módulos cargables son un trabajo derivado del núcleo, no obstante, la legalidad de la distribución en forma únicamente binaria de módulos se ha mantenido deliberadamente ambigua.[1]​ Se considera que el caso de la interacción entre módulos privativos y el núcleo en sí mismo se encuentra en una zona indefinida de la licencia GPL.

Suele decirse que la carga de módulos privativos "mancha" el núcleo, refiriéndose a que será poco probable que cualquier problema o error experimentado sea investigado por quienes realizan su mantenimiento. Esto se debe a que al cargar un módulo, este se vuelve parte del núcleo en ejecución, por lo cual podría corromper las estructuras de datos del mismo y/o introducir errores que no podrían ser investigados debido a la naturaleza privativa del módulo.

Seguridad

Si bien los módulos cargables consisten en un método conveniente para modificar el núcleo en ejecución, esto podría llegar a ser abusado por un atacante en un sistema comprometido, con el fin de prevenir la detección de procesos o archivos maliciosos, permitiéndole mantener control sobre el sistema o robar información privada.

En el caso de Linux, la mayoría de los controles de seguridad del sistema se refuerzan a través del núcleo. Si este tiene problemas de seguridad, el sistema completo será vulnerable. En la distribución oficial del núcleo, solo un usuario autorizado, conocido como el superusuario, puede cargar módulos.[1]

A su vez, los desarrolladores de módulos cargables deberían ser cuidadosos de no introducir errores de seguridad en los módulos que desarrollan. El lenguaje de programación C, utilizado en la mayoría de Linux, hace que el introducir errores sea fácil y muchos problemas de seguridad suelen deberse a que los desarrolladores olvidan controlar cuánta información es almacenada en una porción asignada de memoria (buffer), derivando en errores de sobreescritura de memoria[1]​ que podrían ser utilizados por un usuario malicioso para alterar la memoria del núcleo y sus módulos.

Referencias

Enlaces externos


Read other articles:

American Hockey League team in Utica, New York Utica CometsCityUtica, New YorkLeagueAmerican Hockey LeagueConferenceEasternDivisionNorthFounded1932 (first franchise)1998 (second franchise)Home arenaAdirondack Bank CenterColorsRed, black, white     Owner(s)Harris Blitzer Sports & Entertainment(Josh Harris and David Blitzer)PresidentRobert EscheGeneral managerDan MacKinnonHead coachKevin DineenCaptainRyan SchmelzerMediaWKLL (94.9 FM)Observer-DispatchWKTV NewsChannel 2WUT...

 

 

Bahasa Belarus беларуская мова biełaruskaja mova Dituturkan diBelarusEtnisBelarusPenutur6,3 juta penutur L2 (sensus 2009)[1] Rincian data penutur Jumlah penutur beserta (jika ada) metode pengambilan, jenis, tanggal, dan tempat.[2] 5.058.400 (sensus, Belarus, Bahasa ibu, 2009)7.600.000 (2007, Bahasa ibu)5.094.928 (sensus, Belarus, Bahasa ibu, 2019) Rumpun bahasaIndo-Eropa Balto-SlaviaSlaviaSlavia TimurBahasa Belarus Bentuk awalSlavia Timur Kuno RutheniaBahas...

 

 

Шалфей обыкновенный Научная классификация Домен:ЭукариотыЦарство:РастенияКлада:Цветковые растенияКлада:ЭвдикотыКлада:СуперастеридыКлада:АстеридыКлада:ЛамиидыПорядок:ЯсноткоцветныеСемейство:ЯснотковыеРод:ШалфейВид:Шалфей обыкновенный Международное научное наз...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: China–Malawi relations – news · newspapers · books · scholar · JSTOR (November 2012) (Learn how and when to remove this message) Bilateral relationsChina–Malawi relations China Malawi Political ties Malawi voted against in an attempt to keep the seat of Nat...

 

 

Запрос «Пугачёва» перенаправляется сюда; см. также другие значения. Алла Пугачёва На фестивале «Славянский базар в Витебске», 2016 год Основная информация Полное имя Алла Борисовна Пугачёва Дата рождения 15 апреля 1949(1949-04-15) (75 лет) Место рождения Москва, СССР[1]...

 

 

Stub sorting This template is maintained by WikiProject Stub sorting, an attempt to bring some sort of order to Wikipedia. If you would like to participate, you can choose to improve/expand the articles containing this stub notice, or visit the project page, where you can join the project and see a list of open tasks.Stub sortingWikipedia:WikiProject Stub sortingTemplate:WikiProject Stub sortingStub sorting articles Japan Template‑class Japan portalThis template is within the scope of WikiP...

この項目には、一部のコンピュータや閲覧ソフトで表示できない文字が含まれています(詳細)。 数字の大字(だいじ)は、漢数字の一種。通常用いる単純な字形の漢数字(小字)の代わりに同じ音の別の漢字を用いるものである。 概要 壱万円日本銀行券(「壱」が大字) 弐千円日本銀行券(「弐」が大字) 漢数字には「一」「二」「三」と続く小字と、「壱」「�...

 

 

Земская почтаУезды Алатырский Александрийский Ананьевский Ардатовский Арзамасский Аткарский Ахтырский Балашовский Бахмутский Бежецкий Белебеевский Белозерский Бердянский Бобровский Богородский Богучарский Борисоглебский Боровичский Бронницкий Бугульминский Бу�...

 

 

此條目可参照英語維基百科相應條目来扩充。 (2017年8月)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 密西西比州 美國联邦州State of Mississippi 州旗州徽綽號:木蘭之州地图中高亮部分为密西西比州坐标:30°13'N�...

Douchy-les-Mines Le bâtiment de la machine d'extraction de la fosse Boca des mines de Douchy. Blason Administration Pays France Région Hauts-de-France Département Nord Arrondissement Valenciennes Intercommunalité Communauté d'agglomération de la Porte du Hainaut Maire Mandat Michel Véniat 2020-2026 Code postal 59282 Code commune 59179 Démographie Gentilé Douchynois Populationmunicipale 10 207 hab. (2021 ) Densité 1 101 hab./km2 Population agglomération 333 ...

 

 

Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. Будь ласка, допоможіть удосконалити цю статтю, додавши посилання на надійні (авторитетні) джерела. Зверніться на сторінку обговорення за поясненнями та допоможіть виправити недоліки. Мат...

 

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目的引用需要清理,使其符合格式。参考文献应符合正确的引用、脚注及外部链接格式。 此條目可参照英語維基百科相應條目来扩充,此條目在對應語言版為高品質條目。 (2023年8月17日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低�...

Wangsa Paling Tenang BraganzaSereníssima Casa de BragançaWangsa indukWangsa Portugis Burgundy melalui garis Wangsa AvizNegara Kerajaan Portugal Kekaisaran BrasilKelompok etnisPortugis, BrasilDidirikan1442PendiriAfonso I, Adipati BraganzaKepala saat iniDuarte Pio, Adipati BraganzaPenguasa terakhirKerajaan Bersatu Portugal, Brasil dan Algarves: João VI (1822) Kerajaan Portugal: Manuel II (1910) Kekaisaran Brasil: Pedro II (1889)Gelar Kaisar Brasil Raja Kerajaan Bersatu Portugal, Brasil dan A...

 

 

Ikan sirip lengkung Amia calva Bowfin di akuariumStatus konservasiRisiko rendahIUCN201942 TaksonomiKerajaanAnimaliaFilumChordataKelasActinopteriOrdoAmiiformesFamiliAmiidaeGenusAmiaSpesiesAmia calva Linnaeus, 1766 Tata namaSinonim takson Species Amia occidentalis DeKay 1842 Amia marmorata Valenciennes 1847 Amia ornata Valenciennes 1847 Amia viridis Valenciennes 1847 Amia cinerea Valenciennes 1847 Amia reticulata Valenciennes 1847 Amia canina Valenciennes 1847 Amia lintiginosa Valenciennes 1847...

 

 

Relationship between relativity and pre-quantum electromagnetism This article is about the contribution of special relativity to the modern theory of classical electromagnetism. For the contribution of classical electromagnetism to the development of special relativity, see History of special relativity. For a fully covariant discussion, see Covariant formulation of classical electromagnetism. Articles aboutElectromagnetism Electricity Magnetism Optics History Computational Textbooks Phenomen...

Jalur 12 / Línea 12Stasiun Insurgentes SurIkhtisarJenisAngkutan cepatSistemAngkutan cepat di Kota MeksikoLokasiKota MeksikoTerminusStasiun TláhuacStasiun MixcoacStasiun20OperasiDibuka30 Oktober 2012[1][2][3]OperatorSistema de Transporte Colectivo (STC)RangkaianFM-86, FM-95A, FE-07, FE-10[4]Data teknisPanjang lintas20,278 km (13 mi)Panjang rel24,475 km (15 mi)Jenis rel2Lebar sepur1.435 mm (4 ft 8+1⁄2 in) sepur stan...

 

 

Altiplano CundiboyacenseBentang alam di Altiplano, di dekat Arcabuco, BoyacáTitik tertinggiKetinggian2.600 m (8.500 ft)Koordinat5°25′08″N 73°25′17″W / 5.41889°N 73.42139°W / 5.41889; -73.42139 DimensiArea25.000 km2 (9.700 sq mi)GeografiPeta Altiplano CundiboyacenseLetakBogotá, Cundinamarca & Boyacá KolombiaPegununganAndesGeologiOrogenesisAndesUsia batuanMiosen-sekarangJenis batuanGeologiMedan vulkanikKompleks vulka...

 

 

Pour-cent, pourcent Pour l’article ayant un titre homophone, voir Poursan. Ne doit pas être confondu avec le Signe moins commercial (⁒) Cet article concerne le signe pour cent (%). Pour la notion mathématique, voir Pourcentage. Pour l'encodage en pour cent, voir Encodage-pourcent. Cet article est une ébauche concernant l’écriture. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Pour cent Unicode Cod...

Argentine-born Mexican film and television actor This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (January 2013) (Learn how and when to remove this message) Sergio Kleiner (born March 23, 1939, in Buenos Aires, Argentina), also credited as Sergio Klainer, is an Argentine-born Mexican film and television actor. He started his a...

 

 

Bristol Type 200 Bristol Type 200 Concept Role AirlinerType of aircraft Manufacturer Bristol Aeroplane Company Status Project cancelled The Bristol Type 200 was a proposal for a short-range aircraft by the Bristol Aeroplane Company in 1956. Although it was designed in response to a specification issued by British European Airways (BEA), the Type 200 was larger than the airline's requirements and was closer to the Boeing 727 in size and range. The project was cancelled when BEA selected the H...