Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

OpenNT: различия между версиями

Материал из Сейберпедии
[досмотренная версия][досмотренная версия]
Нет описания правки
м мяука
Строка 2: Строка 2:
4.0|website=[https://web.archive.org/web/20151203004051/https://www.opennt.net/ Архив сайта]|license=проприетарная; исходники доступны по неразглашению|repo=[https://github.com/Paolo-Maffei/OpenNT Read-only зеркало на Github]|released=28 июля, 2015 (Неофициально)|author=stephanos|status=работа над проектом прекращена|latest_rc_version=NT 4.50 (Build 1400-r687)|screenshot=[[Файл:NT45Test-2015-04-27-18-20-37.png|thumb]]|platform=i386, MIPS, DEC Alpha, PowerPC|caption=скриншот отладочной версии на момент декабря 2015}}
4.0|website=[https://web.archive.org/web/20151203004051/https://www.opennt.net/ Архив сайта]|license=проприетарная; исходники доступны по неразглашению|repo=[https://github.com/Paolo-Maffei/OpenNT Read-only зеркало на Github]|released=28 июля, 2015 (Неофициально)|author=stephanos|status=работа над проектом прекращена|latest_rc_version=NT 4.50 (Build 1400-r687)|screenshot=[[Файл:NT45Test-2015-04-27-18-20-37.png|thumb]]|platform=i386, MIPS, DEC Alpha, PowerPC|caption=скриншот отладочной версии на момент декабря 2015}}


<nowiki>**</nowiki>OpenNT** — форк Microsoft Windows NT, полученная из утекших исходников NT 4.0, модифицированная и пересобранная [[stephanos]]. Изначальной задумкой проекта являлась поддержка полнофункциональных сборок для ряда архитектур (i386, MIPS, Alpha, PowerPC), а так же поддержки исторических систем для нужд энтузиастов.
'''OpenNT''' &mdash; форк ОС Microsoft Windows NT, полученной из утекших исходников NT 4.0, модифицированная и пересобранная [[stephanos]]. Изначальной задумкой проекта являлась поддержка полнофункциональных сборок для ряда архитектур (i386, MIPS, Alpha, PowerPC), а так же поддержки исторических систем для нужд энтузиастов.


== Утечка исходного кода NT 4.0 ==
== Утечка исходного кода NT 4.0 ==
Строка 33: Строка 33:
# Из-за применения более современного компилятора MSVC 2003, насущной проблемой являются более агрессивные оптимизации компилятора, обнаруживающие undefined behavior в устаревшей кодбазе. Печально известной проблемой последней ISO сборки являются мисоптимизации в NTFS, приводящие к потере данных и постепенном саморазрушении системного диска при длительном использовании ОС.
# Из-за применения более современного компилятора MSVC 2003, насущной проблемой являются более агрессивные оптимизации компилятора, обнаруживающие undefined behavior в устаревшей кодбазе. Печально известной проблемой последней ISO сборки являются мисоптимизации в NTFS, приводящие к потере данных и постепенном саморазрушении системного диска при длительном использовании ОС.
# Использована для начальных этапов переноса [[RVVM]] на исторические версии Windows и системы без SSE, а так же для изучения деталей реализации сетевого стека и поведения WinSock функции select()
# Использована для начальных этапов переноса [[RVVM]] на исторические версии Windows и системы без SSE, а так же для изучения деталей реализации сетевого стека и поведения WinSock функции select()
== Ссылки ==
<references/>

Версия от 17:46, 30 октября 2025

OpenNT
скриншот отладочной версии на момент декабря 2015
Авторыstephanos
РазработчикиMicrosoft Corp., 1996; Модифицирована и пересобрана из слитых исходников
Операционные системыWindows NT Workstation 4.0
Первый выпуск28 июля, 2015 (Неофициально)
Аппаратные платформыi386, MIPS, DEC Alpha, PowerPC
Кандидат в релизыNT 4.50 (Build 1400-r687)
РепозиторийRead-only зеркало на Github
Состояниеработа над проектом прекращена
Лицензияпроприетарная; исходники доступны по неразглашению
СайтАрхив сайта

OpenNT — форк ОС Microsoft Windows NT, полученной из утекших исходников NT 4.0, модифицированная и пересобранная stephanos. Изначальной задумкой проекта являлась поддержка полнофункциональных сборок для ряда архитектур (i386, MIPS, Alpha, PowerPC), а так же поддержки исторических систем для нужд энтузиастов.

Утечка исходного кода NT 4.0

На момент 1994 года, Microsoft была заинтересована в проекте по переносу приложений с ОС Windows на рабочие станции Unix. Проект получил название Windows Interface Source Environment, а ответственность за проект была возложена на фирму Mainsoft, получившую для работы над WISE SDK доступ ко внутренним репозиториям исходного кода Microsoft.

В 2004 году произошла массовая утечка исходного кода, включавшая код Windows 2000 и Windows NT 4.0. Дальнейшее расследование привело к выводам, что утечка возникла благодаря Mainsoft, предположительно из-за сотрудника, вынесшего исходный код на CD-дисках.

Работа над OpenNT

В середине 2015, stephanos начал работу над модернизацией исходной кодовой базой NT 4.0, добавив поддержку более современного сборочного инструментария (MSVC 2003) а так же подняв версию ядра до 4.50.

Помимо всех остальных упомянутых идей, задокументированые задачи включали в себя:[1]

  1. Поддержка SDK NT 5 (Windows 2000)
  2. Перенос пользовательского пространства NT 4 на ядро NT 5
  3. Инфраструктура для поддержки Win64, поддерка 64-битности в системных компонентах

Были исправлены некоторые недоработки по поддержке современного оборудования (CPUID >Pentium I, определение больших обьемов ОЗУ).

Проблемы со стабильностью с Win16 WoW NTVDM

Начата работа по модернизации WOW VDM (Win16) и DPMI подсистем, находящихся в более плачевном состоянии в утекшей кодбазе (NT 4.0 SP2) нежели в последнем Service Pack 6, выпущеном Microsoft.[2]

Кончина проекта

Между декабрем 2015 и серединой 2016 года проект перестал получать какие-либо обновления. Архивная запись сайта с мая 2016 года указывает на официальное окончание разработки и отсылает на личный сайт stephanos.

Наследие

Проект получил еще одну попытку перерождения от пользователя broimluna в 2019 году, так же заброшенную. Последними наработками проекта являлась поддержка более новых версий PDB и WinDBG а так же добавление функционала из NT4 SP6 (GetWindowModuleName).

Тривия

  1. Все еще присутствуют проблемы со стабильностью при использовании более современных процессоров (2010+), что вынуждает использовать програмную эмуляцию вместо аппаратной виртуализации для изучения сабжа
  2. Из-за применения более современного компилятора MSVC 2003, насущной проблемой являются более агрессивные оптимизации компилятора, обнаруживающие undefined behavior в устаревшей кодбазе. Печально известной проблемой последней ISO сборки являются мисоптимизации в NTFS, приводящие к потере данных и постепенном саморазрушении системного диска при длительном использовании ОС.
  3. Использована для начальных этапов переноса RVVM на исторические версии Windows и системы без SSE, а так же для изучения деталей реализации сетевого стека и поведения WinSock функции select()

Ссылки