OXYGEN OS
http://freeos-project.narod.ru/
Господа годеры, пожалуйста поделитесь мнением о данном проекте.
С самого начал OXYGEN не задумывалась, как полноценная, многозадачная ОС, тем более, что написанна она в Real Mode. Главная задача моего проекта - это дать возможность новичкам ознакомится с устройством ОС изнутри, понять как и что функционирует в простейшей ОС. Если у них самих не будет получатся писать какие то участки программ, то возможно они возьмут куски кода из моей ОС. Вообщем я думаю идея ясна.
Извините, что описание внутреннего устройства моей ОС на сайте такое скудное, я ведь не писатель. %) Зато в исходниках множество коментариев.В OXYGEN OS должны идти все COM программы использующие прерывания BIOS.
Список совместимых программ в студию!
Вообще о целях я уже сказал, но повторюсь. Проект должен показать, как работает наипростейшая ОС на наглядном примере, что то похожее на проект MINIX %).
А GlukOS я не знаю развивается или нет сейчас, но в OXYGEN я стараюсь детально проработать каждый момент, т.е. когда все основные процедуры будут готовы (запись в сектора, работа с памятью, графика и т.п.) и доступны через своё прерывание, то думаю можно будет писать более или менее полноценные программы.
Вообщем немножечко подождите, скоро допишу несколько процедур и отличия сразу будут заметны. ;)
А списка совместимых программ пока не существует, их же должен кто нибудь написать для ОС. ;)
Вот скажи, тебе было легко начинать писать ОС с нуля не имея представления как оно всё работает, да ещё и на исходниках, которые работали в PM? Я имею ввиду самый первый раз... %)
Неужели трудностей с реализацией не возникало?
Да и бесперспективным это тоже нельзя назвать, если люди смотрят и им это приносит хоть малейшую пользу - что то запомнят, что то в исходниках полезное для себя найдут, значит я старался не зря. Ведь это и есть цель моего проекта!
QUOTE]
Ты прав на все 100%!
Но ты сам дал понять, что начинать нужно с простого. А разве RM не проще чем PM?
Ведь если у человека есть свободное время и он не такой профи в асме, он сможет написать ОС в RM, а после, накопив знаний, на её основе начать писать уже полноценную ОС в PM!
Кажись я тюльпек, иду своим никому непонтяным путём - через тернии к звёздам. %) Кому понравилось - присоеденяйтесь!
И так люди, скоро гредёт обновление... %)
Делимся мнением здесь или на форуме сайта.
Конечно же высказываем своё мнение... %)
я ещё не смотрел, но если вы сделаете такую систему, то вас я сразу уважать начну :)
я ещё не смотрел, но если вы сделаете такую систему, то вас я сразу уважать начну :)
И + поддержка NTFS! эти две вещи и операционка лучшая!
Я представляю ОС в RM с поддержкой NTFS и кодировкой cp1251.
Боюсь в 64 кб не уложиться! %) Такие глобальные изменения нужно в серьёзные ОС встраивать.
Вышло обновление до версии 0.6. Добавлено несколько команд, и есть некое подобие внутреннего API. Качать там же.
ОС будет поддерживать FAT12, и пока я не буду встраивать FAT16-32 или там NTFS. Потому как, для RM моде несколько не актуально писать драйвер NTFS. На мой взгляд.
disasm:
Спасибо!
Я планирую перевести ОС в нереальный режим или в PM когда всё будет стабильно работать в RM. А пока ещё нужно сделать очень многое.
Лучше сделать ОС для RM скажем с поддержкой нереального режима, чем переписывать все под PM с учетом всех особенностей. Кроме того нереальный режим можно делать уже сейчас, на работу системы это не повлияет, только возможностей добавит. На мой взгляд для RM очень даже актуально писать драйвера FAT 16,32, NTFS, ведь вы хотите сделать не просто Floppy OS? Также можно еще туда же добавить и драйвер USB флэшек.
Я в своей ОС уже сделал русификацию (свиснул из FreeBSD русский шрифт для koi8-r), если будет нужен код для перепрограммирования знакогенератора, пишите. Я в своей ОС планирую полностью отказаться от функций BIOS-а и написать все свои драйвера, точнее переписать их из существующих драйверов для PM, кроме того буду делать файловую структуру как в UNIX с возможностью монтирования устройств. Я это к тому что можно решать проблемы вместе. Я думаю, что на данный момент нужно сделать подсистему управления памяти (malloc/free), чтобы можно было не парить мозги с выделением/освобождением памяти под нужды ядра и приложений. Кроме того можно сделать так, чтобы в первых 600кб находилась только одна программа (больше памяти для юзерских приложений), а родительская программа (если таковая имеется) находилась временно (со всеми сохраненными регистрами) где-нибудь за 1-м мегабайтом. Вот так...
Наверное Monarhia спрашивал про твою ОС.
Идея хорошая, вот только времени на всё, про всё не хватает. Как работу с файловой системой закончу, то займусь памятью и ресурсами.
Спасибо за совет!
Сайт проекта будет сдесь: http://os.disasm.by.ru/
Все исходники пишу под Unix-ом, компилирую NASM-ом, отлаживаю в bochs-е.
На данный момент есть:
* подсистема управления консолью (печать, установка высоты курсора, установка координат курсора, перепрошивка ЗГ)
* нереальный режим (на данный момент находится в стадии переписывания в 100% рабочую форму из демо версии)
* продумана концепция организации и распределения памяти.
Скоро выложу исходники.
Сайт проекта будет сдесь: http://os.disasm.by.ru/
Все исходники пишу под Unix-ом, компилирую NASM-ом, отлаживаю в bochs-е.
На данный момент есть:
* подсистема управления консолью (печать, установка высоты курсора, установка координат курсора, перепрошивка ЗГ)
* нереальный режим (на данный момент находится в стадии переписывания в 100% рабочую форму из демо версии)
* продумана концепция организации и распределения памяти.
Скоро выложу исходники.
Скажи, а зачем ты начал писать в нереальном режиме, когда ОС писал в PM? Ведь в PM многозадачность работает аппаратно...
Да я и не знаю стоит ли вообще многозадачность делать... Вот и решил что проще будет все это дело делать в RM, тем более что задачу ОС можно сделать проще: работа с многими ФС с дискеты, если винда полетела или еще там что... Какую еще пользу можно извлечь из новой ОС? Можно конечно писать просто ОС, но это как-то неразумно, и если уже так делать то это все равно что делать без концепции... Так что если даже делать обучающую ОС, то от нее должна быть хотя бы какая-то польза, у нее должна быть хоть какая-то особенная цель, иначе можно просто ДОС-ом пользоваться..
Я думаю что задуматься над целью ОС еще не поздно, один из вариантов мы уже выслушали: это ОС для работы с ФС и русскими длинными именами файлов.
Какие еще будут предложения?
Ведь можно включить в ОС несколько полезных функций а не только одну. А если делать просто обучающую ОС то лучше делать сразу многозадачную PM+PG ОСь с возможностью подгрузки модулей, можно также для начала делать микроядерную модель ядра, но все равно хоть какая-то польза от нее должна быть, ведь ОСь которая "просто работает" никому не нужна...
Так что пока стоит один вопрос: куда дальше?
Сделать можно все, нужно только осознание нужности ОС.
Я ещё раз повторюсь: сделайте пожайлуста поддержку NTFS и желательно юниксовые файловые системы!
Значит, правда, что каждый из нас самостоятельно пришел к этой идее. Тогда еще абсолютно точно моих исходников не могло быть в сети!
Да... обсуждения на той теме велись захватывающие. Именно с нее началось мое участие в подобных форумах! Ностальгия... :)
Какой вариант лучше выбрать?
Под "без учета прав" я подразумеваю полный игнор аттрибутов типа ReadOnly, system, hidden,... rwxtsS, а также невозможность их просмотра и редактирования (аналогично с владельцами файлов)
Пока собираюсь сделать для начала FAT 12,16,32, devfs, rootfs модули
Интересный вопрос... Атрибуты нужны как минимум ради того, чтобы не возникало различных недоразумений, связанных, например, со случайным удалением файлов, я уже не говорю про защиту данных одних пользователей от других! У меня в VFS число поддерживаемых атрибутов увеличено, а не уменьшено!
И какие это файлы можно удалить случайно?
PS: исходники тут:
http://os.disasm.by.ru/v1_1.shtml
Там же в папке MAKE есть образ дискеты, в том архиве не отдельно ядро а все в одном.
Планируешь внедрять ее в калькуляторы?
Случайно можно удалить любые файлы, но в особенности те, которые удаляются одним нажатием клавиши, т.е. не имеют никаких атрибутов для примитивной защиты типа read-only или system!
Я например привык работать в Midnight Commander-е, так там перед удалением фалов он спрашивает удалить или нет. Во-вторых я еще ни разу не удалил нужные файлы. Нормальный пользователь обычно удалет то и только то что ему не нужно. Сейчас винты настолько резиновые что можно себе позволить 40 гб мелкого хлама, который жалко выбросить.
Если писать мини-ОС для одного пользователя, то ему будет все равно кто владелец, потому что он сам будет root-ом.
Помниться лет 6-7 назад тоже писал под RM, называлась vACos: Соответственно сам бут, консоль, несколько команд, своя файловая система.....а потом понадобились деньги и пришлось бросить любимые игрушки, кончилось сладкое детство :( Сейчас времени совсем нет...
Проект конечно очень интересный, как и все то, что связано с творчеством с нуля. И не важно в RM или в PM он будет...главное чтобы для души, а там как получиться...
Искренне желаю успехов, коллеги!!!
И тем не менее в ДОС есть простые защищающие атрибуты... Видимо, это неспроста ;)