Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Unix

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено зUNIX)

Статус версії сторінки

На цій сторінці показано неперевірені зміни

Девіз UNIX у формі номерного знака
Генеалогічне дерево Unix-систем

UNIX® (Ю́нікс) — це сімейство багатозадачних комп'ютернихопераційних систем, що підтримують одночасне використання багатьма користувачами. Воно походить від оригінального«AT&T Unix», розробленого впродовж1970-х років у дослідницькому центріBell LabsКеном Томпсоном,Деннісом Рітчі та іншими.

Спочатку Unix був призначений для використання вBell System. Але пізніше, наприкінці1970-х,AT&Tліцензувала його для сторонніх організацій. Це зумовило виникнення різноманітних академічних і комерційних варіантів Unix під різними торговими марками, такими якКаліфорнійський університет, Берклі (BSD),Microsoft (Xenix),Sun Microsystems (SunOS/Solaris),HP/HPE (HP-UX) таIBM (AIX). На початку 1990-хAT&T продала свої права на Unix компаніїNovell, яка 1995 року продала йогоSanta Cruz Operation (SCO). Торгова марка UNIX була переданаThe Open Group, нейтральному галузевому консорціуму, заснованому 1996 року. Він дозволяє використовувати торгову марку для сертифікованих операційних систем, що відповідаютьєдиній специфікації UNIX (Single UNIX Specification, SUS). ОднакNovell продовжує володіти авторськими правами на Unix, що було підтверджено судовою справоюSCO Group, Inc. проти Novell, Inc. (2010).

Для систем Unix характерниймодульний дизайн, який іноді називають«філософією Unix». Відповідно до цієї філософії, операційна система повинна забезпечувати набір простих інструментів, кожен з яких виконує обмежену, чітко визначену функцію. Уніфікованафайлова система (файлова система Unix) таміжпроцесорний механізм зв'язку, відомий як«конвеєр» («pipe»), створюють основу для комунікації, аінтерпретатор командкомандної оболонки дає змогу писати скрипти, що поєднує ці інструменти для виконання складних задач.

Unix відрізнявся від своїх попередників тим, що був першоюпортативною операційною системою. Майже вся операційна система написанамовою програмування C, що дозволяє їй працювати на різних платформах.

Історія

[ред. |ред. код]

Попередники

[ред. |ред. код]

У1957 році Bell Labs розпочала створення операційної системи для власних потреб. Під керівництвомВіктора Висоцького (росіянина за походженням) була створена системаBESYS. Після цього він керував проєктомMultics, а згодом став головою інформаційного підрозділу Bell Labs.

У1964 році з'явилися комп'ютери третього покоління, для яких можливості BESYS вже не підходили. Висоцький та його колеги вирішили не розробляти нову власну операційну систему, а приєднатися до спільного проєктуGeneral Electric таМассачусетського технологічного інститутуMULTICS. Вагому підтримку проєкту надав телекомунікаційний велетеньAT&T, але1969 року він вийшов з проєкту, оскільки останній не приносив жодних фінансових вигод.

Перші UNIX

[ред. |ред. код]
Кен Томпсон,Деніс Рітчі
Дуглас Макілрой,Деніс Рітчі

Першочергово UNIX був розроблений у кінці1960-х років співробітникамиBell Labs, у першу чергуКеном Томпсоном,Деннісом Рітчі таДугласом Макілроєм.

У1969 році Кен Томпсон, намагаючись реалізувати ідеї, покладені в основу MULTICS, але на скромнішомуапаратному забезпеченні (DECPDP-7), написав першу версію нової операційної системи, а Браян Керніган вигадав для неї назву —UNICS (UNIplexed Information and Computing System) — на противагуMULTICS (MULTIplexed Information and Computing Service). Пізніше ця назва скоротилась до UNIX. У1970 р. вийшла версія дляPDP-11, найуспішнішого сімейства мікрокомп'ютерів1970-тихСРСР воно було відоме як клон PDP —СМ ЕОМ).

У1973 р. вирішили переписатиядро системи щойно створеною мовоюСі. UNIX став першою операційною системою, майже повністю написаноюмовою програмування високого рівня, що суттєво спростилопортування системи на інші архітектури.15 жовтня на черговому симпозіуміACM була представлена четверта версія UNIX. Незабаром з'явилася UNIX Version 5, з1974 року розпочалося безплатне розповсюдження середуніверситетів і академічних закладів.

До1975 року вийшла UNIX Version 6, відома за широко розповсюдженими коментарямиДжона Лайонса (Lions' Commentary on UNIX 6th Edition, with Source Code,[1][Архівовано 9 грудня 2006 уWayback Machine.],[2][Архівовано 13 березня 2007 уWayback Machine.]). До1978 р. система використовувалася на понад 600 машинах, насамперед в університетах. Версія 7 було останньою єдиною версією UNIX. Саме у версії 7 з'явився близький до сучасногоінтерпретатор командного рядкаBourne shell.

Розкол

[ред. |ред. код]

Система Unix набула розповсюдження серед університетських спільнот для викладання курсу операційних систем. У цей момент керівники AT&T вирішили, що це погана ідея, те, що кожен студент у світі дізнається про їхній продукт, яким вони володіли. Отже, [./Https://en.wikipedia.org/wiki/Version_7_Unix версія 7] прийшла з ліцензією, яка говорить: не для використання в навчанні. Це спричинило появу розробкиMinix, що була сумісною з 7 версією UNIX, і в той же час мала відкритий код і ліцензію.[1]

Трохи раніше, у1977 р., лабораторіяБілла Джоя вуніверситеті Берклі створила власну версію UNIX, яка базувалась наUNIX Version 6. Ця версія отримала назвуBSD (англ.Berkeley Software Distribution)., яка була зрілою, стабільною робочою системою на початок 80х років. Хлопці, які її сформували,МакКазік[en] і інші намагалися продавати її комерційно. І що робить AT&T? Вони подали в суд наBSD, щоб заборонити комерціалізувати Unix. В результаті світ побачивFreeBSD.[1]

Після цього компаніяAT&T, якій належалиBell Labs, зрозуміла цінність UNIX і почала створення комерційної версії UNIX. Ця версія, яка надійшла у продаж1982 року, отримала назвуUNIX System III та базувалася на сьомій версії системи.

Поворотним моментом в історії UNIX стала реалізація у1980 р.стеку протоколів TCP/IP. До цього міжмашинна взаємодія в UNIX перебувала у зародковому стані — найбільш суттєвим способом зв'язку бувUUCP (засіб копіювання файлів з одної UNIX-системи у іншу, яке спочатку працювало черезтелефонні мережі за допомогоюмодемів).

Було запропоновано два інтерфейси програмування мережевих програм:Berkley sockets та інтерфейс транспортного рівняTLI (англ.Transport Layer Interface). Інтерфейс Berkley sockets був розроблений в університеті Берклі та використовував стек протоколівTCP/IP, розроблений у цьому ж університеті. TLI був створений AT&T згідно з визначенням транспортного рівнямоделі OSI та вперше з'явився у системі System V версії 3. Хоч ця версія містила TLI та потоки, першочергово у ній не було реалізації TCP/IP та інших мережевих протоколів, але подібні реалізації пропонувались сторонніми фірмами. Реалізація TCP/IP офіційно й остаточно була внесена у базову збірку System V версії 4. Це, як і інші міркування (здебільшого ринкові), спричинило остаточне розмежування між двома гілками UNIX —BSD (університету Берклі) таSystem V (комерційна версія від AT&T). Потім багато компаній ліцензували System V у AT&T і розробили власні комерційні різновиди UNIX, такі якAIX,HP-UX,IRIX,Solaris.

Вільні UNIX-подібні операційні системи

[ред. |ред. код]

У1983 роціРічард Столлмен оголосив про створення проєктуGNU — спроба створеннявільної UNIX-подібної операційної системи з нуля, без використання оригінальногопочаткового коду. Більша частина програмного забезпечення, розробленого в рамках цього проєкту — такого, якGNU toolchain,Glibc (стандартна бібліотека мовиСі) таCoreutils — відіграють ключову роль в інших вільних операційних системах. Однак, роботи з створення заміни дляядра UNIX, необхідного для повного виконання задач GNU, відбувались дуже повільно. На теперішній часGNU Hurd — спроба створити сучасне ядро на основімікроядерної архітектуриMach — все ще далека від завершення.

У1991 році, колиЛінус Торвальдс опублікував ядроLinux та залучив помічників, використання інструментів, розроблених у рамках проєктуGNU, було очевидним вибором. Об'єднавшись з ядром Linux, програмне забезпечення GNU стало основою для UNIX-подібної операційної системи, відомою якLinux.Дистрибутиви цієї системи (такі якRed Hat таDebian), які містять ядро, утиліти GNU та додаткове програмне забезпечення стали популярними як серед аматорів, так і серед фахівців.

У результаті врегулювання юридичної справи, відкритоюUNIX Systems Laboratories протиуніверситету Берклі таBerkeley Software Design Inc., було встановлено, що університет може розповсюджувати BSD UNIX, в тому числі безплатно. Після цього були відновлені експерименти, пов'язані зBSD-версією UNIX. Незабаром розробка BSD UNIX була продовжена у декількох напрямах одночасно, що призвело до появи проєктів, відомих якFreeBSD,NetBSD,OpenBSD таDragonFlyBSD.

На теперішній час Linux та представники сімейства BSD швидко відвойовують ринок у комерційних UNIX-систем та одночасно проникають як у персональні комп'ютери користувачів, так і на мобільні вмонтовані системи. Одним зі свідчень цього успіху є той факт, що коли фірмаApple шукала основу для своєї операційної системи, вона вибралаNEXTSTEP — операційну систему з вільно розповсюджуваним ядром, розроблену фірмоюNeXT та перейменованою уDarwin після придбання фірмою Apple. Ця система належить до сімейства BSD та базується на ядріMach. ЗастосуванняDarwin BSD UNIX уMac OS X робить його однією з найбільш розповсюджених версій UNIX.

Стандарти

[ред. |ред. код]

Доки панувало вузьке трактування ОС UNIX (тобто доки ОС UNIX не була комерційним продуктом), не було потреби в стандартизації засобів цієї ОС. Нечисленні висококваліфіковані користувачі ОС UNIX самі могли розібратися в особливостях і відмінностях версії системи, якою вони користуються, та обрати ту підмножину її засобів, яке забезпечувало платформонезалежність програми.

Однак, з виходом ОС UNIX на комерційний ринок, переходом до широкого трактування системи та суттєвим збільшенням числа користувачів різних її варіантів, стало необхідним ввести можливість виробництва побудованих на основі ОС UNIX операційних систем, які були б дійсно сумісними. Для цього необхідна стандартизація (інтерфейсів) засобів операційної системи на різних рівнях. Така робота триває вже близько 10 років, ще не завершена й навряд чи колись буде завершена у вигляді кінцевого набору стандартів де-юре. Однак, навіть отримані результати дають змогу виробникам забезпечити користувачів різних апаратних платформ операційними системами, достатньо зручними для користування і дають можливість розробляти мобільні прикладні системи, які здатні виконуватись на комп'ютерах, що мають операційні системи з аналогічними властивостями.

System V Interface Definition (SVID)

[ред. |ред. код]

Одним з найбільш ранніх стандартів де-факто ОС UNIX є виданийUNIX System Laboratories (USL) разом із виданням версії ОСUNIX System V Release 4 документ System V Interface Definition (SVID). Якщо згадати історію, то власником оригінальних вихідних текстів ОС UNIX була компанія AT&TBell Laboratories (саме працівники цієї компанії розробили на початку 1970-х найпопулярніший перший мобільний варіант ОС UNIX). У 1980-ті роки компанія AT&T створила компанію USL, до якої були передані права на вихідні тексти і торгову марку ОС UNIX. USL видала системи з System V R.4.0 до System V R.4.2, після чого в кінці 1993 р. була поглинена компанієюNovell, яка стала власником вихідних текстів ОС UNIX (під впливом суспільства торгова марка «UNIX» була передана до компанії X/Open).

Діяльність комітетів POSIX

[ред. |ред. код]
Докладніше:POSIX

Слід згадати, що поряд із версіями ОС UNIX, що розвивалися в компанії AT&T (потім в USL, далі в Novell), історично існував ще напрямок BSD (Berkeley Standard Distribution), який підтримувала невелика всесвітньо відома група з університету Берклі. Свого часу (наприкінці 1970-х) університет отримав від AT&T вихідні тексти 16-розрядної ОС UNIX, на базі якої була вироблена 32-розрядна система, яка спочатку використовувалася на комп'ютерах сімействаVAX, а потім була перенесена на багато інших апаратних платформ. В результаті, наборисистемних викликів UNIX AT&T і BSD вже помітно відрізнялися.

Хоча більшість комерційних реалізацій UNIX базувалось на System V, UNIX BSD завжди був популярним в університетах, і громадськість потребувала визначення деякого інтерфейсу, який би був по суті об'єднанням засобів AT&T та BSD. Ця робота була почата Асоціацією професійних програмістів Відкритих систем UniForum, а потім продовжена в спеціально створених робочих групахPOSIX (Portable Operating System Interface). В робочих групах POSIX розробляються багато відкритих систем, але найбільш відомим і авторитетним є ухваленийISO за клопотанням IEEE стандарт POSIX 1003.1, в якому визначені мінімальні необхідні засоби операційної системи.

Діяльність X/Open

[ред. |ред. код]

Міжнародна організація X/Open, яка виконує багато робіт, що пов'язані з пропагандою та аналізом використання відкритих систем, крім того, збирає і систематизує де-юре і де-факто стандарти, що мають промислове значення, вX/Open Common Application Environment (CAE). Специфікації інтерфейсів засобів, що входять в CAE, публікуються в багатотомному документіX/Open Portability Guide (XPG).

Стандарт ANSI C

[ред. |ред. код]
Докладніше:ANSI C

Дуже важливим у Світі UNIX є прийнятий спочатку ANSI, а потім і ISO міжнародний стандартмови програмування Сі. Річ у тому, що в цьому стандарті специфікована не тільки мова Сі, але й бібліотеки, необхідні в кожній стандартній реалізації. Оскільки з самої своєї появи мова Сі та відповідні системи програмування були пов'язані з ОС UNIX, — склад стандартних бібліотек значною мірою відповідає стандартному середовищу ОС UNIX.

Інші стандарти

[ред. |ред. код]

Існує інший різновид стандартів де-факто, які розповсюджуються на деякий клас апаратних архітектур. Прикладом такого стандарту може бути документ, прийнятий міжнародною організацієюSPARC International документSPARC Complience Definition, який містить машинно-залежні уточнення до машинно-незалежних специфікацій інтерфейсів. Аналогічний документ розроблявся організацією88/Open, яка пов'язана з RISC-процесорами фірми Motorola.

Серед інших індустріальних де-факто стандартів для сучасних варіантів ОС UNIX найважливіші фактичний стандарт віконної системи, який підтримуєX Consortium, у складі якого знаходиться лабораторіяМассачусетського технологічного інституту (MIT), який є розробникомсистеми X, а також специфікації інтерфейсів інструментального засобу розробки графічних інтерфейсів OSF/Motif, які були розроблені вOpen Software Foundation (OSF).

Крім того, слід зазначити, що в OSF було розроблено документOSF Application Environment Specification (AES), у якому містяться специфікації інтерфейсів ОС OSF/1, що є власною реалізацією OSF ОС UNIX на базі нової мікроядерної технології. AES є розширеннямSVID,POSIX 1003.1 таXPG.

Файлова система Unix

[ред. |ред. код]
Докладніше:Файли в Unix

Файлова структура Unix характеризується такими властивостями:

  • Чітка побудова;
  • Звернення до даних файлу без суперечностей;
  • Захист даних файлу;

Цей стандарт вимагає, щобопераційна система, яка працюватиме зСПФС узгодженою файловою системою, підтримуватиме ці базові риси надійності, які є в більшості файлових системUnix. Цей стандарт не намагається узгоджуватися з кожним можливим аспектом в усіх конкретних реалізаціях Unix-систем. Проте, багато аспектів цього стандарту базується на ідеях, що є в Unix та інших Unix-подібних системах.

Це — після уважного розгляду інших факторів, містить:

  • Традиційна та добре сприйнята практика в Unix-подібних системах;
  • Впровадження побудов інших файлових структур;
  • Застосовні стандарти;

Визначається дві незалежні категорії файлів:загальні (shareable) на противагуприватним (unshareable) тазмінні на противагупостійним.

Загальні дані
це ті, що можуть бути спільними для декількох головних машин;
Приватні дані
мають бути специфічними для кожного головного комп'ютера.

Наприклад, домашні каталоги користувачів — загальні дані, але файли контролю пристроїв — ні.

Постійні файли
двійкові, бібліотеки, документація та все інше, що має змінюватися тільки адміністратором системи;
Змінні
все, що може бути змінено без втручання адміністратора системи.

Для полегшення резервування, керування та спільного використання файлів в змішаних мережах з машин із різними архітектурами та операційними системами, бажано щоб було просто та легко розуміти зв'язки між каталогами (певні каталоги розглядаються як потенційні точки монтування) та типом даних, що вони містять.

Скрізь в цьому документі та в усіх добре спланованих файлових системах, знання цих базових принципів допоможе побудувати структуру та надасть їй додаткової логічності.

Різниця між загальними та приватними даними потребує деяких пояснень:

  • В мережевому середовищі (тобто коли є декілька головних машин в одному місці), є гарною практикою мати спільні дані для декількох головних машин, з метою збереження місця та полегшення завдань супроводу.
  • В мережевому середовищі, деякі файли містять дані, що стосуються винятково конкретної головної системи. Такі частини файлової системи не можуть бути узагальнені (без вживання певних заходів).
  • Попередні реалізації файлових систем Unix-типу, перемішують загальні та приватні дані в одній структурі, що ускладнює узагальнення великих частин файлової системи.

Особливість «загальності» може бути використана для спрощення підтримки, наприклад:

  • Розділ/usr (або його частини) монтується (тільки на читання) через мережу (використовуючиNFS).
  • Розділ/usr (або його частини) монтується з носія, що може тільки читатися.CD-ROM з однією копією, що розповсюджується між багатьма користувачами через пошту або іншими засобами, може бути змонтований як файлова система тільки на читання, що узагальнюється з іншими файловими системами узгодженими з СПФС яким-небудь типом «мережі».

Властивості «постійний» та «змінний» справляють на файлову систему вплив головним чином двома шляхами:

  • Оскільки/ містить як змінні, так і постійні дані, його доводиться монтувати на читання та запис.
  • Хоч зазвичай/usr містить як змінні, так і постійні дані, все ж буває потрібно монтувати його тільки для читання; тоді треба мати метод монтувати/usr тільки на читання. Це робиться через створення структури/var, що монтується на читання та запис (або як частина іншого розділу, що дозволяє читання та запис як /), перебираючи на себе значну частину функціональності/usr розділу.

Канонічні команди Unix

[ред. |ред. код]
Докладніше:Програми UNIX-подібних операційних систем

Нижче наведено список 60команд з розділу 1 першої версіїUNIX:

ar,as,b,bas,bcd,boot,cat,chdir,check,chmod,chown,cmp,cp,date,db,dbppt,dc,df,dsw,dtf,du,ed,find,for,form,hup,lbppt,ld,ln,ls,mail,mesg,mkdir,mkfs,mount,mv,nm,od,pr,rew,rkd,rkf,rkl,rm,rmdir,roff,sdate,sh,stat,strip,su,sum,tap,tm,tty,type,un,wc,who,write.

Див. також

[ред. |ред. код]

Примітки

[ред. |ред. код]
  1. абAndrew S. Tanenbaum: The Impact of MINIX(укр.), процитовано 8 травня 2024
Ця статтяне міститьпосилань на джерела. Ви можете допомогтиполіпшити цю статтю, додавши посилання нанадійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено.(грудень 2015)
386BSD • A/UX • IBM AIX • Android • BlackBerry 10 • BSD • Darwin • DragonFly BSD • Firefox OS • FreeBSD • GNU/Hurd • Linux • HP-UX • illumos • iOS • IRIX • LynxOS • Minix • NetBSD • Nexenta • NeXTSTEP • OpenBSD • OS X • OpenIndiana • Plan 9 • QNX • Research Unix • SCO OpenServer • Solaris • SunOS • Syllable • System V • Tru64 UNIX • tvOS • Ultrix • UnixWare • webOS • Xenix • xv6
Історія
ДоDarwin
Macintosh
Mac OS X,
OS X,
macOS
(історія[en])
Mac OS X
Server
iPhone,iPod
iPad
iPhone OS,
iOS
  • Похідні від Mac OS X: iPhone OS 3.2
    iOS 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
iPadOS
  • Похідні від iOS 13-15:13
  • 14
  • 15
  • 16
Apple TV
Apple TV
Software
  • Похідні від Mac OS X 10.4 Tiger:1
  • 2
  • 3
  • Похідні від iOS 4–8:4
  • 5
  • 6
  • 7
  • 8
tvOS
Apple Watch
watchOS
Вбудовані
bridgeOS
  • Похідні від watchOS:1
  • 2
HomePod
audioOS
Інші


Операційні системиЦе незавершена стаття проопераційні системи.
Ви можетедопомогти проєкту,виправивши або дописавши її.
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Unix&oldid=44833248
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp