Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создадим О/С (перемешено из форума "Операционные системы")

419
19 декабря 2002 года
Mitja Gladkih
284 / / 19.12.2002
Все-все-все!
Подключайтесь к созданию новой мультизадачной операционной системы!
[email]gladkih@hot.ee[/email]
Страницы:
419
15 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


А вот если бы спросили меня, я бы сказал что микроядро отстой, но поскольку меня никто не спрашивает, то я лучше промолчу :)


Если честно, я тоже. Не надо носками бросать, не надо. Хороший пример - Виндовс. Если я понимаю термин "микроядро" как и другие.

419
15 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon


Чистое микроядоро - действительно отстой, слишком низкое быстродействие, но чистое монолистное - тоже, т.к. есть большие трудности с оборудованием.
Самый лучший вариант - что-то смешанное, вроде Windows NT/2k/XP

Да ещё, зачем программа для копирования образа, такие полно. Но если ничего не подойдёт, я могу написать такую программу, но я не знаю форматы этих образов. Если это просто файл, в котором по порядку записаны сектора - это пара функций API, но если это какой-нибудь сжатый файл, но надо формат знать.


Не видел таких. Где взять? А файл - просто n байт. Их может быть и меньше, чем 1,47 Мб.
И желательно, под MS-DOS.

419
15 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


Да, но если проект будет действительно OS (т.е. Open Source :)), все трудности будут преодолеваться перекомпиляцией ядра :) Ну или встраиваемые модули - тоже вариант. Или свое что нибудь придумать.


Не. Максимум - FreeWare. Может и платный. И что мы делим шкуру неубитого медведя? Сначала написать надо.

Цитата:

А под Linux вобще одна команда:
[FONT=courier new]dd if=file of=/dev/fd0[/FONT]
:)
И вобще там все инструменты для разработки под рукой, зря Митя его не любит...



Кого? Линукс? Не, просто неохота пятую точку оппоры от стула отрывать. Я уж к MS-DOSу приноровился.

424
15 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Mitja Gladkih
Кого? Линукс? Не, просто неохота пятую точку оппоры от стула отрывать. Я уж к MS-DOSу приноровился.



Неужели ты всё под MS-DOS делаешь? Зачем же так надрываться, лучше делать под Windows 2k/XP с установленной VMWare, всё очень быстро получаться будет.

Есле ты говоришь, что образ - это набор байт, то это будет очень легко сделать, может до завтра будет готово. А насчёт того, что ОС платная будет - ???(Windows тоже платная - 70 рублей стоит)

1.9K
15 февраля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Mitja Gladkih

Не. Максимум - FreeWare. Может и платный. И что мы делим шкуру неубитого медведя? Сначала написать надо.



Ну тогда всего хорошего и до свидания...

424
15 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Я сделал эту программу, образы на дискеты нормальньно пишет. Только я хочу добавить в неё работу из командной строки(а то всё время имя файла набирать неудобно). Подскажите, по какому адресу она грузится в COM-программе.
424
15 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Всё, не надо - сам нашёл на 80h. Прога готова, выслал на мыло. Можешь выложить её на сайте, чтобы всё могли попробывать установить.

У меня работает только под VMWare, а если просто грузиться с дискеты, то комп перезагружается. Трудно понять, в чём дело.
419
16 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
Всё, не надо - сам нашёл на 80h. Прога готова, выслал на мыло. Можешь выложить её на сайте, чтобы всё могли попробывать установить.

У меня работает только под VMWare, а если просто грузиться с дискеты, то комп перезагружается. Трудно понять, в чём дело.


Пришла, сейчас посмотрю, положу на сайт. И kernel.bin дам. Потому как у меня тоже - на лаптопе, где делаю, все ОК, а на персоналке, где Виндовс - перезагружается.

419
16 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Вот kernel.asm
419
16 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Ребята!
Почему многие программы, например, О/С MenuetOS имеет версию 0,72?
Даже первый MS-DOS был 1,0. Ведь может быть первая версия, вторая и т.д. А как м.б. нулевая??? Или это для бета-версий?
395
16 февраля 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih
Ребята!
Почему многие программы, например, О/С MenuetOS имеет версию 0,72?
Даже первый MS-DOS был 1,0. Ведь может быть первая версия, вторая и т.д. А как м.б. нулевая??? Или это для бета-версий?


Ну это типа еще не финальный релиз первой версии

424
17 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Ещё бы хотелось узнать, по какому адресу kernel.bin грузится, и проверь, может комп ещё до перехода на ядро перезагружается.
1.9K
17 февраля 2003 года
kswapd
93 / / 08.02.2003
Кстати, исправь очепятку на главной странице mndos, там внизу твоя фамилия написана как "Глдаких"
419
17 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
Ещё бы хотелось узнать, по какому адресу kernel.bin грузится, и проверь, может комп ещё до перехода на ядро перезагружается.


Там ВЕЗДЕ написано, что по 70000h, т.е. 7000:0000h.
Вряд ли. Мне кажется, при первом прерывании. Но проверю. Даже если так, отчего это может быть? Да так, что там работает, а здесь - нет?

424
19 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Что у тебя с ящиком???
419
19 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
Что у тебя с ящиком???


В смысле, с почтой? Не знаю, м.б. переполнена.
Кстати, ребята, как думаете, в каком формате подавать выходные данные с клавиатуры?
1)Как в БИОСе?
2)AL-код КОИ-8 или т.н. расширенный, в AH - два бита, означающих, что в AL и была нажата или отпущена клавиша?
3)В eax - 1 байт - ASCII, 2 - расширенный, 3 - скан-код, 4 - нажатие/отпускание?

424
19 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Mitja Gladkih

В смысле, с почтой? Не знаю, м.б. переполнена.
Кстати, ребята, как думаете, в каком формате подавать выходные данные с клавиатуры?
1)Как в БИОСе?
2)AL-код КОИ-8 или т.н. расширенный, в AH - два бита, означающих, что в AL и была нажата или отпущена клавиша?
3)В eax - 1 байт - ASCII, 2 - расширенный, 3 - скан-код, 4 - нажатие/отпускание?



ASCII - это отстой. Надо подавать скан-код, нажатие/отпускание и UNICODE.

419
21 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon


ASCII - это отстой. Надо подавать скан-код, нажатие/отпускание и UNICODE.


Почему же отстой? А если текст набираем??? Кстати, в моей системе основная кодировка - стандартный ASCII с русскими буквами. Но и КОИ-8, и WIN-1251, и всякие там болгарские будут поддерживаться, несомненно. И вот еще, у меня компутер, где работал, запоролся. Т.е. жесткий диск запоролся. :(.
Не, не. В последний момент, когда уже БИОС закричал "Disk I/O error", я элегантным жестом руки выключил лапотоп, левую сторону приподнял, так что он на 45 гр. наклонен, загрузил, все тексты скопировал. Так и живем, пока новый жесткий диск не найду. А на новом-то компьютере не работает(как и всех других, впрочем :)). Есть резон теперь повозится с этим. И вот какая ведь штука - почти все сделал, но вдруг перестал работать CAPS LOCK, стал разбираться, тут то все и произошло. Хотя странно - ведь я его ничем тяжелым не бил. Если учесть, что я его с рук купил, а выпущен он в 95, провел насыщенную жизнь в Eesti energia, на нем всякую графику гоняли, можно его понять.
Теперь, когда я нашел у себя на CD PC-DOS, я заскучал по командной строке...
Сделаю так, чтобы загрузкик загружал программку, которая спрашивала бы про вариант загрузки - графика там или командная строка.

