Линукс дистрибуциите не са просто ядрото на Linux. Всички те съдържат друг критичен софтуер, като буутлоудъра Grub, Bash shell, помощните програми за GNU shell, демоните, X.org графичния сървър, настолната среда и др.
Всички тези различни програми се разработват от различни, независими групи за развитие. Те се комбинират от дистрибуции на Linux, където се изграждат един върху друг, за да създадат пълна операционна система "Linux". Това е различно от Windows, което е разработено изцяло от Microsoft.
Когато включите компютъра, фърмуерът BIOS или UEFI на вашия компютър зарежда софтуера от вашето устройство за зареждане. Първата програма, която се зарежда с всяка операционна система, е товарачът за зареждане. С Linux, това обикновено е натоварването на Grub.
Ако имате инсталирани няколко операционни системи, Grub предоставя меню, което ви позволява да избирате между тях - например, ако имате Linux инсталиран в конфигурация с двоен обувка, можете да изберете Linux или Windows, когато заредите.
Grub може да зареди вашата Linux система почти веднага, ако имате инсталирана само една операционна система, но тя все още е там. Grub обработва процеса на действително зареждане на Linux, издаващи опции на командния ред и ви позволява да зареждате Linux по други начини за целите на отстраняването на проблеми. Без boot loader, Linux дистрибуцията просто няма да стартира.
Точната част от софтуера Grub boots е ядрото на Linux. Това е част от системата, която всъщност се нарича "Linux". Ядрото е ядрото на системата. Управлява процесора, паметта и входно-изходните устройства като клавиатура, мишки и дисплеи. Тъй като ядрото говори директно на хардуера, много хардуерни драйвери са част от ядрото на Linux и се движат в него.
Всеки друг софтуер работи над ядрото. Ядрото е най-ниската част от софтуера, който взаимодейства с хардуера. Той осигурява слой абстракция над хардуера, който се занимава с всички различни хардуерни особености, така че останалата част от системата може да се грижи за тях колкото е възможно по-малко. Windows използва ядрото на Windows NT и Linux използва ядрото на Linux.
Демоните са по същество фонови процеси. Те често започват като част от процеса на зареждане, така че те са едно от следващите неща, които се зареждат след ядрото и преди да видите графичния си екран за вход. Windows се отнася до такива процеси като "услуги", докато системите, подобни на UNIX, се отнасят към тях като "демони".
Например crond, който управлява планираните задачи, е демон - d в края означава "демон". Syslogd е друг демон, който традиционно управлява вашия системен регистър. Сървърите, като сървъра sshd, се изпълняват като демони във фонов режим. Това гарантира, че те винаги се изпълняват и слушат за отдалечени връзки.
Демоните са по същество само фонови процеси, но те са процеси на ниво система, които обикновено не забелязвате.
Повечето Linux системи използват Bash shell по подразбиране. Една черупка осигурява интерфейс на командния процесор, който ви позволява да управлявате компютъра си като напишете команди в текстов интерфейс. Shells също така могат да стартират скриптове на Shell, които са съвкупност от команди и операции, изпълнявани в указания в скрипта ред.
Дори ако просто използвате графичен десктоп, черупки работят и се използват във фонов режим. Когато отворите терминален прозорец, ще видите подсказка за обвивката.
Обвивката осигурява някои основни вградени команди, но повечето от командите на черупки, които потребителите на Linux използват, не са вградени в корпуса. Например, командите са толкова критични, колкото командата cp за копиране на файл, командата ls за записване на файлове в директория, а командата rm за изтриване на файлове са част от пакета GNU Core Utilities.
Линукс системите няма да функционират без тези важни помощни програми. Всъщност самата башираща черупка е част от проекта GNU. Ето защо е имало спорове дали Linux наистина трябва да се нарича "Linux" или "GNU / Linux". Критиците на името "Linux" правилно посочват, че много повече софтуер отива в типичните Linux системи, които често не се признават. Критиците на името "GNU / Linux" правилно посочват, че типичната Linux система включва и друг критичен софтуер, който името "GNU / Linux" не обхваща.
Не всички комутируеми помощни програми и програми за командния ред са разработени от проекта GNU. Някои команди и терминални програми имат собствен проект, посветен на тях.
Графичната десктоп част на Linux не е част от ядрото на Linux. Предоставя се от тип пакет, известен като "X сървър", тъй като изпълнява "X прозоречната система", създадена преди много години.
Понастоящем най-популярният X сървър или графичен сървър е X.org. Когато видите графичен прозорец за вход или работен плот, това е X.org, работейки с магията му. Цялата графична система се управлява от X.org, която взаимодейства с видеокартата, монитора, мишката и други устройства.
X.org не предоставя пълната среда за настолни компютри, а просто графична система, която работната среда и инструментариума могат да надграждат.
Това, което наистина използвате на работния плот на Linux, е десктоп среда. Например, Ubuntu включва Desktop средата на Unity, Fedora включва GNOME, Kubuntu включва KDE, и мента обикновено включва канела или MATE. Тези настолни среди осигуряват всичко, което виждате - фон на работния плот, панели, ленти за заглавие на прозорците и граници.
Също така те обикновено включват свои собствени средства, създадени, за да се впишат в десктоп средата като цяло.Например, GNOME и Unity включват файловия мениджър на Nautilus, разработен като част от GNOME, докато KDE включва файловия мениджър на Dolphin, разработен като част от проекта KDE.
Не всяка програма за настолни компютри е част от настолна среда. Например, Firefox и Chrome са agnostic за настолни компютри. Те са само програми, които могат да работят нормално на всяка работна среда. OpenOffice.org е друг набор от програми, които не са обвързани с определена работна среда.
Можете да работите с всяка програма за настолни компютри на Linux във всяка работна среда, но тези, проектирани за определени настолни компютри, могат да изглеждат на място или да се плъзгат в други процеси. Например, ако се опитате да работите с файловия мениджър на Nautilus на KDE, ще изглеждате на място, ще изисквате да инсталирате различни GNOME библиотеки и вероятно да стартирате GNOME desktop процесите във фонов режим, когато го отворите. Но тя щеше да тече и да бъде използваема.
Линукс дистрибуциите изпълняват последните стъпки. Те вземат целия софтуер, комбинират го така, че да работи добре заедно и да добавят свои собствени необходими комунални услуги. Например, дистрибуциите създават собствени инсталатори на операционна система, така че да можете да инсталирате Linux, както и мениджъри на пакети за инсталиране на допълнителен софтуер и актуализиране на инсталирания софтуер.
Image Credit: tao mai на Flickr