unix vs linux what is difference between unix
Unix срещу Linux: Научете каква е основната разлика между UNIX и Linux архитектура, ядро и команди
Linux не е нищо друго освен UNIX клон, който е написан от нулата на Линус Торвалдс с помощта на някои хакери по целия свят.
Unix и Unix-подобни операционни системи са семейство компютърни операционни системи, които произлизат от оригиналната система Unix от Bell Labs, която може да бъде проследена до 1965 г.
Linux е най-популярният вариант и се предлага в редица различни дистрибуции.
=> Щракнете тук за пълната серия на уроците за Unix
Unix е семейство от многозадачни, преносими, многопотребителски компютърни операционни системи, които също имат конфигурации за споделяне на времето.
Unix системите използват централизирано ядро на ОС, което отговаря за управлението на цялата система.
Интерфейсът за програмиране, абстракция на файлове, вградената мрежа и постоянната фонова обработка, наречени демони, са другите функции и възможности, които се поддържат от Unix OS.
Какво ще научите:
- Какво е UNIX?
- Какво е Linux?
- Разлика между Unix и Linux
- Linux срещу ядрото на Unix
- Команди на Unix срещу Linux
- Заключение
- Препоръчително четене
Какво е UNIX?
Unix се счита за майка на повечето операционни системи.
Дизайнът на Unix системите се основава на „Unix Philosophy“, който включва следните характеристики:
- Използване на обикновен текст за съхранение на данни.
- Йерархична файлова система.
- Обработка на устройства и някои специфични видове междупроцесна комуникация (IPC) като файлове.
- Използвайки огромен брой софтуерни инструменти.
- Множество малки, прости и модулни програми, които могат да бъдат свързани чрез интерпретатор на команден ред с помощта на тръби, за разлика от използването на една монолитна програма, която се състои от една и съща функционалност.
Тук си струва да споменем цитата по-долу за философията на Unix:
„Въпреки че тази философия не може да бъде записана с едно изречение, тъй като нейното сърце е идеята, че силата на една система идва повече от връзките между програмите, отколкото от самите програми. Много UNIX програми правят доста тривиални неща изолирано, но в комбинация с други програми стават общи и полезни инструменти. ' - Брайън Керниган и Роб Пайк
Архитектура на Unix
Диаграмата по-долу ще ви изобрази архитектурата на Unix.
(изображение източник )
Главната програма за управление на Unix е неговото ядро. Ядрото има пълен контрол над цялата система. Той има подсистеми, които предлагат услуги за обработка на файлова система, обработка на ресурси, управление на паметта, програми за стартиране и спиране и няколко други основни задачи на ниско ниво.
Ядрото е сърцето на операционната система и действа като интерфейс между потребителя и хардуера. Всяка подсистема на ядрото има определени функции като паралелност, виртуална памет, пейджинг и виртуална файлова система.
Във външните слоеве на архитектурата имаме черупката, командите и приложните програми. Shell е интерфейсът между потребителя и ядрото. Shell и потребителските типове в командите, интерпретират тези команди и съответно извикват компютърните програми.
Пример на операционната система Unix е Solaris и HP-UX. Най-големите дистрибутори на UNIX системи включват IBM, HP и SUN.
Препоръчително четене => Безплатни уроци за обучение на Unix
как да стартирам jar файл на Windows 10
Какво е Linux?
Досега щеше да имате добра представа за Unix. Нека сега разгледаме подробно Linux.
Хората много бъркат между термините Unix и Linux и обикновено задават въпроси като „Различава ли се Unix от Linux?“ / „Едно и също ли са Linux и Unix?“ / „Linux като Unix ли е?“ / „Linux изграден ли е върху Unix?“ .
Ето отговора на всички подобни въпроси. Първо, позволете ми да изчистя объркването ви в еднолинейна. Linux и Unix са различни, но те имат връзка помежду си, тъй като Linux е получен от Unix.
Linux не е Unix, но е подобна на Unix операционна система. Linux системата е получена от Unix и е продължение на основата на дизайна на Unix. Линукс дистрибуциите са най-известният и здравословен пример за директните деривати на Unix.BSD (Berkley Software Distribution) също е пример за дериват на Unix.
На този етап е важно за нас да ви изясним какво е Unix-подобно?
Подобна на Unix операционна система (наричана още UN * X или * nix) е тази, която работи по начин, подобен на Unix системите, но не е необходимо те да съответстват на Single UNIX Specification (SUS) или подобен POSIX (Portable Интерфейс на операционната система).
SUS е стандарт, който трябва да бъде изпълнен, за да може всяка операционна система да се класира за използване на търговска марка „UNIX“. Тази търговска марка се предоставя от „The Open Group“.
Малко примери от регистрираните в момента UNIX системи включват macOS, Solaris и AIX. Ако разгледаме системата POSIX, тогава Linux може да се разглежда като Unix-подобна ОС.
Според официалния файл README на ядрото на Linux, Linux е UNIX клон който е разработен от нулата от Линус Торвалдс и екипа. Той е насочен към съответствие с POSIX. Кодът на ядрото на Linux е изцяло написан от нулата. Той е проектиран по такъв начин, че да действа като Unix, но в него няма оригиналния Unix код.
Също така е важно да се отбележи, че Linux е само ядрото, а не пълната ОС . Това ядро на Linux обикновено е пакетирано в дистрибуции на Linux, което по този начин го прави пълна операционна система.
По този начин Linux е само ядрото, докато дистрибуциите на Linux могат да се третират като ОС. От друга страна, UNIX сам по себе си е цялостна ОС, тъй като всичко (всички необходими приложения, свързани заедно) идва от един доставчик. Например, Соларис.
Линукс дистрибуцията (наричана още накратко дистрибуция) е операционна система, която е създадена от колекция от софтуер, изграден върху ядрото на Linux и е система за управление на пакети.
Стандартната дистрибуция на Linux се състои от ядро на Linux, система GNU, помощни програми на GNU, библиотеки, компилатор, допълнителен софтуер, документация, прозоречна система, мениджър на прозорци и работна среда.
Повечето от софтуера, включен в дистрибуцията на Linux, са безплатни и с отворен код. Те могат да включват някакъв патентован софтуер като двоични петна, което е от съществено значение за няколко драйвера на устройства.
Архитектура на ОС базирана на Linux
(изображение източник )
По този начин дистрибуциите на Linux всъщност правят ядрото на Linux напълно използваемо като операционна система, като добавят различни приложения към него. Има различни вкусове на дистрибуциите на Linux, които обслужват широк спектър от нужди на потребителите.
Например , имаме базирана на OpenWrt Linux OS за вградени устройства, Linux Mint за персонални компютри и Rocks Cluster Distribution за суперкомпютри. Общо съществуват около 600 дистрибуции на Linux.
Ще ви бъде интересно да знаете, че популярната мобилна операционна система Android на Google е базирана на Linux. Всяка итерация на операционната система Android е изградена върху текущото ядро на Linux.
сливане сортиране на изходния код c ++
Разлика между Unix и Linux
Linux | Unix и други варианти |
---|---|
Различни варианти, поддържани от различни общности; със сливането на ядрото в клона, поддържан от Linus | Различни варианти, поддържани от различни компании; всеки поддържа собствено ядро |
Linux се отнася до ядрото на операционната система GNU / Linux. По-общо се отнася до семейството на производни разпределения. | Unix се отнася до оригиналната операционна система, разработена от AT&T. По-общо се отнася до семейство производни операционни системи. |
Оригинален код, разработен от Linus и фондация GNU | Оригинален код, разработен от AT&T |
Търговската марка Linux е собственост на Linus Trovalds и се управлява от Linux Mark Institute под Linux Foundation. | Търговската марка UNIX е сертифицирана от Open Group. Списък на сертифицираните операционни системи. |
Стандартната база за Linux (LSB), достъпна като ISO / IEC 23360, е усилие за стандартизация от редица дистрибутори на Linux. LSB е предимно разширение на POSIX, но има някои разлики. Няма обаче голяма нужда от LSB сертифициране, тъй като различните дистрибуции използват едно и също ядро във всеки случай. | UNIX сертифициране въз основа на „Single Unix Specification“, което е разширение на IEEE 1003 (POSIX), налично също като ISO / IEC 9945. POSIX определя API за програмиране и интерфейси на черупки и помощни програми. POSIX е разработен като начин да се позволи оперативна съвместимост между различни доставчици на UNIX. |
GNU / Linux и производни като Debian и Fedora | System-V Unix и производни като IBM-AIX и HP-UX; Berkeley Unix и деривати като FreeBSD и macOS |
Отворен код под общия публичен лиценз на copyleft | Berkeley Unix е частично отворен код с лиценз BSD. Източникът на System-V Unix може да бъде доставен под собствена търговска лицензия. |
Проектиран като мащабируема платформа с общо предназначение за широк набор от приложения. | Типично проектиран за тясна аудитория с определен набор от целеви платформи и приложения. |
Широко достъпен като конфигурируем софтуер за изтегляне и инсталиране. | Обикновено се доставят заедно с хардуер, напр. MacBook |
Безплатна подкрепа от общността. Платна поддръжка, предлагана от редица доставчици на услуги. | Платена търговска подкрепа. Често води до блокиране на доставчика. |
Интерфейсите често се развиват | Интерфейсите обикновено са стабилни |
Чести актуализации с бързи корекции на грешки | Рядките актуализации и поправки може да отнемат време |
Поддържа почти всички файлови системи, използвани в операционни системи | Повечето версии поддържат две или може би три файлови системи |
Широчина на инструментите за системно администриране, често с ограничен фокус, напр. Suse YAST | Всяка версия обикновено има зрял инструмент за системно администриране, напр. HP SAM |
Предпочитана операционна система за внедряване в облак и центрове за данни, предимно по икономически причини | Предпочитана ОС за специални изисквания към сървъра поради наличността на приложения и интернет сървъри по наследени причини |
Мащабируемост, постигната с помощта на клъстери, мрежи или облак. | Мащабируемост, постигната с помощта на клъстери или мрежи |
(Клъстерът е колекция от хомогенни компютри, мрежата е колекция от разпределени компютри, а облачната услуга е колекция от виртуализирани клъстери.) | |
Повечето от командния ред и графичните помощни програми са подобни на Unix | Повечето от командния ред и графичните помощни програми са подобни на Linux |
Надяваме се, че трябва да сте разбрали основните разлики между Unix и Linux от тази статия.
Нека сега видим някои по-важни разлики между Linux и Unix в табличния формат по-долу:
Характеристика | Linux | Unix |
---|---|---|
Първоначално освобождаване | Linux е по-нов в сравнение с Unix. Той е получен от Unix и е издаден през септември 1991 г. | Unix е по-стар. Издаден през октомври 1973 г. за външни партита. Преди това е бил използван вътрешно в лабораториите на Бел от създаването му през 1970 година. |
Разработчик | Вдъхновен от MINIX (Unix-подобна ОС), Linux първоначално е разработен от финландско-американския софтуерен инженер Линус Торвалдс. Тъй като е с отворен код, имаме разработчици на общността за Linux. | Първоначално получена от AT&T Unix, тя е разработена в Bell Labs от Kenneth Lane Thompson, Dennis Ritchie и 3 други. |
Написано на | C и други езици за програмиране. | C и асемблерен език. |
Семейство OS | Подобни на Unix | Unix |
Работно състояние | Текущ | Текущ |
Модел на източника | Отворен код | Смесени. Традиционно затворен източник обаче, няколко Unix проекта са с отворен код, които включват OS OS OS и BSD (Berkley Software Distribution) OS. |
Наличен в | Многоезичен | Английски |
Тип на ядрото | Монолитно ядро | Типът на ядрото варира. Той може да бъде монолитен, микроядрен и хибриден. |
Разрешително | GNUv2 (GPL General Public License) и други. | Лицензирането варира. Малко версии са собственост, докато други са безплатни / OSS. |
Официален уебсайт | https://www.kernel.org/ | http://opengroup.org/unix |
Потребителски интерфейс по подразбиране | Unix черупка | CLI (интерфейс на командния ред) и графичен (система X Windows) |
Интерфейс на текстовия режим | По подразбиране черупката е BASH (Bourne Again Shell). Освен това е съвместим с много интерпретатори на команди. | Първоначално черупката на Борн. Също така е съвместим с много интерпретатори на команди. |
Разходи | Може да се получи и използва свободно. Има и ценови версии на Linux. Но като цяло Linux е по-евтин от Windows. | Патентованите операционни системи имат различни структури на разходите, определени съответно от продавачите. |
Примери | Debian, Ubuntu, Fedora, Red Hat, Android и др. | IBM AIX, Solaris, HP-UX, Darwin, macOS X и др. |
Архитектура | Първоначално е създаден за хардуер x86 на Intel, портове, достъпни за много типове процесори. | Съвместим с PA и Itanium машини. Solaris се предлага и на x86 / x64. OSX е PowerPC. |
Откриване и решение на заплахата | Тъй като Linux се движи главно от общността с отворен код, много разработчици от различни части на света работят по кода. Следователно откриването и решението на заплахи е доста бързо в случай на Linux. | Поради патентованата природа на Unix, потребителите трябва да изчакат правилните корекции на корекции на грешки. |
Сигурност | Както Linux, така и Unix базирани ОС обикновено се считат за много добре защитени срещу злонамерен софтуер. Това се дължи на липсата на root достъп, бързите актуализации и сравнително ниския пазарен дял (в сравнение с Windows). Към 2018 г. няма разпространен Linux вирус. | Unix също се счита за много безопасен. Още по-трудно е да се зарази, тъй като източникът също не е достъпен. В днешно време няма активно разпространяващ се вирус за Unix. |
Цена | Linux е безплатен. Въпреки това, корпоративна поддръжка се предлага на цена. | Unix не е безплатен. Някои версии на Unix обаче са безплатни за разработка (Solaris). В среда за съвместна работа Unix струва $ 1 407 на потребител, а Linux струва $ 256 на потребител. Следователно UNIX е изключително скъп. |
Linux срещу ядрото на Unix
Тъй като само Linux е само ядро, струва си да се обсъдят основните разлики между ядрото на Linux и ядрото на Unix.
Има три вида ядро, т.е. монолитно, микро и хибридно (комбинация от монолитно и микро), както се вижда на изображението по-долу.
(изображение източник )
В монолитна архитектура на ядрото цялата ОС работи в едноядрено пространство. Той еднолично дефинира виртуален интерфейс на високо ниво върху компютърния хардуер.
Въпреки че ядрото на Linux извлича повечето от своите характеристики от Unix / Unix-подобни ядра, обаче, има някои съществени различия между двете.
В архитектурата на микроядрата основните услуги на операционната система се изпълняват в един процес, докато другите услуги се изпълняват в различни процеси.
В µ ядрото, почти минималното количество механизми е включено в режим на ядрото. Тези механизми включват основен IPC (комуникация между процесите), планиране и управление на адресно пространство на ниско ниво.
По отношение на размера на изходния код, обикновено микроядрото е по-малко от монолитното ядро.
Характеристика | Linux ядро | Unix ядро |
---|---|---|
Подход на ядрото | Linux следва монолитния подход на ядрото. | Ядрото на Unix може да бъде монолитно, микроядро или хибридно. Например, macOS има хибридно ядро, Solaris има монолитно ядро, а AIX има монолитно ядро с динамично зареждаеми модули. |
Добавяне / премахване на функции на ядрото | Предоставя страхотна функция, чрез която компонентите на ядрото, като устройствата, могат да бъдат динамично добавяни и премахвани като модули. Тази функция се нарича модули за зареждане на ядрото (LDM). Това елиминира необходимостта да се компилира отново цялото ядро. Тази функция от своя страна дава голяма гъвкавост на Linux. | Традиционните Unix системни ядра се нуждаят от статично свързване на нови системи. |
Потоци | В Linux няма подсистема I / O потоци. | В повечето ядра на Unix са включени подсистема I / O потоци, което се оказва желаният интерфейс за писане на драйвери на устройства, драйвери на терминали и т.н. |
Превантивен срещу непревентивен подход | Обикновено ядрото на Linux не е превантивно. Напоследък обаче операционната система в реално време на Linux започна да използва превантивни ядра. | Някои Unix системи са изцяло превантивни. Например, Solaris 2.x. и т.н. |
Разрез на ядрото | Linux използва нишка на ядрото само за периодично изпълнение на някакъв код на ядрото. | Много подобни на Unix операционни системи използват нишка на ядрото с цел превключване на контекста на процеса. |
Начини за справяне с многонишковата среда | Чрез многопоточност се създават повече от един независим изпълнителен поток, който се нарича лек процес (LWP). В Linux LWP се създава чрез извикване на функцията clone (). Тези процеси в Linux могат да споделят физическа памет, отворени файлове, адресно пространство и т.н. | В Unix LWP се основава на нишки на ядрото. |
Команди на Unix срещу Linux
Има определени разлики между командите на черупката, т.е. дори сред версиите на същия вариант на Unix. Най-много обаче варира вътрешната обвивка, която е вградена, а не презентацията.
Като цяло се полагат усилия Linux да бъде възможно най-близо до Unix чрез спазване на POSIX стандартите. Следователно, терминалните команди в дистрибуциите на Linux и операционните системи Unix не са абсолютно еднакви, но също няма много разлики.
Всяка дистрибуция на Linux сама по себе си има свой собствен начин на изпълнение.
Например , в CentOS, която е ОС от семейството на Linux, използваме команди yum (модификатор за актуализация на yellowdog) за инсталиране на нови пакети, докато в Debian, която е друга ОС от семейството на Linux, използваме команди apt-get за инсталиране.
Ние използваме в IBM AIX, която е собствена Unix OS -пръст на ръката команда, за да проверите кой е влязъл в системата. Но тази команда не се използва в Linux. В Linux използваме розово команда за извличане на същия резултат.
В Ubuntu / Debian (Linux OS) имаме fdisk, разделен, разделен команди за задачата „създаване“. От друга страна, в Solaris (Unix OS) имаме формат, fmthard за задачата „създаване“ .
Можете да се обърнете към списъка с команди на Linux и Unix, ще откриете, че командите на Linux и Unix са подобни, но не са абсолютно еднакви.
Примери
Досега в тази статия видяхме обобщените основни разлики между Linux и Unix. Тези разлики могат да бъдат по-конкретни, ако сравним точните версии на двете. Нека да видим това чрез някои примери.
Solaris срещу Linux
Solaris, който сега се нарича Oracle Solaris е серия от Unix OS. Нека сравним Linux със Solaris.
Linux поддържа повече системни архитектури, отколкото Solaris. Следователно, Linux е по-преносим.
Докато говорим за стабилност и хардуерна интеграция, Solaris изглежда по-добре тук. Linux също има по-бърз темп на развитие в сравнение със Solaris.
Има малко други технически разлики между двете, но тук ограничаваме сравнението си само до производителност.
MacOS срещу Linux
MacOS е сертифицирана Unix OS. Той има собствено ядро на име XNU. Използва се в компютрите на Apple, които се считат за най-надеждните компютри.
MacOS е относително лесен за настройка. От друга страна, Linux е по-евтин и разполага с много софтуер с отворен код, спрямо собствените решения на Apple. Освен това Linux е по-гъвкав, тъй като може да бъде изпълнен на почти всеки хардуер, докато MacOS може да работи само на хардуер на Apple. Например , iPhone.
MacOS използва HFS + като файлова система по подразбиране, докато Linux използва ext4.
Заключение
Unix е много стар и се казва, че е майка на всички операционни системи. Ядрото на Linux също е получено от Unix. Основната разлика между операционните системи, базирани на Unix и Linux, не е в презентационната част, а в това как работят вътрешно, т.е. главно в частта на ядрото.
Разликата между двете също ще зависи от това кои точно версии на Linux и Unix сравнявате.
Също така е от съществено значение да се заяви, че Linux (и много други Unix-подобни ОС) са свободни за получаване и модифициране, докато операционните системи Unix не са. Разходите винаги са основна грижа, докато се решава каква технология да се използва, а Linux има предимство в това отношение.
Linux е по-гъвкав и безплатен в сравнение с истинските системи на Unix и затова Linux придоби по-голяма популярност. Докато обсъждаме командите в Unix и Linux, те не са еднакви, но много си приличат. Всъщност командите във всяко разпределение на една и съща фамилия OS също варират.
Solaris, HP, Intel и др. Използват Unix интернет сървъри, работни станции и персонален компютър. Докато Linux е широко използван за компютърен софтуер и хардуер, игри, таблети, мейнфреймове и др.
Има проучвания, които казват, че Linux се развива бързо от всяка друга операционна система през последните няколко години. Следователно, в бъдеще Linux може да остави UNIX инсталациите далеч назад.
Препратки: Linux, Unix, Linux дистрибуция, Книга: Средата за програмиране на Unix
Надявам се да ви е харесала тази информативна статия за Unix и Linux разликата !!
=> Щракнете тук за пълната серия на уроците за Unix
как да получите фалшив имейл
Препоръчително четене
- Какво е Unix: Кратко въведение в Unix
- Команди на Unix: Основни и разширени команди на Unix с примери
- Команди на Unix за обработка на текст: Unix филтри с примери
- Урок за тръби на Unix: Тръби в програмирането на Unix
- Разлика между Linux и Windows: Коя е най-добрата операционна система?
- Още Unix филтър и Awk, Sed команди в обработката на текст
- Урок за UNIX за начинаещи (20+ задълбочени видеоклипове за обучение на Unix)
- Как да сравним два файла в Unix: Команди за сравняване на файлове