Создадим О/С (перемешено из форума "Операционные системы")
Подключайтесь к созданию новой мультизадачной операционной системы!
[email]gladkih@hot.ee[/email]
А вот если бы спросили меня, я бы сказал что микроядро отстой, но поскольку меня никто не спрашивает, то я лучше промолчу :)
Если честно, я тоже. Не надо носками бросать, не надо. Хороший пример - Виндовс. Если я понимаю термин "микроядро" как и другие.
Чистое микроядоро - действительно отстой, слишком низкое быстродействие, но чистое монолистное - тоже, т.к. есть большие трудности с оборудованием.
Самый лучший вариант - что-то смешанное, вроде Windows NT/2k/XP
Да ещё, зачем программа для копирования образа, такие полно. Но если ничего не подойдёт, я могу написать такую программу, но я не знаю форматы этих образов. Если это просто файл, в котором по порядку записаны сектора - это пара функций API, но если это какой-нибудь сжатый файл, но надо формат знать.
Не видел таких. Где взять? А файл - просто n байт. Их может быть и меньше, чем 1,47 Мб.
И желательно, под MS-DOS.
Да, но если проект будет действительно OS (т.е. Open Source :)), все трудности будут преодолеваться перекомпиляцией ядра :) Ну или встраиваемые модули - тоже вариант. Или свое что нибудь придумать.
Не. Максимум - FreeWare. Может и платный. И что мы делим шкуру неубитого медведя? Сначала написать надо.
А под Linux вобще одна команда:
[FONT=courier new]dd if=file of=/dev/fd0[/FONT]
:)
И вобще там все инструменты для разработки под рукой, зря Митя его не любит...
Кого? Линукс? Не, просто неохота пятую точку оппоры от стула отрывать. Я уж к MS-DOSу приноровился.
Кого? Линукс? Не, просто неохота пятую точку оппоры от стула отрывать. Я уж к MS-DOSу приноровился.
Неужели ты всё под MS-DOS делаешь? Зачем же так надрываться, лучше делать под Windows 2k/XP с установленной VMWare, всё очень быстро получаться будет.
Есле ты говоришь, что образ - это набор байт, то это будет очень легко сделать, может до завтра будет готово. А насчёт того, что ОС платная будет - ???(Windows тоже платная - 70 рублей стоит)
Не. Максимум - FreeWare. Может и платный. И что мы делим шкуру неубитого медведя? Сначала написать надо.
Ну тогда всего хорошего и до свидания...
У меня работает только под VMWare, а если просто грузиться с дискеты, то комп перезагружается. Трудно понять, в чём дело.
Всё, не надо - сам нашёл на 80h. Прога готова, выслал на мыло. Можешь выложить её на сайте, чтобы всё могли попробывать установить.
У меня работает только под VMWare, а если просто грузиться с дискеты, то комп перезагружается. Трудно понять, в чём дело.
Пришла, сейчас посмотрю, положу на сайт. И kernel.bin дам. Потому как у меня тоже - на лаптопе, где делаю, все ОК, а на персоналке, где Виндовс - перезагружается.
Почему многие программы, например, О/С MenuetOS имеет версию 0,72?
Даже первый MS-DOS был 1,0. Ведь может быть первая версия, вторая и т.д. А как м.б. нулевая??? Или это для бета-версий?
Ребята!
Почему многие программы, например, О/С MenuetOS имеет версию 0,72?
Даже первый MS-DOS был 1,0. Ведь может быть первая версия, вторая и т.д. А как м.б. нулевая??? Или это для бета-версий?
Ну это типа еще не финальный релиз первой версии
Ещё бы хотелось узнать, по какому адресу kernel.bin грузится, и проверь, может комп ещё до перехода на ядро перезагружается.
Там ВЕЗДЕ написано, что по 70000h, т.е. 7000:0000h.
Вряд ли. Мне кажется, при первом прерывании. Но проверю. Даже если так, отчего это может быть? Да так, что там работает, а здесь - нет?
Что у тебя с ящиком???
В смысле, с почтой? Не знаю, м.б. переполнена.
Кстати, ребята, как думаете, в каком формате подавать выходные данные с клавиатуры?
1)Как в БИОСе?
2)AL-код КОИ-8 или т.н. расширенный, в AH - два бита, означающих, что в AL и была нажата или отпущена клавиша?
3)В eax - 1 байт - ASCII, 2 - расширенный, 3 - скан-код, 4 - нажатие/отпускание?
В смысле, с почтой? Не знаю, м.б. переполнена.
Кстати, ребята, как думаете, в каком формате подавать выходные данные с клавиатуры?
1)Как в БИОСе?
2)AL-код КОИ-8 или т.н. расширенный, в AH - два бита, означающих, что в AL и была нажата или отпущена клавиша?
3)В eax - 1 байт - ASCII, 2 - расширенный, 3 - скан-код, 4 - нажатие/отпускание?
ASCII - это отстой. Надо подавать скан-код, нажатие/отпускание и UNICODE.
ASCII - это отстой. Надо подавать скан-код, нажатие/отпускание и UNICODE.
Почему же отстой? А если текст набираем??? Кстати, в моей системе основная кодировка - стандартный ASCII с русскими буквами. Но и КОИ-8, и WIN-1251, и всякие там болгарские будут поддерживаться, несомненно. И вот еще, у меня компутер, где работал, запоролся. Т.е. жесткий диск запоролся. :(.
Не, не. В последний момент, когда уже БИОС закричал "Disk I/O error", я элегантным жестом руки выключил лапотоп, левую сторону приподнял, так что он на 45 гр. наклонен, загрузил, все тексты скопировал. Так и живем, пока новый жесткий диск не найду. А на новом-то компьютере не работает(как и всех других, впрочем :)). Есть резон теперь повозится с этим. И вот какая ведь штука - почти все сделал, но вдруг перестал работать CAPS LOCK, стал разбираться, тут то все и произошло. Хотя странно - ведь я его ничем тяжелым не бил. Если учесть, что я его с рук купил, а выпущен он в 95, провел насыщенную жизнь в Eesti energia, на нем всякую графику гоняли, можно его понять.
Теперь, когда я нашел у себя на CD PC-DOS, я заскучал по командной строке...
Сделаю так, чтобы загрузкик загружал программку, которая спрашивала бы про вариант загрузки - графика там или командная строка.
Стал я разбираться, почему где-то моя О/С идет, где-то - нет.
Запускал на разных, и вот что выяснил:
1)Intel Pentium 120Mhz, Phoenix NoteBIOS(это росто так привожу) - идет
2)Intel Pentium II 450Mhz, Phoenix BIOS - идет
3)Intel Celeron 1.7 Ghz Megatrends(вроде так, но может, что-то напутал) - идет
4)Cyrix 333 Mhz AWARD BIOS - где я сейчас, собственно и сижу - НЕТ!!!
RelB! На каком компьютере ты тестировал, когда не пошло???
Какие еще идеи насчет несовместимости Cyrix & Pentium?
Забыл сказать: на Cyrix ядро переходит в защищенный режим, сбой происходит когда приходит прерывание.
Я пробовал их отключить, все нормально, но: когда я искусственно сгенерировал ошибку(сделал jmp за пределы сегмента), он тоже вылетел.
Ты ещё в коде A20 открой и немаскируемые прерывания запрети, может везде пойдёт.
RelB! На каком компьютере ты тестировал, когда не пошло???
На P-III 800 EB
Я сейчас тоже решил занятся долгосрочным проэктом(я как всегда не спешу) - именно ОС созданием. Однако, наученный горьким опытом(других и своим) не буду кидаться громкими словами(пока) о реальности этого.
Вообще, неплохо бы подождать, я думаю, тут всякие новые камни на горизонте(64-битные, и т.д.), чего еще ожидать? Посмотрим. А пока выработать план на концепцию, декларацию, архитектуру, применение, соглашения и прочее...
p.s. И в 3-й раз решил он создать ОСь.
(если еще не начинали писать,то расскажите хотя бы теорию)
Полагаю вопрос адресуется Мите Г.
ps.сообщите еще раз адрес вашего центрального сайта
У меня не идёт на Pentium III 750 + AWARD BIOS, но идёт на Phoenix Bios, т.е. на VMWare.
Странное совпадение - на двух из "рабочих" компьютеров у меня стоит именно
Phoenix BIOS и Phoenix NoteBIOS... А на селероне - AMIBIOS American Megatrends...
Ты ещё в коде A20 открой и немаскируемые прерывания запрети, может везде пойдёт.
Обязательно, спасибо, совсем забыл - раньше было, потом убрал...
На P-III 800 EB
А БИОС какой?
Тут что опять ОСь создают?
Почему ОПЯТЬ? Обидно слышать...
Кстати неплохая затея, но я видел уже кучи групп(НЕ из 1-го человека) пытавшихся создать ОСи... через 3-5 месяцев они сдавались(толи остывали, а то и стимул терялся - бесплатный каторжный труд).
Не... не сдамся. Обдумывал я проект где-то год-полтора, все с духом собирался, времени не боюсь, трудностей тоже. А раз бросали - значит, либо не очень надо было, может, часть курсовой, может так, просто, а у меня - от души...
Я сейчас тоже решил занятся долгосрочным проэктом(я как всегда не спешу) - именно ОС созданием. Однако, наученный горьким опытом(других и своим) не буду кидаться громкими словами(пока) о реальности этого.
Вообще, неплохо бы подождать, я думаю, тут всякие новые камни на горизонте(64-битные, и т.д.), чего еще ожидать? Посмотрим. А пока выработать план на концепцию, декларацию, архитектуру, применение, соглашения и прочее...
p.s. И в 3-й раз решил он создать ОСь.
Ну, скажем так, 64 бита - это, конечно, хорошо. Пока ограничусь 32.
Кстати, говорят, Microsoft якобы решили не писать О/С под 64 бита. Это написали на одном довольно престижном сайте, который, к сожалению, закрылся.
можно поинтересоваться вашей организацией выделения памяти(heap),ее основными принципами.. если не в лом, пожалуйста по подробнее.
(если еще не начинали писать,то расскажите хотя бы теорию)
Зависит от типа программы. Если СОМ - сегмент команд адресом с саму программу, алиасный сегмент данных, сегмент стека.
Если ЕХЕ - описанное в заголовке кол-во сегментов.
В СОМ есть микро-заголовок, где описано, какого размера должен быть стек. Есть еще BIN формат - аналог MS-DOSовского и CP/Mовского СОМа.
О учете памяти - на сайте системы.
ps.сообщите еще раз адрес вашего центрального сайта
Пожалуйста!
HTTP://WWW.MNDOS.NAROD.RU
Всем новичкам! Читайте внимательно ВСЕ написанное. Знаю, что много.
Полагаю вопрос адресуется Мите Г.
Да, ведь я главный программист и руководитель проекта. Единственный пока :D
Хотя нет, мне пишут копировщик образа.
Вот текст, посмотрите - может, что неправильно сделал, может еще какие мысли в голову придут...
А БИОС какой?
AWARD
Ребята! Попробовал и NMI запретить, и а20 открыть, все равно не работает.
Вот текст, посмотрите - может, что неправильно сделал, может еще какие мысли в голову придут...
Запрет NMI:
in AL,70h
or AL,80h
out 70h,AL
Открытие A20:
in AL,92h
or AL,2
out 92h,AL
AWARD
Ага, вычислили мы их. Спасибо.
Запрет NMI:
in AL,70h
or AL,80h
out 70h,AL
Ну это более щадящий, не портит ост. биты, хотя в одной книге по Ассемблеру было, как у меня, переделаю.
Открытие A20:
in AL,92h
or AL,2
out 92h,AL
Да? Странно. В другой книге по Ассемблеру и в МенуэтОс е по-другому. Я лично взял из книги, но два источника говорят иначе. Ты уверен?
Ребята! Пожалуйста, не сочтите за труд - если кто еще где-то зарегистрирован, киньте сообщения о том, что мол, разарб. О/С, подробности - на http://forum.codenet.ru - Низкоуровневое программирование. Если возможно.
И мой почтовый адрес. Или хотя бы подскажите, какие сауты - сам напишу.
Спасибо.
Ну это более щадящий, не портит ост. биты, хотя в одной книге по Ассемблеру было, как у меня, переделаю.
Да? Странно. В другой книге по Ассемблеру и в МенуэтОс е по-другому. Я лично взял из книги, но два источника говорят иначе.
Этих методов полно для разных чипсетов, и предложенный (C)dragon'ом - самый универсальный из всех.
Я выслал программу, но письмо обратно вернулось. Какой-то кривой у тебя ящик, сделай лучше нормальный, на mail.ru
....... Ящик нормальный, у него удобный интерфейс. Просто какой-то "кривой" человек, не знаю, кто, прислал мне письмо на несколько мегов - а там лимит - 3 Мб. Уже выкинул.