Операционная система OS/2

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость новой

Детальная информация о работе

Выдержка из работы

Содержание

Введение

1. Операционная система OS/2

Предыстория

Эволюция 11OS/

32-ч разрядная IBM OS/2

OS/2 Warp

OS/2 для PowerPC

OS/2 WSeB

Эпоха eComStation

eComStation 2. 0

2. Архитектура OS/2

Многозадачность

Управление памятью

Устройства и файловая система

Средства взаимодействия

Другие свойства OS/2

Библиография

Введение

Основное понятия ОС. Операционная система — это компьютерная программа или комплекс программ, обеспечивающая среду для выполнения других программ и дающая этим программам доступ к возможностям процессора и периферийных устройств компьютера, таких как диски, дисплей и так далее. Операционная система очень удобна, но является абсолютно необходимой для работы с компьютером. На заре компьютерной эпохи техники загружали программы в память, используя ручные устройства ввода: кнопки и переключатели или перфоленты. Затем они вручную задавали стартовый адрес программы и указывали компьютеру, что надо перейти к нему и начать ее выполнение.

Однако современные пользователи компьютеров применяют более совершенные методы. Появилось такое понятие как файл, затем файловая система. Затем появилось понятие разделения времени, и, следовательно, понятия многозадачности и многопользовательности.

Назначение, функции и характеристики операционных систем.

Современные операционные системы выполняют три основные функции. Во-первых, они упрощают использование аппаратных средств компьютера, и делает работу с ним эффективной и удобной. Во-вторых, важным свойством операционных систем является унификация программного обеспечения. Раньше программы были машинно-зависимыми. То есть программа, написанная для одного компьютера, не могла работать на другом, пусть даже таком же компьютере, без корректировки. С появлением операционных систем, программистам больше не надо переписывать приложения для каждого нового компьютера, так как все машинно-зависимые части программы были перенесены в код операционных систем. В-третьих, операционная система должна быть организована так, чтобы она допускала эффективную разработку, тестирование и внедрение новых приложений и системных функций, причем это не должно мешать нормальному функционированию вычислительной системы. Рассмотрим функции операционных систем более подробно. Простой пользователь обычно не интересуется деталями устройства аппаратного обеспечения компьютера, а компьютер видится ему как набор полезных программ, причем для него не существенно, выполняется та или иная функция компьютера аппаратными или программными средствами. Отсюда возникает понятие о виртуальной вычислительной машине, обладающей некоторыми свойствами, реализуемыми совокупностью аппаратных и программных средств. Виртуальная вычислительная машина заметно отличается от реальной, и зачастую ее характеристики превосходят характеристики просто аппаратных средств. Появление термина «виртуальная машина» явилось очень важным шагом в развитии вычислительной техники.

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

Типичная современная операционная система предоставляет пользователям некоторых набор сервисов. Во-первых, это разработка программ. Содействуя программисту при разработке программ, операционная система предоставляет ему разнообразные инструменты и сервисы, например редакторы, компиляторы или отладчики. Обычно эти сервисы реализованы в виде программ, которые поддерживаются операционной системой, хотя и не входят в ее ядро.

Во-вторых, операционная система предоставляет возможность запуска программ. Для этого производится ряд действий, скрытых от пользователя: следует загрузить в основную память команды и данные, инициализировать устройства ввода-вывода и файлы, а также подготовить другие ресурсы. Операционная система выполняет всю эту рутинную работу вместо пользователя.

В-третьих, операционная система предоставляет доступ к устройствам ввода-вывода. Для управления работой каждого устройства ввода-вывода нужен свой особый набор команд или контрольных сигналов. Операционная система предоставляет пользователю единообразный интерфейс, который скрывает все эти детали, и обеспечивает программисту доступ к устройствам ввода-вывода с помощью простых команд чтения и записи.

Операционная система обеспечивает доступ к файлам. При работе с файлами под управлением операционной системы, пользователю не нужно глубокое понимание природы устройств ввода-вывода и знание структур данных, записанных в файлах. Многопользовательские операционные системы, кроме того, могут обеспечивать работу механизмов защиты при обращении к файлам нескольких программ.

При работе компьютерной системы могут происходить разнообразные сбои. К их числу относятся внутренние и внешние ошибки, возникшие в аппаратном обеспечении, например, ошибки памяти, отказ или сбой устройств. Возможны и различные программные ошибки, такие, как арифметическое переполнение, попытка обратиться к ячейке памяти, доступ к которой запрещен, или невозможность выполнения запроса программы. В каждом из этих случаев операционная система должна выполнить действия, минимизирующие влияние ошибки на работу приложения. Реакция операционной системы на ошибку может быть различной -- от простого сообщения об ошибке до аварийного останова программы, вызвавшей ее.

Современная операционная система должна иметь средства учета использования различных ресурсов и отображения параметров производительности. Эта информация крайне важна в любой системе, особенно в связи с необходимостью дальнейших улучшений и настройки вычислительной системы для повышения ее производительности. Операционные системы можно классифицировать по нескольким признакам. По назначению выделяют системы общего назначения и специализированные операционные системы. Последние используются в специализированной вычислительной технике, например, бытовой технике, автомобилях, спецвычислителях военного применения. По количеству одновременно работающих пользователей, операционные системы можно разделить на однопользовательские и многопользовательские. По количеству одновременно работающих программ операционные системы делят на однозадачные и многозадачные.

Операционные системы обладают рядом характеристик, позволяющих эффективно использовать ресурсы вычислительной системы.

— Переносимость. Новшества в аппаратном обеспечении возникают быстро и часто непредсказуемо. Например, RISC (Reduced Instructions Set Computer — компьютеры с сокращенным набором команд) — процессоры существенно отличаются от традиционных CISC (Complex Instruction Set Computer — компьютеры со сложным набором команд). Если операционная система написана на переносимом языке — это позволяет быстрее переходить от одной архитектуры компьютеров к другой, то есть использовать всю операционную систему целиком на машине с другим процессором или конфигурацией при минимальных изменениях исходного текста. Хотя операционные системы часто делят на «переносимые» и «непереносимые», строго говоря, переносимость в той или иной степени свойственна всем им. Вопрос не в том, можно ли перенести программу, поскольку, как правило, в конечном счете, это можно сделать, а в том, насколько сложно это сделать. Поэтому большинство современных операционных систем пишутся на языках высокого уровня, обладающих высокой переносимостью.

— Расширяемость и возможность исправлений. Код операционной системы должен быть написан так, чтобы его удобно было дополнять и модифицировать при изменении требований к системе, поскольку операционные системы обязательно изменяются с течением времени. В каждой операционной системе есть ошибки. Время от времени они обнаруживаются и исправляются. Необходимость регулярных изменений операционных систем накладывает определенные требования на их устройство. Очевидно, что эти системы должны иметь модульную конструкцию с четко определенным взаимодействием модулей. Система представляет собой набор отдельных компонентов, взаимодействующих друг с другом только посредством функциональных интерфейсов. Новые компоненты добавляются к исполнительной системе как новые модули, обращающиеся интерфейсам других компонентов. При этом очень важную роль играет хорошая и полная документированность. Изменения в операционные системы обычно вносятся постепенно, это может быть, например, добавление поддержки новых аппаратных устройств, таких как компакт-диски, способности работать с другим типом сети, поддержки новых программных технологий, таких как графические интерфейсы пользователя.

— Мультипроцессорная обработка. Необходимо, чтобы приложения могли использовать преимущества множества разновидностей компьютеров, известных в настоящее время. Например, компьютеры с несколькими процессорами появляются на рынке регулярно, но лишь немногие из существующих операционных систем могут в полной мере использовать их возможности. Современная операционная система должна позволять запуск одного и того же приложения, как на однопроцессорных, так и на многопроцессорных вычислительных машинах. В предельном случае несколько приложений выполнялось бы одновременно с максимальной скоростью, а приложения, требующие большого объема вычислений, могли бы повысить свою производительность, распределяя работу между несколькими процессорами

— Распределенные вычисления. В связи с тем, что в 80-е годы 20-го века персональные компьютеры стали более доступными, характер вычислении необратимо изменился. Там, где раньше одна большая вычислительная машина обслуживала все предприятие или организацию, теперь появились персональные компьютеры для рядовых служащих. Улучшенные возможности работы в сети позволили малым компьютерам связываться друг с другом, зачастую совместно используя аппаратные или вычислительные ресурсы в форме файл-серверов, серверов печати и серверов вычислений. Учитывая эти изменения, разработчики операционных систем встраивают функции поддержки сети непосредственно в систему, тем самым, обеспечивая приложениям возможность распределять работу между несколькими вычислительными системами.

— Надежность и устойчивость. Система должна защищать себя как от внутренних сбоев, так и от внешнего вторжения. Она должна всегда вести себя предсказуемо, и у приложений не должно быть возможности повредить операционную систему или нарушить ее функционирование.

— Совместимость. Несмотря на то, что новые версии операционной системы призваны расширять существующие технологии, ее пользовательский интерфейс, а также API (Application Programming Interface — интерфейс программирования приложений) должны быть совместимы с предыдущими версиями.

— Производительность. Система должна отвечать, всем требованиям, но при этом быть максимально быстрой и обеспечивать минимальное время отклика на каждой аппаратной платформе[1]

1. Операционная система OS/2

Предыстория

Наиболее важным моментом предыстории OS/2 следует считать появление IBM Personal Computer или просто IBM PC. Начало OS/2 было положено в 1985 году проектом ADOS. Первая версия OS/2 1.0 SE была анонсирована в апреле 1987 года вместе с компьютерами PS/2.

OS/2 создавалась для собственных нужд и ее никогда не предполагалось продвигать на рынок в малый, и в сверхмалый бизнес, осуществить поддержку которого «IBM» была просто не способна. OS/2 использовалась IBM в качестве основы для своих программных решений, таких как комментаторские системы олимпийских игр, программное обеспечение для банков, банкоматов (в т.ч. и в России). Корпорация IBM никогда не прикладывала усилий для популяризации OS/2. Несмотря на это, OS/2 в середине 90-х держала до 18% рынка операционных систем — это был фантастический результат в условиях тотальной «осады» со стороны Microsoft. Особой популярностью в качестве домашней ОС никогда не пользовалась, оставаясь в тени Windows.

OS/2 представляет собой самостоятельную линию развития операционных систем, отличаясь от Windows NT существенно меньшей требовательностью к ресурсам компьютера, а от Linux/Unix — принципиальной разницей в подходе к разработке и большей схожестью графического интерфейса пользователя с Windows.

Изображение 1 — Рабочее пространство пользователя OS/2 1. 0

OS/2 1.0 являлась радикальным рывком в сторону от DOS и имела множество особенностей и возможностей, которые DOS никогда не смогла бы иметь и которые были реализованы в других операционных системах намного позже.

· Вытесняющая многозадачность (preemptive multitasking).

· Многопоточность (multithreading).

· Средства взаимодействия между процессами (Inter Process Communication — IPC) такие как разделяемая память (shared memory), каналы (pipes), семафоры (semaphores) и очереди (queues).

· Поддержка виртуальной памяти (virtual memory, swapping) — теоретически до 1 Гб виртуальной памяти.

· Полностью защищенный режим работы.

· Динамическое подключение библиотек (dynamic linking, DLLs).

· Поддержка до 16 Мб оперативной памяти.

Эволюция OS/2

Изображение 2 — Эволюция OS/2

1984 год. Operating System/2 задумывается как совместный проект IBM и Microsoft для замены устаревшей DOS (Disk Operating System). Когда появился процессор 80 286, стало ясно, что версия DOS 3. x ему уже не соответствует. Поэтому OS/2 зарождалась как 16-разрядная система с командной строкой. Сотрудничество IBM с Microsoft сохранялось до выхода OS/2 1. 3, первая занималась ядром, используя свой опыт разработки операционных систем для мэйнфреймов, вторая в основном занималась интерфейсом.

1987 год. От момента анонса новой системы до дня, когда было обнародовано ее окончательное имя OS/2, прошло без малого три года — это произошло в апреле 1987 года.

Декабрь 1987. Появилась OS/2 1.0 (кодовое название CP/DOS). Эта версия не имела графической оболочки (работала только в текстовом режиме) и имела достаточные улучшения относительно DOS, например, там была расширена поддержка оперативной памяти. Выводить информацию на экран могла только одна программа, хотя другие программы могли выполняться в фоновом режиме.

Ноябрь 1988. OS/2 1.0 Extended Edition и OS/2 1.1 Standard Edition. Версия OS/2 1.1 SE (кодовое название Trimaran) обладает графической оболочкой Presentation Manager. Требования к оперативной памяти — минимум 3, а лучше 6 Мегабайт. Версия под названием OS/2 1. 10 Extended Edition (OS/2 1. 10 EE) появившаяся позднее и стоящая 795 долларов включала так же Database Manager и Communications Manager.

Изображение 3 — OS/2 1.1 с графическим интерфейсом

операционный память файловый поколение

Октябрь 1989. OS/2 1. 20 SE (Standard Edition) и EE (Extended Edition)(кодовое название Sloop). Впервые предложена улучшенная файловая система HPFS (High Performance File System). Появилось средство двойной загрузки Dual Boot, а в расширенной версии 1.2 — мощный язык REXX. Этот год является переломным моментом в истории OS/2 — альянс начинает разваливаться (в основном из-за «подковерных игр» менеджеров Microsoft). Microsoft, обеспокоенная завоеванием рынка операционных систем, берет на себя разработку следующей, полностью 32-х разрядной OS/2 3.0. IBM концентрируется на разработке OS/2 2.0. Разрабатываемая фирмой Microsoft OS/2 3. 0, даже не сохраняет своего названия и демонстрируется на выставке ComDex'91 под именем Windows NT — первая Windows с вытесняющей многозадачностью.

Изображение 4 — Единообразие интерфейса OS/2 1.2 & Win3. 0

1990 год. Сотрудничество IBM с Microsoft сохранялось до выхода OS/2 1. 3, первая занималась ядром, используя свой опыт разработки операционных систем для мэйнфреймов, вторая в основном занималась интерфейсом. Сложности в отношениях наметились примерно в 1990 году, когда начала приобретать популярность Windows 3.0. До этого Windows всерьез не рассматривали, считая эту систему еще одной оболочкой, каких в ту пору было немало. Однако, осознав перспективность «окон», в Microsoft бросили OS/2 и полностью сосредоточили внимание на Windows. Часть технологий мигрировала из OS/2 в Windows, корни Object Linking and Embedding, ActiveX и Component Object Model растут из Dynamic Data Exchange. Даже Windows NT и Windows 95 основываются на работе, сделанной для OS/2. Лишившись интерфейса от своего бывшего партнера, IBM была вынуждена разрабатывать его сама. По причине отсутствия достаточного опыта компания согласилась пойти на сотрудничество с компанией Commodore. В 32-разрядной OS/2 2.0 появилась собственная оболочка WorkPlace Shell (WPS), основанная на IBM System Object Model (SOM).

Декабрь 1990. OS/2 1.3 (кодовое название Cutter) — версия, работающая на процессоре 80 286 и последняя, выходящая в двух вариантах стандартной и расширенной редакции (Язык REXX присутствует уже в обеих редакциях). Из новшеств — поддержка масштабируемых шрифтов Adobe Type Manager. Эта версия также в ряду последних, продаваемых фирмой Microsoft. Все новые изменения внесены в подавляющем большинстве программистами IBM, система претерпела существенную переработку и ощутимо улучшилась ее производительность.

32-х разрядная IBM OS/2

Изображение 5 — Workplace Shell OS/2 2.0.

Апрель 1992. OS/2 2.0 (кодовое название Cruiser). Первая 32-х разрядная версия OS/2. Минимальные требования — процессор 80386SX, 4 Мб оперативной памяти. Поддержка SAA (System Application Architecture) — унифицированной архитектуры прикладных программ. OS/2 2.0 — первая версия, официально поддерживаемая не только на компьютерах IBM, но и на компьютерах других фирм. Она претерпела большие реконструкции после разрыва партнерских отношений с Microsoft по разработке. Появился удобный объектно-ориентированный интерфейс WorkPlaceShell («рабочий стол», рабочее место) базирующийся на архитектуре SOM (System Object Model), появилось гибкое средство загрузки Boot Manager, серьезно усовершенствована поддержка DOS и Windows приложений (Windows приложения запускаются с использованием Win-OS/2), а также 32-разрядный программный интерфейс. Появилась и возможность использования более 16Мб оперативной памяти. Отдельно выходят обновления для средств мультимедиа.

Инновации OS/2 2. 0:

· Новые возможности пользовательского интерфейса

· Графическая подсистема DIVE

1992 год основана компания BMT Micro, основная деятельность: разработка и распространение программных продуктов для OS/2.

1992−1993 годы. Рэймонд Гвинн разработал драйверы SIO.

Май 1993. OS/2 2.1 (кодовое название Borg). Добавлена поддержка приложений Windows 3.1 (до этого поддерживалась Windows 3. 0). В поставку включены средства мультимедиа и значительно обновлен список поддерживаемых аппаратных устройств. Требования к оперативной памяти — минимум 8 Мбайт.

1993 год. Основана голландская компания Mensys BV. Основная деятельность — поддержка разработчиков и помощь разработчикам в выведении своих продуктов для OS/2 на рынок. Ноябрь 1993. OS/2 for Windows (кодовое название Ferengi). Отсутствует Win-OS/2 — вместо нее используется уже ранее установленная пользователем Windows 3. 1, обновлены драйвера.

Февраль 1994. OS/2 2. 11. В основным исправлены различные ошибки. Также существует отдельным набором исправлений FixPack XR 6 200 для OS/2 2.1.

Июль 1994. OS/2 2. 11 SMP. В этой версии была добавлена поддержка многопроцессорных (до 16 процессоров) систем.

OS/2 Warp

Октябрь 1994. OS/2 Warp 3.0 (кодовое название Warp). Изменения коснулись лишь улучшения производительности системы, понижения требования к оперативной памяти до 4 Мбайт. Расширен спектр поддерживаемых аппаратных устройств. В GUI появился новый элемент — LaunchPad (Панель инструментов, «стартовая площадка») — эффективное и гибкое средство, отлично вписавшееся в объектно-ориентированную модель интерфейса. С OS/2 Warp 3.0 поставляется бесплатный пакет «BonusPak», включающий:

· средства ревизии аппаратного обеспечения,

· расширенные средства просмотра мультимедиа, обработки движущегося видео, полнофункциональную работу с факсом (при наличии факс-модема),

· достаточно мощный пакет офисных приложений (включая текстовый процессор, электронные таблицы, базу данных, построения графиков) и персонального органайзера,

· средство проведения конференций в сетях,

· доступ к сетям CompuServe и Internet.

Изображение 6 — Интерфейс OS/2 Warp.

Май 1995. OS/2 Warp Connect. В базовую систему включена полная поддержка сетевой функциональности, поддержка одноранговых сетей.

Сентябрь 1995- Корпорация IBM собрала всех разработчиков OS/2 в Техасе (ранее они были разбросаны по всей стране)

1994. 1995 — OS/2 Warp активно рекламируется, лицом системы можно назвать David Barnes из IBM (известный «The OS/2 Evangelist»).

Сентябрь 1996. OS/2 Warp 4.0 (кодовое название Merlin). В этой версии имелось полное управление голосом, средства голосового ввода текста (английский язык), встроенные механизмы Java, OpenDoc, средства работы в глобальной сети Internet и другие передовые технологии, разработанные корпорацией IBM. Основательно изменен дизайн системы с прекрасным графическим интерфейсом, созданным программистом — выходцем из Apple и более удачно (относительно предыдущих версий) проработана сетевая подсистема.

1996 — Русская версия Merlin, Компания JV IBA выполнила заказ IBM по русификации OS/2 Warp

1996 август — Впервые вышло SMP-ядро (SMP kernel) для Warp Server SMP.

1997 год. Голландская компания Mensys B.V. открыла сайт в интернете, онлайн-поддержка пользователей.

1997 год. Состоялась конференция Warpstock 1997 (Diamond Bar, California, США)

1997 год. Издательство Питер выпустило двухтомник OS/2 Warp изнутри на русском языке.

1997 год. Анализ рынка OS/2: Forbes, Why OS/2? (Почему OS/2?)

1998 год — «Лаборатория Касперского» первой в мире выпускает антивирус под OS/2.

1998 год. В интернете открылись сайты на русском языке

OS/2 для PowerPC

1992−1996 годы. IBM ушел от проектирования архитектур шин и начал заниматься производством материнских плат. IBM Microelectronics был занят поиском альтернативных моделей CPU, которые помогли бы IBM собирать свои материнские платы, не привязанные к Intel. В период с 1992-го по 1996-ой год IBM проводил эксперименты с «Blue Lightning» процессорами, при этом сокращая отношения с AMD и Cyrix. IBM Microelectronics был активно вовлечен в развитие параллельной архитектуры PowerPC — совместное творение триады IBM-Apple-Motorola. Целью было предоставить новую аппаратную архитектуру, независимую от Intel, чтобы бороться в индустрии аппаратуры PC. На этот раз, IBM, умудренный неудачным опытом с MicroChannel, разрабатывала открытую архитектуру. IBM опубликовал спецификацию на плату и процессор PowerPC, рассчитывая сразу же дать мощный импульс новому поколению персональных компьютеров, свободных от ошейника Intel.

OS/2 для PC получила много технологий от PowerPC версии:

1996 год. Falcon — OS/2 Warp Connect for PowerPC. Релиз вышел в начале 1996 г., после чего дальнейшие разработки были незамедлительно свернуты. В широкой продаже этой системы не было. План версий (на май 1995 г.):

· Falcon 1.0 = полный аналог старого Warp 3 (OS/2 Warp + BonusPak)

· Falcon 1.1 = поддержка Open32 и OpenDoc

· Falcon 2.0 = «OS/2 Warp intercept client product for both PowerPC and Intel»

Hawk — OS/2 Warp Server for PowerPC. Планировался к выпуску в конце 1996 г. но был заморожен вместе с Falcon. Планы по состоянию на май 1995 г. :

· Hawk 1.0 = клон Warp Server 4 с поддержкой Open32, OpenDoc и Eagle

· Hawk 2.0 = развитие Hawk 1.0 с зачатками Directory Service (выход был запланирован на 1997 г.)

Все PowerPC’шные версии (Raptor technology) построены на микроядре (Mach), сообщали версию 3. 00 (OS/2 v 3.0 на i386 сообщает 2. 30, а 4. 50 — 2. 45).

OS/2 WSeB

1997 — Началась разработка USB-стэка.

1997 год. IBM стала сокращать инвестиции в IBM OS/2 Warp (утверждают, что в разработку OS/2 корпорация IBM вложила свыше миллиарда долларов), темпы развития ОС стали снижаться. В это время система была на пике популярности. В 1997-ом Стивен Кинг (IBM) анонсировал точный срок окончания поддержки ОС IBM OS/2 Warp — 31-ое декабря 2006-го года.

1998, Компания CPS заключает соглашения на поставку OS/2 в Россию.

В то время, когда другие реселлеры уходили с рынка OS/2, Mensys продолжали поддержку OS/2, продолжали рекламу OS/2-софта. Оглядываясь назад, можно сказать, что они спасли ОС от мгновенного исчезновения. Операционная система живет, пока есть продажи дистрибутива и программ для нее. Каталог Mensys в 1997-ом году

1998−2000 года. Компания Serenity Systems активно интересовалась виртуальными машинами. Сначала проект Concord, который предполагал установку в компьютер дочерней платы (еще одного PC), чтобы хостовая eComStation управляла подчиненной ОС, выполняемой на дочернем компьютере. В 2001—2002 и далее Serenity Systems поддерживала активные контакты с компанией Параллели. Виртуальная машина Параллелей поддерживала гостевую OS/2.

1998 год. Состоялась конференция Warpstock 1998 (Chicago, Illinois, США).

1999 год. OS/2 WarpServer for e-Business (кодовое название Aurora) — сокращенно OS/2 WSeB. Внешне OS/2 осталась практически без изменений, однако внутренние изменения носили весомый характер. Появилась поддержка журналируемой файловой системы JFS (Journal File System), сняты ограничения на объем виртуальной памяти, появилась мощная программа для управления томами под названием LVM (Logic Volume Manager).

1999 год, июнь. Компания Stardock: В настоящее время ведутся переговоры с IBM о лицензировании Авроры и выпуске базирующегося на её основе клиента… Большая часть этих переговоров конфиденциальна… «Мы попытаемся создать инфраструктуру, подобную той, которая существует в сообществе Linux. Задача состоит в том, чтобы сделать сообщество OS/2 более самодостаточным. В составе клиента будут поставляться средства разработки на Java и C. Однако исходники не будут открыты… если бросить свежий взгляд на сообщество OS/2, то станет очевидно, что оно нуждается в большей самодостаточности. Вместо мечтаний «когда IBM сделает то…» или «когда StarDock сделает это» мы должны трансформировать сообщество OS/2 в Linux’о-подобное, в котором пользователи всё делают сами. Наша основная цель — создать инфраструктуру, где пользователи могли бы легко помогать друг другу, и разработчики могли бы работать совместно… проблемой OS/2 является, в первую очередь, не недостаток рекламы, а взятая в заложники пресса … Клиент будет продуктом обеих компаний. Поддержка от IBM, распространение и маркетинг от StarDock на горизонтальном рынке (SOHO, home etc). IBM не будет заниматься маркетингом OS/2… хочу подчеркнуть: клиент не будет называться OS/2. На коробке будет написано «…Stardock powered by IBM OS/2 technology». «

1999 год, июль. Компания Stardock Systems сообщила, что ее представители вели переговоры с IBM о лицензировании и выпуске собственной клиентской версии OS/2, но руководство IBM в последний момент решило отказаться от этого. IBM «заколола» OS/2. Это выглядело именно так — IBM ясно дала понять что OS/2 более не будет развиваться как клиентская система, и позволит пользователям «свалить» с нее на другие ОС.

Эпоха eComStation

1999 год, 10 сентября. Американская компания Serenity Systems и голландская компания Mensys BV объявляют о том, что ими достигнуто партнерское соглашение с IBM о выпуске новой клиентской версии OS/2 Warp 4.5. Компания Serenity System договорилась с IBM о новом OEM OS/2 клиенте, основанном на компонентах из OS/2 Warp 4 (Merlin), OS/2 Warp Server for e-Business и технологии WiseManager Managed Client от TouchVoice. Будет 2 веpсии eComStation Entry (начального уpовня) и Professional (пpофессиональная).

· Веpсия Entry должна была включать однопpоцессоpное ядро WarpServer for e-Business, некотоpые компоненты Warp 4 и все улучшения и компоненты из convenience package (о котоpых было объявлено pанее IBM).

· Веpсия Professional должна была включать многопpоцессоpную веpсию ядpа из WSeB и журналируемую файловую систему JFS от IBM.

Обе веpсии должны были включать поддеpжку мобильного пользователя. Система должна быть совместима с существующими пpиложениями для OS/2 точно так же, как и WsEB или Warp 4+ convenience pack обpатно совместимы с существующими пpиложениями.

Правда, эта клиентская версия полностью меняет свое название — новый клиент называется eComStation (сокращенно eCS). Необходимость изменить название была обусловлена (как сказали в IBM): причинами технического, юридического и коммерческого характера.

Почему именно Serenity и Mensys?

· В компании Serenity Systems работал Kim Cheung (компания TouchVoice). Именно он на встрече с IBM смог убедить их в перспективности ОС. Он продемонстрировал WiseMachine (развертывание софта на компьютеры в сети) и другие программы, использующие Drag& drop.

· Mensys владела всей пользовательской базой OS/2 Warp (они поддерживали всех самостоятельных разработчиков, все пользователи и компании покупали софт в Mensys).

IBM согласилась на OEM-соглашение с Serenity Systems. В то время были модны слова на букву «e-»: e-business, e-commerce. Название новой системы eComStation состоит из слов: «e-Commerce Station», т. е. «система для электронной коммерции». Разработку eComStation возглавлял Kim Cheung. Только благодаря его целеустремленности удалось преодолеть все трудности.

Важный момент — теперь операционная система была переориентирована с корпоративных пользователей (банки, заводы, корпорации — проблемы отдельных пользователей никого не интересовали) на домашних пользователей и небольшие компании (SOHO). С этого момента изменился характер работы разработчиков — теперь они работают в прямом контакте с пользователями.

1999/10/25 — Первое упоминание в прессе о новой операционной системе от Serenity Systems PCWeek Online.

2000, Выпуск демонстрационной версии eComStation preview. Руководитель проекта: Kim Cheung.

2000 август, Немецкая компания Metabox планирует выпуск tv-приставок на базе OS/2.

2001 год, июль. Начались продажи eCS 1.0 (Руководитель проекта: Kim Cheung). По-сути, это новая модификация OS/2, в которой изменен интерфейс за счет включения в базовую систему приложения Styler/2, а также улучшен процесс инсталляции. Добавлено новое средство распределенной инсталляции ПО под названием WiseMachine.

Выпущено две веpсии: eComStation Entry (начального уpовня) и eComStation Professional (пpофессиональная). В числе прочих в состав eCS вошли: журналируемая файловая система JFS, поддержка симметричных многопроцессорных систем (до 64 процессоров), программы из бонус-пака OS/2 Warp 4 (в том числе программа голосового управления и диктовки VoiceType), два офисных пакета (Lotus SmartSuite и StarOffice). eComStation совместима со всеми существующими пpиложениями для OS/2, DOS, Windows 3.1 полностью!

В разаботках участвовали одиночки-разработчики и бывшие сотрудники IBM. Система устанавливалась и была полностью работоспособной. Содержала свежие компоненты. Нужно признать, что процедура установки была ненадежной. Несмотря на проблемы, некоторые пользователи покупали по 5 — 10 лицензий eComStation, чтобы поддержать разработчиков.

2001, осень, Первая лицензия eComStation была продана в России в конце 2001-го года (ночью, на железнодорожном вокзале).

2001, Serenity Systems официально попросила компанию eCo Software создать русскую версию eComStation.

eCo Software начинает подготовку русской версии eComStation. Ведущий переводчик: Юрий Пронякин, также ему помогала команда переводчиков и разработчиков, всего более 10 человек.

В 2001—2002 Serenity Systems активно искала инвесторов. Найти их не удалось, американские пенсионные фонды предпочитали вкладывать деньги в Windows и другие звонкие проекты.

2002 год. IBM выпустил MCP2 (Merlin Convenience Pak — обновленный дистрибутив клиентской версии) и ACP2 — это были обновленные дистрибутивы (MCP2 и ACP2 совпадают 1: 1, единственное отличие ACP2: включает IBM LAN Server).

2002 в eCo Software начали заниматься развитием файловых систем. JFS была доведена до состояния, когда ее можно использовать. Была сделана загрузочная JFS (Bootable JFS, BooJFS).

Были определены долгосрочные проекты:

· BooJFS -- для ускорения работы с диском.

· NTFS — для миграции с Windows.

· ACPI — для работы на новом поколении PC-компьютеров.

Разработка всех новых компонент, всех проектов с открытыми исходными кодами финансировалась за счет eComStation.

2003 год. Осень. Выпуск eComStation 1.1 (Руководитель проекта: Kim Cheung). Новая версия включала расширитель рабочего стола eWorkPlace (разработка и отладка eWP велась на средства eComStation в течение 2 лет).

Изображение 7 — eComStation 1. 1

2004 — Golden Code выпустила Java 1.4 для OS/2.

2004 год, осень. Выпущена eComStation/Rus 1.2.

Обновлен Web-браузер Mozilla, в состав вошел текстовый редактор AE. Обновлены драйверы. Продукт распространяется по лицензии Serenity Systems International и основан на оригинальной версии eComStation, созданной SSI и её партнерами.

· Что нового? Совместно с корпорацией IBM была разработана кардинально новая программа установки, обновлен пользовательский интерфейс, улучшилась поддержка устройств и средств для подключения к сети Интернет.

· Включает много новых системных утилит: MiniLVM и т. д.

· Внутри: структура операционной системы осталась прежней. Изменились сотни файлов, компонент. Отрегулированы настройки подсистем и рабочего стола. Отобраны устойчивые версии драйверов и модулей.

2004, осень — Начинается унификация отдельных системных программ. Mensys заказала у eCo Software разработку eSchemes — единой системы для управления цветами, иконками и внешним видом кнопок. Изначально планировалось сделать eSchemes на базе ColorManager (проект затянулся, стабильные версии появились к началу 2008).

2004 создание SVISTA/2 (Serenity Virtual Station для eComStation). SVISTA/2 — Благодарю этому проекту закончился переходный период Odin-софта. Далее началась разработка WPS-программ, нативного OpenOffice. org и т. д.

Функционально виртуальная машина не превосходила конкурентов. Компания Serenity Systems (Bob St. John) повлияла на рынок виртуальных машин тем, что начала продавать машину за 99 USD, в то время как стоимость лицензии других продуктов (VirtualPC, VMWare) составляла несколько сотен USD. (Позже рынок виртуальных машин опять резко изменился, после того, как появилась виртуальная машина Innotek VirtualBox, с открытыми исходными кодами, бесплатная).

2004, Осень, Идет конкурентная борьба между виртуальными машинами Innotek Java VM (исполняемые файлы от Windows-версии JVM выполняются с помощью конвертера Innowin/Odin) и Golden Code Java VM (собрано из исходных кодов). В результате этой «борьбы» оба продукта были отлажены и получились достаточно высокого качества.

2005-ый год — IBM завершила поддержку OS/2 Warp.

2005/07 — Суд подтвердил, что корпорация Microsoft использовала неконкурентные методы борьбы с IBM OS/2 Warp и Lotus SmartSuite, Microsoft выплатила 775 миллионов долларов корпорации IBM.

2005, осень, Выпуск eComStation 1.2.5 (Сборку системы выполняла компания Mensys BV)

· Эта версия eComStation соответствует уровню IBM OS/2 Warp MCP2, fixpak 5, ядро: 14. 103a.

· Появилась поддержка загрузочной JFS (Английская версия имеет номер 1. 2R, без загрузочной JFS). Другие возможности: поддержка жестких дисков SATA. С первых версий eCS пользователи могли покупать годовую подписку eComStation (Upgrade protection, она предназначалась для предприятий, у которых бюджет расписан до конца года), но по-настоящему система подписки заработала только после выхода eComStation 1.2.5. Это значительно изменило бизнес-модель eComStation:

· Пользователи получили постоянный доступ к новым драйверами и программам,

· а разработчик ОС начал получать постоянные инвестиции на дальнейшее развитие системы.

· Кроме того, это снизило уровень пиратства.

eComStation 2. 0

2005, 4 ноября. Запущена программа бета-тестирования eComStation 2.0 Подписан договор с SciTech по поводу обновления видеодрайверов SciTech SNAP в течение 2006 года.

2006, июнь — Первые новости о нативной версии OpenOffice. org 2.0 для OS/2 и eComStation.

2007, Весна. eComStation на грани гибели, т.к. систему невозможно установить на современные компьютеры с новыми видеоадаптерами (ATI ATOM). eComStation получила универсальный драйвер eCo Software Panorama VESA (ведущий разработчик: Валерий Гайнуллин, видеодрайвер работает быстрее на мультипроцессорных компьютерах).

На рынке работает несколько компаний (групп разработчиков):

· Mensys BV, Serenity Systems — сборка дистрибутива операционной системы, заботятся, чтобы в системе поддерживались промышленные стандарты (OpenOffice. org, виртуальные машины, .)

· eCo Software — разработчик модулей для операционной системы, а также комфортная работа в eComStation (пользовательский интерфейс, виджеты, утилиты)

· Швейцарская компания Netlabs. org — Mensys выпускает open source программы под маркой Netlabs. org.

2008, К началу года выпущено восемь промежуточных бета-версий eComStation 2. 0

2008, июнь — Пользователям (с большими усилиями) удалось запустить ethernet и wifi на компьютерах ASUS Eee PC. eComStation хорошо подходит для работы на нетбуках, т.к. требует мало ресурсов.

2008, июль, в eComStation портирована система печати CUPS (работает по сети).

2008-ой год — самые большие инвестиции в eComStation за последние годы.

2009, январь — Первые версии OpenOffice. org 3. x для eComStation (первая альфа-версия была продемонстрирована на Warpstock Europe 2008)

2009 — eComStation 2.0 была намечена на 2005-ый год. Релиз задержался на 4 года. Тем не менее, у пользователей всегда был доступ к бета-версиям eComStation 2.0. Почему задержка? Если выпустить сырую версию, то очень дорого поддерживать, и все равно нужно готовить фикспаки. Поэтому, выбран другой способ выпуска: бета-версия всегда доступна, выпускать eCS, когда станет стабильной. 2010, 14 мая, — Вышла финальная версия eComStation 2.0. Исправлено около тысячи багов. Добавлена подсистема ACPI (обновлено ядро), в систему включены драйверы для wifi и гигабитных сетевых адаптеров, добавлены новые системные утилиты.

Разработка следующей версии началась в начале 2010 года.

· 2010/I, II — VLC player port

· В начале года к проекту ACPI подключились разработчики: a) Lars Erdmann, b) Steven Levine

· 2010/05 — Релиз eComStation 2.0 GA

· 2010/05 -- Shareware: EasySync utility

· 2010/06 — старт портирования Java VM

· 2010/06 — старт портирования VirtualBox (Qt4)

· 2010/06 — релиз драйвера для Intel Ethernet адаптеров (порт из Linux)

· 2010/06 — замена системного File Open Dialog

· 2010/07 — Вслед за драйвером для сетевых адаптеров NVidia, создан еще один драйвер для Intel Ethernet адаптеров.

· 2010/08, 2010/09 -- Важно показать как выглядит eCS. Для этого начали заливать десятки скриншотов в каталог программ APeCS

· START Java 6 porting.

· 2010, конец Августа — Стартовала кампания WarpIn TOTAL — Перепакуем всё в WarpIn! в поддержку eCo Market

· 2010/10 -- Альфа-версии Firefox 4

· 2011/0x -- Realtek Ethernet driver ported

2011/05 -- Выпущена eComStation 2. 01 (английская и немецкая версии).

Новый загрузчик Air-Boot; обновленный Danis506; Новый драйвер AHCI; Firefox 4 с печатью и без утечек памяти; новый File Open Container; улучшена поддержка HP, Dell, Acer; Multimac NIC — драйверы Ethernet; Рабочий драйвер Uniaud.

2011/06, Первые о сообщения об успешном запуске eComStation на планшетных компьютерах (с процессором Intel). Тема работы eCS на планшетах и мини-PC обсуждалась ещё в 2005 году. Для полноценной работы eComStation на планшетах требуется создать несколько драйверов.

2011/07, Компания Mensys выкупила видеодрайвер SNAP. Переговоры шли несколько лет. Пользователь Craig Miller (США) опять инициировал обсуждение статуса драйвера, после чего Mensys’у удалось договориться с владельцем прав на SNAP.

2011/12, Пакеты LIP (переключение интерфейс ОС на другой национальный язык). Появилось много языковых пакетов: Русский, испанский, шведский, норвежский, чешский.

2012, Апрель -- Исполняется 25 лет IBM OS/2, эта новость вызвала рост посещаемости сайтов OS/2.

2013/04, Начинается тестирование новой eComStation 2.2 beta 1[2].

2. Архитектура OS/2

Все релизы первой и второй версий OS/2 предъявляли требования к ресурсам, превышающие средний уровень имеющихся в то время ПЭВМ, поэтому эти версии были несколько «тяжеловесны». Этот недостаток был устранен в версии 3 — OS/2 Warp (1995 г.), в которой все свойства ОС были оптимизированы в компактном ядре. Эта версия стала выходить как клиентской, так и в серверной редакции (в последнюю был включен продукт IBM LAN Server).

Изображение 8 — Архитектура OS/2 Warp.

При значительном сходстве с архитектурой Windows 9x архитектура OS/2 Warp обладает рядом существенных отличий от нее.

Системная виртуальная машина OS/2 обеспечивает выполнение приложений OS/2 — 16- и 32-разрядных. Отдельная виртуальная машина создается для эмуляции среды Windows 3. x, в этой среде 16-разрядные приложения Windows выполняются в общем адресном пространстве, в режиме невытесняющей многозадачности — как и в Windows 9x. Однако, можно запускать приложения Windows и в отдельных адресных пространствах, тогда они выполняются в режиме вытесняющей многозадачности вместе с другими приложениями Windows, OS/2 и MS DOS. Приложения MS DOS выполняются каждое в среде собственной виртуальной машины MS DOS. Отдельной частью ядра OS/2 является ядро VDM (виртуальной машины MS DOS), которое обеспечивает эмуляцию функций MS DOS (в отличие от Windows 9x здесь нет кода ОС MS DOS), эмуляцию процессора Intel 8086 и диспетчеризацию виртуальных машин MS DOS.

Графическая оболочка Workplace Shell является отдельным приложением, запускаемым опционно, OS/2 может функционировать и без графической оболочки, в режиме командной строки.

Многозадачность

С самого начала OS/2 являлась многозадачной системой с вытесняющей многозадачностью. Многозадачность в этой системе имеет три уровня: сеанс, процесс, нить.

Сеанс — это окно на экране. Сеанс может быть запущен в полноэкранном или оконном режиме. Каждый сеанс имеет собственную виртуальную консоль, включающую в себя логические эквиваленты монитора, клавиатуры и мыши; командный процессор (CMD. COM в сеансах OS/2 или COMMAND. COM в сеансах MS DOS); начальный командный файл (OS2ININ. CMD в сеансах OS/2 или AUTOEXEC. BAT в сеансах MS DOS). Сеанс предоставляет пользователю самостоятельную рабочую среду (MS DOS, Windows 3. x или OS/2). Когда сеанс выдвигается на передний план, соответствующая сеансу виртуальная консоль становится эквивалентной физической консоли. API OS/2 позволяет порождать новые сеансы и управлять из родительского сеанса состоянием сеанса дочернего. В каждом сеансе может быть запущен один или (только в сеансе OS/2) несколько процессов. В соответствии с общепринятым подходом процессу в OS/2 соответствует программа с набором выделенных ей ресурсов. В API системы имеются системные вызовы для порождения нового процесса с выполнением в нем другой программы или для смены программы, выполняемой в текущем процессе. Порождаемые процессы связаны с породившим отношениями «потомок-предок». Наследование ресурсов (файлов, каналов) может устанавливаться для каждого экземпляра ресурса избирательно.

Каждый процесс состоит из одной или нескольких нитей. Нить является объектом планирования процессорного времени. Нити разделяют большую часть ресурсов процесса, в составе которого они выполняются, но каждая нить имеет собственный контекст и собственный стек.

С самого начала OS/2 проектировалась как система с вытесняющей многозадачностью. Участки нереентерабельного кода в ядре системы минимизированы, а MS DOS и Windows также эмулируются ядром, поэтому OS/2 в состоянии обеспечить более оперативное переключение процессов, чем Windows 95. OS/2 управляет процессами в режиме квантования времени, размер кванта является параметром, задаваемым при загрузке системы. При освобождении процессора или по истечении кванта активным назначается процесс с наивысшим приоритетом. В системе имеются следующие 4 класса приоритетов процессов (в порядке убывания приоритетности):

· критический — для процессов реального времени и сетевых коммуникаций; для процессов этого класса гарантируется время реакции не более 6 мксек;

· серверный — для процессов, выполняющих запросы от других процессов (введен в 4-й версии OS/2);

· нормальный — для интерактивных процессов;

· отложенный — для процессов, работающих без доступа к терминалу. Внутри каждого класса приоритет процесса перевычисляется динамически (имеется еще по 32 градации приоритета в каждом классе) по таким правилам:

· процесс, окно которого является в данный момент активным, получает «добавку переднего плана»;

· процесс, выполняющий операцию ввода-вывода, получает «добавку ввода-вывода», которая делает его приоритет наивысшим в классе; по окончании операции ввода-вывода эта добавка отбирается у процесса;

· процесс, пребывающий в состоянии ожидания дольше некоторого времени (задаваемого при загрузке), получает «добавку голодания», которая ставит его сразу после критического класса и позволяет практически немедленно получить квант процессорного времени, после использования кванта эта добавка отбирается у процесса.

Управление памятью

Ранние версии OS/2 были ориентированы на сегментную модель виртуальной памяти. OS/2 Warp обеспечивает для процесса плоскую модель памяти, хотя поддерживает также и API старой, сегментной модели. Структура виртуального адресного пространства процесса OS/2 показана на изображении 9.

Изображение 9 — Адресное пространство процесса OS/2.

Качественно структура адресного пространства процесса — такая же, как и в Windows 95. В последних релизах OS/2 Warp Server for e-business граница частного адресного пространства процесса может быть поднята до 3 Гбайт. Плоская модель памяти обеспечивается теми же средствами, что и в Windows 95: единственный сегмент для процесса и использование каталога страниц. Однако, в OS/2 на одни и те же таблицы страниц второго уровня указывают только элементы страничных каталогов, относящихся к адресному пространству выше 3 Гбайт. Поэтому объекты, совместно используемые несколькими процессами, имеют разные виртуальные адреса для разных процессов.

Динамическая компоновка во время загрузки является важным компонентом системы, и большинство системных модулей оформлены в виде библиотек динамической компоновки — DLL. Имеется также возможность компоновки во время выполнения — в этом случае требуемый модуль DLL должен быть явным образом загружен программой и определены адреса его входных точек, для чего имеется соответствующий API.

Устройства и файловая система

Драйверы устройств имеют «классическую» двухуровневую структуру и устанавливаются при загрузке системы. Драйверы выполняются на уровне защиты 2 процессора Imtel/Pemtium, что дает им возможность выполнять команды ввода-вывода, но не другие привилегированные команды. Выполнение низкоуровневых системных функций (например, управление реальной памятью) обеспечивается для драйверов системным сервисом — внутренним вызовом DosHepl.

Подобно Windows 95, OS/2 обеспечивает инсталлируруемые файловые системы. Только файловая система FAT-16 поддерживается ядром ОС. Сетевая файловая система и CDFS поддерживаются через механизм инсталлируемой файловой системы. Основная же инсталлируемая файловая система OS/2 — HPFS.

HPFS — Hight Performance File System (высокопроизводительная файловая система) — разработана совместно фирмами IBM и Microsoft в период их совместной работы над OS/2 версии 1.2. HPFS была призвана прежде всего заменить FAT MS DOS и отличается от последней высокой эффективностью в управлении жесткими дисками большого объема и поддержкой длинных (до 255 символов имен файлов). Структура тома в HPFS показана на изображении 12.а. Начальная часть диска (16 блоков) резервируется под блок загрузки и загрузочную информацию, суперблок, запасной блок (копию суперблока) и т. д. Корневой каталог HPFS расположен в логической середине диска, чтобы минимизировать перемещение головок. Эти системные структуры используются для загрузки ОС, поддержки работы файловой системы и восстановления. Распределяемое дисковое пространство разбивается на, так называемые, полосы размером по 8 Мбайт каждая. Каждой полосе соответствует битовая карта размером 2 Кбайт. Один элемент битовой карты соответствует одному 512-байтному блоку (сектору) полосы и отражает его состояние (занят/свободен). Битовые карты поочередно размещаются в начале и в конце каждой полосы, таким образом, две смежные полосы образуют непрерывный участок дискового пространства размером около 16 Мбайт. Файловая система планирует размещение новых файлов на диске по возможности в непрерывном участке дискового пространства. Кроме того, за концом нового файла оставляется свободный участок «на вырост», что дает файлу возможность в будущем расширяться, не теряя непрерывности в размещении.

а). структура тома HPFS

б). элемент каталога HPFS

Изображение 10 — Файловая система HPFS

Организация файлов и каталогов в HPFS включает в себя две структуры, показанные на изображении 10. б: элемент каталога (DIRBLK) и дескриптор файла или каталога (Fnode). В суперблоке содержится указатель на дескриптор корневого каталога. Каталог состоит из элементов каталога, которые организованы в сбалансированное двоичное дерево, упорядоченное для поиска по имени файла/каталога. В элементе каталога содержится указатель на дескриптор файла/каталога. Основное содержание дескриптора — план размещения файла. Как отмечалось выше, файловая система стремится разместить весь файл в одном экстенте, но не гарантирует такого размещения. Файлы, характеризующиеся значительной изменчивостью, могут занимать большое число экстентов. Элемент плана размещения состоит из начального адреса экстента и его длины. Описания 8 экстентов могут быть размещены непосредственно в дескрипторе. Если же файл состоит из большего числа экстентов, план его размещения структурируется в B-дерево с корневым узлом в дескрипторе.

Для повышения производительности HPFS использует кеширование данных при записи на диск и отложенную запись

Новая версия этой файловой системы — HPFS386 оптимизирована для работы с новыми поколениями процессоров Intel/Pentium и большими дисковыми системами. Она отличается тем, что значительная часть драйвера файловой системы работает на уровне защиты 0. В ней значительно увеличены размеры кешей, сняты некоторые ограничения, повышена надежность (поддерживается технология RAID-1). HPFS386 интегрируется с IBM LAN Server и обеспечивает хранение списков контроля доступа в файловой системе.

Средства взаимодействия

OS/2 обладает полным набором средств взаимодействия процессов.

ПоказатьСвернуть
Заполнить форму текущей работой