Битва за стандарты
Битва за стандарты
Как следует из предшествующего изложения, со временем различия между клонами UNIX становились все более значительными. Во-первых, в основе существовавших её вариантов лежали разные базовые системы – SVR3, SVR4, 4BSD.
Во-вторых, каждый разработчик считал своим долгом либо адаптировать систему под возможности собственной аппаратной платформы, либо просто внести те или иные усовершенствования. А поскольку все существовавшие тогда системы, кроме BSD, были не только проприетарными, но и закрытыми, усовершенствования эти слабо согласовывались между собой. И, в любом случае, реализовывались различным образом.
Это ставило под угрозу один из краеугольных камней UNIX-идеологии – портируемость приложений. А традиции писать программы под абстрактный UNIX никто не отменял. И начался процесс, который, вслед за товарищем Мао, можно назвать «борьбой за упорядочивание трех стилей работы». Однако председателю КПК было попроще – в данном случае речь шла не о трех, а едва ли не о тридцати трех стилях...
Тем не менее, процесс упорядочивания пошел. Первый шаг в этом направлении резонно было бы сделать основоположнику UNIX. И AT&T создала документ, описывающий спецификации, которым должна соответствовать система, претендующая на звание UNIX – SVID (System V Interface Definition, то есть определение интерфейса System V). И даже разработала программу, которая проверяла претендента на соответствие этим спецификациям – System V Verification Suite.
Нетрудно было предположить, что в этих спецификациях нашли отражение только те особенности BSD, которые были инкорпорированы в каноническую System V. А ведь BSD была столь же полноводным источником, из которого черпали все производители UNIX. Их такое положение дел не очень устроило. И потому было создано несколько организаций, разрабатывающих свои версии стандартов для операционных систем, расширенные по сравнению со SVID.
Наибольшее признание из них получил стандарт POSIX – Portable Operation System Interface based on UNIX, разработанный международной организацией под названием IEEE (Institute of Electrical and Electronics Engineers, Inc.). То есть было принято, что любая операционная система, претендующая на звание UNIX (или UNIX-совместимой), должна соответствовать соглашениям, описанным в основополагающих документах стандарта. Как мы увидим со временем, именно этими документами воспользовался Линус Торвальдс при создании Linux.
Крёстным отцом термина POSIX стал Ричард Столлман. Произносится это слово как позикс – это специально подчеркивалось во Введении в POSIX.1:
Ожидается произношение «поз-икс» как «позитив», а не «по-сикс». Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционой системы.
Слово Portable в его названии первоначально означало, что соответствующая POSIX-спецификациям система может быть перенесена (возможно, с минимальными модификациями) на любое компьютерное «железо». Однако со временем не менее важным оказался несколько другой аспект этого термина: любая прикладная программа, написанная в соответствии со стандартами POSIX, теоретически может быть перенесена, то есть портирована, на любую ОС POSIX-совместимого семейства. И нужно отметить – это один из тех редких случаев, когда теоретические ожидания блестяще подтвердились практикой.
Стандарты POSIX были приняты в 1988 году и зафиксированы в виде серии регулярно обновляемых документов (общим числом под два десятка), в которых описываются спецификации отдельных компонентов систем:
• Base Definitions volume (XBD) – определение терминов, концепций и интерфейсов, общих для всех томов данного стандарта;
• System Interfaces volume (XSH) – интерфейсы системного уровня и их привязка к языку Си, где описываются обязательные интерфейсы между прикладными программами и операционной системой, в частности – спецификации системных вызовов;
• Shell and Utilities volume (XCU) – определение стандартных интерфейсов командного интерпретатора (т.н. POSIX-shell), а также базовой функциональности UNIX-утилит;
• Rationale (Informative) volume (XRAT) – дополнительная, в том числе историческая, информация о стандарте.
Стандарты POSIX жестко определяли базовую функциональность систем и приложений. Каковая, ради сохранения совместимости, и не должна изменяться. В то же время расширению функциональности они отнюдь не препятствовали. Так, любая из предусмотренных для POSIX-систем команда должна была иметь определенный набор опций, предназначенных для выполнения базового набора действий. Однако никто не препятствует введению для данной команды дополнительных возможностей, реализуемых через опции, стандартом не предусмотренные. Важно только, чтобы первозданная функциональность команды оставалась неприкосновенной.
Именно на стандарты POSIX в первую очередь и опирался Линус Торвальдс, создавая свою ОС по мотивам MINIX, о чём скоро и пойдёт речь.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Битва за рабочий стол
Битва за рабочий стол Первые залпы этой битвы прогремели 4 сентября 1995 года. Место сражения — форум в Париже, где всеобщее внимание привлекла речь Ларри Эллисона (Larry Ellison), главы фирмы Oracle. Он сказал: «По нашему мнению, в мире происходит переход от ориентации на рабочие
B.5 Стандарты RFC
B.5 Стандарты RFC В документе RFC периодически публикуется официальный список стандартов и их текущий статус. Этот список является самостоятельным стандартом (STD 1). Информация в таблицах от B.1 до B.5 была взята из RFC 1920, опубликованного в марте 1996 г. и отражающего статус и
17.1.2. Стандарты С
17.1.2. Стандарты С Разработка стандартов С была консервативным процессом, в котором серьезное внимание уделялось "сохранению духа" оригинального С, а акцент был сделан скорее на утверждении экспериментов в существующих компиляторах, чем на создании новых функций.
17.1.2. Стандарты С
17.1.2. Стандарты С Разработка стандартов С была консервативным процессом, в котором серьезное внимание уделялось "сохранению духа" оригинального С, а акцент был сделан скорее на утверждении экспериментов в существующих компиляторах, чем на создании новых функций.
17.2. Стандарты Unix
17.2. Стандарты Unix Тот факт, что в 1973 году Unix была переписана на С, беспрецедентно упростил переносимость и модификацию операционной системы. В результате исходная Unix вскоре разделилась на семейство операционных систем. Unix-стандарты первоначально разрабатывались в целях
STL и Стандарты
STL и Стандарты В книге я часто ссылаюсь на Стандарт С++, потому что основное внимание уделяется переносимой, стандартной версии С++. Теоретически все примеры, приведенные в книге, должны работать во всех реализациях С++. К сожалению, на практике это не так. Вследствие
Соглашения и стандарты.
Соглашения и стандарты. В настоящий момент к PGP относятся два зарегистрированных документа Интернет: RFC 1991 ("Формат обмена сообщениями PGP") и RFC 2015 ("Обеспечение безопасности MIME с помощью PGP", определяющий формат PGP/MIME).Введение новых алгоритмов и возможностей в PGP 5.x
Битва железных сервисов
Битва железных сервисов Идеальный компьютерный сервис в первую очередь должен отвечать ожиданиям клиентов и лишь во вторую - интересам компании. На самом деле, никакого противостояния между клиентами и сервисом нет, более того - у них одна и та же цель: проданный
Битва за автопром Сергей Голубицкий
Битва за автопром Сергей Голубицкий Опубликовано 14 января 2014 Сегодня в определённом смысле мы продолжим наши луддитские (как правильно заметили на форуме :-) ) провокации, бьющие по гордыне айти-индустрии. Мне лишь остаётся втайне надеяться, что
С покупкой WhatsApp битва на рынке мессенджеров только началась Андрей Васильков
С покупкой WhatsApp битва на рынке мессенджеров только началась Андрей Васильков Опубликовано 27 февраля 2014 Количество программ для обмена мгновенными сообщениями уже превышает семьдесят вариантов. Более двадцати из них ориентированы на мобильные
Кафедра Ваннаха: Битва поколений Ваннах Михаил
Кафедра Ваннаха: Битва поколений Ваннах Михаил Опубликовано 25 ноября 2011 года Высокие технологии в своём развитии проходят через этапы. Ну, когда-то хайтеком был уголь. Не древесный, поставляемый углежогами, а каменный. Источник
Стандарты Wi-Fi
Стандарты Wi-Fi Сегодня используются три стандарта беспроводных сетей: IEEE 802.11b, 802.11a и 802.11g. Современные ноутбуки чаще всего оснащаются поддержкой всех стандартов.802.11b – первый стандарт беспроводных сетей, поэтому он является самым медленным (скорость до 11 Мбит/с). Стандарты
Стандарты кодирования
Стандарты кодирования Недавно мы начали определять стандарты кодирования. Очень полезно - жаль не сделали этого раньше. Это не займёт много времени, начни с простого и постепенно дополняй. Записывай только то, что может быть понятно не всем, при этом, по возможности, не