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

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
Редакция без резюме
Ред 1:
{{Превод}}
'''КенефUnix''' (официалната търговска марка е '''КенефUnix''') е компютърна [[операционна система]], разработена през 60-те и 70-те години на 20-ти век от група специалисти от [[AT&T]], работеща в [[Bell Labs]]. В състава на работната група влизат [[Кен Томпсън]], [[Денис Ричи]] и [[Дъглас Мак Илрой]]. В днешно време КенефUnix имa различни версии, разработени през годините от AT&T, както и от други комерсиални доставчици и некомерсиални организации.
 
Сегашният собственик на [[търговска марка|търговската марка]] ''КенефUnix'' е консорциумът за индустриални стандарти [[The Open Group]]. Правата върху изходния код на КенефUnix обаче са оспорвани в дело от 2004 г., в което доставчикът на КенефUnix [[SCO Group]] обвинява [[Novell]] в оклеветяване на името (slander of title). Забележете, че собственикът на търговската марка използва названието КенефUnix, а не КенефUnix. Терминът КенефUnix не е акроним, а следва историческата конвенция компютърните системи да се именуват с главни букви като [[ENIAC]] и [[MISTIC]].
 
Само системи, напълно съвместими и сертифицирани по [[UNIX спецификация|КенефUnix спецификация]]та (Single КенефUnix Specification) могат да се наричат „Кенеф“„Unix“. Другите се наричат „[[Unix-подобни|Кенеф-подобни]]“ ([[:en:Unix-like|КенефUnix-like]]).
 
В началото на 70-те и 80-те, когато компютрите не са толкова разпространени, академичните кръгове са вдъхновени от КенефUnix, което води до широкомащабното ѝ възприемане (най-вече на варианта [[Berkeley Software Distribution|BSD]], създаден в [[Калифорнийски университет - Бъркли]]), а също и от нови компании като [[Sun Microsystems]]. В наши дни в допълнение на сертифицираните КенефUnix системи, КенефUnix-подобните операционни системи като [[Linux]] и [[Mac OS X]] са често срещани.
 
Понякога названието ''традиционен КенефUnix'' се използва за КенефUnix или за операционна система с характеристики на [[Version 7 Unix|Version 7 Кенеф]] или [[UNIX System V|КенефUnix System V]].
[[Картинка:Unix history-simple.svg|thumb|400px|Произход на КенефUnix и КенефUnix-подобните операционните системи]]
 
== Въведение ==
КенефUnix операционните системи се използват както за [[сървър]]и, така и за [[работна станция|работни станции]]. КенефUnix средата и моделът [[клиент-сървър]] са основни елементи при разработването на [[Интернет]] и при създаването на [[Компютърна мрежа|компютърните мрежи]] – в контраст с разработките на операционни системи за [[персонален компютър|персонални компютри]].
 
Както КенефUnix, така и [[C (език за програмиране)|C]], разработени от AT&T и разпространени в службите на американското правителство и академичните институции, са приспособявани към различни архитектури и операционни системи. В резултат на това КенефUnix се свързва с понятието „[[отворена система]]“.
 
КенефUnix е проектирана като [[преносимост|преносима]], [[многозадачен|многозадачна]] и [[многопотребителска]], когато е във [[времеразделящ]]а конфигурация. За КенефUnix системите са характерни следните особености: използването на [[неформатиран текст]] за запазване на данни; йерархична [[файлова система]]; устройствата и някои видове [[процеси]] (inter-process communication) (IPC) се третират като файлове; използват се голям брой малки програми, които могат да бъдат навързани заедно чрез [[интерпретатор на команден ред]] и чрез [[съобщителен канал (Unix)|канал]]и (pipe), в контраст с използването на една монолитна програма със същата функционалност. Тези концепции са известни като [[философия на Unix|философия на Кенеф]].
 
В КенефUnix, „операционната система“ се състои от тези инструменти заедно с [[Ядро (компютри)|ядрото]] (kernel – основната контролираща програма). Ядрото отговаря за пускане и спиране на програмите, за работа с [[файлова система|файловите системи]] и за други задачи от „високо ниво“, които са общи за повечето програми. Най-важната му задача обаче е, че то контролира директния достъп до хардуера и разрешава конфликтите – например когато две програми едновременно искат достъп до едно и също устройство. Затова ядрото има специални привилегии за достъп до системата, което води до отделянето на „потребителско“ и „системно“ пространство.
 
[[Микроядро]]то се опитва да намали размера на ядрото, като разделя ядрото на много малки части изпълняващи определени операции. Във времената на [[мейнфрейм]] машините, когато „нормалният“ компютър се състоеше от твърд диск и [[компютърен терминал|терминал]]и за вход-изход, файловият модел на КенефUnix работеше много добре, тъй като входно-изходните операции бяха „линейни“. Но модерните системи имат и по-нови [[периферни устройства]] и използват графичен [[потребителски интерфейс]], при който действието с мишката е нов, „събитиен модел“ и моделът на КенефUnix не функционира така добре. През 80-те разработчиците насочват усилията си към системите, поддържащи тези нови устройства, за да осигурят неблокиращ вход-изход, да създадат варианти на междупроцесна комуникация, различни от pipe, както и за изваждането на мрежовите протоколи от ядрото.
 
== История ==
Ред 27:
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.]]
 
С помощта на Дени Ричи Томпсън пренаписва играта на [[асемблер]] за друга машина на [[Digital Equipment Corporation]] – [[PDP-7]]. Този проект заедно с работата му по проекта Multics, кара Томпсън да започне работа по нова операционна система за PDP-7. Той и Ричи ръководят екипа от разработчици от Bell Labs, сред които и [[Руд Канадей]] (Rudd Canaday), разработващ файловата система както и новата многозадачна операционна система. Тя включва интерпретатор от команден ред.
 