419
23 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Привет всем!
Стал я разбираться, почему где-то моя О/С идет, где-то - нет.
Запускал на разных, и вот что выяснил:
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?
419
23 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
А да, кстати!
Забыл сказать: на Cyrix ядро переходит в защищенный режим, сбой происходит когда приходит прерывание.
Я пробовал их отключить, все нормально, но: когда я искусственно сгенерировал ошибку(сделал jmp за пределы сегмента), он тоже вылетел.
424
23 февраля 2003 года
(C)dragon
307 / / 04.12.2002
У меня не идёт на Pentium III 750 + AWARD BIOS, но идёт на Phoenix Bios, т.е. на VMWare.

Ты ещё в коде A20 открой и немаскируемые прерывания запрети, может везде пойдёт.
395
23 февраля 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih
RelB! На каком компьютере ты тестировал, когда не пошло???


На P-III 800 EB

3.5K
24 февраля 2003 года
AnyKey
5 / / 24.02.2003
Тут что опять ОСь создают? Кстати неплохая затея, но я видел уже кучи групп(НЕ из 1-го человека) пытавшихся создать ОСи... через 3-5 месяцев они сдавались(толи остывали, а то и стимул терялся - бесплатный каторжный труд).
Я сейчас тоже решил занятся долгосрочным проэктом(я как всегда не спешу) - именно ОС созданием. Однако, наученный горьким опытом(других и своим) не буду кидаться громкими словами(пока) о реальности этого.
Вообще, неплохо бы подождать, я думаю, тут всякие новые камни на горизонте(64-битные, и т.д.), чего еще ожидать? Посмотрим. А пока выработать план на концепцию, декларацию, архитектуру, применение, соглашения и прочее...

p.s. И в 3-й раз решил он создать ОСь.
2.2K
24 февраля 2003 года
kar
7 / / 26.10.2002
можно поинтересоваться вашей организацией выделения памяти(heap),ее основными принципами.. если не в лом, пожалуйста по подробнее.
(если еще не начинали писать,то расскажите хотя бы теорию)
Полагаю вопрос адресуется Мите Г.
ps.сообщите еще раз адрес вашего центрального сайта
419
24 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
У меня не идёт на Pentium III 750 + AWARD BIOS, но идёт на Phoenix Bios, т.е. на VMWare.


Странное совпадение - на двух из "рабочих" компьютеров у меня стоит именно
Phoenix BIOS и Phoenix NoteBIOS... А на селероне - AMIBIOS American Megatrends...

Цитата:

Ты ещё в коде A20 открой и немаскируемые прерывания запрети, может везде пойдёт.


Обязательно, спасибо, совсем забыл - раньше было, потом убрал...

419
24 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by RelB

На P-III 800 EB


А БИОС какой?

419
24 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by AnyKey
Тут что опять ОСь создают?


Почему ОПЯТЬ? Обидно слышать...

Цитата:

Кстати неплохая затея, но я видел уже кучи групп(НЕ из 1-го человека) пытавшихся создать ОСи... через 3-5 месяцев они сдавались(толи остывали, а то и стимул терялся - бесплатный каторжный труд).


Не... не сдамся. Обдумывал я проект где-то год-полтора, все с духом собирался, времени не боюсь, трудностей тоже. А раз бросали - значит, либо не очень надо было, может, часть курсовой, может так, просто, а у меня - от души...

Цитата:

Я сейчас тоже решил занятся долгосрочным проэктом(я как всегда не спешу) - именно ОС созданием. Однако, наученный горьким опытом(других и своим) не буду кидаться громкими словами(пока) о реальности этого.
Вообще, неплохо бы подождать, я думаю, тут всякие новые камни на горизонте(64-битные, и т.д.), чего еще ожидать? Посмотрим. А пока выработать план на концепцию, декларацию, архитектуру, применение, соглашения и прочее...
p.s. И в 3-й раз решил он создать ОСь.


Ну, скажем так, 64 бита - это, конечно, хорошо. Пока ограничусь 32.
Кстати, говорят, Microsoft якобы решили не писать О/С под 64 бита. Это написали на одном довольно престижном сайте, который, к сожалению, закрылся.

419
24 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kar
можно поинтересоваться вашей организацией выделения памяти(heap),ее основными принципами.. если не в лом, пожалуйста по подробнее.
(если еще не начинали писать,то расскажите хотя бы теорию)


Зависит от типа программы. Если СОМ - сегмент команд адресом с саму программу, алиасный сегмент данных, сегмент стека.
Если ЕХЕ - описанное в заголовке кол-во сегментов.
В СОМ есть микро-заголовок, где описано, какого размера должен быть стек. Есть еще BIN формат - аналог MS-DOSовского и CP/Mовского СОМа.
О учете памяти - на сайте системы.

Цитата:

ps.сообщите еще раз адрес вашего центрального сайта


Пожалуйста!
HTTP://WWW.MNDOS.NAROD.RU
Всем новичкам! Читайте внимательно ВСЕ написанное. Знаю, что много.

Цитата:

Полагаю вопрос адресуется Мите Г.


Да, ведь я главный программист и руководитель проекта. Единственный пока :D
Хотя нет, мне пишут копировщик образа.

419
25 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Ребята! Попробовал и NMI запретить, и а20 открыть, все равно не работает.
Вот текст, посмотрите - может, что неправильно сделал, может еще какие мысли в голову придут...
395
26 февраля 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih

А БИОС какой?

AWARD

424
26 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Mitja Gladkih
Ребята! Попробовал и NMI запретить, и а20 открыть, все равно не работает.
Вот текст, посмотрите - может, что неправильно сделал, может еще какие мысли в голову придут...



Запрет NMI:

in AL,70h
or AL,80h
out 70h,AL

Открытие A20:

in AL,92h
or AL,2
out 92h,AL

419
26 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by RelB
AWARD


Ага, вычислили мы их. Спасибо.

419
26 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon


Запрет NMI:

in AL,70h
or AL,80h
out 70h,AL


Ну это более щадящий, не портит ост. биты, хотя в одной книге по Ассемблеру было, как у меня, переделаю.

Цитата:

Открытие A20:

in AL,92h
or AL,2
out 92h,AL


Да? Странно. В другой книге по Ассемблеру и в МенуэтОс е по-другому. Я лично взял из книги, но два источника говорят иначе. Ты уверен?

419
26 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
WerWolf! Свяжись со мной!
Ребята! Пожалуйста, не сочтите за труд - если кто еще где-то зарегистрирован, киньте сообщения о том, что мол, разарб. О/С, подробности - на http://forum.codenet.ru - Низкоуровневое программирование. Если возможно.
И мой почтовый адрес. Или хотя бы подскажите, какие сауты - сам напишу.
Спасибо.
1.8K
26 февраля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Mitja Gladkih

Ну это более щадящий, не портит ост. биты, хотя в одной книге по Ассемблеру было, как у меня, переделаю.

Да? Странно. В другой книге по Ассемблеру и в МенуэтОс е по-другому. Я лично взял из книги, но два источника говорят иначе.



Этих методов полно для разных чипсетов, и предложенный (C)dragon'ом - самый универсальный из всех.

424
26 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Короче, программа для копирования готова, может хоть эту на сайте разместишь...
424
27 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Я выслал программу, но письмо обратно вернулось. Какой-то кривой у тебя ящик, сделай лучше нормальный, на mail.ru
419
27 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
Я выслал программу, но письмо обратно вернулось. Какой-то кривой у тебя ящик, сделай лучше нормальный, на mail.ru


....... Ящик нормальный, у него удобный интерфейс. Просто какой-то "кривой" человек, не знаю, кто, прислал мне письмо на несколько мегов - а там лимит - 3 Мб. Уже выкинул.

419
27 февраля 2003 года
Mitja Gladkih
284 / / 19.12.2002
Те вставки попробовал. Все равно перезагружается. Идеи?
424
27 февраля 2003 года
(C)dragon
307 / / 04.12.2002
Письмо всё равно возвращается.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог