Линукс (ядро)

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Емблема за пояснителна страница Тази статия е за ядрото на операционната система ГНУ/Линукс. За самата операционна система вижте ГНУ/Линукс.

Талисманът на Линукс Тъкс
Линукс
Екранен кадър от първоначално зареждане на ГНУ/Линукс система

Линукс (Linux) е ядро за свободни операционни системи (ОС), подобни на UNIX. Ядрото е започнато от шведско-говорещия финландец Линус Торвалдс през 1991.

Създаването на ядрото „Линукс“ е вдъхновено от проекта GNU с основател Ричард Столман и от малката операционна система Minix на холандския професор Андрю Таненбаум.

Цялостна, работеща система се получава едва когато към ядрото Linux се добавят огромен брой малки и по-големи приложни програми, създадени от проекта GNU и затова наричани „GNU софтуер“. От комбинацията между ядро Линукс и програми на GNU идва името GNU/Linux за цялата операционна система, но по-често се нарича просто „Линукс“.

Вижте ГНУ/Линукс за допълнителна информация относно операционната система.

Правни аспекти[редактиране | edit source]

Лицензионни условия[редактиране | edit source]

Първоначално Торвалдс пуска ядрото Линукс под лиценз, който забранява всякаква комерсиална употреба. От версия 0.12, обаче, го променя на GNU General Public License (GPL). Този лиценз позволява разпространението и продажбата на модифицирани и немодифицирани версии на ядрото Линукс, но същевременно изисква всички копия да бъдат разпространявани под същия лиценз и напълно съответстващия им изходен код.

Торвалдс описва лицензирането на Линукс под GPL като „the best thing I ever did“ (в превод: „най-доброто нещо, което съм правил“ или „най-доброто решение, което съм взимал“).[1]

GPL версия 3[редактиране | edit source]

До момента, Линукс е лицензиран само под версия 2 на GPL, при това (за разлика от повечето GPL софтуер) без възможност за ползване на по-нова версия, заради което съществува спор върху това, колко лесно може да се смени с по-нова версия на GPL като версия 3 (и дали това е желателно).[2] Самият Торвалдс специално отбеляза с излизането на версия 2.4.0, че неговият код е само под версия 2.[3] Все пак според условията на GPL ако не е определена точна версия, тогава може да бъде използвана всяка една, а Алън Кокс отбеляза, че много малко от другите разработчици на Линукс са уточнили определена версия на GPL.[4] В един блог бе заключено, че около 40% от кодът на Линукс е точно „GPL 2 или по-нов“, а друг, че приблизително 10% е „GPL“ (без определена версия), което прави общо около половината ядро. През септември 2006 допитване между 29 ключови програмисти на ядрото сочи, че 28предпочитат версия 2 на GPL пред тогавашната чернова на версия 3 на GPL. Торвалдс коментира: „Мисля, че голям брой външни хора… смятаха, че лично аз съм черната овца, защото публично показвах, че не съм голям фен на версия 3 на GPL.“[5]

Допълнителни Модули към Ядрото и вграден софтуер[редактиране | edit source]

Спори се дали Допълнителните Модули към Ядрото (ДМЯ, англ. LKMs) трябва да се считат за произведена работа под авторско право, поради което да попада под условията на GPL. Торвалдс изказа вярванията си, че ДМЯ, използващи ограничен, „публичен“ набор от интерфейсите на ядрото, могат понякога да бъдат считани за неавторски продукт, като по този начин се допуска употребата на някои затворени драйвери и други ДМЯ, които не са лицензирани под GPL. Не всички разработчици на Линукс подгласят това представяне, като дори самия Торвалдс се съгласява, че много ДМЯ са чист авторски продукт и всъщност пише, че „модулите към ядрото СА авторски 'по принцип'“. От друга страна Торвалдс също казва, че „едно сиво петно, в частност, е нещо като драйвер, който първоначално е написан за друга операционна система (например напълно непроизводен на Линукс продукт по произхода си). […] ТОВА е сивото петно и това е мястото, където аз лично смятам, че някои модули да не бъдат считани за авторски продукт, просто защото не са предназначени за Линукс и не зависят от каквато и да била тенденция на Линукс.“[6] По-разпалено се обсъждат драйверите, представляващи собственост. В краен случай, отговорът на тези въпроси може да бъде намерен от съд.

Един от споровете около лиценза на Линукс са използваните в него „бинарни частици“ за поддръжката на някои устройства. Ричард Столман казва, че тези частици код правят Линукс в частност несвободен софтуер и разпространението му дори може да е в разрез с GPL (който изисква на разположение „напълно съответстващия изходен код“).[7]

Търговска марка[редактиране | edit source]

Линукс е регистрирана търговска марка на Линус Торвалдс в САЩ и някои други държави. Това се дължи на инцидент, в който Уилям Дела Крус-младши, нямащ нищо общо с Линукс, регистрирал името, като в последователност поискал заплащане за употребата му. Няколко Линукс инвеститори наемат правна защита и завеждат иск срещу Дела Крус, който през 1998 се съгласява да даде марката на Торвалдс.

Технически характеристики[редактиране | edit source]

Архитектура[редактиране | edit source]

Ядрото на Линукс е монотолитно. Драйверите и кернел разширенията работят в системното ядро, с пълен достъп до наличния хардуер. Повечето от графичните среди в Линукс не работят в ядрото, за разлика от Microsoft Windows например.

Kernel Panic[редактиране | edit source]

Kernel panic

В Линукс системите, 'kernel panic' е невъзстановима грешка в системното ядро, най-често в следствие на хардуерен проблем, като например повреда в микропроцесора, RAM паметта, хард-диска или друг компонент.

Портативност[редактиране | edit source]

В началото Линукс не е създаден да бъде портативен, но с развитието на технологиите и самата система, това се променя и в момента Линукс е приспособен да работи към най-различни устройства като таблети, смартфони и тн. До ноември 2010 Линукс е операционната система на 91,8% от суперкомпютрите в света. Някои мобилни операционни системи като Android OS и Maemo (Nokia) използват модифицирани версии на Линукс ядрото.

История на Линукс ядрото[редактиране | edit source]

Версия 1.0 на Линукс ядрото е пусната на 14 Март 1994. Тя поддържа само еднопроцесорна x86 архитектура. Портативността на други системи се превръща в една от целите за бъдещите издания и версия 1.2 (издадена на 7 март 1995) върви на ALPHA, SPARC и MIPS архитектури.

Версия 2.0 се появява на бял свят на 9 юни 1996 и голямата промяна е поддръжката на многопроцесори в единична система.

Новостите във версия 2.2 (издадена на 26 януари 1999) включват подобрена поддръжка на мултипроцесорни системи и read-only поддръжка на файловата система на Майкрософт NTFS.

Версия 2.4.0 е пусната на 4 януари 2001 и включва поддръжка на 'Plug and Play' (PnP), USB и PCMCIA карти. В следващите издания от поредицата 2.4.х е добавена и поддръжка на Bluetooth, RAID и ext3 файлова система.

На 18 декември 2003 излиза версия 2.6.0. Серията 2.6 е активна и до ден днешен. Промените спрямо предишни версии включват подобрена поддръжка на различни микропроцесори, интеграция на ALSA (Advanced Linux Sound Architecture) в системното ядро, PAE, 64-битови системи и др. През годините са интегрирани и новите версии на различни файлове системи като FUSE, JFS, XFS и ext4.

По случай 20-годишнината от създаването на Линукс ядрото, Линус Торвалдс и разработчиците започват ново номериране на версиите, и така версия 3.0 излиза на 22 юли 2011. Текущата стабилна версия на ядрото е 3.10.1, излязла на 13 юли 2013.

Сигурност[редактиране | edit source]

Сигурността на Линукс ядрото е широко дискутирана тема. През годините са намерени (и в последствие поправени) пролуки, които позволяват DoS и други атаки. Като цяло обаче Линукс се счита за много по-сигурна и трудна за хакерски атаки система, от Windows NT, например.


Външни препратки[редактиране | edit source]

Източници[редактиране | edit source]

  1. Yamagata, Hiroo. The Pragmatist of Free Software. // HotWired, 1997. Посетен на 2007-02-21.
  2. Corbet, Jonathan. GPLv3 and the kernel. // LWN.net, 2006-01-31. Посетен на 2007-02-21.
  3. Torvalds, Linus. Linux-2.4.0-test8. // Linux-kernel mailing list archive. Unix Systems Support Group of Indiana University, 2000-09-08. Посетен на 2007-02-21.
  4. Cox, Alan. Re: GPL V3 and Linux. // Linux-kernel mailing list archive. LWN.net, 2006-01-20. Посетен на 2007-02-21.
  5. Shankland, Stephen. Top Linux programmers pan GPL 3. // News.com, September 25, 2006. Архив на оригинала от 2012-07-18. Посетен на 2007-02-21.
  6. Re: Linux GPL and binary module exception clause?
  7. Stallman, Richard. Linux, GNU, and freedom. // Free Software Foundation, 2006-10-11. Посетен на 2007-02-21.