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

Ваш аккаунт

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

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

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

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

419
19 декабря 2002 года
Mitja Gladkih
284 / / 19.12.2002
Все-все-все!
Подключайтесь к созданию новой мультизадачной операционной системы!
[email]gladkih@hot.ee[/email]
Страницы:
419
09 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Пожалуйста, не надо искать "фатальные" ошибки. Вы все сравниваете мою систему с такими гигантами, как Линукс-Юникс-Виндовс... Все впереди.
424
09 января 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Еще вопрос к Мите. Решил ли ты проблему определения полного объема физической памяти? Вот например у меня 256Мб, как мне определить что у меня ее стока? Ни где не нашел, максимум, на что БИОС и ЦМОС способны это 64 МБ. Пробовал просматривать всю память чтением/записью чего то не выходит.




Определение памяти до 4Гб.

int 15h fn e801h
Входные параметры:

ax = e801h.
Выходные параметры:
ax - размер расширенной памяти в килобайтах до 16Mb;
bx - размер расширенной памяти в блоках по 64к свыше 16Мб;
cx - размер сконфигурированный расширенной памяти в килобайтах до 16Mb;
dx - размер сконфигурированной расширенной памяти в блоках по 64к свыше 16Мб.


В биосе есть также функция определения памяти свыше 4Гб, а говорите 64Мб...

Как же не искать ошибки - ввод памяти пользователем - это точно ошибка, ведь если он введёт большее значение, то при попытках записать по этим адресам комп будет перезагружаться. Код определения памяти лучше всего расположить в Boot-секторе.

1.9K
09 января 2003 года
SkLite
38 / / 02.12.2002
Hi
Я не знаю как оно там через биос(не люблю я его), да и при чем тут бут тоже не пойму.
Количество памяти определяется элементарно или в протектед или в анриле примерно так:
Start:
xor esi, esi
xor edx, edx
push Offset DAllMem Offset DAllMem
pop ds es

@@test_himem:
xchg [esi], eax
xchg eax, [esi]
inc edx
add esi, 1024*1024
cmp eax, 0FFFFFFFFh
jne @@test_himem
По крайней мере у меня на нескольких машинах, с разным количеством памяти, определялось точно.
395
09 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by (C)dragon



Определение памяти до 4Гб.

int 15h fn e801h
Входные параметры:

ax = e801h.
Выходные параметры:
ax - размер расширенной памяти в килобайтах до 16Mb;
bx - размер расширенной памяти в блоках по 64к свыше 16Мб;
cx - размер сконфигурированный расширенной памяти в килобайтах до 16Mb;
dx - размер сконфигурированной расширенной памяти в блоках по 64к свыше 16Мб.


В биосе есть также функция определения памяти свыше 4Гб, а говорите 64Мб...

Как же не искать ошибки - ввод памяти пользователем - это точно ошибка, ведь если он введёт большее значение, то при попытках записать по этим адресам комп будет перезагружаться. Код определения памяти лучше всего расположить в Boot-секторе.


Спасибо, просто похоже эта функция относительно новая, в моих доках ее нет, но я все равно написал процедурку, которая сканирует все адреса запись/чтение и находит нужный размер. Теперь она у меня работает как часы, прям до килобайтика память выводит - один в один что пишет биос при загрузке компа.

Кстати, если не трудно, кинь доку по всем функциям биоса поновее, чтоб в дальнейшем таких ошибок не возникало. Мыло [email]relb@inbox.ru[/email]. Заранее спасибо.

363
10 января 2003 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by RelB
2Michael: Спасибо, только вот за что, если не секрет :)?.




2RelB Не секрет. За хорошие замечания по системе!


Митя ты говорил, что система будет или OpenSource, или FreeWare, вот я привёл пример gnu.org , это как раз об этом. Но Copyright это менее важный вопрос.

Куда важнее создать технически интересную и стабильную ОС, способную сопердничить с гигантами. И на этом фоне, хорошо, что ребята сравнивают MNDOS с гигантами, таким образом, легче найти слабые стороны и исправить их.

