The QNX Operating System 🔥 Горячее
В 1980 году выпускники Университета Ватерлоо Гордон Белл и Дэн Додж основали Quantum Software Systems и начали разработку операционной системы QUNIX (позже переименованной в QNX). Их вдохновил опыт работы с Thoth — реальной ОС с синхронной передачей сообщений, написанной на высокоуровневых языках. Первая версия QUNIX 0.1 работала на самосборном компьютере с процессором Motorola 6809, а с появлением IBM PC в 1981 году они адаптировали систему под эту платформу.
QUNIX сочетала черты UNIX и CP/M: вместо стандартных каталогов вроде /bin использовались /cmds, /config, /sys. Команды отличались — например, help вместо man, task вместо ps. Это была первая микроядерная ОС для PC, ориентированная на надёжность в промышленных и коммуникационных системах. Интересная деталь: в ранних маркетинговых материалах график на мониторе был физически приклеен из-за отсутствия инструментов редактирования фото.
Комментарии (112)
- Участники делятся личным опытом использования QNX в образовании (компьютеры ICON), робототехнике, на BlackBerry и в различных встраиваемых системах, отмечая её надёжность и элегантность.
- Многие вспоминают впечатляющую малую занимаемую память QNX и её демо-версию на дискетах, которая включала полноценную ОС с графическим интерфейсом и сетью.
- Обсуждаются сильные стороны ОС: изоляция процессов, реальное время и сетевая прозрачность, но также отмечаются недостатки, такие как накладные расходы на передачу сообщений.
- Упоминается использование QNX в индустрии (автомобильные инфотейнмент-системы VW/Audi, Skytrain в Ванкувере) и её влияние на дальнейшую карьеру в IT.
- Высказывается сожаление о упадке платформы и интерес к возможному открытию её исходного кода, а также ностальгия по эстетике интерфейса Photon.
Show HN: The Unite real time operating system
Unite — это 32-битная многозадачная ОС реального времени для i386, созданная в начале 90-х по образцу QNX. Её ключевая особенность — микроядро, где всё, включая драйверы диска, файловую систему и менеджер пространств имён, работает как пользовательские процессы. Система изначально задумывалась как сетевая: ресурсы удалённых узлов доступны так же просто, как локальные, через префикс идентификатора узла. Разработка велась в Польше на дешёвые сбережения, с тысячами сбоев и ручными сбросами через педаль-переключатель.
Спустя 30 лет автор возродил проект благодаря виртуальным машинам и сохранившимся бинарникам. За две недели удалось запустить систему в VirtualBox с RAM-диска, затем добавить поддержку LBA-дисков. Единственная незавершённая часть — bootfs.com, 16-битный загрузчик, переключающийся между реальным и защищённым режимом; его перекомпиляция пока не удалась. Unite остаётся примером изящной микроядерной архитектуры с приоритетным планированием для встраиваемых систем, где всё можно менять как обычные программы.
Комментарии (22)
- Участники обсуждают технические сложности разработки ОС, включая проблемы с оборудованием и переносом кода
- Поднимаются вопросы о архитектуре ОС, слоях взаимодействия, системе сообщений и защите между процессами
- Обсуждаются альтернативы (QNX, seL4) для IoT-устройств с меньшей поверхностью атаки по сравнению с Linux
- Высказываются предложения разместить код на GitHub для удобства доступа, но автор отвергает идею из-за принципиальных соображений
- Отмечается ценность чистых абстракций и модульной архитектуры в ОС, где каждый компонент изолирован