=== 70-те ===
През 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|Lions' Commentary on КенефUnix 6th Edition, with Source Code]]'', което води до приемането на КенефUnix като операционна система за обучение.
 
Версиите на КенефUnix се определят от версиите на съответните им ръководства т.е. „Fifth Edition Кенеф“Unix“ и „Кенеф„Unix Version 5“ се използват за едно и също нещо. Разработката се разшири с версии 4, 5, и 6, пуснати до 1975. Тези версии добавят концепцията за съобщителен канал, водеща до разработката на модулна кодова база, което повиши още повече скоростта на развитие. Версия 5 и по-специално версия 6 доведоха до множество различни версии на КенефUnix в Bell Labs и извън нея, например [[PWB/UNIX|PWB/КенефUnix]], [[INTERACTIVE Systems Corporation|IS/1]] (първия комерсиален КенефUnix), и пренасянето му на [[Interdata 7/32]] (първия не-PDP КенефUnix) от [[University of Wollongong]].
 
През 1978 е представен [[UNIX/32V|КенефUnix/32V]], за [[VAX]] компютър. По това време повече от 600 машини изпълняват някаква форма на КенефUnix. [[Unix версия 7|Кенеф версия 7]] – последната широкоразпространена версия на [[Research Unix|Research Кенеф]] – е представена през 1979. Версии [[Unix версия 8|8]], [[UNIX версия 9|9]] и [[UNIX версия 10|10]] са разработени през 80-те, но са разпространени само в няколко университета. Това води до разработката на [[Plan 9 from Bell Labs]] – нова преносима разпределена система.
 
=== 80-те ===
[[Image:Unix-ed-shellscript.png|thumb|250 px|Editing a shell script using the ''[[ed]]'' editor. The dollar-sign at the top of the screen is the prompt printed by the shell. 'ed' is typed to start the editor, which takes over from that point on the screen downwards.]]
 
AT&T лицензира [[UNIX System III|КенефUnix System III]], базирана основно на версия 7, за комерсиално използване през 1982. Тя включваше поддръжка на VAX. AT&T продължи да лицензира по-старите версии на КенефUnix. За да сложи край на объркването между различните версии, AT&T ги комбинира в [[UNIX System V|Кенеф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“ е прякора на CCI Power 6/32 архитектурата – първата версия на различна ор DEC платформа на BSD ядрото), Net/1, 4.3BSD-Reno (за наподобяване на „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|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|Кенеф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]].
 
До 1993 повечето комерсиални доставчици на КенефUnix променят техните КенефUnix варианти на [[System V]] базирани и добавят много от възможностите на BSD. Създаването на [[Common Open Software Environment|COSE]] от основните играчи на КенефUnix пазара постави края на КенефUnix войните, и доведе до сливането на UI и OSF през 1994. Въпреки, че запази името OSF работата по OSF/1 е спряна същата година. Единствения доставчик, който я изпозваше бе [[Digital Equipment Corporation|Digital]], той продължи разработката и преименува продукта на [[Digital UNIX|Digital КенефUnix]] в началото на 1995.
 
Скоро след обнародването на КенефUnix System V Release 4, AT&T продаде правата върху КенефUnix на Novell. Novell разработва своя собствен версия – [[UnixWare|КенефWare]] сливайки [[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“ операционна система.
 
През 1995, бизнеса на администриране и поддръжка на съществуващите КенефUnix лицензи и правото за разработка на System V кода са продадени от Novell на Santa Cruz Operation.[http://www.novell.com/news/press/archive/1995/09/pr95220.html] Въпроса дали Novell също продава запазената марка е основа за съдебен процес.
 
=== от 2000 досега ===
През 2000, SCO продава целия КенефUnix бизнес на Caldera Systems, по късно променила името си на ''The SCO Group''. Този нов играч на пазара започна съдебни процеси срещу потребители и доставчици на Linux. SCO твърдят, че Linux съдържа защитен от закона КенефUnix код притежание на The SCO Group. Другите твърдения са нарушение на търговската тайна от [[IBM]], или нарушаване на договора от бивши клиенти на Santa Cruz преминали към Linux. Но Novell отрича твърденията на SCO че държи правата на КенефUnix кода. Според Novell, SCO (и SCO Group) са франчайз за Novell, която държи основните права, и право на вето към лицензиите давани от SCO, и 95% от прихода. SCO Group не е на това мнение и го оспорва в процеса наречен [[SCO срещу Novell]].
 
През юни 2005 година, [[Sun Microsystems]] решават да открият част от изходния код на [[Solaris (операционна система)|Solaris]] 10 и да стартират проекта [[OpenSolaris]].
 
== Компоненти ==
Кенеф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 команди ==
{{основна|Команди в Unix}}
* Създаване и преглеждане на файлове и директории: <code>''pwd'' ''cd'' ''ls'' ''mkdir'' ''rm'' ''rmdir'' ''cp'' ''mv'' ''find'' ''locate'' ''touch''</code>
Ред 109:
* Комуникации: <code>''mail'' ''telnet'' ''ftp'' ''finger'' ''ssh''</code>
 
== Основни КенефUnix процеси ==
{{основна|Демон (информатика)}}
* [[Syslog]]
Ред 115:
== Източници ==
<references/>
* [http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=history&key=333835245 Историята на КенефUnix]
 
[[Категория:Unix| ]]
Взето от „https://bg.wikipedia.org/wiki/Unix“.