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

Ваш аккаунт

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

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

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

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

419
19 декабря 2002 года
Mitja Gladkih
284 / / 19.12.2002
Все-все-все!
Подключайтесь к созданию новой мультизадачной операционной системы!
[email]gladkih@hot.ee[/email]
Страницы:
424
21 марта 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Mitja Gladkih
Вот. И он-то работает. GDT ни при чем.
Пробовал IDT размещать в ядре, а смещения не из вспомогательной таблицы в сааамом низу текста запихивать, а оставлять равными IRQ0 и EXCDUMMY.
Теперь не перезагружается, а зависает. Прогресс не стоит на месте! :D



В коде всё правильно, но почему-то не работает... Смотри остальные биты CR0, и всё же отключи APIC.

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


В коде всё правильно, но почему-то не работает... Смотри остальные биты CR0, и всё же отключи APIC.


Не в CR0 и APIC дело...

419
21 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


Ты его не убедишь, он ярый фанатик асма :)


Я не ярый фанатик Ассемблера, я ярый ненавистник Си.

3.6K
22 марта 2003 года
marazm
4 / / 22.03.2003
Я отклонюсь немного от основнои темы раздела, но причина вроде бы уважительная ,я не так давно заинтересовался программированием на Ассемблере ,и не нашел лудшего места ,для того чтобы обсудить свои мысли (обсуждать чужие - опыта не хватает и знаний) ,и надеюсь что кто нить мне поможет.
Очень хотелось мне написать com-задачу ,которая могла бы загружаться сама без какои либо OS ,но сильно не хватает информации по этои теме, нигде не могу наити,- как происходит процес загрузки OS ,и чем принципиально отличаються между собои прога OS(или самозагружающаяся прога) и обычная прога , и еше хотел поинтересоваться ,достаточно ли самои программы чтобы она загрузилась либо кроме её нужно как то менять те програмульки которые вроде как сидят в mbr.Один очень мудрыи человек рассказал мне что :
1 -после всех проверок ,которые производит машина при загрузке ,какая то программа (загрузчик чтоли -я толком не запомнил )в случае соответствуюших настроек в BIOS начинает искатьчто то на 0 дороге у флоповода , и если это там находит , то загружает в определённую область памяти и передаёт туда управление, мне из этого что то вроде и понятно , но так как раньше я этим вообше не занимался, то все это как то медленно ,для убыстрения , я хотел бы попросить вас ,тех кто знает ,высказать свою версию происходяшего , либо указать на источник где эта версия есть ,и еше хочу попросить не пользоваться жаргонными словами и большим количеством терминов
, так как я не настолько силен , чтобы понять "с лёту" .Если кто то откликнеться - большое ему спасибо.
~~~~~~~~~~~~~~~
Если наидете какие нибуть нелепости в моем рассказе -пожалуюста не смеитесь.
424
22 марта 2003 года
(C)dragon
307 / / 04.12.2002
--> to marazm(каких только ников не бывает...)

Надо написать прогу размером 512 байт и записать в начало дискеты. Последними байтами должны быть 55AA, т. е. на асме будет dw 0AA55h. Если дискеты - FAT12, то надо учитывать таблицу параметров. Если прога больше 512 байт, то надо записать её за бут-сектором, если это RAW дискета или в файл, если FAT12. Только код для загрузки файла из FAT12 будет сложнее. Да, и конечно нельзя использвать прерывания DOS - только БИОС! И не надо в MBR лазить, а то будешь потом комп три дня восстанавливать.

--> to митя

Если дело не в CR0 и APIC, то в чём тогда? Посмотри на все флаги в EFLAGS(!!!), на CR1 - CR4(хотя вряд ли в них дело). И помести код отключения APIC. Допустим он включён - там всё управление IRQ выполняется из защищённого режима, его регистры управления маппируются в конец адресного пространства, а ты в порт 20h чего-то пишешь - разве это будет работать?
419
22 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon

Если дело не в CR0 и APIC, то в чём тогда? Посмотри на все флаги в EFLAGS(!!!), на CR1 - CR4(хотя вряд ли в них дело). И помести код отключения APIC. Допустим он включён - там всё управление IRQ выполняется из защищённого режима, его регистры управления маппируются в конец адресного пространства, а ты в порт 20h чего-то пишешь - разве это будет работать?


Привет всем!
Ну, может CR0 и стоит посмотреть, а APIC - в Менуэте ну вроде как не отключается. Тем более, вот рез-ты последнего опыта.
Усекал я, обрезал и сделал так, что и прерывания, и исключения работают, но только если напрямую выводить на экран. Если использовать HEXTOASC, тогда и заедает. Почти мистика:

MOV SI,STRI
MOV AX,1234h
CALL HEXTOASC
...
...
HEXTOASC:
...
...
RET
Работает.
А:
MOV SI,STRI
MOV AX,1234h
CALL prnexc
...
...
prnexc:
RET
- нет.
Правда я это вчера, то есть сегодня, часа в 1-2 утра делал %) может, что сглючил.

419
22 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
УРРРРРРРААААААА! Нашел!
Братцы! ЕЕЕЕЕЕЕЕЕ!!!!!!!
Как говорится, догадайтесь с трех раз...
Причина довольно банальная. CR0, APIC и (C)Dragon отдыхают......
"а ты в порт 20h чего-то пишешь - разве это будет работать?"
Конечно, стандартный-то контроллер никуда не уезжал...
Ну вот. Сижу я значит, код отлаживаю. Ну, как привык, комментирую блоки, смотрю.
И вот закомментировал наконец переход на prnexec - заработало. А ведь и исключения через него проводят печать на экран, потому и "не срабатывали".
Отлаживаю его. То, что написал в прошлом мессадже - точно в глазах помутнилось, утром все нормально было. Добрался до строчек movsb stosb. Ага, пошел.
Вот тут и подбираемся... Почти прав был кто-то из нас, не помню кто, он сказал "помотри ss - может, там страшное что-то". Да. но только стек здесь ни при чем.
Две вышеуказанные команды работают с DS, ES, SI,DI. Вроде я все верно написал, да? Но не совсем. ESI и EDI, вот что! Действительно, AWARDовский "классический" BIOS пользовался расширенными частями этих регистров. И там было "что-то страшное". Конечно, я и в загрузчике использую 32-разрядные регистры, но не эти. Вставил
xor esi,esi
xor edi,edi
И ОН ЗАРАБОТАЛ!!!
1.9K
22 марта 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Mitja Gladkih
"помотри ss - может, там страшное что-то".



Гыыы мои слова :)
Поздравляю, и кстати самое время обновить сайт :D

3.6K
23 марта 2003 года
marazm
4 / / 22.03.2003
Я вроде как слышал , что у такои (самозагружаемои) проги , какую я хочу написать ,PSP имеет не такои размер как у обычнои , я е знаю правда с чем это связанно если это так ,но хотел знать какои он у неё, и кикие у неё есть другие принципиальные различия (если есть),.
И если чесно , не могу же я все время всех спрашивать, а приходиться , потому что инфы в печатнои версии никак не наиду, точнее у меня есть кое что, но ни в одном из доков нет полного списка прерываний BIOS складываеться впечатление , что они засекреченны ; причем их нет даже в том случае ,если они присутствуют в оглавлении.хотелось бы узнать где можно достать ПОЛНЫИ список этих прерываний.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Всем спасибо!!
ЗЮЫЮ: МНЕ ПРИДЕТЬСЯ ПИСАТЬ ПРОГУ ,КОТОРАЯ ЗАПИШЕТ
МОИ ПРОЕКТ НА 0 ДОРОГУ ФЛОПА?
424
23 марта 2003 года
(C)dragon
307 / / 04.12.2002
--- На этом сайте есть описание этих функций. А для записи бут сектора возьми image.com с сайта mndos.narod.ru в архиве с образом дискеты.


--- Да, придёться отдохнуть, не заметил я эти регистры, т.к. искал ошибки в коде для перехода в PM и установки IRQ, а вот на вывод на экран не обращал внимание. Вот так вот - поздравляю!
1.8K
23 марта 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by marazm
Я вроде как слышал , что у такои (самозагружаемои) проги , какую я хочу написать ,PSP имеет не такои размер как у обычнои , я е знаю правда с чем это связанно если это так ,но хотел знать какои он у неё, и кикие у неё есть другие принципиальные различия (если есть),.


PSP у ее нет вообще. А стартует она по адресу 0x7C00, так что ориджин прописывай этот. Вообще вот минимальный пример такой проги:
http://www.lowlevel.ru/articles/goto.cgi?id=1047129321

Цитата:

И если чесно , не могу же я все время всех спрашивать, а приходиться , потому что инфы в печатнои версии никак не наиду, точнее у меня есть кое что, но ни в одном из доков нет полного списка прерываний BIOS складываеться впечатление , что они засекреченны ; причем их нет даже в том случае ,если они присутствуют в оглавлении.хотелось бы узнать где можно достать ПОЛНЫИ список этих прерываний.


Ralf Brown's Interrupts List - *самый* полный список:
http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html

419
23 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon

--- Да, придёться отдохнуть, не заметил я эти регистры, т.к. искал ошибки в коде для перехода в PM и установки IRQ, а вот на вывод на экран не обращал внимание. Вот так вот - поздравляю!


Да это так, к слову - я тоже чуть не пропустил, ошибка была там, где ее никто не ждал.
А если надо с дискетой работать - лучше DiskEditor из Norton Utilities for MS-DOS не найти - очень удобная вещь. Могу послать.
Ребята! Вот думаю, как лучше организовать разделение потоков(процессов)...
Приведите, плиз, примеры использования автономных процессов - я проанализирую и попытаюсь найти оптимальный вариант исполнения. А то сейчас сделаю, потом кому-то может не понравиться.

3.9K
24 марта 2003 года
Brand
2 / / 24.03.2003
Извените, что вас отвлекаю. Хотел бы с вами поработать по созданию оси. Я тоже создаю ось.
Сделал следующте:
Написал мастер бут винта, он грузит бут. Далее бут грузит лоадер по адесу 1000:0000. Лоадер переходит в защищенный. А так же настоенна IDT. Правда, в IDT только заглушки.

Скомпилированый кернел надо загрузить по адрессу 100000h (1мб).

Если мои разработки не идут в разрез с вашими, то может объединим наши усилия?

Я загибаюсь писать сам.
3.8K
24 марта 2003 года
rcz
4 / / 20.03.2003
Цитата:
Originally posted by kswapd


Ты его не убедишь, он ярый фанатик асма :)



Фанатизм к асму проходит. Я согласен язык отличный(лучший), но все написать на нем невозможно, да и оптимизация компиллятора лучше. Бут должен быть ессесно на асме. Но далее - все на С с асм вставками. Поэтому встречное предложение.

"Создадим свою ОСь на С!".

3.8K
24 марта 2003 года
rcz
4 / / 20.03.2003
Цитата:
Originally posted by Mitja Gladkih

Я не ярый фанатик Ассемблера, я ярый ненавистник Си.



1)Зря! С - хороший, красивый язык. Это скоро поймешь. Очень близкий к низкоуровневому языку.

2) а почему бы не создать свой язык для своей оси. Надо упростить и ускорить разработку. Ты же хочешь чтобы твоя ОСь распространилась и была популярной ;)

419
24 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by rcz


Фанатизм к асму проходит. Я согласен язык отличный(лучший), но все написать на нем невозможно, да и оптимизация компиллятора лучше. Бут должен быть ессесно на асме. Но далее - все на С с асм вставками. Поэтому встречное предложение.

"Создадим свою ОСь на С!".


Давайте о других осях в других разделах форума, здесь - про MN-DOS.

419
24 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by rcz


1)Зря! С - хороший, красивый язык. Это скоро поймешь. Очень близкий к низкоуровневому языку.


Это ты так думаешь, но не я. И никому меня не переубедить. Я его не выношу.
И понять привязанность многих к нему могу объяснить только тем, что они не знают
ДОСТАТОЧНО о других языках. Давай не будем об этом.

419
24 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by Brand
Извените, что вас отвлекаю. Хотел бы с вами поработать по созданию оси. Я тоже создаю ось.
Сделал следующте:
Написал мастер бут винта, он грузит бут. Далее бут грузит лоадер по адесу 1000:0000. Лоадер переходит в защищенный. А так же настоенна IDT. Правда, в IDT только заглушки.

Скомпилированый кернел надо загрузить по адрессу 100000h (1мб).

Если мои разработки не идут в разрез с вашими, то может объединим наши усилия?

Я загибаюсь писать сам.


OK. Договоримся по e-mail. Пиши либо на [email]gladkih@hot.ee[/email], либо на [email]mndos@narod.ru[/email]

3.9K
25 марта 2003 года
Brand
2 / / 24.03.2003
Цитата:
Originally posted by rcz


2) а почему бы не создать свой язык для своей оси. Надо упростить и ускорить разработку. Ты же хочешь чтобы твоя ОСь распространилась и была популярной ;)



Не стоит отвлекаться на написание копилятора. Это конечно хороший подход, но это займет уйму времени.

424
25 марта 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by rcz


Фанатизм к асму проходит. Я согласен язык отличный(лучший), но все написать на нем невозможно, да и оптимизация компиллятора лучше. Бут должен быть ессесно на асме. Но далее - все на С с асм вставками. Поэтому встречное предложение.

"Создадим свою ОСь на С!".



Может ещё на бейсике создавать? На C уже есть оси, наверняка знаешь какие. Поэтому эта и делается на асме, чтобы была быстрее и стабильнее.
Вообще неудобство разработки на асме исходит от отсутствия нормальной IDE. Почему хотя бы под Windows на C++ получается быстрее делать программы? Всё из-за того же IDE. Попробуй писать чистым API - и что? Прога получится через такой же промежутой времени, как и на асме, но будет больше тормозить и глючить. Так что надо собраться и написать мощную IDE для асма, на уровне Borland C++Builder.

1.9K
25 марта 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Mitja Gladkih
Это ты так думаешь, но не я. И никому меня не переубедить. Я его не выношу.
И понять привязанность многих к нему могу объяснить только тем, что они не знают
ДОСТАТОЧНО о других языках. Давай не будем об этом.



Хорошо, а о каких языках ДОСТАТОЧНО знаешь ты?

1.9K
25 марта 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by (C)dragon


Может ещё на бейсике создавать?



Бейсик - интерпретатор, поэтому не получится :) А вот на паскале можно, тем более примеры уже есть рабочие.

Цитата:


На C уже есть оси, наверняка знаешь какие. Поэтому эта и делается на асме, чтобы была быстрее и стабильнее.



Угу, и те что есть - медленные и нестабильные? А разработка на асме - означает скорость и стабильность? "Не очевидно" :) Вот докажите мне аргументированно, что разрабатывая на асме вы получите скорость и стабильность, тогда поверю вам :)

Цитата:

Вообще неудобство разработки на асме исходит от отсутствия нормальной IDE. Почему хотя бы под Windows на C++ получается быстрее делать программы? Всё из-за того же IDE. Попробуй писать чистым API - и что? Прога получится через такой же промежутой времени, как и на асме, но будет больше тормозить и глючить. Так что надо собраться и написать мощную IDE для асма, на уровне Borland C++Builder.



Все IDE фигня :) Emacs рулит :)

419
27 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


Хорошо, а о каких языках ДОСТАТОЧНО знаешь ты?


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

419
27 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


Бейсик - интерпретатор, поэтому не получится :) А вот на паскале можно, тем более примеры уже есть рабочие.


Даа.... Куда мир катится? Только вчера компилировал утилитку на Бейсике.
Quick Basic 4.5 Compiler....

Цитата:

Угу, и те что есть - медленные и нестабильные?


Конечно, хотя бы Виндовс.

Цитата:

А разработка на асме - означает скорость и стабильность?


Не скорость разработки, но скорость и стабильность работы.

Цитата:

"Не очевидно" :)


Вполне очевидно.

Цитата:

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


Делать больше нечего...
Да и зачем? Все равно писать буду на Ассемблере.

1.9K
27 марта 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Mitja Gladkih

Конечно, хотя бы Виндовс.


Ну Windows NT и дальше вполне ничего себе. И то что он тормозит не факт - у меня не тормозит например.

Цитата:
Originally posted by Mitja Gladkih

Не скорость разработки, но скорость и стабильность работы.

Вполне очевидно.


Это зависит от языка? ИМХО больше от программиста.

Цитата:
Originally posted by Mitja Gladkih

Делать больше нечего...
Да и зачем? Все равно писать буду на Ассемблере.



Да Вы пишИте, пишИте :)
Ни о каких недостатках Си, кроме того, что он "сложный" и Вы его не знаете, я от Вас не слышал. К тому же не понимаю, как можно рассуждать о недостатках, не зная языка.
(кстати, интересно, что Вы еще знаете кроме асма, бейсика и фортрана)

За сим прощаюсь. Пишите свою Ось один. :devil:

395
27 марта 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih

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

Я страюсь не вмешиваться во всякие такие споры, но все же, Митя, расскажи мне хоть об одном недостатке С, который прям ваще бесил кого-нить. Не знаю, не зря же большое количество современных языков программирования Сиподобны. Я имею ввиду прежде всего С++. Упраляющих конструкций таких как в Си, я не встречал в других языках. Си - очень мощный. Митя, я знаю что ты любишь бейсик. Не обижайся, я его тоже любил, когда был маленький, но сейчас за язык я его не считаю - так, скрипт :). И при этом очень при очень даже не очевидно, что писанина на асме сразу означает стабильность и быстродействие. Ладно Вы бы сказали быстродействие, но вот стабильность тут причем? Типа компиляторы мутят глюки в программе? Так что неочевидно. Про оптимизацию я писал выше. Компьютер легко может выполнять рутинную работу, а человек нет. Не будете же вы подбирать команды процессора таким образом, что-бы они все спаривались? Или быть может, чтоб цикл умещался в одну строку кеша процессора? Можно приводить еще кучу примеров. Допустим и разворачивание циклов вы будете ручками делать? Не знаю... Microsoft и gcc рулят. Кто сказал, что компилятор от Майка под винду будет все оптимизировать? Конечно, если под нее программы писать то да :). Советую все-таки выбирать gcc, хоть он и на 2-4% похуже при оптимизации (может даже и меньше). Щас Митя скажет, опять про языки, но больше просто обсуждать нечего. Покопался бы я в твоем ядре, когда вы искали ошибку, но написано оно некрасиво и трудночитаемо - лень. Так что я просто читаю о
том как вы спорите с легкой ухмылкой на лице.

Когда я писал загрузчик для моей ОС (и у меня было затмение :)), который, кстати, гораздо умнее вашего, то, то что у вас в ядре, было написано максимум за день. И ничего не глючило, работало везде. Загрузчик у меня это не то что в буте, а отдельная программа, которую бут запускает. Для него не важно с дискеты ли, с винта грузится система, неважно в какой директории нах-ся система, все прописано в конфиг файле. И вся загрузка уже шла в PM. Но я бросил это нафиг. Потому что все равно никаму это ненужно. Писал я кстати тоже на асме :). Зачем создавать такую ОС которая абсолютно никому не нужна? А твоя, Митя, не нужна будет точно. Пишешь ты ее уже почти полгода, а результата 0. Если ты ее сделаешь как задумал, то получишь обычный MS-DOS. При этом будет не 640, а больше кб памяти; кучу резидентников (процессов), которые будут работать независимо. При этом память будет как в MS-DOS фрагментироваться, делиться на кусочки... Страницы по причине неполноценного использование памяти мы использовать не хотим. Ядро аппаратно зависимо - понимаете ли есть устройства, которые обязательно присутствуют в компе, а есть которые необязательно. А если у нас будет много-много устройств и несколько из них повешается на одно прерывание, где у ядра уже висит стандартное устрйство? Мы все равно считаем символ с клавы, как же без него, а? Ладно, я уже много чего писал, раньше пытался хоть как-то воздействовать на нашего нового Билла Гейтса, который даже не знал, кто такой Кнут, но результата ноль. Он сильно любит себя, фортран и бейсик, что переубедить и доказать правоту любой другой точки зрения (кроме его) невозможно.

Быть может после вышесказанного меня начнут поливать грязью и т.д. и т.п. Но, Митя, ты не прав. Никого ты к себе не привлечешь, а если и привлечешь, то все мнения, которые будут противоречить с твоими ты будешь нагло отвергать и доказывать что фортран все-равно лучше... Ты о языках не знаешь ничего. Ты знаешь что, вообще существуют и разные типы (я бы сказал классы) языков? Например, есть еще (к примеру) и декларатиные языки, типа Prolog и т.д. Ты хоть знаешь, как называется класс языков на котором ты программируешь? Я имею в виду бейсик, фортран... Если знаешь, молодец (тогда я молчу), а если нет, то как ты можешь утверждать о том что люди не знают ДОСТАТОЧНО о других языках? Сам нифига не знаешь.

1.9K
28 марта 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by RelB
...на нашего нового Билла Гейтса, который даже не знал, кто такой Кнут, но результата ноль.



Так, к слову, Билл Гейтс знает о Кнуте и даже прочитал трехтомник за 3 месяца :) Кто быстрее?

Сорри за оффтопик :)

424
28 марта 2003 года
(C)dragon
307 / / 04.12.2002
Если на асме нормально писать, то скорость разработки должна быть примерно в 2 - 2.5 медленнее, чем на C/C++. Но это уж слишком медленно, хоть бы командную строку сделал что ли.

Было такое, что и я начинал ОС писать, написал загрузчик, дополнительный загрузчик, в котором был переход в PM. Только там не время показывалось, а можно было текст набирать и при ENTER на новую строку переходить. Писал естесственно на асме и хватило три дня. Потом забросил, а вторичный загрузчик потом вообще потерял.

Теперь про архитектуру. То что не будет страниц - это большой минус, будет хорошо тормозить и не будет достаточной защиты. И причём тут неполноценное использование памяти? Что, нельзя полностью со страницами использовать? 256 процессов, или как оказывается потоков - слишком мало. Лучше сделать 65536. А то будет трудно многопоточные приложения поддерживать. Так же используется контроллер, который был в 80486, т.е. его эмуляция. Лучше быстрее переходи на использования APIC, тем более у него есть встроенный таймер, поэтому обычный можно будет использовать для чего-нибудь другого. Ещё по коду заметно, что ты пишешь для 386, хотя если полноценно использовать MMX, условные пересылки (cmovcc), то работать раза в два будет точно быстрее. Так что сделай лучше системным требованием Pentium pro.
Переход в PM лучше перенести во вторичный загрузчик вместе со всей инициализацией, а в ядре должны быть только функции, только не вздумай вызывать из по прерываниям, типа int 21h. Это очень медленно. Переключение задач сделай програмно, без TSS, но с его аналогом.

И вообще надо сначало всё продумать, а то будет как в Menuet, где весь интерфейс тормозит намного больше, чем в Windows и Linux, хотя там всё написано на асме.
419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
2 RelB: Эх, дал бы счас в глаз, да устал слишком... :)
Ладно, пардон. Едем дальше.
Цитата:
Originally posted by RelB
Я страюсь не вмешиваться во всякие такие споры, но все же, Митя, расскажи мне хоть об одном недостатке С, который прям ваще бесил кого-нить.

Бесящих меня множество. Извини, я не хочу об этом говорить - я однажды поднатужился и написал примерно десять страниц недостатков, но тот файл рухнул. Даю слово, я б рад, но уже и здоровье не то, и нервы не те... :) Шучу, но честно - просто лень спорить - об этом достаточно много уже сказано.

Цитата:

Митя, я знаю что ты любишь бейсик. Не обижайся, я его тоже любил, когда был маленький, но сейчас за язык я его не считаю - так, скрипт :).


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

Цитата:

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


Я согласен, что некоторые компиляторы могут генерить код лучше чем я. И я б писал на таком языке. Но вы предлагаете Си, а я с ним не в ладах.

Цитата:

Когда я писал загрузчик для моей ОС (и у меня было затмение :)), который, кстати, гораздо умнее вашего, то, то что у вас в ядре, было написано максимум за день.


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

Цитата:

И ничего не глючило, работало везде.


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

Цитата:

Загрузчик у меня это не то что в буте, а отдельная программа, которую бут запускает.
[QUOTE]
А твоя, Митя, не нужна будет точно.


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

Цитата:

Пишешь ты ее уже почти полгода, а результата 0.


Читай выше.

Цитата:

понимаете ли есть устройства, которые обязательно присутствуют в компе, а есть которые необязательно.


А ты скажешь, я не прав?

Цитата:

такой Кнут, но результата ноль. Он сильно любит себя, фортран и бейсик, что переубедить и доказать правоту любой другой точки зрения (кроме его) невозможно.


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

Цитата:

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


Конечно лучше.

Цитата:

Ты о языках не знаешь ничего.


Я бы так не наглел.

Цитата:

Ты знаешь что, вообще существуют и разные типы (я бы сказал классы) языков? Например, есть еще (к примеру) и декларатиные языки, типа Prolog и т.д. Ты хоть знаешь, как называется класс языков на котором ты программируешь? Я имею в виду бейсик, фортран... Если знаешь, молодец (тогда я молчу), а если нет, то как ты можешь утверждать о том что люди не знают ДОСТАТОЧНО о других языках? Сам нифига не знаешь.


А ты знаешь хоть что-то о Фортране? Нет. Ты на нем программировал? Нет. А если да, то на каких?
Только на МСовском?
Глупо так меня опускать, все равно знаешь сам, что
это противостояние идет и будет идти вечно, эх ладно, о чем это я... Буду умнее - промолчу.
И давайте уж к МН-ДОС поближе.
А если тебе, RelB, не нравится мой проект - не загрязняй форум, хочешь поругаться - для этого есть электронная почта. И раз я что-то спланировал не так, мне люди об этом говорили. Я же не говорил - сам дурак, я говорил, что запомню.
Сам только вчера вечером и сегодня передумал в пользу страниц, а ты собачишься. Я знаю, что ты знаешь много. Жаль терять знающих людей.

419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by kswapd


Так, к слову, Билл Гейтс знает о Кнуте и даже прочитал трехтомник за 3 месяца :) Кто быстрее?

Сорри за оффтопик :)


А какой толщины тома? Книги такой толщины, как среднее между "Три мушкетера" и "Аппаратные средства IBM PC" М. Гука я читал за три дня - и это еще не очень напрягаясь...
Но это ведь были художественные книги, я только сейчас скачал третий том уважаемого автора. Самая главная проблема - моих математических знаний не хватит, придется пополнять. Но за месяц-два, я думаю ее одолею.

Я теперь тоже знаю о Кнуте. А если б я учился в институте на кафедре информатики, и не такие б погонялы :) :D знал.
Спасибочки за наставление на путь истинный :) Может, кто подскажет, где скачать первые два тома?

419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by (C)dragon
хоть бы командную строку сделал что ли.


Обязательно будет.

Цитата:

Теперь про архитектуру. То что не будет страниц - это большой минус,

Читай выше.

Цитата:

Что, нельзя полностью со страницами использовать?


Ну не нравится мне точночть +- 4 Кб.

Цитата:

256 процессов, или как оказывается потоков - слишком мало. Лучше сделать 65536.


Мы вроде давно уж условились о двух байтах.

Цитата:

Ещё по коду заметно, что ты пишешь для 386, хотя если полноценно использовать MMX, условные пересылки (cmovcc), то работать раза в два будет точно быстрее. Так что сделай лучше системным требованием Pentium pro.


Нет, не хотел бы ПОКА. Линукс объявил, что его минреки - 386, я тоже хочу как можно менее треб. к мощности вычислительных ресурсов систему сделать.

Цитата:

Переход в PM лучше перенести во вторичный загрузчик вместе со всей инициализацией,


Так и будет.

Цитата:

вздумай вызывать из по прерываниям, типа int 21h.


А я именно так и хотел, ну да ладно.
И еще - где вы вычитали, что ТСС медленнее, чем программная эмуляция? То-есть, мне самому интереснне найти, ткните меня, плиз, носом, если не трудно.

419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Ладно, ребята, простите, сорвался.
Пахал сегодня как лошадь.
1.8K
28 марта 2003 года
gwg605
76 / / 06.03.2003
Привет Всем !

Сразу извенюсь перед Митей, что не совсем по теме, но мне кажется здесь ответят быстрее.

Почему у Window-ов и Linux-а есть ограничение на максимальный размер памяти пользовательского процесса в два или три гигабайта? Немного зная архитектуру x86 процов, я не вижу причину, за исключением может быть производительности, но это тоже надо еще доказать.

Все эти вопросы возникают, естественно потому что пытаюсь тоже сделать свою ось :) как ни странно это может показаться :).

В связи с этим, есть очень большой и больной вопрос: средства разработки. Кто чем пользуется, при написании?
Я в данный момент пользуюсь VC++ 6.0. Сначала отлаживаю алгоритм в среде Windows, а потом строю специальный билд для реальной проверки.
Сишные компиляторы от MS и Intel, меня удовлетворяют, а вот формат построенного файла хотелось бы немного изменить, сделать еще проще (как мне кажется) и добавить еще пару фич.

Спасибо,
Valery.
419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Небольшой списочек ошибок, обнаруженных мною на этом и других форумах.
Кто дополнит?
Извеняюсь, компелируется, не фига,
ни очень, мыш, компановщик. Видать, от слова "комп" - нет компа и т.д.
443
28 марта 2003 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by gwg605
Привет Всем !

Сразу извенюсь перед Митей, что не совсем по теме, но мне кажется здесь ответят быстрее.

Почему у Window-ов и Linux-а есть ограничение на максимальный размер памяти пользовательского процесса в два или три гигабайта? Немного зная архитектуру x86 процов, я не вижу причину, за исключением может быть производительности, но это тоже надо еще доказать.

Все эти вопросы возникают, естественно потому что пытаюсь тоже сделать свою ось :) как ни странно это может показаться :).

В связи с этим, есть очень большой и больной вопрос: средства разработки. Кто чем пользуется, при написании?
Я в данный момент пользуюсь VC++ 6.0. Сначала отлаживаю алгоритм в среде Windows, а потом строю специальный билд для реальной проверки.
Сишные компиляторы от MS и Intel, меня удовлетворяют, а вот формат построенного файла хотелось бы немного изменить, сделать еще проще (как мне кажется) и добавить еще пару фич.

Спасибо,
Valery.


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

443
28 марта 2003 года
REmindER
292 / / 23.03.2003
Да и вообще мне что-то кажется, что тут не обсуждение о том, как бы этих мелкомягких очередной раз в унитазе прополоскать, а какая-то откровенная ругань с переходом на личности. Я не выступаю в роли миротворца, но, в конце концов, о чем тема-то? Вы меня извините: я тут человек новый...
419
28 марта 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by REmindER
Да и вообще мне что-то кажется, что тут не обсуждение о том, как бы этих мелкомягких очередной раз в унитазе прополоскать, а какая-то откровенная ругань с переходом на личности. Я не выступаю в роли миротворца, но, в конце концов, о чем тема-то? Вы меня извините: я тут человек новый...


Да мне и самому не нравится, а что делать? Стоило сказать, что я не люблю Си, и началось...
Действительно, хватит! Мир! Это как в анекдоте:
"Его одели в кепку Зенита, футболку Локомотива и посадили в сектор Спартака.
Смотрите - Последний герой на первом канале".
Названия команд там точно были другие.
А переход на личности - согласен, чересчур. Но не я первый.

1.8K
28 марта 2003 года
gwg605
76 / / 06.03.2003
Цитата:
Originally posted by REmindER

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



32 бита = 4Gb

Ну в общем было пяток машин с 4Gb памяти. Но не в этом дело, а то что у приклада отнимается 1Gb памяти.

443
28 марта 2003 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by Mitja Gladkih

Да мне и самому не нравится, а что делать? Стоило сказать, что я не люблю Си, и началось...
Действительно, хватит! Мир! Это как в анекдоте:
"Его одели в кепку Зенита, футболку Локомотива и посадили в сектор Спартака.
Смотрите - Последний герой на первом канале".
Названия команд там точно были другие.
А переход на личности - согласен, чересчур. Но не я первый.


Дык, ха! Раз уж на то пошло, то я сам не люблю ни Си, ни остальные языки. Мало того, мне и камни интеловские не по душе, всмысле, сама релизация работы ядра. Не посчитайте меня выскочкой, решившим бросить камень в огород старательных людей, занимающихся проблемой написания ОСи на разных языках. Просто это так кажется лично мне. Может, я и себе на уме, как говорится. :) А ругаться лучше не надо.

443
28 марта 2003 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by gwg605


32 бита = 4Gb

Ну в общем было пяток машин с 4Gb памяти. Но не в этом дело, а то что у приклада отнимается 1Gb памяти.


Честно сказать, почему - сам не знаю. Знаю, что в Windows ограничение на размер процесса составляет 2 гига, а в Linux - 2.5. Сколько сам не искал - нигде не написано в чем прикол.

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