HDG обяснява: Какво е UNIX?

Три от най-популярните операционни системи в света са Windows , Mac и Linux . Тези три операционни системи получават цялата преса, двете първите повече от вторите и вероятно са единствените, които сте чували за себе си.

Ами ако ви кажа, че две от три от най-популярните операционни системи всъщност са включили основните философии на нещо, наречено UNIX ? Тези философии са основни концепции на система за споделяне на време, позволяваща на множество потребители да имат достъп до един мейнфрейм компютър по едно и също време.

Разработена през 1970 г. и проектирана да бъде малка, гъвкава система, използвана изключително от програмисти, UNIX бързо се превърна във водеща операционна система за работни станции. Но колко наистина знаете(you) за UNIX?

HDG обяснява: Какво е UNIX?

UNIX и UNIX-подобните(UNIX-like) операционни системи са най-мощните и популярни многопотребителски и многозадачни операционни системи на пазара. През годините са разработени множество поколения UNIX за различни машини, включително модерни (UNIX)POSIX системи като Linux , многото му варианти и Mac OS . Трудно(Hard) е да се повярва, че нещо толкова мощно може да има толкова скромни начала.

Разработен в Bell Telephone Laboratories , или Bell Labs , от шепа програмисти, UNIX е написан на езика за програмиране C. Това позволява да бъде инсталиран на практически всеки компютър, който притежава C компилатор. Само това осигурява естествена преносимост, гъвкавост на UNIX и се поддава като доста мощна опция като операционна система. 

Освен че е евтина, Bell Labs разпространява операционната система във формата на изходен език, позволявайки на всеки, който се сдобие с нея, да я модифицира и персонализира за свои собствени цели. Това роди десетки различни версии на UNIX в рамките на едно десетилетие, работещи на различни сайтове.

Bell Labs в крайна сметка ще се разпадне през 1984 г. Въпреки това те започнаха да пускат на пазара UNIX в опит да дефинират стандартна версия на системата. Те разработиха нещо, което мнозина смятат за твърде ограничаващо, един от тях е Ричард Столман(Richard Stallman) , отговорен за проекта GNU . Проектът GNU е основата за Linux , който познаваме днес, тъй като се състои от ядрото на Linux , а не от ядрото на UNIX .

Въпреки това, Linux е вдъхновен от MINIX , който е UNIX-подобна операционна система, създадена за образователни цели. Това доведе до своеобразен ефект на доминото за повечето от наличните днес операционни системи. GNU/Linux произлиза от дизайна на UNIX и от своя страна много операционни системи днес, включително Android , Chrome OS , Steam OS и огромно количество вградени операционни системи за устройства, са базирани на Linux .

Стандартът UNIX

Стандартът наистина се появи, но не се основава на нищо от AT&T. Днес търговската марка “UNIX” е собственост на The Open Group . Същото може да се каже и за Единната спецификация на UNIX(Single UNIX Specification) . Всяка(Any) операционна система, която използва UNIX , трябва да е сертифицирана от The Open Group и да отговаря на Единната спецификация на UNIX(Single UNIX Specification) .

Както е илюстрирано от The Open Group: 

За всеки, който се интересува да посети връзката в изображението, ето го(here it is) .

POSIX , както бе споменато по-рано, е семейство от стандарти, определени от Института на електрическите и електронни инженери (IEEE)(Institute of Electrical and Electronic Engineers (IEEE)) . Те служат за изясняване и уеднаквяване на интерфейсите за програмиране на приложения, предоставени от UNIX-подобни операционни системи.

Това го прави така, когато пишете програма, разчитаща на стандартите POSIX , преносимостта и функционалността се улесняват сред голямото семейство от производни на UNIX като Linux и Mac OS . Използването на API или код, който не е стандартизиран като част от POSIX за UNIX-подобни(UNIX-like) операционни системи, ще направи преносимостта към други подобни на UNIX(UNIX-like) системи все по-трудна.

Какво представляват UNIX програмите(Programs) , системите(Systems) и подсистемите(Subsystems) ?

UNIX командите се изпълняват в интерфейс на командния ред, предоставен от шел(shell) . Тази обвивка е програма, която ще прочете въведените команди и или ще ги изпълни сама, или ще я предаде на ядрото(kernel) .

"Ядрото" е това , около което са изградени UNIX системите, което управлява системата и другите процеси. Това е ядрото на операционната система UNIX и директно взаимодейства с основния хардуер, за да предостави набор от стандартни услуги. Подсистемите на ядрото(Kernel) могат да включват управление на процеси, управление на файлове, управление на паметта, управление на мрежата и други.

Няколко основни философии, включително изисквания като едно предназначение, оперативна съвместимост и работа със стандартизиран текстов интерфейс, са това, около което UNIX програмите са проектирани. 

Що се отнася до функциите на UNIX , ето списък с няколко изявени от тях:

  • Позволява използването на едни и същи ресурси да се споделят от различни потребители в една система.
  • Осигурява(Provides) многозадачност, при която всеки потребител може да изпълнява много процеси едновременно.
  • Първата операционна система, написана на език от високо ниво, което улеснява пренасянето на други машини с минимални адаптации.
  • Йерархична файлова структура, позволяваща по-лесен достъп и поддръжка на данни.
  • Вградени мрежови функции за лесен обмен на информация между потребителите.

Защо UNIX има значение

Освен Windows и базирани на Windows системи, по-голямата част от операционните системи, които ще видите, имат философия, базирана на UNIX . Ако погледнете терминала или файловата система на Mac OS X , ще забележите поразителна прилика с Linux . И двете(Both) са напълно различни от Windows . Това е така, защото Linux и Mac OS са UNIX - подобни системи.

Разбирането на това ще ви помогне също да разберете колко важен е и е бил UNIX . Една от основните философии на UNIX , използвани днес, е създаването на малки, модулни помощни програми, които да правят уникални неща при изключително ниво на ефективност. Запознаването с терминала на Mac OS(Mac OS Terminal) също ще ви запознае с терминала на Linux(Linux Terminal) и обратно. Това е UNIX накратко.

UNIX -подобните системи разчитат на една файлова система, за да могат програмите да комуникират една с друга. Системи, подобни на Windows, разчитат на DOS . Това е причината само подобни на Windows системи да имат букви на устройства. Всички други операционни системи го имат, така че всеки файл в системата е част от една йерархия на директории. Отново(Again) , всичко благодарение на философията на UNIX .

UNIX може да се види в архитектурата на операционни системи като BSD , Linux и Mac OS , изцяло по дизайн. Може да се каже, че без UNIX нямаше да има Mac OS и вероятно същото може да се каже за неговите конкуренти, включително Windows .

Тук очевидно сме хиперболични. Въпреки(Though) това, ще трябва да признаете, че UNIX изигра важна роля в развитието на всяка операционна система, използвана днес. Ако това не илюстрира важността на UNIX и неговите философии, не съм сигурен какво ще направи.



About the author

Аз съм компютърен учен с над 10 години опит в разработката на софтуер и сигурността. Имам силен интерес към игрите за Firefox, Chrome и Xbox. По-специално, особено ме интересува как да се уверя, че кодът ми е безопасен и ефективен.



Related posts