Инструменти за потребители

Инструменти за сайта


blog:linux

Разлики

Тук са показани разликите между избраната и текущата версия на страницата.

Препратка към сравнението на версиите

blog:linux [30.10.2016 в 17:33] (текуща)
neohidra създадена
Ред 1: Ред 1:
 +====== Linux ======
 +
 +Когато говорим за операционни системи обикновено първото,​ което ни идва наум е компютър,​ но Linux е много гъвкава система. Поради това е налична за почти всяко устройство с процесор. С Linux работят някои DVD, Blu-ray плеъри,​ телевизори,​ кафемашини,​ рутери,​ принтери и много други. Няма как да пропуснем и една бурно развиваща се категория - умните мобилни телефони.
 +
 +Какво всъщност е Linux - малко сложен въпрос,​ влияещ се особено от гледната точка. За обществото вероятно е операционна система,​ за занимаващите се с Linux - само кърнела,​ а за тези които работят с GNU - GNU/Linux. Всъщност тези имена назовават различни неща, които по една или друга причина се припокриват и именуването се пренебрегва.
 +
 +====== История ======
 +
 +Когато работите с операционна система тип Linux (дистрибуция) всъщност Вие работите с различните GNU "​инструменти",​ които работят на базата на Linux кърнела,​ който осигурява функционирането на всички компоненти. Наличните дистрибуции ([[https://​antergos.com/​|Antergos]],​ [[https://​elementary.io/​bg/​|elementaryOS]],​ [[https://​getfedora.org/​bg/​|Fedora]],​ [[https://​www.opensuse.org/​|openSUSE]]. [[https://​ubuntu-mate.org/​|Ubuntu Mate]] и много други) работят с кърнела Linux, но същите те могат да бъдат да пригодени да работят с кърнела Hurd, но се изисква допълнителна работа. В кратък вариант - популярните дистрибуции са GNU/Linux операционни системи,​ но ако Linux кърнела бъде заменен с Hurd то тогава те биха били GNU/Hurd операционни системи.
 +
 +===== история на UNIX =====
 +
 +Операционната система UNIX  е създадена през 1969 г. в Bell Laboratories (собственост на AT&T) в САЩ от Ken Thompson, Dennis Riтchie, Brian Kernighan, Douglas McIlroy и Joe Ossanna. Първата версия излиза през 1971г., а по-късно през 80-те AT&T започва да издава комерсиални лицензи за UNIX което довежда до създаването на много операционни системи базирани на UNIX, които се развиват паралелно,​ което довежда и до нарастване на несъвместимостта между тях. За ограничаването на този ефект са въведени два стандарта - POSIX и Single UNIX Specification. UNIX е търговското наименование и то може да се ползва за означението на системи отговарящи на спецификацията. Системи,​ които имат връзка с UNIX, но не отговарят на стандарта се наричат подобни на Unix. От комерсиалните разработки на базата на UNIX най-популярни и разпространени стават Solaris, HP-UX и AIX. Наред с тях широко се ползват и много други операционни системи,​ като Linux, Mac OS X, Android, MINIX и BSD, които по някакъв начин са свързани с UNIX. Те спадат към подобните на Unix, с изключение на MacOS X (10.5 и 10.6) която е Single UNIX Specification сертифицирана.
 +
 +През 70-те и 80-те UNIX е широко разпространена сред университетските среди, а комерсиалните лицензи стават причина за появата на производните като AIX, HP-UX, IRIX, SunOS, Tru64, Ultrix и Xenix. Предхождат ги UNIX подобните Idris, Cohert и UNOS.
 +
 +===== история на GNU =====
 +
 +През 1983 г. започва проекта GNU, с основател [[https://​bg.wikipedia.org/​wiki/​Ричард_Столман|Richard Stallman]]. GNU (GNU is not Unix - GNU не е Unix) е проект създаден преди Linux и представлява съвкупност от почти всички програмни инструменти необходими на компютрите от 80-те години. Почти защото кърнела им - GNU Hurd не е бил в използваемо състояние. Целта му е да създаде операционна система за всеки потребител,​ който свободно да я ползва за различни цели, да я модифицира и разпространява. Основния замисъл е свобода,​ а крайният продукт - операционна система цялостно съвместима с Unix, като за се ползва изцяло безплатен софтуер. В началото на 90-те голяма част от работата е свършена - доста от необходимите програми за една операционна система са написани,​ но работата по компонентите от ниско ниво като драйвъри за устройства,​ демони и кърнел е в застой и незавършена. Работата по самия кърнел,​ на име [[https://​bg.wikipedia.org/​wiki/​GNU_Hurd|Hurd]],​ започва през май 1991. До тогава се е ползвал микрокърнела Mach, чийто лиценз по това време, го прави неизползваем и се налага да бъде пренаписан.
 +
 +===== история на Linux =====
 +
 +По това време [[https://​bg.wikipedia.org/​wiki/​Линус_Торвалдс|Linus Torvals]] е още студент в Университета на Хелзинки,​ с интерес към операционните системи. Toй работи с MINIX, но е фрустриран от лицензионното условие/​ограничение за ползване на операционната система само за учебни/​научни цели.
 +
 +Затова той решава да създаде собствена операционна система. Създава кърнел,​ който e с фундаментално различен от философията залегнала в GNU кърнела (и която усложнява работата по него). През 1991 проекта на Linus Torvals, разполага с кърнел,​ но няма инструментите необходими за функционирането му. Тогава той съчетава двата проекта и се ражда GNU/Linux - операционна система,​ която комбинира Linux кърнела и комплекта програмни инструменти на проекта GNU. Кърнела създаден от Linus Torvals става доста популярен и до днес той в основата на различните Linux дистрибуции които работят благодарение на GNU "​инструментите"​ които често биват пренебрегвани и изпускани от наименованието на операционната система,​ която би трябвало да се казва GNU/Linux.
 +
 +От GNU идват не само програмите в **```/​bin```** и **```/​usr/​bin```**,​ от там е ```glibc``` - библиотеката за програмния език C, която се ползва от ядрото. С други думи при всяко ваше действие (когато въвеждате команда или кликвате върху иконка) на някакво ниво се изпълнява код, който произлиза от проекта GNU.
 +
 +<WRAP center round info 90%>
 +Операционна система или дистрибуция - има ли разлика?​ Ами ще опитам да дефинирам двете а Вие решете за Вас:
 +  * **операционна система** (или за краткост просто ОС) е софтуера,​ който позволява на програмите (които са написани за дадената ОС) да работят - осигурява им всичко необходимо за да работят. ОС-ми са изградени на пластове и като основен първи пласт, който е непосредствено до хардуерните компоненти се явява кърнела. Кърнела взаимодейства с хардуера посредством драйвъри (малки "​програми",​ които осигуряват комуникацията) и позволява на останалите програми да ползват хардуера. Върху кърнела се намират други слоеве,​ които са отговорни за входно/​изходните устройства,​ мрежовата свързаност,​ аудио и възможностите на компютрите.
 +  * **дистрибуция на Linux** е комбинация от Linux кърнел и набор от различни програми (за текстообработка,​ за възпроизвеждане на видео и аудио, бразузър и др.), с които потребителя взаимодейства директно като крайният резултата е ОС, която е базирана на Linux кърнела. Разликите между дистрибуциите са външния вид, набора от избрани програми,​ които се разпространяват със самата дистрибуция,​ както и версията им.
 +</​WRAP>​
 +
 +Linux кърнела е монолитен. Тоест всичките услуги необходими за работата на операционната система работят в самия кърнел (кърнела са самите услуги). Философията на очаквания GNU кърнел е по-различна - микрокърнел. Тоест необходимите услуги работят самостоятелно,​ а кърнела реално изпълнява само координираща функция. Това усложнява много развойната дейност и отстраняването на проблемите,​ както и идентифицирането/​локализирането им.
 +
 +Изцяло монолитния кърнел е бил много удачен и лесен за прилагане модел в ранните дни на Linux, когато всеки потребител е компилирал кърнела спрямо собствения си компютър,​ днес това не така. Сега кърнела е модулен. Основните функции (ядрото) са в **```/​boot```**,​ докато незадължителните драйвъри са представени като отделни модули в **```/​lib/​modules```** (и по-точно **```.ко```** файловете).
 +
 +Можете да срещнете понятия като:
 +  * **kernel space** (място за кърнела) - това е част от паметта,​ която може да се променя само от кърнела (и модулите му). В резултата програми инсталирани от потребителя не могат да засегнат функционирането на кърнела,​ в това число се включват и програмите стартирани от root потребителя. Това е една от причините за стабилната работа на Linux.
 +  * **user space** (място за потребителя) - всичко извън кърнела.
 +
 +
 +{{tag>​linux}}
 +
 +~~LINKBACK~~
 +~~DISCUSSION~~
  
blog/linux.txt · Последна промяна: 30.10.2016 в 17:33 от neohidra