С почтением.

395
10 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by (C)dragon

Определение памяти до 4Гб.
int 15h fn e801h
Входные параметры:


Попробовал я запустить эту функцию, чего то не работает, мне кажется она не является стандартной. Или просто потому что я запускал под TD да еще и в DOS окне WinXP???

424
10 января 2003 года
(C)dragon
307 / / 04.12.2002
У меня тоже не сработала, хотя стоит Windows Millennium. По-моему TD пора на покой, потому что он неправильно показывает регистры. Было такое дело, что я отлаживал boot-сектор Win, и там были такие инструкции:

mov bp, 0078h
lds si, [bp]

Так вот, после этого на экране в TD было новое значение ds, а вот si так и остался ноль. Выходит TD неправильно регистры показывает...
395
10 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by (C)dragon
У меня тоже не сработала, хотя стоит Windows Millennium. По-моему TD пора на покой, потому что он неправильно показывает регистры. Было такое дело, что я отлаживал boot-сектор Win, и там были такие инструкции:

mov bp, 0078h
lds si, [bp]

Так вот, после этого на экране в TD было новое значение ds, а вот si так и остался ноль. Выходит TD неправильно регистры показывает...



Ну не знаю, не знаю... По идее отладчик не вмешивается в работу самой программы, а просто приостанавливает ее после каждой инструкции. Может просто по этому адресу у тебя смещение было равным нулю? Тем более что отлаживать бут сложно, если особенно его отлаживать как com программу. Просто при com все смещения от начала сегмента 100h, а у бута 7c00h.

424
10 января 2003 года
(C)dragon
307 / / 04.12.2002
После команд mov bp, 0078h
lds si, [bp]

Вроде как регистре ds должен быть 0, а в si - 0078h. Вообще этот адрес - таблица параметров дискеты, причем по смещение 007A находится код размера сектора. Так какой смысл загружать адрес по смещению 0078?

И ещё - при вызове несуществующей функции BIOS флаг переноса устанавливается в 1, а TD этого не показывает.
2.3K
12 января 2003 года
hedg
9 / / 11.01.2003
По-моему, делать ОС для общего пользования сейчас бесполезно. Их и без того много и надо очень постараться чтобы заставить народ пересесть на свою ОС. Надо делать ось направленную на какую-нибудь конкретную задачу, например для работы с 3D графикой или Multimedia и т.д и оптимизировать её для этой задачи.
Потом, не обязательно делать всю ОС на Asm-е.
Ядро естественно должно быть написано на нём.
А вот остальное надо писать на языке высокого уровня. Я где-то слышал что самой удобной средой для программирования была признана ОС NextStep,
написанная на Objective-C. Тем самым можно добиться появления большого числа прикладных программ.
363
12 января 2003 года
Michael
132 / / 20.07.2000
По-моему, делать ОС для общего пользования сейчас бесполезно.

>> Полезно.

Их и без того много

>> Сколько? Мне приходят на ум всего две, а тебе сколько?

и надо очень постараться чтобы заставить народ пересесть на свою ОС.

>> Ты очень прав, почти невозможно!

Надо делать ось направленную на какую-нибудь конкретную задачу, например для работы с 3D графикой или Multimedia и т.д и оптимизировать её для этой задачи.

>> Ты прав!

Потом, не обязательно делать всю ОС на Asm-е.
Ядро естественно должно быть написано на нём.
А вот остальное надо писать на языке высокого уровня.

>> Да, конечно. Да и ядро не нужно "обязывать"
быть полностью ассемблеровским.

Я где-то слышал что самой удобной средой для программирования была признана ОС NextStep,
написанная на Objective-C. Тем самым можно добиться появления большого числа прикладных программ.

>> Интересны детали...

>|> С уважением.
419
12 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by hedg
По-моему, делать ОС для общего пользования сейчас бесполезно.


Очень даже полезно.

Цитата:

Их и без того много и надо очень постараться чтобы заставить народ пересесть на свою ОС.


