Unix
Стиль этой статьинеэнциклопедичен или нарушает нормы литературного русского языка. |
Unix | |
---|---|
![]() | |
![]() | |
Разработчик | Bell Labs,Кен Томпсон,Деннис РитчииБрайан Керниган |
Первый выпуск | 1969 |
Предыдущая | Multics |
Следующая | Plan 9 |
Веб-сайт | opengroup.org/unix |
![]() |
Unix(МФА:[ˈjuːnɪks][1][2] ) — семействопереносимых,многозадачныхимногопользовательскихоперационных систем,которые основаны на идеях оригинального проектаAT&TUnix, разработанного в 1970-х годах в исследовательском центреBell LabsКеном ТомпсономиДеннисом Ритчи.
Операционные системы семейства Unix характеризуются модульным дизайном, в котором каждая задача выполняется отдельнойутилитой,взаимодействие осуществляется через единую файловую системуFHS,а дляработы с утилитамииспользуетсякомандная оболочка.
Идеи, заложенные в основу Unix, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время Unix-системы признаны одними из самых исторически важных операционных систем.
Первая система Unix была разработана в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных Unix-систем. Юридически называться «UNIX» имеют право лишь те операционные системы, которые прошли сертификацию на соответствие стандартуSingle UNIX Specification[3].Остальные же, хотя и используют сходные концепции и технологии, называютсяUnix-подобными операционными системами(англ.Unix-like).
Особенности
[править|править код]Основное отличие Unix-подобных систем от других операционных систем заключается в том, что это изначально многопользовательские многозадачные системы. В Unix может одновременно работать сразу много людей, каждый за своимтерминалом,при этом каждый из них может выполнять множество различных вычислительных процессов, которые будут использовать ресурсы именно этого компьютера.
Вторая колоссальная заслуга Unix — в её мультиплатформенности. Ядро системы разработано таким образом, что его легко можно приспособить практически под любой микропроцессор.
Unix имеет и другие характерные особенности:
- использование простыхтекстовых файловдля настройки и управления системой;
- широкое применение утилит, запускаемых изкомандной строки;
- взаимодействие с пользователем посредством виртуального устройства — терминала;
- представление физических и виртуальных устройств и некоторых средств межпроцессного взаимодействия в видефайлов;
- использованиеконвейеровиз нескольких программ, каждая из которых выполняет одну задачу.
Применение
[править|править код]Начиная с 1980-х годов Unix-системы распространены в основном средисерверов.С 2010-х годов широкое распространение получили системы на базе ядра Unix-подобных систем как встроенные системы для различного оборудования, включаясмартфоны.Также Unix-системы доминируют насуперкомпьютерах,в частности, на 100 % суперкомпьютеров из рейтингаTOP500установлен Linux.
Среди систем длярабочих станцийи домашнего применения Unix и Unix-подобные операционные системы занимают послеMicrosoft Windowsвторое (macOS), третье (Linux)[4]и многие последующие места по популярности.
История
[править|править код]Предшественники
[править|править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Unix-history.svg/220px-Unix-history.svg.png)
В1957 годув Bell Labs была начата работа по созданию операционной системы для внутренних нужд. Под руководствомВиктора Высотскогобыла создана системаBESYS.Впоследствии он возглавил проектMultics,а затем стал главой информационного подразделения Bell Labs.
В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Высотский и его коллеги приняли решение не разрабатывать новую собственную операционную систему, а подключиться к Multics — совместному проектуGeneral ElectricиMIT.Телекоммуникационный гигант AT&T, в состав которого входила Bell Labs, оказал проекту существенную поддержку, но в 1969 году вышел из него, поскольку проект не приносил финансовых выгод.
Первые Unix-системы
[править|править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Ken_Thompson_and_Dennis_Ritchie--1973.jpg/220px-Ken_Thompson_and_Dennis_Ritchie--1973.jpg)
Первоначально Unix была разработана для миникомпьютеровPDP-7на основе идей Multics в конце 1960-х годов сотрудниками Bell Labs, основной вклад внёсКен Томпсонпри значительном участииДенниса РитчииДугласа Макилроя.Поскольку система была однозадачной[5]в 1970 году системе дано названиеUnics —Uniplexed Information and Computing Service[6]в противовес многозадачнойMultics —Multiplexed Information and Computer Services[7].Окончательный вариант написания — «Unix» относят кБрайану Кернигану[8][9].
Первая версия получила название «первая редакция» (Edition 1) и была первой официальной версией; начиная с неё системное время все реализации Unixотсчитываютс1 января1970 года.Первые версии Unix были написаны наассемблереи не имели встроенногокомпиляторасязыком высокого уровня.Примерно в 1969 году Кен Томпсон при содействии Денниса Ритчи разработал и реализовал языкБи,представлявший собой упрощённый (для реализации на мини-компьютерах) вариант разработанного в 1966 году языкаBCPL.Би, как и BCPL, былинтерпретируемымязыком. В 1972 году была выпущена вторая редакция Unix, переписанная на языке Би. В 1969—1973 годы на основе Би был разработан компилируемый язык, получивший названиеСи.
В 1973 году вышла третья редакция Unix со встроенным компилятором языка Си. 15 октября того же года появилась четвёртая редакция, с переписанным на Сисистемным ядром(в духе системы Multics, также написанной на языке высокого уровняПЛ/1), а в 1975 году — пятая редакция, полностью переписанная на Си.
С 1974 года Unix стал распространяться среди университетов и академических учреждений. С 1975 года началось появление новых версий, разработанных за пределами Bell Labs, и рост популярности системы. В том же 1975 году Bell Labs выпустилашестую редакцию,известную по широко разошедшимсякомментариям Джона Лайонса.
К 1978 году система была установлена более чем на 600 машинах, прежде всего, в университетах[10].Седьмая редакциябыла последней единой версией Unix. Именно в ней появился близкий к современному интерпретаторкомандной строкиBourne shell.
Раскол
[править|править код]В начале 1980-х годов компания AT&T, которой принадлежала Bell Labs, осознала ценность Unix и начала созданиекоммерческойверсии операционной системы. Эта версия, поступившая в продажу в 1982 году, носила название UNIX System III и была основана на седьмой версии системы.
Однако компания не могла напрямую начать развитие Unix как коммерческого продукта из-за запрета, наложенного правительством США в 1956 году.Министерство юстициивынудило AT&T подписать соглашение,запрещавшеекомпании заниматься деятельностью, не связанной с телефонными и телеграфными сетями и оборудованием. Для того, чтобы всё-таки иметь возможность перевести Unix в ранг коммерческих продуктов, компания передала исходный код операционной системы некоторым высшим учебным заведениям, лицензировав код под очень либеральными условиями. В декабре 1973 года одним из первых исходные коды получилуниверситет Беркли[11].
С 1978 года начинает свою историюBSD Unix,созданный в университете Беркли. Его первая версия была основана на шестой редакции. В 1979 году выпущена новая версия, названная 3BSD, основанная на седьмой редакции. BSD поддерживал такие полезные свойства, каквиртуальную памятьи замещение страниц по требованию. Автором BSD былБилл Джой.
Важной причиной раскола 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,CLIX,HP-UX,IRIX,Solaris.
В середине 1983 года была выпущена версия BSD 4.2, поддерживающая работу в сетяхEthernetиArpanet.Система стала весьма популярной. Между 1983 и 1990 годом в BSD было добавлено много новых возможностей, таких какотладчикядра, сетевая файловая системаNFS,виртуальная файловая системаVFS,и существенно улучшены возможности работы с файловыми сетями.
Тем временем AT&T выпускала новые версии своей системы, названной System V. В 1983 была выпущена версия 1 (SVR1 — System V Release 1), включавшая полноэкранный текстовый редакторvi,библиотекуcurses,буферизацию ввода-вывода,кешированиеinode.Версия 2 (SVR2), выпущенная в 1984 году, реализовывала монопольный доступ к файлам (file locking), доступ к страницам по требованию (demand paging),копирование при записи(copy-on-write). Версия 3 вышла в 1987 году и включала, среди прочего, TLI, а также систему поддержки удалённых файловых системRFS.Версия 4 (SVR4), разработанная в сотрудничестве с фирмойSunи вышедшая 18 октября 1988 года, поддерживала многие возможности BSD, в частности TCP/IP,сокеты,новый командный интерпретаторcsh.Кроме того, там было много других добавлений, таких каксимволические ссылки,командный интерпретаторksh,сетевая файловая система NFS (заимствованная уSunOS) и т. д.
Современные реализации Unix, как правило, не являются системами V или BSD в чистом виде. Они реализуют возможности как System V, так и BSD.
Свободные Unix-подобные операционные системы
[править|править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/KDE_4.png/220px-KDE_4.png)
В 1983 годуРичард Столлманобъявил о создании проектаGNU— попытки созданиясвободнойUnix-подобной операционной системы с нуля, без использования оригинальногоисходного кода.Большая часть программного обеспечения, разработанного в рамках данного проекта, — такого какGNU toolchain,Glibc(стандартная библиотека языкаСи) иCoreutils— играет ключевую роль в других свободных операционных системах. Однако работы по созданию замены дляядраUnix, необходимые для полного выполнения задач GNU, продвигались крайне медленно. В настоящее времяGNU Hurd— попытка создать современное ядро на основемикроядернойархитектурыMach— всё ещё далека от завершения.
В 1991 году, когдаЛинус Торвальдсопубликовал ядроLinuxи привлёк помощников, использование инструментов, разработанных в рамках проекта GNU, было очевидным выбором. Операционная система GNU и ядро Linux вместе составляют ОС, известную какGNU/Linux.Дистрибутивыэтой системы (такие какRed HatиDebian), включающие ядро, утилиты GNU и дополнительное программное обеспечение стали популярными как среди любителей, так и среди представителейбизнеса.
В начале 1992 года вышел дистрибутив386/BSD,основанный на дистрибутиве Networking Release 2.UNIX Systems Laboratoriesподала иск против BSDI, а затем противуниверситета Беркли,допустившего распространение файлов Unix в исходных и двоичных форматах фактически за бесценок, что подрывало бизнес самой USL.
Весь 1992 год никаких значительных успехов в судебной тяжбе для USL не принёс, зато появился встречный иск от Калифорнийского университета. К началу 1993 года дистрибутив 386/BSD поменял своё название наNetBSD.В декабре 1993 года появился другой дистрибутив —FreeBSD,нацеленный на простых пользователей. После приобретения USL компаниейNovellк лету 1993 года начались переговоры по урегулированию статуса кодов BSD. К январю 1994CSRGи Novell договорились удалить три файла из 18000 Networking Release 2, часть файлов должна быть подвергнута правке, а к примерно 70 файлам университет должен был добавить информацию о копирайте USL.
В июне 1994 года вышел «чистый» выпуск 4.4BSD-Lite. Вот с этого момента группы BSDI, NetBSD и FreeBSD должны были повторно синхронизировать свои версии систем с «чистой» системой 4.4BSD-Lite. Таким образом, все наработки, сделанные за три года с момента подачи иска USL, пришлось пересматривать на предмет нарушения авторских прав и использования стороннего кода. Переписывать важные составляющие ядра и операционного окружения. Значительно позднее выделились в самостоятельные проектыOpenBSD,TrustedBSDиDragonFlyBSD.
В 1997 году фирма Apple Computer Inc. в качестве основы для своей новой операционной системы выбралаNEXTSTEP— операционную систему со свободно распространяемым ядром, разработанную фирмойNeXT.
В 2000 году Apple Computer Inc. выпустила открытуюPOSIX-совместимую операционную системуDarwin.Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP, FreeBSD и прочих свободных проектов. Darwin представляет собой набор основных компонентов, используемых вMac OS XиApple iOS.Он совместим с третьей версией спецификации единой UNIX (Single UNIX Specification— SUSv3) и POSIX-приложениями и утилитами.
14 июня 2005 года был открыт исходный код операционной системыSolaris.Этот проект, как и созданная на его основе операционная система, получили названиеOpenSolaris.17 июня, через три дня после открытия кода, был создан дистрибутивSchilliX.В мае 2008 появился первый официальный дистрибутив OpenSolaris 2008.05. Существует более десяти дистрибутивов на основе OpenSolaris, наиболее известные из них —BeleniXиNexenta OS.
В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих Unix-систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы.
Проприетарные системы
[править|править код]После разделения компании AT&Tтоварный знакUnix и права на оригинальныйисходный коднеоднократно меняли владельцев, в частности, они длительное время принадлежали компанииNovell.
В 1993 году Novell передала права на товарный знак и на сертификацию программного обеспечения на соответствие этому знаку консорциумуX/Open,который затем объединился с Open Software Foundation, образовав консорциумThe Open Group.Он объединяет ведущие компьютерные корпорации и государственные организации, в том числеIBM,Hewlett-Packard,Sun,NASAи многие другие. Консорциум занимается разработкой открытых стандартов в области операционных систем, самым важным из которых являетсяSingle UNIX Specification,ранее известный какPOSIX.С точки зрения The Open Group, название UNIX могут носить только системы, прошедшие сертификацию на соответствие Single UNIX Specification.
В 1995 году Novell продала права на существующие лицензии и дальнейшую разработку System V компанииSanta Cruz Operation[англ.].В 2000 году Santa Cruz Operation продала свой Unix-бизнес компанииCaldera,которая затем была переименована вSCO Group.Хотя это название похоже на аббревиатуру SCO, используемую Santa Cruz Operation, это две разные компании.
SCO Group заявила, что она также обладает правами на исходный код Unix и развернула кампанию против различных пользователей и поставщиков Unix-подобных систем, требуя выплаты лицензионных отчислений. Однако Novell утверждает, что права на исходный код не были переданы Santa Cruz Operation и, таким образом, не перешли к SCO Group, а остаются у Novell, что и подтвердил вердикт суда. Несмотря на это в августе 2009 годаапелляционный суд десятого округа СШАотменил вынесенное ранее решение, назначив дополнительное расследование с целью установления законного владельца авторских прав на исходные тексты операционной системы[12].В июне 2010 года суд поставил точку в этом вопросе, подтвердив вынесенный в апреле 2010 вердикт в пользу Novell и отказав SCO Group в рассмотрении дальнейших жалоб[13].
Влияние Unix на эволюцию операционных систем
[править|править код]Unix-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС ипрограммного обеспечения.Также, в ходе разработки Unix-систем был создан языкСи.
Как иMultics,Unix была написана на языке высокого уровня, а не наассемблере(доминировавшем в то время).
Она содержала значительно упрощённую, по сравнению с предшествующими ей операционными системами,файловуюмодель.Файловая системавключала как службы, так и устройства (такие какпринтеры,терминалыижёсткие диски) и предоставляла внешне единообразныйинтерфейск ним, но дополнительные механизмы работы с устройствами (такие какIOCTLи биты доступа) не вписывались в простую модель «поток байтов».
Unix популяризовала предложенную в Multics идею иерархической файловой системы с произвольной глубиной вложенности. Другие операционные системы (в том числе DOS) того времени позволяли разбивать дисковое пространство на каталоги или разделы, но число уровней вложенности было фиксировано и, зачастую, уровень вложенности был только один. Позднее все основные фирменные операционные системы[уточнить]обрели возможность создания рекурсивных подкаталогов, также заимствованную из Multics.
Язык командной оболочки Unix используется пользователем как для интерактивной работы, так и для написанияскриптов,то есть не существует отдельного языка описания заданий, как, например, в системеJCLфирмы IBM. Так как оболочка и команды операционной системы являются обычными программами, пользователь может выбирать их в соответствии со своими предпочтениями, или даже написать собственную оболочку. Наконец, новые команды можно добавлять к системе без перекомпиляцииядра.Новый, предложенный в командной строке Unix, способ создания цепочек программ, последовательно обрабатывающих данные, способствовал использованию параллельной обработки данных.
Существенными особенностями Unix были полная ориентация на текстовыйввод-выводи предположение, что размермашинного словакратен восьми битам. Первоначально в Unix не было даже редакторов двоичных файлов — система полностью конфигурировалась с помощью текстовых команд. Наибольшей и наименьшей единицей ввода-вывода служил текстовыйбайт,что полностью отличало ввод-вывод Unix от ввода-вывода других операционных систем, ориентированного на работу с записями. Ориентация на использование текста для представления всего, что только можно, сделала полезными так называемыеконвейеры(англ.pipelines). Ориентация на текстовый восьмибитный байт сделала Unix болеемасштабируемойи переносимой, чем другие операционные системы. Со временем текстовые приложения одержали победу[уточнить]и в других областях, например, на уровнесетевых протоколов,таких какTelnet,FTP,SMTP,HTTPи других.
Unix способствовала широкому распространениюрегулярных выражений,которые были впервые реализованы в текстовом редактореedдля Unix. Возможности, предоставляемые Unix-программам, стали основой стандартных интерфейсов операционных систем (POSIX).
Широко используемый в системном программировании языкСи,созданный изначально для разработки Unix, превзошёл Unix по популярности. Язык Си был первым «веротерпимым» языком, который не пытался навязать программисту тот или иной стиль программирования. Си был первым высокоуровневым языком, предоставляющим доступ ко всем возможностям процессора, таким какссылки,таблицы,битовые сдвиги,инкрементыи тому подобным. С другой стороны, свобода языка Си приводила к ошибкампереполнения буферав таких функциях стандартной библиотеки Си, какgetsиscanf.Результатом стали многие печально известные уязвимости, например, та, что эксплуатировалась в знаменитомчерве Морриса.
Первые разработчики Unix способствовали внедрению принципов модульного программирования иповторного использованияв инженерную практику.
Unix предоставлял возможность использования протоколовTCP/IPна сравнительно недорогих компьютерах, что привело к быстрому ростуИнтернета.Это, в свою очередь, способствовало быстрому обнаружению нескольких крупных уязвимостей в системе безопасности, архитектуре и системных утилитах Unix.
Со временем ведущие разработчики Unix разработали культурные нормы разработки программного обеспечения, которые стали столь же важны, как и сам Unix. (подробнее…)
Одними из самых известных примеров Unix-подобных систем являютсяmacOS[14],Solaris[15],BSD[16]иNeXTSTEP.
Архитектурные особенности
[править|править код]Особенности Unix, отличающие данное семейство от других систем:
- файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён и пути;
- нет поддержки структурированных файлов ядром, на уровне системных вызовов файл есть поток байтов;
- командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора команд (как это происходит, например, вRSX-11);
- для передачи контекста используютсяпеременные окружения;
- запуск процессов вызовомfork(),то есть возможность клонирования текущего процесса со всем состоянием;
- понятиястандартного ввода,стандартного выводаистандартного вывода ошибок;
- ввод-вывод только черездескрипторы файлов;
- интерпретатор командреализуется как обыкновенное приложение, общающееся с ядром обыкновенными системными вызовами (в RSX-11 иVMSинтерпретатор команд выполнялся как специальное приложение, специальным образом размещённое в памяти, пользующееся специальными системными вызовами, поддерживались также системные вызовы, дающие возможность приложению обращаться к своему родительскому интерпретатору команд);
- команда командной строки есть не более чем имя файла программы, не требуется специальная регистрация и специальная разработка программ как команд (что являлось обычной практикой в RSX-11,RT-11).
- не принят подход с программой, задающей пользователю вопросы о режимах своей работы, вместо этого используются параметры командной строки (в VMS, RSX-11, RT-11 программы работали также с командной строкой, но при её отсутствии выдавали запрос на ввод параметров);
- пространство имён устройств в каталоге /dev, поддающееся управлению администратором, в отличие от подхода Windows, где это пространство имён размещается в памяти ядра, и администрирование этого пространства (например, задание прав доступа) крайне затруднено из-за отсутствия его постоянного хранения (строится каждый раз при загрузке);
- широкое использование текстовых файлов для хранения настроек, в отличие от двоичной базы данных настроек, как, например, в Windows;
- широкое использование утилит обработки текста для выполнения повседневных задач под управлением сценариев;
- «раскрутка» системы после загрузки ядра путём исполнения сценариев стандартным интерпретатором команд;
- широкое использованиеименованных каналов (pipe);
- все процессы, кромеinit,равны между собой, не бывает «специальных процессов»;
- адресное пространство делится на глобальное для всех процессов ядро и на локальную для процесса части, нет «групповой» части адресного пространства, как в VMS и Windows NT, как и возможности загрузки туда кода и его исполнения там;
- использование двух уровней привилегий процессора (вместо, например, четырёх в VMS]);
- отказ от использованияоверлеевв пользу деления программы на несколько программ поменьше, общающихся через именованные каналы или временные файлы;
- отсутствиеAPCи аналогов, то есть произвольных (а не жёстко перечисленных в стандартном множестве) сигналов, не доставляемых до явного пожелания процесса их получить (Windows, VMS).
- концепциясигналауникальна для Unix, и крайне сложна в переносе на другие системы, такие как Windows.
Стандарты
[править|править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4/X-Window-System.png/220px-X-Window-System.png)
Большое количество разных вариантов системы Unix привело к необходимости стандартизовать её средства, чтобы упростить переносимость приложений и избавить пользователя от необходимости изучать особенности каждой разновидности Unix.
С этой целью ещё в 1980 году была создана пользовательская группа/usr/group.Первые стандарты были разработаны в 1984—1985 годы.
Одним из самых первых стандартов стала неофициальная спецификация System V Interface Definition (SVID), выпущенная UNIX System Laboratories (USL) одновременно с UNIX System V Release 4.
Наряду с версиями UNIXSystem Vсуществовало направление UnixBSD.Для того, чтобы обеспечить совместимость System V и BSD, были созданы рабочие группыPOSIX(англ.portable operating system interface for Unix). Существует много стандартов POSIX, однако наиболее известным является стандарт POSIX 1003.1-1988, определяющийпрограммный интерфейс приложений(API, Application Programming Interface). Он используется не только в Unix, но и в других операционных системах. (подробнее…) В 1990 году он был принят институтомIEEEкак стандарт IEEE 1003.1-1990, а позднее — ISO/IEC 9945.
В настоящее время[уточнить]наиболее важными являются следующие стандарты (подробнее…):
- POSIX 1003.2-1992, определяющий поведение утилит, в том числе командного интерпретатора;
- POSIX 1003.1b-1993, дополняющий POSIX 1003.1-1988, — определяет поддержку систем реального времени;
- POSIX 1003.1c-1995, дополняющий POSIX 1003.1-1988, — определяет потоки (threads), известные также как pthreads.
Все стандарты POSIX объединены в документе IEEE 1003.
В начале 1990-х годовThe Open Groupпредложила другой, похожий на POSIX стандарт, —Common API Specification,или Spec 1170. Стандарт приобрёл бо́льшую популярность, чем POSIX, поскольку был доступен бесплатно, в то время как IEEE требовало немалую плату за доступ к своему стандарту.
В 1998 году были начаты работы по объединению данных стандартов. Благодаря этому в настоящее время данные стандарты почти идентичны. Совместный стандарт называется Single UNIX Specification Version 3 и доступен бесплатно в интернете[17].
Стандартные команды
[править|править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/06/Man-man.png/220px-Man-man.png)
Среди стандартных команд Unix[18]:
- создание и навигация по файлам и каталогам:touch,ls,mv,rm,cp,ln,pwd,cd,mkdir,rmdir,find,du;
- просмотр и редактирование файлов:nano,more,less,ed,ex,vi,emacs;
- обработка текста:echo,cat,grep,sort,uniq,sed,awk,tee,head,tail,cut,tr,split,printf;
- сравнение файлов:comm,cmp,diff,patch;
- утилиты командного интерпретатора:yes,test,xargs,expr;
- системное администрирование:chmod,chgrp,chown,ps,su,w,who,df,mount,umount;
- коммуникации:mail,telnet,ftp,finger,rsh,ssh.
- командные оболочки:sh,bash,csh,ksh,tcsh,zsh.
- работа с исходным кодом и объектным кодом:cc,gcc,ld,nm,yacc,bison,lex,flex,ar,ranlib,make;
- сжатие и архивация:compress,uncompress,gzip,gunzip,tar;
- работа с двоичными файлами:od,strings.
Команды из раздела 1 первой версии Unix:as,b,bcd,boot,chdir,check,date,dc,dsw,dtf,for,form,hup,mesg,mkfs,pr,rew,rkd,rkf,rkl,roff,stat,strip,sum,tap,tty,type,wc,write.
Примечания
[править|править код]- ↑«UNIX» является зарегистрированной торговой маркой организацииThe Open Group
- ↑Single UNIX Specification FAQ .www.opengroup.org. Дата обращения: 16 февраля 2016.Архивировано27 сентября 2011 года.
- ↑UNIX Certification -- The UNIX System -- The Brand .www.unix.org. Дата обращения: 16 февраля 2016.Архивировано9 марта 2016 года.
- ↑OS Statistics(англ.).www.w3schools.com. Дата обращения: 23 марта 2019.Архивировано17 сентября 2015 года.
- ↑ Ritchie, Dennis M.The Evolution of the Unix Time-sharing System(англ.)(PDF). Дата обращения: 14 февраля 2022.Архивировано3 апреля 2017 года.
- ↑«Униплексный информационный и вычислительный сервис»
- ↑«Мультиплексные информационные и вычислительные сервисы»
- ↑ Доля, АлексейInterview with Brian Kernighan(англ.).Linux Journal(29 июля 2003).Архивировано18 октября 2017 года.
- ↑An Interview with Peter G. Neumann(англ.)//;login:[англ.].—Vol. 42.—P. 38.Архивировано14 февраля 2022 года.
- ↑Special Feature: UNIX(англ.)// InfoWorld: журнал. — 1982. — 29 November. —P. 124.—ISSN0199-6649.
- ↑Вахалия Ю.UNIX изнутри. —СПб.:Питер, 2003. — С. 33.
- ↑Novell лишили авторских прав на Unix (25 августа 2009). Дата обращения: 10 июня 2010. Архивировано изоригинала12 июня 2013 года.
- ↑SCO окончательно проиграла в деле против Novell (14 июня 2010). Дата обращения: 14 июня 2010.Архивировано6 сентября 2011 года.
- ↑macOS(англ.).www.unixtutorial.org.Дата обращения: 8 апреля 2024.
- ↑Comparing Unix versions: AIX, HP-UX and Solaris | TechTarget(англ.).Data Center.Дата обращения: 8 апреля 2024.
- ↑Modern variants of UNIX .www.bsd.org.Дата обращения: 8 апреля 2024.
- ↑Single UNIX Specification Version 3 .The Open Group (1998). Дата обращения: 10 июня 2010.Архивировано22 августа 2011 года.
- ↑классифицированный список команд Unix-системАрхивная копияот 18 марта 2009 наWayback Machine
Литература
[править|править код]- Немет Э.,Снайдер Г.,Хейн Т.,Уэйли Б.Unix и Linux: руководство системного администратора, 4-е издание = Unix and Linux System Administration Handbook, 4ed. —М.:«Вильямс», 2011. — 1312 с. —ISBN 978-5-8459-1740-9.
- Робачевский А. М., Немнюгин С. А., Стесик О. Л.Операционная система UNIX. — 2-е изд. —СПб.:БХВ-Петербург, 2010. — 656 с. —ISBN 978-5-94157-538-1УДК 681.3.06 ББК 32.973.26-018.2.
- Шимонски Р.Освой самостоятельно Unix. 10 минут на урок= Sams Teach Yourself Unix in 10 Minutes. —М.:«Вильямс», 2006. — С. 272. —ISBN 0-672-32764-3.
- Реймонд Э. C.Искусство программирования для Unix= Art of Unix Programming. —М.:«Вильямс», 2005. — С.544.—ISBN 0-13-142901-9.
- Роббинс А.Unix. Справочник. Пер. с англ. 4-е издание. — «КУДИЦ-ПРЕСС», 2007. — С. 864. —ISBN 5-91136-031-4.
Ссылки
[править|править код]- Шепелев В.Ну и как тебя называть? Компьютерра (01.06.10). Дата обращения: 10 июня 2010.Архивировано22 ноября 2016 года.
- Стандарты UnixАрхивная копияот 2 февраля 2009 наWayback Machine
- Кузнецов С. Д.Операционная система Unix .Центр Информационных Технологий. — учебное пособие. Дата обращения: 24 июля 2011.Архивировано6 сентября 2011 года.
- UNIX timelineАрхивировано29 декабря 2010 года.(англ.)
- Unix and Linux ForumsАрхивная копияот 19 сентября 2019 наWayback Machine(англ.)