Unix: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
м форматиране: 23x кавички, 12x дв. интервал, 6x дълго тире, 2x нов ред (ползвайки Advisor.js)
Ред 4:
Сегашният собственик на [[търговска марка|търговската марка]] ''UNIX'' е консорциумът за индустриални стандарти [[The Open Group]]. Правата върху изходния код на Unix обаче са оспорвани в дело от 2004 г., в което доставчикът на UNIX [[SCO Group]] обвинява [[Novell]] в оклеветяване на името (slander of title). Забележете, че собственикът на търговската марка използва названието UNIX, а не Unix. Терминът UNIX не е акроним, а следва историческата конвенция компютърните системи да се именуват с главни букви като [[ENIAC]] и [[MISTIC]].
 
Само системи, напълно съвместими и сертифицирани по [[UNIX спецификация]]та (Single UNIX Specification) могат да се наричат "UNIX"„UNIX“. Другите се наричат "[[Unix-подобни]]" ([[:en:Unix-like|Unix-like]]).
 
В началото на 70-те и 80-те, когато компютрите не са толкова разпространени, академичните кръгове са вдъхновени от Unix, което води до широкомащабното ѝ възприемане (най-вече на варианта [[Berkeley Software Distribution|BSD]], създаден в [[Калифорнийски университет - Бъркли]]), а също и от нови компании като [[Sun Microsystems]]. В наши дни в допълнение на сертифицираните Unix системи, Unix-подобните операционни системи като [[Linux]] и [[Mac OS X]] са често срещани.
Ред 12:
 
== Въведение ==
 
Unix операционните системи се използват както за [[сървър]]и, така и за [[работна станция|работни станции]]. Unix средата и моделът [[клиент-сървър]] са основни елементи при разработването на [[Интернет]] и при създаването на [[Компютърна мрежа|компютърните мрежи]] — в контраст с разработките на операционни системи за [[персонален компютър|персонални компютри]].
 
Както Unix, така и [[C (език за програмиране)|C]], разработени от AT&T и разпространени в службите на американското правителство и академичните институции, са приспособявани към различни архитектури и операционни системи. В резултат на това Unix се свързва с понятието "[[отворена система]]".
 
Unix е проектирана като [[преносимост|преносима]], [[многозадачен|многозадачна]] и [[многопотребителска]], когато е във [[времеразделящ]]а конфигурация. За Unix системите са характерни следните особености: използването на [[неформатиран текст]] за запазване на данни; йерархична [[файлова система]]; устройствата и някои видове [[процеси]] (inter-process communication) (IPC) се третират като файлове; използват се голям брой малки програми, които могат да бъдат навързани заедно чрез [[интерпретатор на команден ред]] и чрез [[съобщителен канал (Unix)|канал]]и (pipe), в контраст с използването на една монолитна програма със същата функционалност. Тези концепции са известни като [[философия на Unix]].
 
В Unix, "операционната„операционната система"система“ се състои от тези инструменти заедно с [[Ядро (компютри)|ядрото]] (kernel - — основната контролираща програма). Ядрото отговаря за пускане и спиране на програмите, за работа с [[файлова система|файловите системи]] и за други задачи от "високо„високо ниво"ниво“, които са общи за повечето програми. Най-важната му задача обаче е, че то контролира директния достъп до хардуера и разрешава конфликтите — например когато две програми едновременно искат достъп до едно и също устройство. Затова ядрото има специални привилегии за достъп до системата, което води до отделянето на "потребителско"„потребителско“ и "системно"„системно“ пространство.
 
[[Микроядро]]то се опитва да намали размера на ядрото, като разделя ядрото на много малки части изпълняващи определени операции. Във времената на [[мейнфрейм]] машините, когато "нормалният"„нормалният“ компютър се състоеше от твърд диск и [[терминал]]и за вход-изход, файловият модел на Unix работеше много добре, тъй като входно-изходните операции бяха "линейни"„линейни“. Но модерните системи имат и по-нови [[периферни устройства]] и използват графичен [[потребителски интерфейс]], при който действието с мишката е нов, "събитиен„събитиен модел"модел“ и моделът на Unix не функционира така добре. През 80-те разработчиците насочват усилията си към системите, поддържащи тези нови устройства, за да осигурят неблокиращ вход-изход, да създадат варианти на междупроцесна комуникация, различни от pipe, както и за изваждането на мрежовите протоколи от ядрото.
 
== История ==
През 60-те, [[Масачузетски технологичен институт|Масачузетският технологичен институт]], AT&T Bell Labs и [[General Electric]] работят по експерименталната [[операционна система]] [[Multics]] (името идва от '''Mult'''iplexed '''I'''nformation and '''C'''omputing '''S'''ervice), предназначена за [[мейнфрейм компютър]]а [[GE-600 series|GE-645]]. Целта е създаването на комерсиален продукт, но успех не е постигнат. Multics е интреактивна операционна система с много нови възможности и повишена [[сигурност]]. В резултат от проекта е създаден краен продукт, но с много ниска производителност.
 
AT&T Bell Labs се оттегля и насочва ресурсите си към други проекти. Един от разработчиците от екипа на Bell Labs обаче, Кен Томпсън, продължава да работи, и създава игра за GE-645 мейнфрейм, наречена Пътуване в пространството (Space Travel). Но изпълнявана на GE машината тя е бавна и доста скъпа - — изпълнението и&#768; струва $75 от дефицитното компютърно време.<ref>http://www.bell-labs.com/history/unix/pdp7.html</ref>
 
[[Image:Unix-process-list.png|thumb|250 px|A partial list of simultaneously-running processes on a UNIX system.]]
Line 35 ⟶ 34:
През 1970 проектът е наречен '''Unics''' (съкратено от '''Un'''iplexed '''I'''nformation and '''C'''omputing '''S'''ystem) и поддържа два потребителя едновременно. Избраното име е приписвано на [[Брайън Керниган]] (Brian Kernighan) и представлява шега с ''Multics'' - Unix ще прави само едно нещо, но ще го прави добре, за разлика от раздутата и бавна Multics.
 
Дотогава е липсвала финансова поддръжка от Bell Labs. Когато обаче компанията Computer Science Research Group отправя искане да използва Unix на друга машина, много по-голяма от PDP-7, Томпсън и Ричи успяват да издействат финансиране с обещанието да добавят възможности за обработка на текст към варианта на Unix за [[PDP-11/20]] машина. За първи път операционната система UNIX официално е именувана и се изпълнява на PDP-11/20 през 1970 г. Добавени са програма за форматиране на текст ([[roff]]) и [[текстов редактор]],
и трите написани на асемблер за PDP-11/20. Bell Labs подава заявки за [[патент]]и за системата за обработка на текст и за редактора. Roff еволюира в [[troff]], първата електронна издателска програма с пълни [[типография|типографски]] възможности. ''Ръководството на UNIX програмиста'' (''UNIX Programmer's Manual'') е публикувано на [[3 ноември]] [[1971]].
 
През 1973 е решено да се пренапише Unix на C. Промяната улеснява модифицирането/прехвърлянето на Unix на други машини (т.е. преносимостта), и дава възможност и други разработчици да създадат варианти. Кодът става по-стегнат и компактен, което води до по бърза разработка на Unix. AT&T прави Unix достъпен за университетите и компаниите, а също и за правителството на САЩ под лиценз. Лицензът включва целия изходен код с изключение на машинно-зависимата част, написана на асемблер за PDP-11. Обаче в края на 70-те се разпространяват копия на машинно-зависимото ядро с коментари под форма на копирана книга на [[Джон Лион]] от [[University of New South Wales]] - ''[[Lions' Commentary on UNIX 6th Edition, with Source Code]]'', което води до приемането на Unix като операционна система за обучение.
 
Версиите на Unix се определят от версиите на съответните им ръководства т.е. "Fifth„Fifth Edition UNIX"UNIX“ и "UNIX„UNIX Version 5"5“ се използват за едно и също нещо. Разработката се разшири с версии 4, 5, и 6, пуснати до 1975. Тези версии добавят концепцията за съобщителен канал, водеща до разработката на модулна кодова база, което повиши още повече скоростта на развитие. Версия 5 и по-специално версия 6 доведоха до множество различни версии на Unix в Bell Labs и извън нея, например [[PWB/UNIX]], [[INTERACTIVE Systems Corporation|IS/1]] (първия комерсиален Unix), и пренасянето му на [[Interdata 7/32]] (първия не-PDP Unix) от [[University of Wollongong]].
 
През 1978 е представен [[UNIX/32V]], за [[VAX]] компютър. По това време повече от 600 машини изпълняват някаква форма на Unix. [[Unix версия 7]] — последната широкоразпространена версия на [[Research Unix]] — е представена през 1979. Версии [[Unix версия 8|8]], [[UNIX версия 9|9]] и [[UNIX версия 10|10]] са разработени през 80-те, но са разпространени само в няколко университета. Това води до разработката на [[Plan 9 from Bell Labs]] - нова преносима разпределена система.
Line 49 ⟶ 48:
AT&T лицензира [[UNIX System III]], базирана основно на версия 7, за комерсиално използване през 1982. Тя включваше поддръжка на VAX. AT&T продължи да лицензира по-старите версии на Unix. За да сложи край на объркването между различните версии, AT&T ги комбинира в [[UNIX System V]] Release 1. Тя предложи нови възможности като редактора [[vi]] и [[curses (програмна библиотека)|curses]] от [[Berkeley Software Distribution]] на Unix разработени от [[Калифорнийски университет - Бъркли|Калифорнийския университет (Бъркли)]]. Тя включваше поддръжка на [[Western Electric]] 3B.
 
Тъй като новото комерсиално лицензиране на UNIX не е изгодно за академично използване както по-ранните версии, разработчици от Бъркли продължават да развиват BSD Unix като алтернатива на UNIX System III и V, първоначално за PDP-11 (2.xBSD завършвайки с 2.11BSD) и по-късно за VAX-11 (версии 4.x на BSD). Много от нововъведенията в Unix първо се появяват в BSD, например [[C shell]] с [[контрол на задачи]]те (създаден по модел на [[Incompatible Time Sharing|ITS]]). Най-важният аспект от разработката на BSD е добавянето на [[TCP/IP]] кода към Unix [[Ядро (компютри)|ядрото]]. Усилията на BSD имат като резултат няколко версии съдържащи мрежовия код: 4.1cBSD, 4.2BSD, 4.3BSD, 4.3BSD-Tahoe ("Tahoe"„Tahoe“ е прякора на CCI Power 6/32 архитектурата - — първата версия на различна ор DEC платформа на BSD ядрото), Net/1, 4.3BSD-Reno (за наподобяване на "Tahoe"„Tahoe“, и тъй като тази версия е "хазартна"„хазартна“), Net/2, 4.4BSD, и 4.4BSD-lite. Мрежовият код в тези версии е прародител на TCP/IP мрежовия код, използван сега, включително и кода пуснат по-късно в AT&T System V UNIX и [[Microsoft Windows]]. Съпътстващият [[Berkeley Sockets]] програмен интерфейс [[API]] е де-факто стандарт за мрежови програмни интерфейси и впоследствие е копиран от много платформи.
 
Други компании започват предлагането на комерсиални версии на UNIX за техните [[Миникомпютър|миникомпютри]] и работни станции. Повечето от тях са разработени въз основа на System V и са лицензирани от AT&T; но има и BSD базирани. Един от водещите разработчици на BSD, [[Бил Джой]](Bill Joy), основава през 1982 [[Sun Microsystems]] и създава [[SunOS]] (сега [[Solaris Operating System|Solaris]]) за техните [[работна стация|работни станции]]. През 1980, [[Microsoft]] представя техния първи Unix за [[16-битов]]и компютри, наречен [[Xenix]], който [[Santa Cruz Operation]] (SCO) прехвърля за [[Intel 8086]] процесор през 1983, и създава Xenix клонинг - [[SCO UNIX]] през 1989.
 
През 1984 се сформира група, наречена [[X/Open]], с цел да създаде съвместима отворена система за стандартизиране на UNIX. Към средата на 80-те, несъвместимостта между конкуриращите се версии на Unix, наречени [[Unix войни]] пречат на приемането на Unix на пазара, който започна да се доминира от [[Microsoft]]-ските операционни системи. Вдъхновена от разработването на двойни (AT&T/BSD) версии на Unix, [[IEEE]] работна група P1003 разработва първия [[POSIX]] стандарт за Unix-базирани програмни [[интерфейс]]и, публикуван през 1988.
 
AT&T добави в UNIX System V, като [[заключване на файл]]ове, [[администриране на система]]та, [[стандартни потоци|потоци]], [[Отдалечена файлова система]](Remote File System) и [[Transport Layer Interface|TLI]]. AT&T си сътрудничи със Sun Microsystems и от 1987 и 1989 добави възможности от [[Xenix]], BSD, SunOS, и System V в [[System V Release 4]] (SVR4), независимо от X/Open. Тази версия консолидира всички предишни възможности в себе си и сложи край на конкуриращите се версии. Но това означава също и по-високи лицензионни такси.
 
=== 90-те ===
През 1990, [[Open Software Foundation]] обяви OSF/1, техния Unix стандарт, базиран на [[Mach kernel|Mach]] и BSD. Фондацията е основана през 1988 и се финансира от няколко Unix компании желащи да се противопоставят на AT&T и Sun за SVR4. Впоследствие AT&T и друга група формират "[[UNIX International]]" за да се противопоставят на OSF. Този конфликт между конкуриращи се компании е наречен "[[Юникс войни]]".
 
През 1991, група от BSD разработчици (Дон Сели Donn Seeley, Майк Карелс Mike Karels, Бил Жолиц Bill Jolitz, и Треант Хейн Trent Hein) напусна Калифорнийския университет за да основе Berkeley Software Design, Inc ([[BSDI]]). BSDI произвежда напълно функционална комерсиална версия на BSD Unix за Интел базирани компютри, което постави началото на използването на евтини компютри за сериозни изчисления. Скоро след основаването на компанията Бил Жолиц напусна BSDI за да създаде [[386BSD]], положил началото на [[FreeBSD]], [[OpenBSD]], и [[NetBSD]].
Line 66 ⟶ 65:
Скоро след обнародването на UNIX System V Release 4, AT&T продаде правата върху UNIX на Novell. Novell разработва своя собствен версия - [[UnixWare]] сливайки [[NetWare]] с UNIX System V Release 4. Novell я използва срещу [[Windows NT]], но тяхното присъствие на пазара продължи да намалява.
 
През 1993, Novell решава да предаде UNIX [[запазена марка|запазената марка]] и правата за сертифициране на [[X/Open]].<ref>[http://groups.google.com/group/comp.std.unix/msg/c9974cf0022884f8]</ref> През 1996, X/Open се сля с [[Open Software Foundation|OSF]], създавайки [[Open Group]]. Стандартите на Open Group дефинират какво е и какво не е "UNIX"„UNIX“ операционна система.
 
През 1995, бизнеса на администриране и поддръжка на съществуващите UNIX лицензи и правото за разработка на System V кода са продадени от Novell на Santa Cruz Operation.[http://www.novell.com/news/press/archive/1995/09/pr95220.html] Въпроса дали Novell също продава запазената марка е основа за съдебен процес.
Line 76 ⟶ 75:
 
== Компоненти ==
UNIX системата е направена от няколко елемента, които по принцип са пакетирани заедно: Ядро - [[Kernel (computer science)|kernel]] и още - — среда за разработка, библиотеки, документи и преносимия source-code (програмния код). UNIX е всичко в едно - — пълна софтуерна система. Това е ключовов развитието на операционната система - — била използвана за обучение, предизвикала голям интерес. Всички тези компоненти не направили системата голяма — оригиналната V7 UNIX дистрибуция, съдържаща всичко необходимо плюс сорс кода и документацията не били повече от 10 мб (мегабайта).
 
== Въздействие ==
UNIX оказва значително въздействие върху всички следващи операционни системи. За разлика от използвания при ранните компютри [[асемблер]] тя е написана на език от високо ниво.
 
В сравнение с много съвременни операционни системи, третиращи всички видове файлове като към прости масиви от байтове, Unix има драстично опростен [[файлова система|файлов модел]]. В йерархията на файловата система, в която се съдържат и служебните програми и периферните устройства (като например принтери, терминали, или дискове), е необходимо да се осигури единен [[интерфейс]]. Това обаче не пасва на простия модел за "поток„поток от байтове"байтове“.
 
Unix популяризира йерархичната [[файлова система]] с произволно вложени субдиректории, първоначално въведена от Multics. Останалите разпространени операционни системи в тази ера също можеха да разделят запаметяващото устройство на директории или сектори, но те най-често се ограничаваха само до едно ниво. Няколко големи частни операционни системи накрая разшириха обхвата на под-директориите подобно на Multics. Йерархията DEC's RSX-1M's за "потребителска„потребителска група"група“ се развива в така наречените VMS директории, а CP/M се развива в MS-DOS 2.0 субдиректория, докато йерархията на HP MPE group.account и IBM SSP и OS/400 системи библиотеки се свива в по-обширните POSIX файлови системи.
 
Друго нововъведение на Multics, разпространено от Unix, е създаването на команден програмен [[интерпретатор (шаблон)|интерпретатор]] с команден ред, достъпна на потребителско ниво и с допълнителни команди, които са представени като отделни програми. Unix ядрото (shell) използва същия език за интерактивни команди, който се използва за скриптиране (shell скриптовете нямаха отделен контролен работен език както JCL на IBM). Понеже shell-а и командите на операционната система били просто "още„още една програма"програма“, потребителят можеше да избере (или дори сам да напише) собствения си shell. Нови команди може да се добавят без шелът да се променя. Нововъведената команден ред на Unix за създаване на вериги от процеси тип производител-потребител, представлява един мощен програмен модел, широко достъпен за всички. Много от по-късно създадените интерпретатори с команден ред са вдъхновени от Unix shell-а.
 
Най-опростеният подход при Unix беше изборът на [[ASCII]] текст за почти всички [[файлов формат|файлови формати]]. В оригиналната версия на Unix нямаше двоични редактори, а цялата система беше конфигурирана чрез използването на командни скриптове в shell- a. Фокусирането върху текста и байтовете направи системата далеч по-мащабируема и подвижна от други системи. С времето текстово-базираните приложения доказаха, че са широко използваеми в други области, като например печатни езици като PostScript и интернет протоколите, като например Telnet, FTP, SMTP, HTTP и SIP.
 
Unix популяризира синтаксис за правилни изрази, който намери широко разпространение. Програмният интерфейс на Unix се превърна в основен стандарт на операционните системи.
 
Програмният език С, скоро разпространен и извън рамките на Unix, вече се използва в много системи и приложения за програмиране.
 
Ранните Unix разработчици допринесоха за теорията на модулацията и повторната употреба в софтуерната инженерна практика, използвайки "Софтуерния"„Софтуерния“ растеж.
 
Unix осигурява TCP/IP мрежовите протоколи за сравнително евтини компютри, които допринесоха за [[интернет]] експлозията, осигуриха свързаност в реално време и които формират основата за изпълнението на много други платформи.
 
Политиката на Unix за предимно он-лайн документация (поддържана в продължение на много години) и готовите системни кодове, достъпни за всички програмисти, дава началото на движението за "[[софтуер с отворен код]]" през 1983. Водещите разработчици на Unix (и на програми, които го напускат) открай време се придържат към определен набор от културни норми за [[разработка на софтуер]], които са станали също толкова важни и толкова влиятелни като технологията на Unix; това е наречено „философията на Unix“.
 
== Основни Unix команди ==
Взето от „https://bg.wikipedia.org/wiki/Unix“.