Никто и не заставляет переходить куда-либо, как в песне каждый выбирает по себе...

Цитата:

Надо делать ось направленную на какую-нибудь конкретную задачу, например для работы с 3D графикой или Multimedia и т.д и оптимизировать её для этой задачи.


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

Цитата:

Потом, не обязательно делать всю ОС на Asm-е.
Ядро естественно должно быть написано на нём.
А вот остальное надо писать на языке высокого уровня. Я где-то слышал что самой удобной средой для программирования была признана ОС NextStep,
написанная на Objective-C. Тем самым можно добиться появления большого числа прикладных программ.


Я писать и ядро, и прикладнушки, и компиляторы буду на Ассемблере. Никого использовать только Ассемблер не заставляю... Но: Система MN-DOS, и прикладные программы к ней от имени Monosoft будут написаны на чистом Ассемблере!

Что могу сказать? Дилетантов и пессимистов всегда было много...(Эта фраза не адресована НИ В ЧЕЙ АДРЕС, ПРОСТО КРИК ДУШИ!)

2.3K
12 января 2003 года
hedg
9 / / 11.01.2003
>> Сколько? Мне приходят на ум всего две, а тебе сколько?

Много: Windows-ы, Unix-ы, BEOS, NextStep, Lindows и ещё несколько, я к сожалению не помню их названий но они действительно есть. Както раз
мне в руки попал обзор где они перечислялись и кратко описывались.

>> Интересны детали...

Во-первых NextStep полностью написана на обьектах, а во-вторых Objective-C на утровне синтаксиса поддерживает событийное программирование.
419
12 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by hedg
>> Сколько? Мне приходят на ум всего две, а тебе сколько?

Много: Windows-ы, Unix-ы, BEOS, NextStep, Lindows и ещё несколько, я к сожалению не помню их названий но они действительно есть. Както раз
мне в руки попал обзор где они перечислялись и кратко описывались.

>> Интересны детали...

Во-первых NextStep полностью написана на обьектах, а во-вторых Objective-C на утровне синтаксиса поддерживает событийное программирование.


Все ля-ля и ничего особого. Что до моего компьютера - на нем лучше всего работают(слева направо - от лучшего к худшему) Windows 3.1, Windows 95, 98, Linux Mandrake, Linux RH 6.2,Linux RH 7.3 < работает преотстойно, Lindows вообще не захотел инсталлироваться. При инст. такие глюки... , что Виндовс нервно курит...
Но это, может быть, частный случай. Но именно из-за огромных недочетов и плюются на Виндовс, а я - на РедХат 7.3...Из-за этого и появляется резон переходить на другую О/С.
Другие негде скачать, может подкинете адресок?

419
12 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Кстати! Куда это БИОС собрался память свыше 4 Гб определять? Вроде, 4 - это максимум, по-крайней мере, без страниц...
И: RelB! Ты говорил об использовании страниц для дефрагментации памяти. Я с тобой согласился, а теперь ломаю голову, что же Ты имел ввиду?
2.3K
12 января 2003 года
hedg
9 / / 11.01.2003
На счёт философии операционных систем ты может быть и прав.

Я всегда уважал людей желающих писать на чистом Asm-е, но ты похоже не предусмотрел такой ситуации, что для твоей ОС может появиться ПО от сторонних производителей. Ты собираешься всех их заставить писать на ASM-е или всё ПО будет изходить только из MonoSoft.

И ещё. Ты правильно заметил: я - дилетант. Но я же не виноват в том что не родился с одиннадцатилетним стажем.
2.3K
12 января 2003 года
hedg
9 / / 11.01.2003
Послушать тебя, так в мире нет ни одной операционной системы, а есть только кучи из проблем и глюков.

Если у тебя такие проблемы со всеми ОСями, может не в них дело. Может стоит в железе покапаться.

Адреса не скажу. Сам не знаю, но как только узнаю обязательно скажу.
424
12 января 2003 года
(C)dragon
307 / / 04.12.2002
Вообще я думаю, что идеальное средство для написания ОС - это ассемблер со встроенной поддержкой объектов, но к сожалению такого нет.
Так что придёться писать на обычном асме, потому что применение C++ резко снизит размер и быстродействие системы, а об остальных языках я и вообще не говорю...

Кто сказал, что максимум памяти 4gb? Начиная с Pentium III поддерживается 64gb.
3.1K
13 января 2003 года
pardus
3 / / 12.01.2003
Цитата:
Originally posted by (C)dragon
Вообще я думаю, что идеальное средство для написания ОС - это ассемблер со встроенной поддержкой объектов, но к сожалению такого нет.
Так что придёться писать на обычном асме, потому что применение C++ резко снизит размер и быстродействие системы, а об остальных языках я и вообще не говорю...

Кто сказал, что максимум памяти 4gb? Начиная с Pentium III поддерживается 64gb.



Хочу присоединится к вам, хотя почти на 1000% уверен, что операционки не написать, по крайней мере приобрету опыт многопроцессорного программирования (если конечно, вы поделитесь документацией по многопроцессорному программированию).

По поводу ассемблера со встроенной поддержкой объектов вы заблуждаетесь. ТАСМ еще 5 лет назад умел такое (не думаю, что за 5 лет они выкинули поддержку обхектов). И кто сказал что на Си++ код будет медленнее, а что размер снизит, так это наоборот хорошо...

Вы про ОС Оберон слышали? Так вот она от начала и до конца написана на Обероне (потомок Паскаля), причём писали её 2 человека 3 года (один из них Никлаус Вирт). В ней нет ни одной строчки кода на ассемблере, си или ещё чём нибудь всё написано на обероне.

Думаете большая система получилась? - фигушки 200кб ядро со встроенным компилятором и текстовым редактором. Ни одному линуксу такое и не снилось.

Операционка + куча софта под неё для интела (есть ещё для кучи процессоров) требует всего 26Мб, причём может ставится на любую другую ОС, создавая на разделе ФАТ файлик с образом своего диска, а начальный загрузчик записан на дискету.

Все основные компоненты можно тоже поместить на дискету и грузится/работать ТОЛЬКО С ДИСКЕТЫ, при этом будет доступен ГУИ, текстовый и графический редактор, компилятор, документация, фтп-клиент, почтовый клиент и веб-броузер.

Подобное я только в QNX видел... Но QNX достаточно новая система, а Оберон аж 88 года выпуска (правда это сам язык, а операционка появилась этак в 96).

Но самое примечательное, что Вирт написал книжку про то, как он придумал этот язык (Оберон), написал его компилятор и операционку. В книжке подробно рассмотрены все тонкости данного процесса. (Только вот книжка на английском, русского перевода я не видел)

Всё это чудо лежит у них на сайте (Цюрихский технологический институт) и всё это асболютно бесплатно (с 1992 г.) и распространяется вместе с исходниками (и книжка лежит там же).

http://www.oberon.ethz.ch/download.html

395
13 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih
Кстати! Куда это БИОС собрался память свыше 4 Гб определять? Вроде, 4 - это максимум, по-крайней мере, без страниц...
И: RelB! Ты говорил об использовании страниц для дефрагментации памяти. Я с тобой согласился, а теперь ломаю голову, что же Ты имел ввиду?



Ксати да, 4 гб для Pentium-a III не предел. Слыхал ли ты о 36 битной адресации? Да, но это только (помойму, точно не знаю, не вдавался я в это программирование) при использовании 2 и 4-х мегабайтных страниц.

