LXF164:Darwin:Вид происхождения
Darwin – это не тот, который выдумал теорию эволюции, а тот, на котором основана проприетарная Mac OS X. Читатели, возможно, удивятся: с чего это LXF рассказывает о проприетарной ОС? Загвоздка тут в том, что Darwin как раз-таки свободная и открытая ОС – причем в полном соответствии со смыслом, вкладываемым в эти слова FSF и OSI.
Ιστορία
Полагаю, что историю Darwin надо начать с ухода Стива Джобса из Apple. Мы не можем знать точно, из-за чего он ушел, но итогом стало то, что он переманил в новую фирму некоего Ави Теваняна [Avie Tevanian], который работал над микроядром Mach и был одним из его основных разработчиков (концепция Mach разработана в Университете Карнеги-Меллона). Переманил его Джобс, конечно, не просто так, а для разработки ОС, которая в дальнейшем получит название NeXTStep.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ — последняя отрыжка постмодерна
- «Ричард III и семиотика»
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна — говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек «новой волны», столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР — перепубликация из журнала «Топос».
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое «Мужское Государство» и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм «Пипец» (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить — в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Для разработки новой ОС было решено использовать объектно-ориентированные технологии. Неведомо почему был выбран Objective-C, а не C++. Некоторые источники показывают, что C++ к моменту начала работы над NeXTStep еще не был создан, но они вступают в противоречие с другими источниками, поэтому можно предположить, что новоявленная компания просто выбрала тот язык, который старше и больше похож на C – основной язык разработки ОС того времени. NeXT Computers лицензировала Obj-C в 1988.
Язык этот на тот момент был довольно «продвинутым» – он, например, включал ООП (причем ООП реализовано через сообщения, как в SmallTalk, несколько непохоже на то, к чему мы привыкли сейчас), динамическую типизацию, а в современной версии еще и сбор мусора.
Ядро же NeXTStep было гибридным (несмотря на то, что некоторые источники называют данную ОС микроядерной, это не так) и написанным на чистом C. Разработчики взяли лучшие черты микроядра Mach, такие как модульную архитектуру и ядра BSD (скорость и сетевой стек).
Чарльз Дарвин: вокруг света
Рассматривать установку будем на примере VMWare Server 1.0 – у автора отсутствует процессор с виртуализацией, а без нее многие современные виртуальные машины работают очень медленно. Тип виртуальной машины – FreeBSD, жесткий диск IDE; указываем ISO-образ, загружаемся с него. поехали!
� Шаг 1 Выбираем жесткий диск для установки. С этим, думается, проблем не возникнет ни у кого.
� Шаг 2 Выбор типа разметки жесткого диска. Тут мы, как это ни странно, выбираем ручную, ибо автоматическая, сколько ни пытались, не хотела работать. Нас выбросит в fdisk. Набираем auto hfs (автоматическая разметка диска с одним разделом HFS+) и. скорее всего, получаем ошибку вида “malloc:*** Deallocation of a pointer not malloced. ”. Еще раз набираем auto hfs – теперь уже этого сообщения не будет. Записываем MBR командой w, затем выходим из fdisk – quit. Теперь нас попросят выбрать корневой раздел – честно говоря, непонятно, зачем надо вводить его целиком, когда можно было бы выбирать из имеющихся путем нажатия соответствующей цифры – но это уже вопрос к разработчикам программы установки. Забегая вперед, скажем, что это далеко не единственная ошибка в ней. Далее у нас попросят подтвердить: действительно ли мы хотим совершить «чистую» установку? Отвечаем – и снова вопрос: имя тома; здесь можно написать что угодно. После ответа, как водится, жмем . Оба-на! Пишет “error: nknown filesystem type”. Уходим на перезагрузку – заново с образа. Замечаем, что на первом этапе появился пункт 3 – “Use existing partition”. Его и выбираем. Опять попросят указать корневой раздел. После этого будет вопрос: какой тип файловой системы использовать? Вопрос этот выглядит, по меньшей мере, странным – есть же таблица разделов, оттуда и берите – но теперь хотя бы понятна причина перезагрузки: установочная программа (скрипт?) попыталась подмонтировать раздел без ФС, и, естественно, вылезла вышеуказанная ошибка. С нас снова спросят подтверждение и имя тома – если нам еще не надоело, отвечаем на них, и – ура! – началось копирование файлов. Это может занять несколько мин. ой. Журнал-то про *nix, зачем здесь повторять сообщение Windows? Но, как бы то ни было, это довольно длительный процесс, и во время него можно, к примеру, съесть пирожное.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ — последняя отрыжка постмодерна
- «Ричард III и семиотика»
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна — говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек «новой волны», столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР — перепубликация из журнала «Топос».
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое «Мужское Государство» и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм «Пипец» (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить — в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
� Шаг 3 Копирование завершено. Нас спросят пароль root (дважды – в этом смысле все нормально), потом спросят имя домена, а затем выбор из 3 пунктов: создать нового пользователя, перезагрузиться и оболочка. Ну, пользователя можно создать и потом, оболочка порождается глючная, поэтому выбираем пункт 2 – Reboot. Перезагружаемся. и судорожно вспоминаем, был ли вопрос про загрузчик. Выясняется, что не было. Да-да! Его надо ставить ручками.
� Шаг 4 Снова загружаемся с образа. Только теперь необходимо работать в оболочке, поэтому набираем shell.Вошли.Набираем первую команду –
fdisk -f /usr/standalone/i386/boot0 -u -y /dev/rdisk0
Что эта команда делает? Делает она следующее: ставит первую часть загрузчика в MBR (без таблицы разделов – опция -u) без запроса подтверждения – опция -y.
� Шаг 6 После этой команды даем команду
dd if=/usr/standalone/i386/boot1h of=/dev/rdisk0s1
для установки загрузочного сектора раздела HFS+.
� Шаг 7 Монтируем раздел –
mount_hfs /dev/disk0s1 /mnt
и копируем файл –
cp /usr/standalone/i386/boot /mnt/
(собственно, сам загрузчик). Отмонтируем – umount /mnt – и перезагрузиммся – shutdown -r now. Установка завершена.
Первое знакомство
Загрузка может пойти нормально, а может и зависнуть (“Still waiting for root device”) – мы не смогли выяснить, с чем это связано. Во втором случае следует перезагрузиться – иногда несколько раз. После успешной загрузки видим приглашение входа в систему и ошибки ненастроеного mDNSResponder. Переводим строку и входим как root. Для начала хотелось бы порекомендовать скомпилировать старый добрый MC – конечно, можно обойтись и без него, но с ним удобнее.
С компиляцией придется повозиться: необходимо мало того что скачать как собственно MC, так и все необходимые зависимости, но еще и передать их на виртуальную машину. А каким образом? Сеть-то не настроена. Единственный более-менее доступный путь – использовать ISO-образ.
После того, как создадим и подмонтируем образ диска (на всякий случай – порядок действий: в каталоге /Volumes создать папку cdrom, потом смонтировать диск командой mount_cd9660 /dev/disk1s0 /Volumes/cdrom. Естественно, образ уже должен быть подготовлен для использования в виртуальной машине. Специфика Darwin. ), необходимо скопировать все файлы в домашний каталог. Команда копирования стандартная; единственное, что надо отметить – Darwin странно отображает файлы на ISO9660, поэтому копировать лучше по маске, а разархивировать с использованием автодополнения по клавише , благо оно имеется.
Да! Перед началом компиляции выполните следующие команды:
– устанавливает минимальную версию ОС;
– тоже понятно, но для тех, кому непонятно – указывается путь, куда при компиляции будут складываться библиотеки.
Собственно компиляция зависимостей происходит долго и нудно – распаковка (tar xzvf имя_архива), переход в каталог, configure, make, make install, распаковка, переход в каталог. важно лишь, в каком порядке – а он следующий: pcre, pkg-config, gettext, slang и, наконец, glib.
Зависимости скомпилировались – переходим к собственно mc. Тут действуем почти так же – но configure необходимо выполнить с опцией —with-screen=slang. И после выполнения make install будет нам счастье – скомпилированный mc под Darwin
Но счастье редко бывает полным – по неизвестным причинам в текстовом режиме в ОС от Apple не работают функциональные клавиши. По слухам, они работают в графическом терминале – но компиляция X-сервера и какого-либо оконного менеджера выходит за рамки этой статьи. А что же делать с функциональными клавишами? Придется использовать фокус – вместо функциональных клавиш – mc позволяет использовать комбинацию + цифра от 1 до 0. Не самый удобный способ, да, но с этим ничего не поделаешь.
Пройдемся немного по дереву каталогов – оно, дерево, сильно отличается от привычного нам. И не стоит забывать, что Darwin – «десктопная ОС без десктопа», если можно так выразиться, поэтому некоторые элементы там присутствуют лишь как заглушки. Итак, зрим в корень. и вот какие каталоги мы там видим.
» Каталог /.Trashes как раз и является заглушкой – в Mac OS X он выполняет функцию корзины для суперпользователя.
» Каталог /.vol – загадочный каталог, где находится еще один (или более) каталог с цифровым именем. Но если посмотреть вывод команды mount, становится понятным, что к оному каталогу подмонтирована псевдофайловая система volfs, назначение которой из названия, впрочем, не становится менее загадочным. Данная файловая система предназначена для доступа к файлам не по имени, а по inode. Это было необходимо для стыковки POSIX и Carbon API, который ныне (2012 год) считается уже устаревшим, но в версии Mac OS X, основанной на описываемом в данном разделе Darwin 8.0.1, был вполне себе живым.
» /AppleInternal – содержит некоторые заголовочные файлы.
» /Applications – опять же, предназначен для OS X. Туда обычно устанавливаются несистемные приложения c GUI, разработанные специально для ОС от Apple. Интересно, что в Darwin присутствует одно такое приложение, хотя GUI там и в помине нет – соответственно, даже и пытаться его запустить не стоит.
» /Developer содержит документацию, примеры исходных кодов и шаблоны проектов модулей ядра и расширений ядра – разница между ними будет пояснена чуть позже.
» /Library содержит некоторые важные конфигурационные файлы – в частности, файл /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, необходимый для загрузчика, и некоторые логи.
» /Network – по всей видимости, служит для монтирования сетевых файловых систем.
» /System содержит подкаталог Library, ближайшим аналогом которого в Linux является /lib. В нем присутствуют фреймворки приложений, модули и расширения ядра, модули Perl.
» /Users содержит домашние каталоги пользователей и в этом смысле совершенно идентичен /home.
» /Volumes аналогичен /mnt и /media. Каталоги, созданные в нем пользователем, существуют до следующей перезагрузки – учтите это, когда будете в следующий раз монтировать компакт-диск.
» /bin, /dev, /sbin, /usr, /opt – объяснять не будем, и так все понятно. А вот каталоги /etc, /tmp и /var на самом деле являются символическими ссылками на соответствующие каталоги в /private.
Если уж заглянули в каталог /etc, давайте в файле profile исправим переменную PATH, добавив в число путей /usr/local/bin, и добавим переменные LIBDIR и MACOSX_DEPLOYMENT_TARGET (значения см. ранее) – на случай, если читателю захочется поупражняться в компиляции чего-либо POSIX-совместимого. В принципе, можно даже попытаться скомпилировать свежие версии ядра и базовых утилит, буде читатель окажется жестким извращенцем – автор этих строк не рискнул поставить подобный эксперимент.
Архитектурные особенности
Как и древние римляне, начнем с яйца – то есть с ядра. Ядро у ОС от Apple, как уже сказано, основано на микроядре Mach. Но «основано на микроядре» вовсе не означает, что архитектура микроядерная: архитектура гибридная, и условно состоит из трех слоев.
» В самом низу ядра лежит слой Mach, который отвечает за HAL (не стоит искать данного термина в документации, мы его используем для упрощения), управление процессорами, вытесняющую многозадачность, управление памятью, внутриядерный IPC, поддержку «мягкого» реального времени и, наконец, за отладку ядра – в качестве отладчика на отлаживающей машине используется GDB.
» Слой BSD лежит выше и включает реализацию процессов и сигналов, базовую модель безопасности, API POSIX, системные вызовы, поддержку сети и многое другое.
» Слой I/O Kit – это фреймворк, позволяющий разработчикам использовать ограниченный набор возможностей C++ для объектно-ориентированного программирования драйверов.
В принципе, эти слои не настолько четко разделены, поэтому некоторые могут еще что-то выделить, а некоторые, наоборот, предпочтут что-то убрать; но общая картина такова.
Xnu (так называется это ядро; расшифровывается же эта аббревиатура как. да-да, Xnu is not Unix – Столлмену впору обвинять Apple в плагиате) позволяет подключать к себе расширения – так называемые kernel extensions, в единственном числе kext. Расширения могут состоять из одного или более модулей ядра. Модуль ядра (Kmod) является минимальной единицей кода, которую можно загрузить в ядро.
В Darwin используется формат исполняемых файлов Mach-O и поддерживается технология, основанная на нем – мультиархитектурные исполняемые файлы. Отметим, что Apple применяла ее для переноса OS X с архитектуры PowerPC на Intel.
Теперь рассмотрим такие специфические особенности Darwin, как «пакеты [bundles]» и фреймворки (примечание: здесь и далее речь может пойти о вещах, которые не поддерживаются в версии Darwin 8.0.1 – сия версия 2005 года, а сейчас уже, почитай, 2012 заканчивается скоро). «Пакетом» в данном контексте называется набор связанных ресурсов, в число которых могут входить исполняемые файлы, изображения, аудио, заголовочные файлы и даже другие пакеты. Ясное дело, что такой «пакет» – понятие абстрактное, а посему приведем конкретный пример – фреймворк. Фреймворк – набор, состоящий из одной или более динамических библиотек с заголовочными файлами, документацией, локализацией и сопутствующими программами для облегчения работы. Давайте рассмотрим некоторые фреймворки, входящие в состав ОС от Apple.
Уже упоминавшийся ранее I/O Kit – фреймворк, состояший из двух частей: режима пользователя и режима ядра. Часть пользовательского режима отвечает за простой доступ к оборудованию из приложений, а часть режима ядра – за базовую иерархию классов и поддержку C++. Мы уже отмечали, что C++ в I/O Kit несколько ограничен. Заключается это в отсутствии таких вещей, как шаблоны, исключения, RTTI и множественнное наследование. Тем не менее, это нисколько не мешает разработчикам писать драйверы.
CoreFoundation – фреймворк, обеспечивающий базовые возможности для программ, написанных на Objective-C, такие как разбор XML-файлов, доступ к ресурсам через URL, управление списками свойств и многие другие.
Для облегчения работы с сетью предназначен фреймворк CFNetwork. Он делает удобной работу с сокетами, создание SSL/TLS-соединений, разрешение имен. Разработчик желает работать с HTTP или FTP? Никаких проблем – за это также отвечает данный фреймворк.
Нельзя не упомянуть и о файловой системе HFS+. Особенностями она по современным меркам не отличается (разве что поддержка любых символов Юникода в имени файла, за исключением символа NUL), но все же перечислим ее возможности. Это журналирование, B-деревья для эффективного поиска файлов, прозрачное сжатие.
А как обстоят дела с безопасностью? О, с безопасностью все хорошо, не сомневайтесь! Вот некоторые возможности и технологии, так или иначе относящиеся к ней:
» ASLR Технология, размещающая в ОЗУ некоторые критично важные системные данные случайным образом. Это серьезно осложняет эксплуатацию ряда атак, требующих знания их расположения.
» NX-бит Запрещает выполнение кода в стеке и в куче.
» Права доступа Стандартная модель Unix.
» ACL Расширенная система прав доступа; позволяет индивидуально для каждого пользователя назначать права доступа к файлам.
» Kauth Мандатная система контроля доступа; аналогична SELinux.
» Шифрование раздела подкачки.
» IPSec Его реализацию, как, впрочем, и в Linux,стащили из FreeBSD.
» Подписывание исполняемых файлов Возможно теоретически.
Необъятное объять нельзя – nemo omnia potest scire – но автор и не ставил такой цели, он ставил цель заинтересовать читателя. Хотелось бы надеяться, что у него это получилось.
Итоги
Впечатление о данной ОС сложились неоднозначные: с одной стороны, интересно посмотреть на внутренности коммерческой ОС от Apple, а с другой. Darwin явно не является системой для настольного использования. Предпринимались попытки создать дистрибутив на основе этой ОС, но особого успеха они не получили. Может быть, выйдет у кого-нибудь из наших читателей. |
Пакеты, необходимые для компиляции MC версии 4.6.1:
Update Подробнее о новом iPhone и Картах в iOS 6 [Update]
В закладки
9to5Mac «скормили» своим читателям новую порцию проверенных ими, но никем больше не проверенных данных о новом iPhone. iOS 6? Появился ещё один размытый снимок, только и всего.
Самое главное — это версия ядра операционной системы смартфона:
Darwin Kernel Version 13.0.0: XXX May XX XX:XX:XX PDT 2012; root:xnu-21XX.X.XXX/DEVELOPMENT_ARM_S5L8950X
В конце строки содержится идентификатор процессора: ARM S5L8950X. Внимание на последние три символа: 50X. Apple A5 в iPhone 4S и iPad 2 обозначается как 40X, а A5X из нового iPad — как 45X. Другими словами, iPhone 2012 года, скорее всего, будет оснащён ещё более производительным чипом. Как его назовут — непонятно. Судя по внутренним документам, Apple намеревается оставить префикс «A5».
Улучшится и графика: видеоподсистема (по-прежнему монтированная на одном кристалле с процессором) обозначена как SGX543RCx, где x — это дополнительный идентификационный символ. Про характеристики ничего не известно, поскольку «технически» чип ещё не существует.
Если вернуться к версии ядра, то можно сравнить её с аналогом в последней сборке OS X Mountain Lion:
Darwin Kernel Version 12.0.0: Tue May 8 17:30:17 PDT 2012; root:xnu-2050.5.8~1/RELEASE_X86_64 x86_64
Там число 13, тогда как здесь — 12. В некотором смысле iOS 6 новее, чем Mountain Lion.
С оперативной памятью всё просто: ждём 1 гигабайт. Его хватает в новом iPad — хватит и в новом iPhone.
9to5Mac отмечают, что тестовый образец, к которому имеет доступ их связной, содержит LTE-чип Qualcomm из того же iPad. Это странно, поскольку для iPhone Qualcomm готовит специальную версию аппаратного модема с низким энергопотреблением. Впрочем, указанный образец явно не финальный, т.к. его даже от сети отключать нельзя.
С учётом вышесказанного давайте ещё раз распишем предполагаемые технические характеристики iPhone (номер модели — N41AP, iPhone5,1):
- Дисплей: 4 дюйма, 1136 x 640
- Процессор: ARM S5L8950X
- Графика: PowerVR SGX543RCx
- RAM: 1 Гб
По поводу даты выхода есть свежая информация, дескать, работа над смартфоном идёт стахановскими темпами и Apple может успеть закончить (читай — выпустить) его до октября. Не быть iPhone 4S флагманом ровно год, ох, не быть.
На сегодняшний день это все данные о новом iPhone. Обратимся к Картам, и, в частности, к кнопке активации трёхмерного режима:
Это новый снимок, а вот старый, от BGR:
Обескуражены? Просто клавишу «3D», как мы и говорили ранее, разместят поверх интерфейса только в версии для iPad, а на iPhone нужно будет ещё «отогнуть» угол карты. Защита от случайных нажатий, только и всего. [9to5mac]
Update. Деятели японского блога Macotakara сравнили переднюю панель предполагаемого устройства с iPhone 4S:
(Проголосуйте первым за статью!)
Хочешь больше? Подпишись на наш Telegram.
В закладки
9to5Mac «скормили» своим читателям новую порцию проверенных ими, но никем больше не проверенных данных о новом iPhone. iOS 6? Появился ещё один размытый снимок, только и всего. Самое главное — это версия ядра операционной системы смартфона: Darwin Kernel Version 13.0.0: XXX May XX XX:XX:XX PDT 2012; root:xnu-21XX.X.XXX/DEVELOPMENT_ARM_S5L8950X В конце строки содержится идентификатор процессора: ARM S5L8950X.
Юный ОС-Ризёчер №0x01
. но создатели GNU/Darwin с этим не согласны. Дарвин — это клон МакОС, точнее ядра Mach. Гнутый Дарвин стремится быть самым свободным дистрибутивом, основанным на ядре Darwin/Mach. Free Software Foundation и RMS объявили о награде в $3.14159 каждому, кто найдет проприетарный код. То ли они испугались, что Apple на них обидится, как SCO, то ли. и вот тут мысль останавливается.
На пятом небе от счастья!
16 сентября 2003 года стал переломным моментом в жизни всех фанатов SkyOS. Состоялось голосование, которое должно было решить: какой у этой операционки будет пользовательский интерфейс. Каждый разработчик сказал свое веское слово, в результате чего после всех подсчетов победителем был признан Wind UI. Это профессиональное, современное дизайнерское решение ознаменовало собой рассвет новой эры SkyGI 5.0. Вместо того, чтобы копировать Windows, MacOS или что-то еще, решено было действовать творчески и создать новую интерфейсную парадигму, предлагающую новые способы взаимодействия с компьютерами. Ровно через месяц стало известно, что все приложения, предназначенные для настройки графики, звука, тем рабочего стола, сети, устройств и всего остального, были переписаны. Теперь это куча DLL, доступных через единое приложение под названием System manager. Действительно, оригинально.
Аллергическая реакция на БГ
На публичное обозрение выставлен релиз ReactOS. Проект был на неделю заморожен в своем развитии с целью вычищения багов. Результат — версия 0.1.4 с улучшенными GUI и PnP, а также с зачатками OpenGL. Кроме того, изменения коснулись драйверов (мышки, скази) и поддержки сети (все еще неработоспособной, однако). ReactOS — это попытка создать NT-совместимую ГНУтую ОС. В режиме командной строки запускаются некоторые текстовые утилиты, Midnight Commander, а также GCC. Можно компилировать ReactOS под ним же самим, а ведь это уже немало :).
История проекта непроста и занимательна. Когда-то очень давно (году так эдак в 1996) несколько человек организовали группу FreeWin95, которая, как нетрудно догадаться из ее названия, должна была представить миру свободный клон самой великой (на тот момент времени) и ужасной (до сих пор содрогаюсь, вспоминая) операционки от мелкомягких. Как и многие другие амбициозные опенсорсные проекты, он безнадежно застрял еще на стадии разработки дизайна системы. Проще говоря — не было никакого результата, кроме бесконечных споров о том, что делать и кто виноват. Свободная Чикака так и осталась несбыточной мечтой (WINE не в счет — это эмулятор, а не ОС, что нисколько не умаляет его достоинств).
В конце 1997 года появился проект ReactOS, но ничего кроме названия у него не было. Координатором стал Джейсон Филби — запомните это имя! Возможно, когда-нибудь он, как и Линус Торвальдс, удостоится великой чести — его портрет будет использоваться в качестве мишени для игры в дартс в охвисе Билли Гатеса :). Первым делом он призвал всех участников сменить приоритеты — NT вместо 95, реальный код вместо пустопорожней болтовни. Полностью оправдывая свое название (react — реагировать), проект уже в феврале 1998 мог похвастаться первыми строчками исходников. На самом деле это имя символизирует реакцию OpenSource-сообщества на захват рынка операционных систем корпорацией М$, которая стала фактическим монополистом.
Пройдя долгий и трудный путь, ReactOS обладает довольно стабильным ядром и многими готовыми API, что должно многократно ускорить процесс разработки. Количество девелоперов постоянно растет, к тому же помогает взаимовыгодное сотрудничество с командой WINE (Windows Emulator). Возможно, когда-нибудь на ядре ReactOS будут построены подсистемы для работы с приложениями Java, OS/2, DOS, и даже какие-нибудь другие (интересно, какие? может быть, Лынукс?) но пока что об этом рано говорить. Как и о совместимости с более поздними версиями NT — 5.0 (Win2000) и 5.1 (WinXP), хотя несколько графических Win2K-приложений запускаются уже сейчас. В любом случае, желаю этой многообещающей ОС процветания и светлого будущего.
Пингвин на троне.
Какие операционные системы наиболее распространены? Нет, это не разномастные Винды (какое облегчение!) и не многочисленная армия Юникс-клонов (лялих, бздя и все-все-все. ), а внедряемые ОСи, под которыми крутяться мобильники, проигрыватели музыки\видео, а также холодильники, стиральные машины, чайники и прочая мелочь пузатая. Здесь уместно вспомнить QNX, VxWorks, Embedded Linux, WinCE, а также DOS, который в силу своей компактности часто используется в этом качестве. Но я расскажу про The Real-time Operating system Nucleus, более известный как TRON. Он должен был стать унифицированной открытой архитектурой, которая позволила бы заменить разнородные компьютерные системы на «общее компьютерное окружение». Началось все это в Японии, в далеком 1984 году.
Так уж исторически сложилось, что каждая японская заибацу писала свой собственный внедряемый код, что приводило к ненужному распылению средств, потерям времени (а значит, и денег), но главное — к появлению множества аналогичных, но несовместимых систем. Первой открытой спецификацией для архитектуры TRON стал Industrial TRON — стандартное ядро реального времени с открытыми исходниками, способное работать в любом внеядряемом окружении. Неудивительно, что практически все японские производители электроники приняли его в качестве фактического стандарта. Сейчас ITRON работает на трех миллиардах процессоров самых разных архитектур. Затем было создано еще несколько спецификаций, наиболее известные из которых — Business TRON (BTRON), обладающий многоязычным программируемым графическим интерфейсом, и Central TRON (CTRON) — дальний родственник Юникса.
В 1989 году одна из самых знаменитых японских заибацу — Мацусита-Котобуки Электроникс Индастриз Лимитед (более известная нам по торговой марке «Панасоник») представила BTRON PC, который имел просто ошеломляющие возможности. Он базировался на процессоре Intel 80286 c частотой 8МГц, комплектовался двумя метрами рамы, но при всем при этом был способен проигрывать (!) цветное (!!) видео (. ) в отдельном окне. Когда японское правительство пообещало поставить эти машинки в каждой школе, это понравилось всем, кроме американцев, которым всегда и везде чудится попрание их интересов. Может быть, они решили, что этот шаг станет вторым Пирл-Харбором, только экономическим, а не военным? Ведь уже тогда Аммер-Ка снимала почти все сливки с ИТ-рынка, что заметно хотя бы по количеству инсталляций MS-DOS на тот момент времени. Майкрософт была монополистом едва ли не с рождения. Кстати, BTRON PC изначально предполагал двойную загрузку: можно было делать выбор между прогрессивным БиТроном и убогой МС-ДОСей. Несмотря на это, американское правительство объявило инициативу японцев «фактическим и потенциальным захватом рынка» и пообещало устроить им Хиросиму с Нагасакой (в переносном смысле). Позже они отказались от своих слов, но было поздно: большинство компаний свернули все работы, имевшие отношение к проекту TRON.
Тем не менее, TRON выжил, и, судя по всему, будет жить долго и счастливо, доказательством чего могут служить миллионы устройств (гаджеты, бытовые приборы, автомобильная электроника, роботы и даже спутники), работающих на нем. В Китае его используют для автоматизации производства. Японский телекоммуникационный гигант NTT выбрал именно CTRON и сделал его стандартом де-факто для японской индустрии связи. Бонзы хай-тека оценивают ITRON как «номер один на рынках США и Японии». Создан T-Engine Forum, целью которого является создание стандартизированной среды разработки внедряемых приложений, основанных на ITRON. Поставщики проприетарных решений в дикой панике. во всяком случае, должны быть Все-таки участниками этого форума являются две с половиной сотни компаний, а это огромные ресурсы, причем не только финансовые.
Существуют ли другие открытые RTOS? Лично я могу назвать только RTLinux (Real-Time Linux) и Jaluna, работающую поверх того же линукса (создана бывшими разработчиками ChorusOS). Но линукс — это все же в первую очередь макроядро, предназначенное для обычных десктопов и серверов. Кто бы мог предположить еще несколько лет назад, что Линукс будут запихивать в часы или заставлять работать в реальном времени? Поэтому RTLinux переключается между задачами тысячи раз в секунду (ITRON — миллионы) и требует мегабайты памяти (ITRON — килобайты). Линуксоиды, которые стремятся заполнить абсолютно все рыночные ниши, напоминая мне Майкрософт (в хорошем смысле этого слова :), ведь этому у МС действительно можно и нужно учится), не могли пройти мимо ТРОНа.
В этом году разработчик внедряемых линукс-решений MontaVista Software начал совместно с T-Engine Forum работу над проектом T-Linux. Это будет расширение ядра TRON (точнее, его разновидности под названием T-Kernel), позволяющее выполнять программы для обоих ОС — ITRON и Linux. Доктор Кен Сакамура, профессор Токийского университета, председатель форума T-Engine, отец-основатель проекта TRON, а также его главный идеолог и вдохновитель, заявил: «мы довольны сотрудничеством с MontaVista Software с целью упрощения разработки внедряемых приложений, использующих возможности реального времени T-Kernel, позаимствовав такие достоинства Линукса, как богатая поддержка сети, открытость и соответствие стандартам».
Вы будете очень смеятся, но Майкрософт тоже присоединилась к T-Engine Forum с целью выработки спецификаций, позволяющих использовать единую аппаратную платформу для работы Windows CE и T-Kernel. Это, конечно, вовсе не означает сотрудничества с T-Linux. К сожалению. или к счастью? Я обязательно расскажу об этом, а также о многом другом в следующей своей статье про TRON. Вот, например, интересный вопрос: а на PC будет работать T-Linux?
unixforum.org
вот вопрос есть вроде как я понял самостоятельная ОС Darwin включающая NEXTSTEP и mach kernel если я правильно все понял.
возник вопрос можно ли поставить OC Darwin на x86 и будет ли ето легально и встанет маковсий софт на ето платформу ?
M$ Windows для пользователей и геймеров
MacosX для дизайнеров и музыкантов
Linux для программистов и хакеров
*BSD для серверов
Спасибо сказали:
diesel Бывший модератор Сообщения: 5989 ОС: OS X, openSuSE, ROSA, Debian Контактная информация:
Re: Darwin OS
Сообщение diesel » 03.05.2010 14:08
03.05.2010 13:34
вот вопрос есть вроде как я понял самостоятельная ОС Darwin включающая NEXTSTEP и mach kernel если я правильно все понял.
Darwin — это открытая POSIX-совместимая операционная система, выпущенная Apple Inc. в 2000 году. Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP, FreeBSD и прочих свободных проектов. Darwin представляет собой набор основных компонентов, используемых в Mac OS X и iPhone OS.