OSDev

для всех
Текущее время: 29 апр 2024, 17:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 27 окт 2010, 22:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Читайте умные книги -- причём внимательно -- и думайте головой. Ваша кипучая деятельность на двух форумах реальных знаний и умений не даст; максимум, что получите, -- это обрывки сведений о различных аспектах низкоуровневого программирования без всякой системы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2010, 22:55 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
phantom-84 писал(а):
Ну ё... Посты читай внимательнее.


На одном форуме встречал типа, который за пару лет нафлудил более 5000 (!) сообщений. Правда, в практическом плане, судя по сообщениям, у него за это время сдвигов не очень много, что и неудивительно. Лично я давно уже убедился, что разбираться надо исключительно по книгам, а на всякие там форумы обращаться только в случае полнейшего затыка. В конце концов, пересказывать каждому новичку элементарнейшие вещи, изложенные в куче литературы, в т.ч. русскоязычной, у более-менее грамотных обычно желания нет, не говоря о том, что времени жалко.

Здесь случай похожий, хотя надеюсь, что не настолько тяжёлый и запущенный (хотя фиг знает -- всё ж старше 20 лет...). Например, нафиг задавать кучу раз вопрос про EBX после вызова функции определения памяти? В статье ясно сказано, что это значение оставлено на откуп разработчикам БИОСа и может означать всё, что угодно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2010, 23:03 

Зарегистрирован: 22 окт 2010, 13:22
Сообщения: 92
Откуда: Ртищево
Согласен! Я загнался. Это всё Интернет на меня так сказывается. Раньше был рад заполучив хоть какую-то книгу, а сейчас имею целую библиотеку и всё равно пишу. Просто, наверное, хочется лишний раз перестраховаться, всё спросить (ведь этому всему более 20 лет, я про x86).

_________________
Изучаю процессор...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2010, 23:05 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Стандартная форточка находится в диапазоне 0xA0000-0xBFFFF. Придерживаясь vga-совместимости, нужно программировать через порты, но это не означает, что тоже самое и даже больше нельзя сделать посредством mmio.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2010, 23:32 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Я с задержкой реагирую, потому что опять с мобильника. На самом деле все мы когда-то начинали... В целом автор поднимает правильные темы. Но это лишь ничтожная доля того, что действительно нужно знать при разработке основных компонентов более-менее вменяемой ос. Если энтузиазм не иссякнет, то шансы сделать что-то интересное (не обязательно полноценное ядро) есть. Я понимаю SII в том плане, что в 1001-ый раз повторять то, что уже неоднократно было сказано, не очень-то и хочется. Но такова специфика форума. Здесь лучше бы подошла вики, но наша пока что скудновата. Я кстати не раз задумывался описать свой опыт решения часто возникающих вопросов и при необходимости просто оставлять ссылки на нужные статьи, но пока этого не сделал, буду помогать, чем смогу. Мне не жалко.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 окт 2010, 00:40 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
phantom-84 писал(а):
На самом деле все мы когда-то начинали... В целом автор поднимает правильные темы. Но это лишь ничтожная доля того, что действительно нужно знать при разработке основных компонентов более-менее вменяемой ос.


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

Цитата:
Если энтузиазм не иссякнет, то шансы сделать что-то интересное (не обязательно полноценное ядро) есть


Энтузиазм "бешенный", без планомерного, целенаправленного и _систематического_ изучения, шансов никаких не даёт. Кидаться то к одному, то к другому, то к третьему -- не дело, надо сначала одну область более-менее разобрать, потом браться за следующую, и т.д. С тем же системным программированием я б поставил на первое место достаточно глубокое знакомство с реальным режимом (тогда, кстати, не было бы дурацкого по сути вопроса про адреса видеопамяти -- человек просто не "проникся" идеей сегментации в реальном режиме; хотя справедливости ради надо сказать, что и у меня дурацкие вопросы были -- только их решать приходилось в основном самому, поскольку никаких инетов тогда ещё не было, да и с литературой, кроме собственно технической документации на железо, была напряжёнка), а также с основными сервисами БИОС (INT 10 и 13 в первую очередь). Потом -- прямой вывод на экран в текстовом режиме (БИОС используется для включения нужного видеорежима и страницы, но собственно вывод идёт прямой). Вот после этого можно браться уже за защищённый, поскольку в реальном можно настроить видеорежим и в дальнейшем отображать всю диагностическую информацию, не прибегая к сервисам БИОС, а значит, без переключений обратно в реальный. В нём, естественно, тоже идти строго последовательно: разобраться с дескрипторами сегментов (чтобы осмысленно делать переключение в защищённый, а не пользоваться чужим кодом, не понимая толком, что там к чему), с обработкой прерываний (и повесить обработчики стандартных прерываний -- хотя б для диагностического вывода о том, что-де данное прерывание случилось), потом уже со страничной адресацией.

Цитата:
Я понимаю SII в том плане, что в 1001-ый раз повторять то, что уже неоднократно было сказано, не очень-то и хочется. Но такова специфика форума


Вообще, пороть надо за 1001-й раз :) Вот действительно специфические, серьёзные и т.п. вопросы -- это другое дело, ну а то, что уже тыщу раз разжёвано... Блин, народ, ну читайте книги!

Цитата:
Здесь лучше бы подошла вики, но наша пока что скудновата


Так никто почти и не пишет...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 окт 2010, 00:43 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Ну так меня бесит то, что вопросы задаются по хорошо описанным в литературе вещам

Это всё от кривизны архитектуры, которая тобою была поругана не раз.


Последний раз редактировалось Himik 28 окт 2010, 00:49, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 окт 2010, 00:49 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
chizh писал(а):
SII писал(а):
Ну так меня бесит то, что вопросы задаются по хорошо описанным в литературе вещам

Это всё от кривизны архитектуры. Даже от простой адресной арифметики иногда ум за разум заходит.


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 окт 2010, 01:05 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Не скажите, не скажите. Архитектура жутко кривая -- это да, но вопросы-то элементарные, неоднократно и хорошо разжёванные.

Не надо преувеличивать изящность технических описаний. Да и вообще, иногда при описании механизмов используют нагромождение стереотипов (как например подкачка страниц в страничной адресации), которые не проясняют принципа работы, а заслоняют истинный смысл.
Мало академичного материала, без авторских художеств. Вообще-то его много, но он весь на английском - Intel programming manuals.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 окт 2010, 09:47 

Зарегистрирован: 22 окт 2010, 13:22
Сообщения: 92
Откуда: Ртищево
SII, подскажите хорошую книгу про описание страничной адресации памяти (название, автор).

А то у меня уже идеи разные.

Вот определю я адреса, например, 32 МБ оперативной памяти (ОЗУ). Страничка у меня будет по 4 МБ. То есть я смогу описать 8 страничных кадров.

А вот в таблице страничек сделаю не 8 элементов (чтобы каждый элемент на кадр страничный), а скажем 64 элемента (на каждый страничный кадр по 8 страничек).

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

Хотя немного меня смущает тут кое-что. В регистре CR3 находится физический адрес и длина каталога страниц. Для каждой задачи я его могу же менять (тем самым чтобы задачи работали с индексами от 0, а страничный кадр может быть в любом диапазоне). Но тут немного не сразу мне понятно как я его менять то буду, ведь меняет его операционная система, а её код сам находится в страничке. То есть мне нужно будет код ОС хранить в каком-то определённом участке памяти (который изменяться не будет) и для каждой задачи этот участок описывать в одном из последних индексов страницы (скажем 1023) и делать для него доступ только супервизору. Просто чтобы при прерывании процессор мог выбрать страничку и туда передать управление. Но это я с учётом того, что каждая программа пользователя будет работать начиная с индекса 0 для страницы.

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

_________________
Изучаю процессор...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB