Свободные операционные системы – Операционные системы реального времени — это… Что такое Операционные системы реального времени?

Содержание

Операционные системы на основе свободного ПО

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

GNU

Основная статья: GNU

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

Неядерные компоненты GNU используются для создания ОС с такими ядрами как:

В различных системах (например, BSD и OpenSolaris) часто используются GNU Compiler Collection и среда GNOME.

Linux и GNU/Linux

В 1991 году, когда Линус Торвальдс опубликовал ядро Linux и привлёк помощников, использование инструментов, разработанных в рамках проекта GNU, было очевидным выбором. Операционная система GNU и ядро Linux вместе составляют ОС, известную, как GNU/Linux. Дистрибутивы этой системы (такие как Red Hat и Debian), включающие ядро, утилиты GNU и дополнительное программное обеспечение стали популярными как среди любителей, так и среди представителей бизнеса.

Linux без компонентов GNU, или с совместимой, более лёгкой, заменой им, используется в ПО для встраиваемых и мобильных систем. Например, µCLinux использует uClibc. См. также: Android.

BSD

Основная статья: BSD

В результате урегулирования юридического дела, возбуждённого UNIX Systems Laboratories против университета Беркли и Berkeley Software Design Inc., было установлено, что университет может распространять BSD UNIX, в том числе и бесплатно. После этого были возобновлены эксперименты, связанные с BSD-версией UNIX. Вскоре разработка дистрибутива BSD была продолжена в нескольких направлениях одновременно, что привело к появлению таких проектов, как NetBSD и FreeBSD, а позднее — отпочковавшихся от них, соответственно, OpenBSD и DragonFly BSD, и других.

Darwin

Основная статья: Darwin

В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих UNIX-систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы. Одним из свидетельств данного успеха служит тот факт, что, когда фирма Apple искала основу для своей новой собственнической операционной системы, она выбрала NeXTSTEP — операционную систему со свободно распространяемым ядром, разработанную фирмой NeXT и переименованную в Darwin после приобретения фирмой Apple. Данная система относится к семейству BSD и основана на ядре Mach. Применение Darwin BSD UNIX в Mac OS X делает его одной из наиболее широко используемых версий UNIX.

На основе Darwin и GNU разрабатывалась свободная операционная система OpenDarwin, которая продолжает существовать в виде основы GNU-Darwin.

OpenSolaris

В 2005 году Sun Microsystems открыла исходный код операционной системы Solaris в рамках проекта OpenSolaris. Исходный код предоставляется под лицензией CDDL. В силу лицензионных ограничений, не все компоненты OpenSolaris открыты[1]; ведётся работа по переписыванию этих модулей. На основе OpenSolaris создано несколько дистрибутивов, в том числе BeleniX, Nexenta OS, AuroraUX и других. Операционные системы на основе OpenSolaris работают как на традиционных для Solaris платформах SPARC и x86, так и на PowerPC (проект Polaris), IBM System z (OpenSolaris for System z) и ARM

[2].

Другие компоненты

В большинстве UNIX-подобных ОС используется система X Window System; некоторые используют в качестве среды рабочего стола такие среды, популярные в системах типа GNU/Linux, как GNOME или KDE.

Другие ОС

SCO Group

Основная статья: SCO

После разделения компании 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, что и подтвердил вердикт суда.

Примечания

Свободные ОС — это не только Linux

Многие пользователи под словами «бесплатный» и «СПО» подразумевают операционную систему GNU/Linux. Но существует несколько десятков свободных ОС, среди которых есть как успешные и популярные продукты (FreeBSD, Solaris, Darwin), так и известные узким кругам специалистов проекты (Haiku OS, React OS). У каждой из них – своя история и будущее.

страницы:   предыдущая   |   1    |   2  

Свободные ОС для пользователей

UNIX-системы и различные ответвления от них отличает довольно жесткая ориентация на использование в серверах или для разработки приложений. Использовать их в качестве замены существующим десктопным решениям в большинстве случаев не имеет смысла. Помимо отсутствия поддержки в базовой поставки драйверов под мультимедиа-устройства, ряда медиаформатов, инструментов для кастомизации пользовательского интерфейса, данные системы сложны для восприятия обычным пользователем, несмотря на то, что имеют зачастую те же оболочки, что и Linux-дистрибутивы (KDE, GNOME и другие варианты X-Windows).

Чем Linux отличается от других freeOS?

Несмотря на определенные сходства между Linux и другими свободными ОС, между ними существует несколько серьезных различий. Первое, и самое главное: Linux использует ядро Linux, которое отличается от Unix и Unix-based систем как по своей архитектуре, так и по принципам лицензирования (GPL). Второе отличие: использование X Window System, на базе которой построен графический пользовательский интерфейс большинства дистрибутивов Linux. В свободных ОС чаще используются собственные разработки интерфейса. Третье отличие – использование утилит и библиотек из проекта GNU в Linux.

Но существуют open source ОС и для десктопов. Пионерами в этом направлении была компания Be, выпустившая в начале 1990-х годов проприетарную BeOS, а также компьютеры BeBox. Разработчики позиционировали ее как конкурента Windows и Mac OS, прежде всего, по причине адаптации системы к решению мультимедийных задач. Тем не менее, активное развитие этой разработки прекратилось уже в начале 2000-х годов в связи с покупкой компании Be Palm. Единственным open-source вариантом BeOS является Haiku OS, представляющая собой портированные ядро, API и файловую систему от BeOS с дистрибутивами СПО, например, Firefox, VLC, SeaMonkey. В отличие от Linux в ней не используется графическая оболочка X-Windows, отличается система портов и библиотек (правда, с конца января 2009 года ситуация стала меняться, и в HaikuOS теперь можно запускать современные программы, вроде Firefox 3). Примечательно, что эта ОС до сих пор находится в состоянии глубокой разработки, и сроки выхода второго технического релиза ее пока неясны.

HaikuOS


HaikuOS никак не может выйти из состояния глубокой разработки

Другим похожим на Haiku OS проектом является Syllable OS, существующая в виде двух дистрибутивов – серверного, основанного на ядре Linux, и десктопного, использующего собственную разработку. По большому счету, в Syllable программисты решили соединить лучшие практики open source-систем, позаимствовав из GNU/Linux компилятор GCC, подсистему SDL, а также элементы интерфейса от BeOS и применили стандарты POSIX, известные еще по UNIX-системам. Тем не менее, работы по поддержке большей части современного оборудования в Haiku OS ведутся крайне медленно, что сказывается на сроках готовности релизных версий.

Минимальный нестандарт

Еще одним малоизвестным представителем свободных ОС являются операционные системы реального времени (RTOS). Среди подобных проектов можно выделить pico]Os (лицензия BSD), eCos (собственная лицензия на основе GPL) и FreeRTOS (модифицированная GPL). Перечисленные операционные системы применяются в устройствах, в которых использовать Linux или BSD нецелесообразно. RTOS нетребовательны к техническим возможностям устройств и активно используются в терминальных клиентах, в BIOS, в системах видеонаблюдения и контроля, в промышленном оборудовании.

И снова Windows

Однако в стане сторонников СПО не обошлось и без присутствия поклонников Microsoft Windows. Известно, что многие системные архитекторы и программисты до сих пор считают самой удачной версией Windows 2000.

Сходного мнения придерживаются разработчики ReactOS. За основу здесь взят Windows API, а из дистрибутива убраны дополнительные проприетарные инструменты и софт (то, что осталось, лицензируется по GPL/LGPL).

Типы лицензий, используемых в свободных ОС
Название лицензииПродукты и проекты Накладываемые ограничения
Berkeley Software Distribution (BSD)BSD, pico]OsРазрешается свободно использовать исходные коды, а также закрывать и делать проприетарными модификации
GNU General Public License (GNU GPL, GPL)Linux, Syllable OS(десктопная версия), RTOS (кроме pico]Os), FreeDOSРазрешается свободно распространять и копировать, но запрещается вносить изменения без уведомления сообщества и закрывать исходные коды после модификации
GNU Lesser General Public License (LGPL)Darwin, ReactOSРазрешается связывать лицензируемое по GPL программное обеспечение и его компоненты с другими продуктами, в том числе, распространять как проприетарные
Common Development and Distribution License (CDDL)OpenSolarisДопускается объединение в одном дистрибутиве файлов, лицензируемых в соответствии с другими лицензиями, как открытыми, так и проприетарными
MIT (лицензия Массачусетского института технологий)HaikuOSРазрешается выпускать модификации под любой лицензией, в том числе, и проприетарной

Источник: CNews Analytics, 2009

Предполагается, что пользователь самостоятельно загрузит необходимые ему компоненты после установки системы. Еще одной open source разработкой на базе продуктов Microsoft является известная система FreeDOS, которую можно часто встретить в качестве предустановленной ОС на ноутбуках Dell и HP. В основе этой лицензируемой по GPL системы лежит близкое по функциональности MS-DOS ядро, интепретатор командной строки, а также набор дополнительных утилит и драйверов (в частности, FreeDOS работает на NTFS, в отличие от MS-DOS).

ReactOS
ReactOS — бесплатный аналог Windows, поддерживает те же драйвера и программы.

Списком ОС, рассмотренных в материале, данный класс программного обеспечения полностью не исчерпывается. Существует еще достаточное количество различных любительских проектов, развиваемых как за собственный счет энтузиастами (Menuet OS, Kolibri OS и другие), так и на средства компаний (например, различные варианты Plan 9 от Bell Labs). Кроме того, ряд проектов находятся в «замороженном» состоянии, и их создатели не выпускают новые версии уже существующих разработок или до сих пор не представили прототипы в публичном доступе.

Михаил Демидов

страницы:   предыдущая   |   1    |   2  


новая свободная операционная система / Habr

Двое отважных разработчиков Ивэн Грин и Крис Стивенс решились на смелый шаг. Они написали с нуля совершенно новую операционную систему Minoca OS и опубликовали её исходный код под свободной лицензией GNU GPL v3.

Это 625 000 строк отлично документированного кода, преимущественно на языке программирования Си, частично на C++ и Ассемблере. Ядро ОС для x86 имеет размер около 750 КБ. С драйверами, сетевым стеком и видеобуфером свежезагруженная система использует 5−7 МБ оперативной памяти.

Большинство сегодняшних популярных операционных систем родились в конце 80-х или начале 90-х гг, в лучшем случае. В те годы ОС работали на совершенно другом оборудовании, чем сегодня. Поэтому подход к разработке ядра несколько отличался. По мнению создателей Minoca OS, сейчас этот подход устарел, так что можно добиться существенного повышения эффективности операционной системы, если переписать её с чистого листа.

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

Minoca OS — операционная система общего назначения, которую можно использовать где угодно. Предположительно, она лучше всего подходит для встраиваемых систем и мобильных устройств, где существуют ограничения на энергопотребление, объём памяти и мощность процессора.


Предположительные области использования Minoca OS

Разработчики говорят, что стремились сделать экономичную, модульную и легко поддерживаемую операционную систему. Она совместима со стандартным набором интерфейсов POSIX. Это значит, что на ней можно запускать многие прикладные приложения, которые работают под Linux.

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

Пока не совсем понятно, в каких устройствах лучше всего применять новую свободную операционную систему. По идее, это должны быть устройства с ограниченными ресурсами (память, CPU), но в то же время для которых требуется расширенная функциональность высокого уровня: многопоточность, сетевой стек, поддержка файловых систем. Разработчикам таких систем предлагают попробовать Minoca OS — и забыть о трудностях адаптации программного обеспечения к конкретному оборудованию. Не нужно будет возиться со специфическими багами уникальной встраиваемой системы, если в универсальной ОС ядро обновляется вместе с выходом свежих патчей.

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


Отладчик Minoca OS

Minoca OS запускается на архитектурах x86, ARMv6, ARMv7 с поддержкой виртуальной памяти и несколькими мегабайтами ОЗУ. Операционная система отлично масштабируется, поэтому хорошо работает и на персональных компьютерах с большим количеством процессорных ядер и гигабайтами оперативной памяти.

В комплект поставки входят драйверы для многих стандартных устройств.

В чём отличие от различных дистрибутивов Linux и зачем потребовалось создавать совершенно новую ОС, чем она отличается от этих дистрибутивов? Разработчики отвечают и на этот вопрос. По словам Ивэна Грина, со стороны приложения или пользователя они постарались сделать операционную систему как можно более похожей на популярные серверные дистрибутивы Linux. Цель состоит в том, чтобы портировать как можно больше приложений на Minoca OS. А вот самые серьёзная концептуальная разница кроется на уровне ядра, где разработчики постарались применить некоторые альтернативные решения в части дизайна и философии архитектуры. Это действительно важные решения, но они не видны пользователю напрямую, а проявляются в сниженном энергопотреблении, лучшей отзывчивости (то есть более высоком быстродействии), большем количестве свободной памяти, незаметных обновлениях ядра и т.д. Несмотря на лучшую отзывчивость по сравнению с Linux, систему Minoca OS нельзя назвать ОС реального времени.

Ссылки:

  • Исходный код на Github
  • Образы для Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard, x86 PC, x86 PC (UEFI), Galileo
  • Пакет Minoca OS Starter Pack, который можно запустить в эмуляторе Qemu (в комплект входят загрузочный образ x86 Minoca OS, Minoca Debugger, эмулятор Qemu, Win32 Disk Imager и все бинарники x86)
  • Совместимые пакеты и инструкции по сборке, в том числе Python, Ruby, Git, Lua и Node.
  • Документация

osFree — Википедия

Материал из Википедии — свободной энциклопедии

(перенаправлено с «Osfree»)
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 26 августа 2019; проверки требует 1 правка. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 26 августа 2019; проверки требует 1 правка.

osFree[1] — это проект с открытым исходным кодом, посвящённый созданию клона операционной системы IBM OS/2. Целью проекта является замена всех (или большинства) подсистем OS/2 их аналогами с открытым исходным кодом. Архитектура системы строится на основе микроядерной архитектуры с использованием микроядра L4[2] — Fiasco и поддержкой одновременной работы других ОС, работающих как серверы над микроядром[3].

В настоящее время проект osFree предоставляет к тестированию ряд компонентов, таких как:

osFree architecure

Система основана на микроядре L4, которое может служить основой для параллельных API, реализованных поверх него. Эти API могут существовать независимо, имея минимальную общую базу, состоящую из самого микроядра и некоторого набора общих сервисов (называемых personality-нейтральными сервисами). Это позволяет иметь независимую (non-layered) реализацию параллельных API.

Совместимость с OS/2[править | править код]

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

Совместимость с OS/2 планируется только на уровне API. Совместимость на уровне драйверов не планируется, так как, по мнению разработчиков, драйверы OS/2 всё больше устаревают. Согласно своей идее, osFree может работать поверх множества ядер, таких как L4, Linux, Windows, etc. В результате, можно использовать подсистему драйверов этих ядер.

«Индивидуальные ОС»[править | править код]

В основе системы будет микроядро L4 как база. Поверх L4 планируется построить следующие OS personalities (индивидуальные ОС):

  • Нейтральная personality — базовое ОС API. Это набор серверов и библиотек, предоставляющих разные сервисы. Все другие personalities построены поверх Нейтральной Personality. API нейтральной personality можно сравнить с Native NT API — они почти функционально эквивалентны.
  • OS/2 personality
  • Linux personality — должна предоставить полную функциональность ядра Linux. Будет использован L4Linux
  • MVM/DOS personality — среда для запуска множества виртуальных машин с немодифицированными ОС. Данное направление очень перспективно для разработчиков, хотя и имеет меньший приоритет, чем разработка OS/2 personality, поэтому они возможно, воспользуются наработками других проектов, например QEMU, DosBox, DosEmu, FreeDOS.
  • Win16 personality
  • Win32 personality — будет использован код ReactOS[4][5]
  • OS/3 — одно из названий проекта. Английское произношение OS Three сходно с osFree. Использование osFree вместо OS/3 связано с возможными проблемами с владельцем торговой марки (IBM). Однако права на марку истекли в 1996 году[6].
  • Из-за названия используемого микроядра L4-Fiasco[7] (Фиаско) в среде русскоязычных разработчиков появилось неофициальное название «Проект Беда» (Project Beda) по аналогии с известным мультфильмом и книгой о приключениях капитана Врунгеля и текущим положением дел с OS/2.
osFree architecure
  • Первая версия стала загружаться в 2005[8]. До этого времени проект предоставлял только замену компонентов системы OS/2.
  • 4 апреля 2009 года проект osFree поглотил проект FreePM[9].
  • В начале сентября 2009 на сайте проекта появился загрузочный ISO-образ системы v0.0.4[10], ознаменовавший первый серьёзный прорыв в разработке. На CD запускается OS/2 Personality под микроядром, под которой, в свою очередь, запускается простая программа mini33.exe в формате OS/2 LX, выводящая строчку «I’m really small». В качестве загрузчика используется FreeLDR, являющийся частью проекта, основанный на GRUB и использующий принципы загрузки классического ядра OS/2 и микроядра L4.
  • 28 августа 2011 osFree была представлена на фестивале Chaos Constructions 2011[11].

A2 (операционная система) — Википедия

A2 (ранее Bluebottle) — модульная объектно-ориентированная операционная система с автоматическим управлением памятью и подсистемой мягкого реального времени, разрабатываемая в ETH Zurich, основанная на ядре Active Object System — дальнейшем развитии системы ETH Oberon). Она обеспечивает компактное окружение времени выполнения для языка Active Oberon, который поддерживает активные объекты непосредственно и позволяет разрабатывать эффективные системы, основанные на активных объектах, функционирующие непосредственно на железе.

Активный объект в A2 представляется как совокупность традиционного для современных языков ООП понятия «объект» и выполняющейся в контексте данного объекта «активности» (нити). В данной реализации Активного Оберона у активного объекта могут быть, кроме его активности, ещё и активности объектов-предков.

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

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

Иерархия модулей A2 и Active Oberon[править | править код]

A2 ActiveOberon Hierarchy

Основная часть исходного кода оригинального Oberona вошла в проект A2 с префиксом «Oberon.» (средняя часть диаграммы)[источник не указан 1514 дней]. По функциональным возможностям эта часть кода соответствует возможностям MS-DOS с экранным текстовым редактором[источник не указан 1514 дней].

Параллельно с AOS (A2) студенты работали над системой Native Oberon (N-O). В N-O были созданы следующие графические модули: GD54xx.Display.Mod, S3C805.Display.Mod, DisplayLinear.Mod, DisplayMach64.Mod, DisplayVGA4.Mod, Display3.Mod, DisplayGTF.Mod (иерархия модулей дисплеев N-O). В среде и операционной системе Active Oberon (A2) были сделаны изменения. A2 не поддерживает большое разнообразие различного железа, так как маленькой группой разработчиков во время создания A2 невозможно написать модули для большинства видеоустройств.[1]

В A2 сохранилась возможность работы с графическими интерактивными объектами — Гаджетами (Верхняя-средняя часть диаграммы). Возможности, близкие к Windows 3.x, так как обе OS имели один и тот же прототип из исследовательского центра Xerox PARC, где два раза по одному году (1976–1977 и 1984–1985) работал Вирт.

Концепция A2 связана с интерактивными и независимыми графическими окнами и элементами внутри окон, каждый из которых запускался в отдельной нити с собственным конечным автоматом или потоком активности (правая часть диаграммы). Все названия модулей этой части системы начинаются с «WM», что является сокращением от «Менеджер окон». Этот интерфейс функционально соответствует графическим менеджерам окон системы Unix/Linux[источник не указан 1514 дней].

Дальнейшее развитие системы происходило в улучшении приложений для аудио- и видеомультимедиа-взаимодействии приложений через сетевое соединение с помощью механизмов A2. Так же были написаны модули для различных видео- и аудиокодеков и кодирования передаваемой информации.

В качестве средства для удалённого взаимодействия с A2 предлагается сервер удалённого доступа VNC (левая часть диаграммы). В A2 есть возможность обмены сообщениями и настройками элементов между приложениями по сети посредством Properties. Properties — это набор методов и описания объектов в формате XML для сохранения конфигурации объектов. Properties можно использовать для создания экземпляров объектов в A2. Такие возможности можно сравнить с линкованием интерфейсов типа DCOM/SOAP в системах Windows NT, Windows NT 4.0 и Java-фреймворке[источник не указан 1514 дней].

Формальная верификация на основе модели[править | править код]

  • 1. Модель модуля — это, по сути, формальное описание в виде конечного автомата его активности[2][3].
  • 2. Юнит-тестирование (Модульное тестирование является встроенной возможностью в Aктив Оберон)[4]).
  • 3. Возможность построения общей схемы сложного проекта[5].

Детали конфигурации и реализации[править | править код]

Эта система обладает множеством параметров (вплоть до ассемблерного кода) в файле конфигурации, который по сути являлся загрузчиком [1]. Обратите на дату ответа на это послание — Dec 31 23:56:50 CET 2002. За 3 минуты до начала нового года!

Самыми популярными дополнительными опциями конфигурации были TraceModules=1, ATADetect=legacy.

Проект Oberon был запущен Никлаусом Виртом в 1985 году. Операционные системы на базе языка Oberon были разработаны молодыми учёными из Федерального института технологии в Швейцарии. Проект A2 условно можно разделить на 3 этапа (AOS (2003), Bluebottle (2005), A2 (2008)) [2]. Каждый этап связан со сменой основных мантейнеров и разработчиков системы.

AOS[править | править код]

Исторически первой ОС этого семейства была BlueBottle. Название AOS поначалу употребляли в контексте файловой системы [3].

  • В 2002 году группа будущей AOS начала работу по созданию Active Oberon для .NET («Lightnight Oberon» — «Сумрачный Оберон») [4] [5].
  • В 2002 году она запускалась в среде DOS [6].
  • В конце июля 2002 года был сделан загрузочный CD с поддержкой VESA BIOS Extensions [7] [8]
  • В конце августа 2002 года студентам Andre, Patrik, Pieter, Folks было указано на недостаток документации (возможно, это был важный момент для будущего этой OS)[9]. Тогда же прозвенел второй звоночек, когда преподаватели перестали выделять ресурсы веб-сервера под Native Oberon в пользу Bluebottle (сейчас то же самое происходит с A2 — это типичная история для образовательных проектов) [10].
  • В 2003 году вышел релиз Win AOS [11] — операционной системы, запущенной поверх Windows.
  • В июне 2003 года были предложены специальные клавиши для масштабирования пространства Рабочего стола (до этого работало только колесо мышки)[12].
  • Ноябрь 2004 года была добавлена возможность работать с USB-флешки [13].

Bluebottle[править | править код]

Из-за претензии торговых марок следующую версию ОС официально назвали Bluebottle в 2005 году [14]. Эта система с нитями и активностями запускалась непосредственно на железе Intel-совместимые однопроцессорные системы и процессор StrongARM/XScale. А также на виртуальных системах QEMU, VMware и Virtual PC 4.0 (только для Macintosh) Macintosh.

  • В 2006 в Bluebottle добавлены несколько драйверов для различного железа и исправлены некоторые ошибки в сетевых приложениях [15].
  • 15 ноября 2006 года был выпущен релиз WinAos под Windows 3.0 [16].
  • В феврале 2010 года появилась подсветка синтаксиса [17].

A2[править | править код]

  • 16 декабря 2008 года в рассылке появилось первое упоминание системы A2 [18]. Идея новой системы состояла в упорядочивании файлов системы Bluebottle c целью уменьшения размера дистрибутива. Минимальная версия включала следующие модули: Trace, Machine, Heaps, Modules, Objects, Kernel, KernelLog, Streams, Reflection, Traps, Commands, Files, Loader and BootConsole. A2 в этой конфигурации занимала 299 008 байт (статически слинкованного загрузочного образа диска) [19].
  • 11 декабря 2009 года добавилась поддержка Intel SMP-совместимости с мультипроцессорными системами (гиперпоточность) а также возможностью запуска поверх операционных систем Windows, Linux, OS X [20], сборщик мусора получил механизм прерываний [21].
  • 14 апреля 2013 года пользователи заинтересовались примером работы с видеодрайвером (V4L2 и FFTW) в Linux из A2 [22].
  • 19 сентября 2013 года информация об области видимости имён для модулей попала из FAQ в документацию [23].
  • 1 февраля 2015 года программисты из бывшего СССР помогают находить ошибки в A2, создавая Юнит-тесты для конкретных функций [24].
  • 5 октября 2015 года русские программисты учат ребят из Швейцарии строить диаграмму взаимодействия модулей в A2 [25].
  • Media Player (AVI, DivX, MPEG, MP3, OGG/Vorbis, WAV)
  • Просмотр картинок (BMP, GIF, JPEG, PNG, SVG)
  • TV-приёмник
  • Programming Editor
  • Web-сервер
  • FTP-сервер
  • Архиваторы (ZIP, TAR)
  • CAPO — Computational Analysis Platform for Oberon
  • OCTK — Oberon Computational Toolkit
  • ETH Oberon для A2
  • VNC — сервер
  • FDD — графический визуализатор пространства-времени
  • UDPChat — UDP чат-мессенджер
  • Raycaster — игра
  • WMColorLines — игра

и множество других приложений

A2 в настоящий момент реализована для:

A2 также может выполняться на отдельных виртуальных машинах, как, например:

и поверх хостовых ОС Windows, Unix, Linux, Darwin

История взлёта и падения OS/2 — одной из самых интересных операционных систем / Habr

Сейчас это может показаться кому-то странным, но Windows системы существовали не всегда. Ещё не так давно доминирование продукта Microsoft было не настолько очевидным, а на рынке операционных систем имелся один весьма и весьма перспективный продукт компании IBM под названием OS/2.


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

История.
1981. Microsoft покупает 86-DOS у компании Seattle Computer Products. Удовлетворение запросов IBM к операционной системе для PC привело к некоторым изменениям после чего она и выпущена под торговой маркой MS-DOS.

1984. Появляется процессор Intel 80286. В IBM принимается решение что операционная система DOS морально устарела и совместно с Microsoft начинает разработку OS/2.

Декабрь 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.

Октябрь 1989. OS/2 1.20 SE и EE (кодовое название Sloop). Впервые предложена улучшенная файловая система HPFS. Появилось средство двойной загрузки 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 с вытесняющей многозадачностью.

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

Апрель 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Мб оперативной памяти. Отдельно выходят обновления для средств мультимедиа.

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

Ноябрь 1993. OS/2 for Windows (кодовое название Ferengi). Отсутствует Win-OS/2 – вместо нее используется уже ранее установленная пользователем Windows 3.1, обновлены драйвера.

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

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

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

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

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

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

Весной 2000-го года американская компания Serenity Systems объявляет о том, что ей достигнуто партнерское соглашение с IBM о выпуске новой клиентской версии OS/2. Правда, эта клиентская версия полностью меняет свое название — новый клиент называется eComStation (сокращенно eCS). Официально продажи eCS 1.0 начались в июле 2001 года.
По сути, это новая модификация OS/2, в которой изменен интерфейс за счет включения в базовую систему приложения Styler/2 а также процесс инсталляции. Добавлено новое средство распределенной инсталляции ПО под названием WiseMachine.

OS/2 1.0 – Начало.
Эволюция OS/2 началась очень давно. Наиболее важным моментом предыстории OS/2 следует считать появление IBM Personal Computer или просто IBM PC (название отлично демонстрирует полное отсутствие изобретательности IBM в деле присвоения наименований выпускаемым продуктам). Создатели IBM PC к сожалению допустили громадную ошибку недооценив популярность своего продукта и соответственно его влияния на развитие индустрии. О том насколько восторженно было воспринято появление новой платформы свидетельствует хотя бы тот факт, что, при начальных планах продать 250 тысяч PC за пять лет, фирма IBM продала большее количество систем ещё до официального выпуска продукта на рынок.
Что же касается программного обеспечения то IBM решила нанять стороннего производителя для написания операционной системы для своего PC. К сожалению описание полудетективной истории о том как была выбрана фирма Microsoft и операционная система DOS выходят за рамки рассмотрения OS/2. MS(PC)-DOS как и сам PC была весьма открытой системой. Интерфейсы DOS и BIOS были хорошо документированы и сторонние производители могли легко использовать и расширять их – вот почему DOS и по сей день используется в некоторых задачах.

Вместе с тем DOS и BIOS имели один очень большой недостаток. Они отнюдь не были “звездной командой” и что еще хуже – не использовали аппаратную часть PC на полную мощность. Это означало что многие программы для полного использования аппаратных возможностей обращались к устройствам напрямую, минуя DOS.

Рассвет IBM PC.
Но невзирая на все свои недостатки в 1980 году IBM PC стал популярным инструментом. Аппаратный и программный рынки росли с невиданной скоростью. Казалось бы все было прекрасно — но пользователи PC были недовольны. Основыне причины тому были следущие:

Различные программы либо никак не взаимодействовали друг с другом, либо взаимодействие лежало на примитивном уровне.

Пользователь не мог делать несколько задач одновременно. Как некое подобие многозадачности были придуманы резидентные программы.

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

Архитектура DOS имела серьезные ограничения при работе с памятью. “640Kb будет достаточно для каждого” — выражение Билла Гейтса в 1981 году. Возможно это и было правдой в 1981, но никак не в 1984. Естественно, как только нехватка памяти стала очевидной, были придуманы различные способы обойти “проблему 640”, но все они никак не могли считаться решением.

Некоторые из существовавших проблем могли быть решены программно с помощью лучше спроектированной операционной системы. Но другие требовали аппаратной поддержки для того чтоб решение было эффективным или в принципе реализуемым. И эта поддержка была реализована в 1984 году под названием IBM AT (Advanced Technology). AT дествительно сильно продвинулась по сравнению со своими предшественниками – PC и XT. И помимо огромной массы различных усовершенствований самым заметным (и важным) было применение нового центрального процессора – Intel 80286. Хотя 80286 был 16-ти разрядным как и его прародители однако он имел одну очень важную особенность: защищенный режим работы (protected mode). 8086 имел только один режим который позже назовут real mode (видимо в связи с тем что в отличии от защищенного режима все адреса памяти соответствовали физическим адресам). После инициализации 286 работал в реальном режиме практически полностью совместимом с 8086 отличаясь лишь большей скоростью и расширенным набором инструкций. В этом режиме 286 мог как и 8086 адресовать (обращаться к) 1Мб памяти (на самом деле 1Мб + 64Кб – но в данном случае это неактуально). В защищенном режиме 286-й мог адресовать 16Мб памяти. Это было очень много учитывая что PC с 16Мб памяти стали стандартом де-факто лишь более чем 10 лет спустя. Но еще большим плюсом было то что защищенный режим был действительно защищенным. Это означало что доступ к памяти не был “свободным для всех” — вместо этого существовало 4 уровня (или кольца) защиты и менее привелигерованный процесс не мог нанести повреждения блокам памяти принадлежащим более привелигированным компонентам. Таким образом пользовательские программы не могли намеренно или случайно перезаписать к примеру код операционной системы. Дополнительно приложения были защищены друг от друга. Точно так же некоторые инструкции процессора были теперь ограничены и могли быть выполнены только кодом с достаточными правами – такими как ядро операционной системы или драйвер устройства. При попытке нарушить защиту возникала исключительная ситуация перехватываемая операционной системой которая обычно прекращала работу “провинившегося” приложения. Все проверки защиты выполнялись на аппаратном уровне с минимальными накладными расходами для операционной системы.

Как IBM так и Microsoft полностью осознавали проблемы вызываемые работой DOS в реальном режиме и работали над их решением. Двумя наиболее заметными продуктами которые в итоге появились стали IBM TopView и Microsoft Windows. TopView была текстовой многозадачной оболочкой для DOS и в сущности идейным прародителем позднейшей намного более успешной оболочки DesqView производства компании Quarterdeck. Microsoft Windows являлась графическим многозадачным окружением работавшим поверх DOS. Впервые анонсированная в 1983 версия 1.0 появилась в 1985. Она была более чем плохой и вполне заслуженно не приобрела сколько-нибудь широкой популярности. Это была попытка Microsoft сделать PC более похожим на компьютеры Macintosh фирмы Apple работавшими под управлением операционной системы MacOS с весьма развитым графическим интерфейсом пользователя. Версия Windows 2.0 вышла в 1987 и была немного лучше (и очень походила внешним видом на OS/2 1.1).

Взросление.
В это же время Microsoft работала над полностью новой операционной системой рассчитаной заменить DOS. В январе 1983-го года началась разработка новой многозадачной MS-DOS системы. Название проекта изменялось несчетное количество раз. В августе 1985 IBM присоединяется к проекту и фирмы подписывают соглашение о совместной разработке дающее обеим компаниям право на продажу конечного продукта. Немного погодя проект перименовывается в CP/DOS – от Control Program/DOS. Но, даже это был не финал процесса выбора имени еще нерожденного ребенка. Незадолго до выпуска продукт переименовывается в OS/2 – видимо для соответствия новой линейке персональных компьютеров IBM под названием PS/2 (Personal System/2).

Интересно то, что OS/2 1.0 не были реализованы очень многие планируемые особенности и самым заметным было отсутствие графического интерфейса пользователя Presentation Manager (кодовое имя Winthorn).

И все же 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Мб оперативной памяти.

Одной из самых неприятных помех для разработчиков было то что они столкнулись с необходимостью поддержки DOS. Ни одна из проблем не являлась непреодолимой, но их комбинация была убийственной. IBM и Microsoft расплачивались за непродуманные решения принятые при разработке DOS в 1981 году. К тому же огромная популярность DOS произвела эффект бумеранга – разработчики вынуждены были поддерживать DOS приложения в OS/2 чтобы иметь хоть какие-то шансы на завоевание рынка.

В конце-концов разработчики OS/2 нашли решение как исполнять DOS в защищенном режиме хотя в процессе поиска решения и столкнулись с огромным количеством проблем. Окончательный выход выглядел следующим образом: имелась одна-единственная полноэкранная сессия DOS которая не могла выполняться в фоновом режиме (с другой стороны приложения OS/2 работали в фоне при активном сеансе DOS). Реализация подобного подхода требовала частого переключения между защищенным и реальным режимами (при активной DOS задаче). Это в свою очередь повлекло за собой огромное количество усилий по сохранению производительности на приемлимом уровне. Одним из примеров дополнительных ухищрений были драйвера устройств самой OS/2 – они должны были поддерживать работу как в защищенном так и в реальном режиме для уменьшения количества переключений.

Код DOS применяемый в OS/2 базировался на коде MS-DOS/PC-DOS, но с многочисленными модификациями. Так, к примеру, код обеспечивавший работу с файловой системой работал только в защищенном режиме. Иными словами при обращении к файлу вся операционная система переключалась в защищенный режим. Впрочем впоследствии такой подход оказался большим плюсом – когда были релизованы инсталлируемые файловые системы оказалось что DOS сессия OS/2 не имеет никаких проблем с доступом к (например) файловой системе HPFS.

Весь же защищенный код был написан “с нуля” со всеми теми приятными особенностями которые были описаны ранее. Ядро и системные библиотеки в основном были написаны на ассемблере по следующим двум причинам:

• Производительность – OS/2 должна была работать на IBM AT с 6Мгц процессором.
• Ограничения по памяти – OS/2 должна была работать при наличии только 1Мб ОЗУ.

В новой операционной системе было особенно не на что посмотреть – интерфейс было исключительно текстовым (обещанный Presentation Manager был все еще в стадии разработки) и внешний вид весьма походил на DOS. Но после нажатия Ctrl+ESC появлялся Program Selector – утилита позволявшая запускать новые задачи и переключаться между существующими. Теоретически существовало 16 сессий, но поскольку сама OS/2 занимала часть из них пользователь имел доступ к 12 сессиям.


Рабочее пространство пользователя OS/2 1.0

С точки зрения пользователя OS/2 1.0 имела несколько существенных недостатков. Некоторые были исправлены в более поздних версиях серии 1.x, на исправление других понадобилось куда больше времени:

• Максимальный размер раздела 32Мб. Хотя возможно в 1987 году это было и не критично. OS/2 1.1 превысила это ограничение (хотя и базировалась на FAT), а OS/2 1.2 поставлялась уже с HPFS.
• Отсутствовала поддержка двойной загрузки (dual boot) или менеджера загрузки (Boot Manager). Dual Boot появился в версии 1.1, Boot Manager был реализован в версии 2.0
• Не было возможности обойти обработку файла CONFIG.SYS. Это было напастью всех версий серии 1.x. В сочетании с отсутствием Boot Manager-а это означало что если система не могла загрузиться (например, некорректный драйвер), то единственным шансом спасти ситауацию (и данные) была загрузочная дискета. Окончательно проблема была решена только в OS/2 Warp.
• Полное отсутствие механизма замены находящихся в использовании динамических библиотек (DLL). Это сделало установку исправлений системных DLL (таких как драйвера Presentation Manager) более чем затрундительным занятием. В OS/2 2.x ситуация разрешилась с помощью недокументированых вызовов API.

На рынке операционных систем OS/2 пребывала в состоянии безнадежной битвы за широкое распространение. Ее признанию мешало несколько факторов:

• OS/2 считалась требовательной к ресурсам (рекомендовалась AT с 2Мб ОЗУ хотя для работы было достаточно одного мегабайта).
• Совместимость с DOS на самом деле была далеко не на выском уровне. С другой стороны само наличие поддержки DOS было маленьким чудом поскольку препятствий этому было неисчислимое множество.
• Непомерно высокие цены. Возможно, маркетологи IBM и Microsoft имели какие-то свои особые соображения, но продажа набора разработчика (SDK – software development kit) за тысячи долларов отнюдь не помогала росту популярности операционной системы (первая версия Microsoft SDK for OS/2 вышедшая в апреле 1987 стоила три тысячи долларов).
• Ложные представления о новом продукте. Возможно самый большой ложный миф заключался в том, что OS/2 могла работать только на оборудовании IBM. Дела обстояли абсолютно иначе — даже версии OS/2 продаваемые самой IBM поддерживали оборудование сторонних производителей.

Резюмируя можно сказать что OS/2 1.0 не достигла абсолютного успеха (иначе сегодня большинство компьютеров работало бы под управлением OS/2), но и не стала оглушительным провалом. OS/2 внесла большое количество новых (и по большей части хороших) концепций в мир PC. Также OS/2 1.x выстроила солидный фундамент для OS/2 2.x которая в свою очередь была большим шагом в истории PC. Большинство концепций впервые появившихся в OS/2 1.x доказали свою обоснованность и не претерпели существенных изменений в последующих релизах. Программисты IBM и Microsoft без сомнения не заслуживают ничего, кроме уважения за проделанную работу.

OS/2 1.1 – Ранние годы.
Следующим релизом OS/2 стала вресия 1.1. Единственной причиной, по которой версию пронумеровали не как 2.0, вероятно было то, что графический интерфейс пользователя (GUI – Graphical User Interface) был обещан в версии 1.0, но не был закончен вовремя. Как забавный факт следует отметить, что Windows 1.0 разрабатывалась как Interface Manager и приобрела новое имя благодаря менеджерам игравших с именами не взирая на протесты программистов.

Presentation Manager имел кодовое имя Winthorn и практически полностью был написан в отделении IBM Hursley Labs. Программирование для PM было весьма схоже с программированием под Windows, однако, имелись и отличия:

• Прежде всего самое заметное было в различии координатных систем. В то время как координаты 0,0 в Windows были привязаны к верхнему левому углу экрана (что логично для знающего, как работает аппаратная реализация графики на архитектуре PC) в PM координаты 0,0 были привязаны к нижнему левому углу экрана (что логично для того, кто знает как работает координатная система в математике или физике).
• В Windows все графические операции передавались в так называемому Device Context. PM также использовал DC, но дополнительно имел еще один уровень абстракции называвшийся Presentation Space, что предоставляло большую гибкость.
• OS/2 имела гораздо более мощные функции рисования в своем графическом программном интерфейсе (Graphics Programming Interface, GPI) — наследие мейнфреймов. Некоторые из концепций GPI позднее были перенесены в Windows NT (но не в Windows 95).
• Общая программная модель в OS/2 была намного проще и не выглядела как набор “быстрых и грязных исправлений” (quick and dirty hack) что справедливо по отношению к программной модели Windows.

Помимо появления GUI другие изменения включали полную реализацию именованных каналов, которой не было в OS/2 1.0. Также была добавлена поддержка “больших” томов FAT (BigFAT). Теоретически поддерживались тома размеров до 2Гб, хотя практический лимит был несколько ниже.

После запуска OS/2 1.1 встречала пользователя следующим экраном:


Долгожданный GUI.

Достаточно странным фактом было то, что OS/2 1.1 не имела нормального текстового редактора с GUI интерфейсом – даже такого, как notepad в Windows. Вместо него было текстовое приложение E.exe, запускаемое из командной строки.

В любом случае, OS/2 1.1 была технически очень интересной и занимательной программой. Она обладала намного большими возможностями чем любая операционная система для персональных компьютеров в то время. Windows и MacOS даже в перспективе не имели того, что было в OS/2 – ни вытесняющей многозадачности, ни многопотоковости, ни виртуальной памяти.

Естественно, что системе были присущи и недостатки. Хотя и поддерживалось большинство тогдашних стандартов для вывода графики (CGA, EGA, VGA) но поддержка других была весьма слабая, если вообще существовала. Поддержка принтеров была чисто номинальная – несколько принтеров и плоттеров производства IBM и все.

Под OS/2 существовали различные приложения – в том числе такие как Microsoft Word, Lotus 1-2-3 и QuattroPro. Однако все они были текстовыми за исключением Microsoft Excel 2.2.

OS/2 1.2 – Развитие.
В конце 1989 Microsoft и IBM выпускают версию OS/2 1.2 – очень важное событие во всей истории OS/2 поскольку именно в версии 1.2 были реализованы практически все возможности обещаные в OS/2 еще до ее появления. В OS/2 1.2 разработчики наконец отказались от файловой системы FAT и реализовали инсталлируемые файловые системы (Installable File System, IFS) и высокопроизводительную файловую систему HPFS (High Perfomance File System).

HPFS была разработана “с нуля” Гордоном Литвином (Gordon Letwin) — ведущим разработчиком OS/2 в Microsoft. Новая файловая система весьма превосходила FAT, а также снимала множество ограничений:
• Отсутствовал печально известный лимит “8.3” на имена файлов – 8 символов на имя и 3 на расширение. Имена файлов могли быть длиной до 255 символов и допускали значительно больший диапазон допустимых к использованию символов – в частности пробел.
• Поддержка расширенных аттрибутов (Extended Attributes, EA). Каждый файл или директория могли иметь до 64Кб EA связанных с ним – там могла храниться любая информация – иконки, описания, информация для программы-каталогизатора и так далее.
• Поддержка больших дисков. FAT поддерживала разделы до 2Гб размером. HPFS поддерживала тома до 64Гб и была ограничена на то время лишь драйверами жестких дисков.
• Устойчивость к фрагментации. В то время как разделы FAT требовали регулярной дефрагментации для предотвращения иногда ощутимых потерь в производительности, HPFS пыталась использовать для файлов непрерывные фрагменты, сохраняя фрагментацию на минимальном уровне.
• Уменьшение потерь дискового пространства. Наибольший FAT диск в 2Гб размером использовал для хранения данных элементы размером 64Кб, чем вызывались большие потери дискового места (иногда до 50%). HPFS использовала сектора размером 512 байт таким образом резко уменьшая потери.
• Высокая отказоустойчивость. Если таблица FAT на дисковом разделе разрушалась в результате инцидента вся остальная информация на диске превращалась в гору бесполезного мусора поскольку вся информация о размещении файлов была сконцентрирована в FAT. HPFS дублировала часть информации и хранила структуру диска связно в обеих направлениях (от каталога к подкаталогу или файлу и наоборот). В результате, повреждения одной области не оказывали никакого влияния на весь остальной раздел. К примеру, не смотря на повреждение сектора с директорией – все файлы в ней оставались доступны.

Существовало две версии HPFS — “чистая” HPFS и HPFS386. Последняя, используемая в Microsoft LAN Manager (и IBM LAN Server) была более производительной, допускала значительно увеличенные размеры кэша и имела несколько расширений необходимых для серверов – к примеру встроенную систему разграничения доступа ( Access Control List, ACL) и систему ограничения директорий. В общем судьба HPFS оказалась весьма успешной – она практически в неизменном виде перешла в OS/2 2.0, и с некоторыми вариациями была использована в Windows NT под именем NTFS. Подобная история произошла с файловой системой UFS операционной среды SunOS 4.x. После революционного перехода на полностью новую ветку unix фирма Sun, имея богатый положительный опыт, без больших изменений оставила UFS в своей новой ОС. Это наглядный пример того, что удачные решения предшественников остаются в силе.

OS/2 GUI также получил новый внешний вид, весьма схожий с вышедшей через несколько месяцев Windows 3.0


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

Наиболее значимым различием между OS/2 1.2 и Windows 3.0 было то, что Windows не была операционной системой как таковой и исполнялась поверх MS-DOS (и даже могла быть запущена в DOS сессии OS/2). Также Windows содержала больше различных приложений (по большей части бесполезных, ну может быть за исключением Solitaire). OS/2 была более бизнес-ориентированной и при сравнении имела несколько спартанской вид. Отчасти это послужило тому, что Windows получила большее распространение среди конечных пользователей.

OS/2 1.3 – последняя из 16-битных ОС.
После исторического разрыва совместной разработки OS/2, вызванного нежеланием Microsoft делить прибыль от продаж оперционной системы с IBM, основной процесс по модернизации OS/2 происходил в IBM (хотя Microsoft и полностью сконцентрировалась на Windows некоторые вынужденные изменения в систему все же вносились). Версия 1.3 была практически идентична 1.2 по предоставляемым возможностям, но включала многочисленные улучшения производительности и удобстве использования.

Наконец во всех редакциях OS/2 присутствовал язык программирования REXX разработанный Майком Коулишоу (Mike Cowlishow) из IBM UK.

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

И все эти задачи были успешно решены. Таким образом операционная система получила мощный и гибкий инструмент, сравнимый с различными языками написания скриптов в UNIX подобных системах. Это несомненно являлось очень большим преимуществом, особенно в сравнении с более чем скромным набором возможностей которые предлагались при написании пакетных файлов в DOS и ранних версиях OS/2.

OS/2 2.0 – 32-х битная революция.
Пока в 1988 году IBM и Microsoft усердно трудились над OS/2 1.2 в IBM началась работа по разработке кардинально переработанной операционной системы. Итак, хотя версию 1.3 IBM совершенствовала исключительно своими силами, в тоже время под руководством ведущего разработчика Майкла Когана (Michael S. Kogan) уже полным ходом шли работы над версией 2.0. В марте 1992 операционная система была полностью готова и выпущена на рынок под названием OS/2 2.0 GA (General Availability – публично доступная). Приставка GA появилась не случайно. В это время шли яростные “словесные войны” между IBM и Microsoft и в одной из перепалок вице-президент Microsoft Стив Балмер пообещал публично съесть флоппи-диск если IBM умудрится выпустить OS/2 2.0 до конца 1991 года. Поскольку зрелище обещало быть достаточно интересным в ноябре 1991 была выпущена ограниченным тиражом OS/2 2.0 LA (Limited Availability – ограниченно доступная). К сожалению, господин Балмер не сдержал своего слова и OS/2 2.0 LA пришлось использовать как простую beta версию, каковой она в сущности и являлась.

Самым большим плюсом в OS/2 2.0 была сама система. Переход на 32-х разрядную архитектуру снял множество ограничений существовавших в DOS и OS/2 1.x – в первую очередь по работе с памятью. Вместе с тем система не была “полностью” 32-х разрядной – многие части оставались 16-ти разрядными – в первую очередь по соображениям совместимости и экономии времени. Для ускорения разработки, к примеру, драйвера графической подсистемы (драйвера видеокарт и принтеров для Presentation Manager) в OS/2 2.0 были 16-ти разрядными и были заменены 32-х битными версиями только в OS/2 2.1. Требованиями совместимости диктовалось использование 16-ти разрядных драйверов физических устройств (Physical Device Driver, PDD) совместимых с OS/2 1.3. Аналогичным образом многие фрагменты ядра были 16-ти битными для обеспечения поддержки приложений написанных для OS/2 1.x. Основные же элементы системы были полностью новыми и 32-х разрядными – к примеру поддержка множества виртуальных DOS машин (Multuply Virtual DOS Machine, MVDM) и менеджер памяти с поддержкой пейджинга. Более того основная часть кода была написана на C, а не на ассемблере как в OS/2 1.x.

Вторым существенным моментом стал новый интерфейс пользователя под названием Workplace Shell (или WPS для краткости) являвшийся радикальным уходом от концепций заложенных в GUI OS/1.x и Windows. Новый интерфейс был объектно-ориентированным и в нем все стало объектом – диск, принтер, программа и так далее. Манипуляции с объектами проводились с помощью drag-n-drop – перемещение, копирование, печать и уничтожение. В WPS широко использовалась правая кнопка мыши – для открытия контекстных меню и выполнения операций по перетаскиванию объектов.


Workplace Shell OS/2 2.0

Для оперционной системы OS/2 2.0 была зарегистрирована торговая марка “Интегрирующая платформа” (The Integrating Platform). Это название напрямую намекало на уникальную возможность OS/2 2.0 исполнять существующие DOS, Windows и OS/2 1.x приложения одновременно с новыми 32-х разрядными родными приложениями. В отличии от OS/2 1.x в версии 2.0 поддержка DOS была превосходной. Система полностью использовала появившийся в 386 и последующих процессорах виртуальный 8086 режим (Virtual 8086 mode). Злые языки компьютерного мира одно время утверждали, что этот режим был реализован в 386-м процессоре шокированными инженерами Intel – слухи о мучениях при программировании поддержки в OS/2 1.x действительно распространились весьма широко и облегчение страданий программистов на аппаратном уровне было поистине обычным состраданием. Кроме того, что пользователь теперь мог запускать не только несколько полноэкранных и оконных сессий DOS появилась возможность создавать “специальные” DOS сессии в которых использовалась не встроенная поддержка DOS, а предоставлялась возможность запустить DOS 4.0, DOS 5.0, DR-DOS и так далее.

Поддержка Windows приложений логическим образом вытекала из поддержки DOS. Полноэкранная Win-OS/2 сессия просто исполняла Windows 3.0 в рамках виртуальной DOS машины. Оконные сессии Win-OS/2 требовали более нетривиального подхода в связи с тем, что им было необходимо взаимодействовать с PM/WPS приложениями. Выход из ситуации был реализован написанием специальной версии экранного драйвера для Win-OS/2. Такой подход, хотя и обеспечил хорошую производительность, но имел существенный недостаток – это сделало процесс написания драйверов видокарт для OS/2 намного более сложным и дорогим занятием и было одной из причин малого количества драйверов для OS/2. Производителю приходилось помимо создания видеодрайвера для OS/2 дополнительно предоставлять специфическую OS/2 версию драйвера для Windows. Более логичным было бы написание “транслирующего” драйвера преобразовывавшего вызовы функций Win-OS/2 в вызовы PM – тогда от производителя требовалось бы написание только OS/2 версии видеодрайвера.
На первых порах OS/2 2.0 столкнулась с той же проблемой что и OS/2 1.x до нее – недостатком родных приложений. Система прекрасно справлялась с запуском DOS, Windows и OS/2 1.x приложений, но на первых порах ощущалась нехватка родных 32 разрядных программ.

OS/2 2.1, 2.11, 2.11 SMP – Надежная платформа, эпоха зрелости.
Выпуск версии OS/2 2.1 в мае 1993 года явился следствием эволюционного развития версии 2.0. Внешний вид не претерпел существенных изменений, разработчики продолжали трудиться над “внутренностями” системы. Из видимых конечному пользователю изменений стоит отметить смену версии Win-OS/2 с 3.0 на 3.1 и появление нового компонента под названием Multimedia Presentation Manager/2 (MMPM/2) добавившего в графический интерфейс пользователя различные мультимедийные возможности – звуковые схемы, воспроизведение мультимедийных файлов и тому подобное.

В ноябре 1993 выходит специальная версия OS/2 for Windows не содержащая кода Win-OS/2 а использующая уже установленную на компьютере копию Windows 3.x. Таким образом снижалась цена конечного продукта (IBM платила лицензионные отчисления Microsoft за использование кода Windows в Win-OS/2). Вместе с тем эта версия продемонстрировала ситуацию на рынке. Используя свое монопольное положение Microsoft с помощью манипуляций в сфере ценовой политики держала производителей клонов PC под жестким контролем, запрещая им предустанавливать на продаваемые компьютеры операционные системы отличные от DOS/Windows собственного производства. Позже такая политика была признана незаконной, но OS/2 это уже не помогло. Выпустив OS/2 for Windows фирма IBM пыталась разрешить проблему без нарушения OEM соглашений производителей компьютеров с Microsoft.

Несмотря на жесткий прессинг со стороны Microsoft времена OS/2 2.1 и 2.11 были отмечены ростом количества приложений написанных специально для OS/2. IBM достигла соглашения с несколькими крупными производителями программного обеспечения о разработке OS/2 версий их приложений. В число таких компаний входили Borland, Lotus, Novell и тогда еще самостоятельная WordPerfect. IBM в некоторых случаях даже субсидировала отдельные разработки. В то же время Microsoft проявляла не меньшую активность, однако не заключая договора или оплачивая разработку, а напротив шантажируя разработчиков ПО угрозами закрыть доступ к бета версиям и информации о Windows, если они будут разрабатывать свои продукты под отличные от Windows платформы.

OS/2 Warp. Золотая эра.
В октябре 1994 выходит OS/2 Warp – самая популярная и самая распространенная версия OS/2. Внутренне система незначительно отличалась от OS/2 2.11 за исключением расширенной поддержки оборудования и исправлением ошибок – хороший пример того, что грамотно спроектированный и продуманный продукт не нуждается в лихорадочном переписывании многих элементов кода. Наиболее серьезные изменения касались исключительно улучшению простоты использования конечным пользователем.


Развитие GUI интерфейса без отрыва от удобства использования.

Новые изменения и улучшения включали в себя:
• OS/2 Warp поддерживала новый улучшенный формат исп

Дистрибутив операционной системы — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 10 января 2016; проверки требуют 5 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 10 января 2016; проверки требуют 5 правок.

Дистрибути́в операцио́нной систе́мы — это форма распространения системного программного обеспечения. Наличие дистрибутивов вызвано тем, что форма программного обеспечения, используемая для его распространения, почти никогда не совпадает с формой программного обеспечения работающей системы, за исключением использования Live CD.

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

Программа установки позволяет также произвести первичную настройку системы.

Характеристики дистрибутивов:

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

Примеры наиболее известных дистрибутивов Unix-подобных и Unix-систем[править | править код]

Дистрибутивы Linux[править | править код]

См. также Список дистрибутивов Linux

Среди наиболее известных Linux дистрибутивов и их семейств можно упомянуть (в порядке их появления):

Системы *BSD[править | править код]

BSD — это акроним от Berkley Software Distribution.

Дистрибутивы OpenSolaris[править | править код]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *