-
TIF © (03.05.08 03:28) [100]Удалено модератором
-
Petr V. Abramov © (03.05.08 03:30) [101]Удалено модератором
-
Германн © (03.05.08 03:42) [102]Удалено модератором
-
Petr V. Abramov © (03.05.08 04:00) [103]Удалено модератором
-
TIF © (03.05.08 04:04) [104]Удалено модератором
-
Германн © (03.05.08 04:24) [105]Удалено модератором
-
Германн © (03.05.08 04:27) [106]Удалено модератором
-
Petr V. Abramov © (03.05.08 04:28) [107]Удалено модератором
-
Германн © (03.05.08 04:37) [108]Удалено модератором
-
Petr V. Abramov © (03.05.08 04:56) [109]Удалено модератором
-
@!!ex © (03.05.08 07:30) [110]Удалено модератором
-
Понял почему русская ОС не может быть написана.
Избыточных ресурсов у нас нет (временных, финансовых).
На западе они, видимо, есть. -
Mystic © (03.05.08 12:39) [112]
> Что касается загрузчика, то один из посетителей этого сайта
> писал таковой, правда на паскале, а не на Delphi. MWOS это
> называлось.
> И впрямь загружался.
Вот этот проект, кому интересно. Когда-то было свободное время :)
http://mu.webest.net/prog/mwos.zip
Проект состоит из трех частей.
1) loader.mbr Master Boot Record для дискеты. Написан на Turbo assembler. Загружает выбранный EXE-файл в DOS формате, который должен быть расположен в корне FAT раздела. Имя файла в формате 8.3 можно указать. Также можно указать количество байт, которые необходимо пропустить в этом EXE-файле. Это связано с тем, что формируемый паскалем EXE-файл обычно вначале содержит три инструкции CALL, которые вызывают код инициализации, обращающийся в частности к INT 21h. Нам он не нужен :)
2) loader.exe. Вторая часть загрузчика. Написан на Turbo Pascal. Основная его задача загрузить DLL, написанную на Delphi. Особенности реализации: нельзя использовать ничего из библиотечных функций, что вызывает 21h (DOS-а нет). И вначале надо проинициализировать регистр DS. Библиотека DLL должна экспортировать функцию EntryPoint, которой и передается управление (чтобы опять же исключить код загрузки, который обращается к WinAPI).
3) loader.dll. собственно говоря, база для ядра возможной OS. Работает в защищенном режиме. Кроме того, что работает, вешается на таймер и выводит всякие символы в правом верхнем углу экрана, а также на клавиатуру и печатает Scan-коды нажатых клавиш. Delphi с большими оговорками, так как недоступны функции, которые обращаются к WinAPI. Ну и поскольку нет менеджера памяти (его то я и хотел прикрутить, но не сложилось), то недоступны динамические строки, интерфейсы и прочие типы с автоматическим управлением памятью. кроме того не проинициализирован селектор FS (у нашего потока отсутствует TEB), таким образом исключения также не используются.
Так что чисто теоретически написать OS можно даже с текущим инструментарием. Хотя от некоторой Windows-образности (форматы файлов загрузки, обработка исключений, модель памяти) избавится сложно. Вопрос в том, кому это нужно? Я писал не потому, что лавры Линуса Торвальдса мне не дают покои, а просто был интересен сам процесс :) -
Ketmar © (03.05.08 13:08) [113]Удалено модератором
-
Anatoly Podgoretsky © (03.05.08 13:18) [114]> Kostafey (03.05.2008 12:03:51) [111]
Плохо понял, просто после написания загрузчика пропадает интерес, поскольку оказывается надо писать кроме самой ОС еще и большое количество прикладных программ, как для обслуживания самой ОС, так и пользователей, а еще после оказывается, что всего этого почему то мало, почему то никто кроме кучки энтузиастов ей никто не хочет пользоваться. -
> [114] Anatoly Podgoretsky © (03.05.08 13:18)
Ну... и это тоже имеет место быть :) -
Bertran (03.05.08 13:56) [116]Anatoly Podgoretsky © (03.05.08 13:18) [114]
> а еще после оказывается, что всего этого почему то мало,
> почему то никто кроме кучки энтузиастов ей никто не хочет
> пользоваться.
>
Ясно дело, без CorelDRAW-а и DirectShow кто же захочет. Только фанатики какие-нибудь. Вот когда, лет через двадцать, будет создана русская ОС, на основе POSIX, а Microsoft будет куплена русскими меценатами, вот тогда начнется веселье. -
VirEx © (03.05.08 15:41) [117]Anatoly Podgoretsky ( 03.05.08 13:18)
----
это да. Достаточно взглянуть на проект колибри ос. Остаются фанатики. -
Узурап Мамуматкулович (04.05.08 03:46) [118]Удалено модератором
-
Mystic © (05.05.08 11:03) [119]> Плохо понял, просто после написания загрузчика пропадает
> интерес
Окончательно интерес пропадает после того, как реализована база, подобная MINIX. Т. е. для меня написать еще планировщик задач, менеджер памяти было бы интересно. А вот дальше...