OS/2
A long time ago, in a galaxy far, far away...
События и явления, описанные в этой статье, были давно, и помнит о них разве что пара-другая олдфагов. Но Анонимус не забывает!
К вашему сведению!
В этой статье мы описываем само явление OS/2, а не составляем списки версий виндовса. Ваше мнение о том, как вы религиозно ожидаете смерти OS/2 ещё с тех пор, как вы заканчивали школу, здесь никому не интересно, поэтому все правки с упоминанием других операционных систем и ваши воспоминания о том, как несчастненькие бедняши страдали, а вы наслаждались новыми игрушками под SuperVGA, будут откачены, а их авторы — расстреляны на месте из реактивного говномета, for great justice!
OS/2 (полуось, ось, пополама, полумух) — операционная система, созданная IBM для писюков, на первом этапе совместно с Microsoft. В начале 90-х годов — предмет фапа фанатов, ничуть не меньшего, чем сейчас огрызки. Эпичнейший маркетинговый фейл IBM. Которое даже и не заметило, что где-то там у них была операционная система.
История маркетингового фейла
Жил да был Билл Гейтс. И купил он для IBM PC дисковую операционную систему QDOS за 50000 американских рублей. Далее называлась она уже MSDOS. Была та дось крива, тупа, убога, 16-битна и без графики. Отчего во второй половине 80-х г. мучились все неимоверно, а тут еще маки вылезли со своей грааааафикой, губииииин и прочими пищалками и перделками, на радость юзерам. Отчего стало Биллу, а еще больше ИБМу, горько и обидно, и задумали они сделать свою систему с блекджеком и шлюхами, то есть защищённым режимом процессора, поддержкой сети, встроенной СУБД и нормальной файловой системой (а не FATом образца 78 года, который на винтах в сотню бегамайт уже выглядит полнейшим и бесповоротным говном, что, впрочем, не мешает ему вовсю использоваться и спустя уже 35 лет) и прочим там. И сделали. Да вот только тоже тупую, кривую и убогую — Билли же поработал, nuff said. В результате возникшего срача Микрософт с Ибмом расплевались на веки вечные, Билли пошел доделывать свои форточки, а ИБМ — погрязла в переписывании кода, уходившего корнями во времена аж PDP и Bell Labs… но об этом позже.
Занятно, что незадолго до разрыва IBM и Microsoft последние разрабатывали свежую версию OS/2 под названием OS/2 NT. После того, как две компании побили горшки, Microsoft повыбрасывали из OS/2 NT все, что делало ее полуосью, и прикрутили взамен Windows API. Так, собственно, и появился первый Windows NT, как форк полуоси. Любопытно, что даже в современных виндах сохранилось кое-какое наследие полуоси, в частности, командный интерпретатор CMD.EXE берет начало именно оттуда. VDM, которая сохранялась во всех 32-битных версиях Windows NT (вплоть до Windows 7 32), тоже родом из полуоси.
Примерно к 93-95 году у полуоси ещё были шансы. Альтернативой на те времена ей были только форточки 3.x, с наивысшими достижениями: встроенной сетью для рабочих групп, кооперативной многозадачностью, и, главное, всё тем же самым DOSом внутри. Но то про винду, а вот и полуось была тоже не сахар: драйверов под железо нет, требования к железу (проц и память прежде всего) по тем временам просто чудовищные, родных программ — почти нет. Хотя даже Windows 3.1 могла работать с 2 мегабайтами (не гига-, а именно мегабайтами) и на 286 процессоре, и на ней даже можно было работать в Microsoft Word 6.0 и Excel 4.6, мало, кстати, с тех пор изменившихся.
В это время Микрософт тоже не спал: Apple же давит, конкуренты со всех сторон. В 95 году была выпущена Чикага, виндовз95, кодовое название «Мастдай», любившая сыпаться в самое неподходящее время, да при этом выносить в хлам заголовки FAT-разделов. Но всё-таки там была нормальная графика, унифицированная работа с устройствами (программерам на радость, особенно всяким гамерописателям, которым стало не надо из каждой игрушки лезть прямо рогами и копытами в видеокарты и прочее железо) и всё, что сейчас, через 20 лет, считается само собой разумеющимся. А то, что внутри дос, фат, хмс-память и прочее — так это юзеров не особо волновало: не каждые 15 минут падает, ну и ладно.
Параллельно развивалась и НТя, по тем временам 3.5. И развивалась столь же медленно, ввиду еще бо́льших требований к железу, и была она с еще бо́льшими заскоками. НТя пришла к нам уже с нормальной NTFS (файловой системой на основе DEC'овской Files-11), со внутренней структурой практически на 100% унаследованной из DEC'овской VAX/VMS (ведущий архитектор которой как раз в те годы перебежал к мелкомягким — и там работает до сих пор), плавной многозадачностью и т. д.
Говорить о том, что с выходом маздая 98 и нти 4.0 полуось слилась, по меньшей мере преждевременно, поскольку в 1999 году была выпущена версия 4.5, имевшая ряд существенных улучшений и включающая возможности, аналоги которых отсутствовали на тот момент в продуктах M$… да взять хотя бы систему прав доступа, она же «Запуск процессов с ограниченными правами» — вот она. Что, впрочем, не помещало юзерам мигрировать в красиво-завлекательное, хоть и в заметной части нарисованное на гнилой тряпке декораций, щасте от Микрософта. Так и пришел Полный Пиздец Программированию.
Достоинства и недостатки системы
А для своего времени эта штука была очень даже неплоха. Из основных плюсов:
- Отдельные сегменты ядра написаны на ассемблере с использованием практически всех возможностей процессора i386 (в отличие от других ОС для PC). В версии 3.x 1994 года код был уже преимущественно 32-разрядным, позже добавили поддержку MMX и т. п.
- Стабильная работа ядра системы и прикладного софта, даже при высоких нагрузках (именно поэтому часто использовалась на банкоматах, узлах Фидонета и др.)
- Хороший TCP/IP стек, к тому же BSD4.4-совместимый… это и есть BSD-стек, хоть и без ipfw.
- Поддержка программ DOS и Win 3.x (через драйверы VDM — патчи к ядру), и были даже DOS и Win 3.x программы, которые работали быстрее, чем под DOS'ом и вендой, особенно настольные СУБД (BTrieve, Paradox, DBase, FoxPro, MS Access — тысячи их). «Лучшая DOS, чем MS-DOS, и лучшая Windows, чем MS-Windows», так и было.
- Расово верный встроенный язык программирования Rexx, «our best dog», маскот его — каштановая собака породы колли: «Call me Rexx if you Like!», и любые библиотеки к нему. Rexx и поныне жив, хоть и старый он уже, и всё порывается рассказать кому-нибудь… но его никто не слышит.
- Быстрая Java-машина (по результатам некоторых тестов, самая быстрая x86-реализация на то время, 2001—2003 годы).
- Правило 34 с самого начала.
Недостатки:
- Отсутствие поддержки PnP, что в 1996-м году заставляло срать кирпичами быдлоюзеров, уже попривыкших к этой хуите в Форточках'95 и отвыкших от самостоятельного конфигурирования параметров устройств.
- Вялое сотрудничество IBM с производителями железа и софта, ставшее притчей во языцех. Но все программные продукты IBM имели версии для OS/2 до тех пор, пока IBM развивала систему. И до последнего дня поддержки системы IBM предоставляла драйверы для всех компьютеров собственного производства.
- Закрытые исходные коды аж до 2003 года. И всё лицензионное — начиная от компилятора C, написанного Lattice, и заканчивая растеризатором шрифтов от Adobe.
- Вышеупомянутый маркетинговый фэйл: ни тебе широких рекламных акций, ни презентаций красивых картинок, ничего похожего на эппловский истерический говнопеар.
- Крайне высокий порог вхождения. Вся технология была стократно огорожена от системных интеграстов и прочих обезьян. Доступ к СУБД DB2, например, с самого начала был через хранимые процедуры и Embedded SQL, например. «Не умеешь — проваливай».
Всё это сводилось к холивору фанатов полуоси и виндузятников. Еда была обширная и доставляющая. Смысл сводился к тому, что полуось работала стабильней, чем Windows 9x, но под винду софта и дров было больше.
Например:
— А в выне окошки кpасивее, ось — мастдай!
— А ось pаботает устойчивее, вынь — мастдай! — А под вынь софта больше, ось — мастдай! — А вынь одни мудаки юзают! — Сам мудак!! — Вот поэтому ось и кpуче!!!
Недосказанная история
Полуось была написана в Bell Labs и её авторы, Кен Томпсон и Деннис Ритчи, сами наивно полагали, что пишут ОС Unix. Эта хрень, рассчитанная на компьютеры PDP, была лицензирована мелкомягкими и переписана под Intel x86, и в середине 80-х годов продавалась под торговой маркой Xenix. Именно эти исходные коды и были вкладом в разработку новой ОС со стороны ЗАО Некрософт, тогда ещё банды хакеров, наряду с DOS и MSX Basic, и называться оно должно было CP/DOS: «Control Program & Disk Operating System».
Не только Гордон Летвин из Майкрософт, но и справочные руководства от IBM подтверждают вышесказанное: каждый процесс имеет доступ к потокам ввода-вывода stdin/stdout/stderr, файловые дескрипторы наследуются при форке нового процесса, когда процесс завершается, его родитель получает сигнал SIGCHILD, страничная память, встроенное управление кучей. И всё это — в 1986 году.
Rexx и другие плюшки были перенесены с мейнфреймов. Сетевые протоколы — из BSD. И очень даже хорошо работают с этим ядром до сих пор, хотя оно с тех пор пилено-перепилено, вот же что странно.
Но, впрочем, для гопоты и красноглазых этот «Последний из Могикан» так и останется «виндовсом на стероидах», а всё потому, что Пророк в своей книге «Just For Fun» так написал.
Жизнь после IBM`а
Даже в 2012 году полуось поддерживается по отдельным договорам и используется в некоторых банкоматах и POS-ах, ввиду гораздо большей устойчивости, чем Windows. Вы никогда не видели банкомат с BSOD-ом, или с радостно мигающей на экране надписью «неизвестная ошибка, ОК»? Ещё увидите, неоднократно, да и требования к железу по современным меркам у полуоси совершенно никакие.
На банкоматах Diebold уже не используется, (на Diebold 1064 iX используется до сих пор, сам настраивал!) так как не поддерживает epp4. Зато вовсю юзается на NCR-ах 5870.
Также существует хорошая, годная полуось под названием eComStation, где присутствуют и полезные вещи: VPN, Wi-Fi, драйверы для широких экранов, Flash и последняя Java-машина. Её продают, и даже кто-то покупает.
А ещё, совершенно безумная команда российских и буржуазных программистов пишет Open Source версию OS/2 с нуля. Называется сиё чудо osFree и базируется на микроядре L4 Fiasco, из-за чего уже появилось рабочее полулулзовое название «Проект Победа».
Есть и другая команда российских и украинских программистов, которая пишет Closed Source версию OS/2, но, естественно, не с нуля, а на основе пусть старых, но всё же исходников, доводя их до текущего уровня. Их жизнь «слегка» осложняется тем, что исходники одного только ядра представляют собой восемьдесят мегабайт ассемблерного кода, рассчитанного на выполнение на 286-х процессорах. Назывался этот проект «Чахлик невмирушщий», а теперь называется OS/4 Phoenix. Трекер находится по адресу tracker.os4.su, последние вести с полей — ru2.halfos.ru. Ныне R.I.P.
Описания функций API и руководство к ним из IBM OS/2 Toolkit были переведены на русский язык, в книге десятки сотен глав (во что, как обычно, никто не верит), но, к сожалению или к счастью, аффтар слишком увлёкся Лиспом и прочей функциональщиной, так что законченной версии мы никогда не увидим.
Кроме того, Полуось пользуется популярностью у даунгрейдеров, и некоторыми энтузиастами до сих пор допиливается/хакается (что частично компенсирует забитый на неё болт от производителей железа/софта). Так-то!
В 2017 году конторой Arca Noae по лицензии IBM было запилено продолжение OS/2 - ArcaOS 5.0. Возвращение короля, однако! Лицензия для персонального использования стоит всего-то $129, поэтому вряд ли будет интересна кому-то, кроме владельцев машин, до сих пор работающих на полуоси.
Алсо
Одним из неофициальных лозунгов сабжа было: «Размер имеет значение», так как OS/2 помещалась на дискету, имея при этом ядро, стек TCP/IP, текстовый таскменеджер и текстовый шелл — это было сделано для построения «роутера на одной дискете».
Вопреки представлениям некоторых, как бы им того ни хотелось, полуось не была гибридом. Программы DOS работали в ней через драйверы VDM, которые можно было не загружать, и ядро системы никоим образом не было завязано на наличие Доса с Виндовсом. Это был, как уже написано выше, слегка одичавший Unix, прошедший через «бутылочное горлышко эволюции», когда 4-х мегагерц было достаточно для запуска даже самых последних программ, а 64 килобайта считались Последним Пределом Вселенной.
Некоторые части ядра были написаны IBM-ом: механизм страничной памяти, таймеры и обработку прерываний делал внезапно Майк Коган (и он же проектировал API последних версий), драйверы и файловые системы — его друг Стив Мастрианни. Другие — мелкомягкими: переключение из 16-разрядного режима в 32-разрядный написал Гордон Летвин, файловая система HPFS — тоже его лап дело. Так чем же первоначальная MS OS/2 отличалась от первоначальной IBM OS/2? А ничем, поскольку вплоть до версии 1.2 оно разрабатывалось совместно.
А вот насчёт версии 2.0 мнения уже разошлись: IBM хотела дальше развивать кодовую базу пополамы версий 1.х, тогда как мелкомягкие хотели всё переписать заново и запилили проект под названием OS/2 NT (угадайте, что из него потом выросло), и выпустить его когда-нибудь потом как OS/2 3.0, и потому в разработке версии 2.0 участия практически не принимали. На что в Голубом Гиганте весьма обиделись, да тут ещё и свежевышедшая Винда 3.0 стала мозолить им глаза, так что между ними приключился развод и попилка шкафа.
Ссылки
- OS/2 в каталоге Дмоз: ссылки на сайты на 5 языках
- «Было это во времена BBS, 486-ых компов и первых пентиумов…»
- fido7.ru.os.cmp FAQ («А как выглядит байт» — «Перфокарту на просвет посмотри»)
- Автомобиль фирмы OS/2 — вопросы и ответы от Lleo (ещё того полуосника, кстати).
- CORE/2 — полуос теперь Made in Russia, а мнение остальных нам не важно.