Далее по поводу страниц. Я думаю, что ты знаешь о страничной адресации памяти. Блин, даже не знаю что сказать.... Что тут не понятного? При этой организации память состоит из кусочков по 4кб (если использовать конечно 4кб страницы) и при этом каждой задаче можно выделять эти кусочки не заботясь о том, что они располагаются не друг за другом (например, как файл на диске, часть файла может быть в начале, часть в конце, при этом для программы, которая работает с файлом, кажется что она работает с единым целым). Понимаешь, я не знаю о чем тут можно говорить.... Просто если ты знаком со страничной организации (именно на аппаратном уровне процессора 386 и выше), то ты должен понимать что я имел в виду. Т.е. получается что память не потребуется ужимать, а просто выделять каждой задаче свободные кусочки. Получается, что потребуется только механизм учета свободных кусочков. Конечно, может получится, что память будет использована не полностью (как на диске, один байтик может занимать целый кластер), но зато работать это должно быстрее нежели использовать всякие там алгоритмы дефрагментации, "ужимание" памяти и т.д.

363
13 января 2003 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by RelB


Ксати да, 4 гб для Pentium-a III не предел. Слыхал ли ты о 36 битной адресации? Да, но это только (помойму, точно не знаю, не вдавался я в это программирование) при использовании 2 и 4-х мегабайтных страниц.

Далее по поводу страниц. Я думаю, что ты знаешь о страничной адресации памяти. Блин, даже не знаю что сказать.... Что тут не понятного? При этой организации память состоит из кусочков по 4кб (если использовать конечно 4кб страницы) и при этом каждой задаче можно выделять эти кусочки не заботясь о том, что они располагаются не друг за другом (например, как файл на диске, часть файла может быть в начале, часть в конце, при этом для программы, которая работает с файлом, кажется что она работает с единым целым). Понимаешь, я не знаю о чем тут можно говорить.... Просто если ты знаком со страничной организации (именно на аппаратном уровне процессора 386 и выше), то ты должен понимать что я имел в виду. Т.е. получается что память не потребуется ужимать, а просто выделять каждой задаче свободные кусочки. Получается, что потребуется только механизм учета свободных кусочков. Конечно, может получится, что память будет использована не полностью (как на диске, один байтик может занимать целый кластер), но зато работать это должно быстрее нежели использовать всякие там алгоритмы дефрагментации, "ужимание" памяти и т.д.




Достаточно красочный пример! А действитеьно, зачем "ужимать"?

363
13 января 2003 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by Mitja Gladkih

Очень даже полезно.

Никто и не заставляет переходить куда-либо, как в песне каждый выбирает по себе...

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

>>>> Да, слово "платформа" подходит для описания ОС. Windows - ориентированна на РС, на Интернет, развлечение, и т.д. И как раз Multimedia and 3D features являются огромным достоинством Windows! Митя, если бы Windows была не ориентированной на конкретные задачи, она бы была очень маленькой, типа I/O functions., а все остальное бы достраивалось конечными производителями. И тогда бы Windows была установлена на моей кофеварки!

Я писать и ядро, и прикладнушки, и компиляторы буду на Ассемблере. Никого использовать только Ассемблер не заставляю... Но: Система MN-DOS, и прикладные программы к ней от имени Monosoft будут написаны на чистом Ассемблере!

>>>> Спасибо и на том, что не заставляешь! (Шутка)

Что могу сказать? Дилетантов и пессимистов всегда было много...(Эта фраза не адресована НИ В ЧЕЙ АДРЕС, ПРОСТО КРИК ДУШИ!)

>>>> Опять, спасибо что без прямой адресации!




>>>> Желаю Успеха!

424
13 января 2003 года
(C)dragon
307 / / 04.12.2002
Я конечно сглючил, что при использовании C++ размер уменьшается - есстественно он увеличивается.

36-битная адресация действительна доступна только для 2 или 4Mb страниц, но их использовать очень неудобно. Непонимаю, почему intel не сделал 36-битной адресации для 4kb страниц - ступили наверное.
419
13 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:

Да, слово "платформа" подходит для описания ОС. Windows - ориентированна на РС, на Интернет, развлечение, и т.д. И как раз Multimedia and 3D features являются огромным достоинством Windows!
Митя, если бы Windows была не ориентированной на конкретные задачи, она бы была очень маленькой, типа I/O functions., а все остальное бы достраивалось конечными производителями. И тогда бы Windows была установлена на моей кофеварки!



Нет, я не говорю, что в системе не должно быть поддержки мультимедиа, это входит в понятие "набор функций О/С" Просто я не собираюсь писать систему, которая направлена !!!именно!!! на управление ядерным реактором :).

Цитата:

Я писать и ядро, и прикладнушки, и компиляторы буду на Ассемблере. Никого использовать только Ассемблер не заставляю... Но: Система MN-DOS, и прикладные программы к ней от имени Monosoft будут написаны на чистом Ассемблере!

>>>> Спасибо и на том, что не заставляешь! (Шутка)

Что могу сказать? Дилетантов и пессимистов всегда было много...(Эта фраза не адресована НИ В ЧЕЙ АДРЕС, ПРОСТО КРИК ДУШИ!)

>>>> Опять, спасибо что без прямой адресации!


Да, о 36-битной адресации не слышал :(.
А про страничную организацию, вы, возможно, и правы, поразмыслю на днях... И все-таки я люблю работать с физическими адресами, без преобразования. И спасибо за ссылку на Оберон - НИКОГДА НЕ СЛЫШАЛ :(.

419
13 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Просто люблю физические адреса, и чтобы задачи были уложены, как кильки в банке, плотненько.
419
13 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
RelB! Вот, дошло, что же мне хотелось о страницах спросить - просто твое сообщение перечитал.
Ты напомнил о неучтенных байтах в кластере - именно поэтому мне старницы и не хочется использовать. А о дефрагментаторе памяти - может, просто неясно на сайте изложил...? Посмотрю.
Дефрагментатор начинает работу только тогда, когда система видит, что памяти не хватает. А до этого ведется учет свободных кусков - вроде самодельных страниц переменной длины - перечитай на сайте MN-DOS, мне кажется, ты не понял.
419
13 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
(c)Dragon! А что подразумевается под "размер расширенной памяти" - ясно, а что "сконфигурированный размер" - это заданный что ли?
И кто там говорил, что БИОС не любит - как же его нелюбить, когда он святой покровитель наш и сетор с дискеты грузит, все железо на себе тащит. Посмотрел бы я на программера, который все функции для разных плат сам писал ::))
1.9K
14 января 2003 года
SkLite
38 / / 02.12.2002
Цитата:
Originally posted by Mitja Gladkih
И кто там говорил, что БИОС не любит - как же его нелюбить, когда он святой покровитель наш и сетор с дискеты грузит, все железо на себе тащит. Посмотрел бы я на программера, который все функции для разных плат сам писал ::))


Ну все, щас разнесу! Читал, читал и не выдержал.
Это я сказал, что биос не люблю. Как его можно любить, когда у меня по умолчанию в биосе Bus Master был отключен? я долго не мог понять почему расширенное 13 прерывание не работает, пока весь биос(сетап) по строчкам не перечитал. Да и где ты видел чтобы хоть одна ось в защищенном режиме через биос работала? Все дрова для видео, сетевых и т.д. пишутся отдельно для каждой карточки. А для дискет и винтов стандарты есть. Я вижу ты в биосе никогда не копался и не видел как он написан. Это полный отстой!
Если честно, можещь даже обижаться, но я не представляю как ты собираешься с такими знаниями асма и железа писать ось!
Мое мнение о твоих знаниях все хуже и хуже :(

424
14 января 2003 года
(C)dragon
307 / / 04.12.2002
А что - главное в оси поддержка железа что ли? Главное - это управление памятью, менеджмент процессов, и распределение между ними ресурсов. А поддержку всяких там карт и плат можно и потом организовать. Единственное без чего не обойтись, так это дрова для дискеты и винта.
419
15 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by SkLite

Ну все, щас разнесу! Читал, читал и не выдержал.
Это я сказал, что биос не люблю. Как его можно любить, когда у меня по умолчанию в биосе Bus Master был отключен? я долго не мог понять почему расширенное 13 прерывание не работает, пока весь биос(сетап) по строчкам не перечитал.


Ну да... я трамвай не заметил, он меня перехал, какой плохой...

Цитата:

Да и где ты видел чтобы хоть одна ось в защищенном режиме через биос работала? Все дрова для видео, сетевых и т.д. пишутся отдельно для каждой карточки. А для дискет и винтов стандарты есть.


А я такого и не говорил, не говорил, что буду его использовать, с чего ты взял? Я имел ввиду в реальном режиме, надо тебе быть повнимательнее.

Цитата:

Я вижу ты в биосе никогда не копался и не видел как он написан.
Это полный отстой!


Копался, и не раз. А нписан он был не для того, чтоб тебе все понятненько было, а чтоб быстрее и меньше.

Цитата:

Если честно, можещь даже обижаться, но я не представляю как ты собираешься с такими знаниями асма и железа писать ось!
Мое мнение о твоих знаниях все хуже и хуже :(


Мое мнение о твоих знаниях и внимании тоже понижается. А уж о железе и Ассемблере молчал бы. Не взялся б я, если б не был в своих знаниях уверен!

1.9K
16 января 2003 года
SkLite
38 / / 02.12.2002
Цитата:
Originally posted by Mitja Gladkih


>>Ну да... я трамвай не заметил, он меня перехал, какой плохой...
Я говорю не про то, что кто-то там или я сам его неправильно настроил, а что по умолчанию у новой мамы был выключен Bus Master и вместе с ним расширенный инт13. По моему это большая лажа. И если я и нашел, то это не значит, что все найдут.
А винт на 15Г. И через биос твоя ось у меня (и не только) не загрузилась бы!!!

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

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

419
18 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by SkLite

>>Ну да... я трамвай не заметил, он меня перехал, какой плохой...
Я говорю не про то, что кто-то там или я сам его неправильно настроил, а что по умолчанию у новой мамы был выключен Bus Master и вместе с ним расширенный инт13. По моему это большая лажа. И
если я и нашел, то это не значит, что все найдут.


Ладно, хватит об этом. Просто речь твоя не к месту была.

Цитата:

винт на 15Г. И через биос твоя ось у меня (и не только) не загрузилась бы!!!


А и не должна. Тот бутер расчитан на дискету.

Цитата:

>Копался, и не раз. А нписан он был не для того, чтоб тебе все понятненько было, а чтоб быстрее и меньше.

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


Медленно - потому что универсальный. Хотя и не медленный, а относительно меделнный. Просто там учет всего-всего, границ и т.д., работает почти без сбоев, и достаточно быстро. Не был бы нужен - не было б.

Цитата:

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


А почему бы не воспользоваться готовым fasm ом?
К тому же, я загрузчик сначал дооолго проектировал, а написал когда мышцы порвал и было время. Написал быстро, потому что все очень четко представлял, как должно работать. Теперь ядро проектирую(точнее, наношу проект на бумагу, одновременно выполняю то, что уже спроектировал)
И к тому же - из твоих слов выходит, что я должен сначала написать загрузчик, ядро, компилятор - то есть ВСЕ, а потом на готовое звать помощников отлаживать? Извини, глупо. Для того команду и собирают, чтобы написать лучше и быстрее, а не чтоб по шаблону версии клепать.

419
18 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
К тому же, чтоб под Mn-dos компилятор написать, надо сначала саму систему сделать, не правда ли ? :)
А сам компилятор писать по Ms-dos, потом переносить, ну а формат исполняемого ведь известен...
2.9K
20 января 2003 года
NAIL
10 / / 29.12.2002
Митя я вообще не понимаю, почему идут такие споры по поводу разных вещей в системе,ведь сначала надо написать ядро и boot а потом вести горячии дискусии как устроить то или это...

Кстате ,может это совсем не в тему,но подскажите болбесу как вывести с помощью биос строку не зная её длины,заранее спасибо
419
20 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by NAIL
Митя я вообще не понимаю, почему идут такие споры по поводу разных вещей в системе,ведь сначала надо написать ядро и boot а потом вести горячии дискусии как устроить то или это...


И я том же, спасибо за моральную поддержку

Цитата:

Кстате ,может это совсем не в тему,но подскажите болбесу как вывести с помощью биос строку не зная её длины,заранее спасибо


Точно, не в тему. Посмотри в моем бутере SUB_1

395
21 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih
RelB! Вот, дошло, что же мне хотелось о страницах спросить - просто твое сообщение перечитал.
Ты напомнил о неучтенных байтах в кластере - именно поэтому мне старницы и не хочется использовать. А о дефрагментаторе памяти - может, просто неясно на сайте изложил...? Посмотрю.
Дефрагментатор начинает работу только тогда, когда система видит, что памяти не хватает. А до этого ведется учет свободных кусков - вроде самодельных страниц переменной длины - перечитай на сайте MN-DOS, мне кажется, ты не понял.



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

Посмотрел я доки по процам интел и вынес то, что 36 битная адресация была уже и в Pentium Pro, просто в третьем пне добавили альтернативный метод 36 битной адресации. Но все равно такая организация памяти не позволит процессу в определенный момент времени иметь размер адресного пространства более 4гб. Да, такая адресация поддерживается и для 4кб страниц.

419
21 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by RelB


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

Посмотрел я доки по процам интел и вынес то, что 36 битная адресация была уже и в Pentium Pro, просто в третьем пне добавили альтернативный метод 36 битной адресации. Но все равно такая организация памяти не позволит процессу в определенный момент времени иметь размер адресного пространства более 4гб. Да, такая адресация поддерживается и для 4кб страниц.


Да, спасибо, я учту. Но остаюсь при своем.
Опять ошибочки при прерываниях, бьюсь.

2.7K
21 января 2003 года
matt
5 / / 22.12.2002
Начал вы и правда не с того конца. Надо было бы создать полный проект. Что должна будет уметь ОС к выпуску первой версии.
Разбить на небольшие подзадачи. А затем выложить их на странице. Дабы програмер зашедший на сайт не думал что это за муть, а мог выбрать себе задачу и попытаться её реализовать. А затем выслать тебе исходник. Который после рассмотрения «комиссией» будет либо включен, либо нет в систему.
А сейчас ты пытаешься что-то сделать самостоятельно…

Все выше сказанное ИМХО
2.9K
22 января 2003 года
Wizard
5 / / 21.01.2003
Я тоже пишу ОС, но специализируюсь скорее а оптимизации скорости (простой вывод на текстовый экран, да и текстовые строки - MMX) Кто хочет посмотреть, есть исходнички на C++ (сравнивал со стандартными функциями, мои 230% быстрее всреднем... есть быстрее медленнее, но никак не медленнее базовых, MMX все-таки). Этот же формат встроен в ОС.

Как програмировать VESA видел на сайте developer.nvidia.com, но мне достаточно того, что взял на vesa.org.

А так, готов к сотрудничеству. Мои исходники - твои исходники, если будет взаимность.

Да, кстати, где здесь сайт MN-DOS?
395
23 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Wizard
Я тоже пишу ОС, но специализируюсь скорее а оптимизации скорости (простой вывод на текстовый экран, да и текстовые строки - MMX) Кто хочет посмотреть, есть исходнички на C++ (сравнивал со стандартными функциями, мои 230% быстрее всреднем... есть быстрее медленнее, но никак не медленнее базовых, MMX все-таки). Этот же формат встроен в ОС.

Как програмировать VESA видел на сайте developer.nvidia.com, но мне достаточно того, что взял на vesa.org.

А так, готов к сотрудничеству. Мои исходники - твои исходники, если будет взаимность.

Да, кстати, где здесь сайт MN-DOS?



Ну и зря, все MMX нежелательно. Как я понимаю у AMD (конечно, я могу ошибаться) нет MMX, значит даже базовые функции пахать не будут, а значит по сути на аналогах Intel твоя ОСь не пойдет. А это хреново, т.к. у многих AMD. Далее, зачем оптимизировать некритичные по времени исполнения функции. Пользователь все равно не заметит как ему на экран текст выводится - через MMX или по обычному. А сайт mndos.narod.ru помойму :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог