OSDev

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

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 04 июн 2012, 15:49 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Я выполняю детект в соответствии с ACPI Spec.: int 15h 0E820h/0E801h/88h. Базовую память определяю через int 12h.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 05 июн 2012, 03:16 

Зарегистрирован: 04 май 2011, 18:13
Сообщения: 121
Судя по тому как я общался со sctuter в скайпе и судя по тому, что он тут спрашивает - это тупо тролинг.
Человек пишет, что знает ACPI, но не знает что такое SourceForge. Человек намекает, что английский язык не нужен словами "Да, ладно. Наверное, помогает засрать мозг работодателю".
По моему это работодатель должен знать английский очень хорошо, если речь идет об IT конторах. Я не думаю, что менеджеру по продажам или сотруднику отдела в банке нечем занятся на работе и он решил программировать ядро операционных систем, до столь редких подробностей. Поэтому объяснение лезет в голову одно - тупо троллинг. То как человек отвечает на вопросы, то как человек нарочно старается спросить запутанней. Странно как-то.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 05 июн 2012, 03:57 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Память это просто микросхемка, на которой нету постоянной инфы, так что узнать не получится. Чтобы воспользоваться каким нибудь контроллером, нужно использовать его упровляющие регистры. Контроллер памяти скрыт и регистров у него походу нету.

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


Я не думаю, что все с образованием программиста работают программистом. Я не работал ни дня программистом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 05 июн 2012, 07:24 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Так и называется контролёр памяти. По поводу регистров они есть смотри документацию на чипсет.
По поводу вендер и так далее зашита это в память там маленькая микросхема SPD. Доступ к ней через SMBus (I2C).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 05 июн 2012, 10:07 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
pavia писал(а):
Так и называется контролёр памяти. По поводу регистров они есть смотри документацию на чипсет.
По поводу вендер и так далее зашита это в память там маленькая микросхема SPD. Доступ к ней через SMBus (I2C).


Да, именно в SPD эти данные и находятся. Большинство биосов переводят их в более удобноваримый вид и отдают ОС в виде таблиц DMI, которые описаны в спецификации SMBIOS. Но эти данные часто неточны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 08 июн 2012, 16:58 

Зарегистрирован: 19 май 2011, 14:54
Сообщения: 73
Реализовал вчера получение списка участков доступной памяти через 0x15, eax=0xe820. В данный момент ядро грузится загрузчиком в реальном режиме по адресу 0x1000:0. После загрузки происходит получение доступной памяти. Немного подробностей http://dev64.wordpress.com/2012/06/08/ibm-pc-at-memory-detection/.

Изображение

Готовы загрузка с FAT12, FAT32.
Есть билд система для ядра
В ядре есть 16-ти битные и 32 битные сегменты для кода реального и защищённого режимов.
Есть небольшая пока библиотека отладочных функций для вывода шестнадцатиричных чисел и дампов. (Несмотря на то, что агитирую за Cи, функции все слелал на nasm так в реальном режиме оказалось проще).

Теперь нужно решить, куда экспериментировать дальше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 08 июн 2012, 19:04 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Самое главное это сделать песочницу. В которой будете ловить исключения выводиться сообщение и передача управления в отладочный процесс/функцию.
В отладочном процессе надо сделать обработку клавиатуры вывод текстовой информации с прокруткой. И запуск функции на выполнение. 0 основной код. И отладочные процедуры то как просмотр регистров. Памяти.



Что касается памяти, то надо разбираться со страницами. Проверить и если надо скорректировать диапазоны что бы не попадали на середину страниц.
Экспериментировать с переключением задач.
Сделать загрузку файлов с ФС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 08 июн 2012, 21:02 

Зарегистрирован: 19 май 2011, 14:54
Сообщения: 73
Цитата:
pavia » Сегодня, 16:04

Самое главное это сделать песочницу. В которой будете ловить исключения выводиться сообщение и передача управления в отладочный процесс/функцию. В отладочном процессе надо сделать обработку клавиатуры вывод текстовой информации с прокруткой. И запуск функции на выполнение. 0 основной код. И отладочные процедуры то как просмотр регистров. Памяти.


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

Где-то так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 08 июн 2012, 21:32 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Я бы начал с заглушек на исключения, которые выводят параметры исключения (EIP, CS, FLAGS, ESP, SS, номер исключения, код ошибки) в определенном месте экрана и вешают процессор. С ними отлаживать проще.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 09 июн 2012, 11:42 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Да, вывод отладочной информации. Клавиатура поначалу не обязательна, т.к. ее поддержка может потребовать того, чего еще в принципе нет. Естественно, память. Менеджер физической памяти. Управление виртуальной памятью, сначала в ядре (т.е. то, о чем ты недавно спрашивал), потом и в прикладном пространстве. Эксперименты с многозадачностью (создание/удаление соотв. структур, переключение задач). Т.к. поток - один из основных объектов ядра, создание/удаление структур потоков очень тесно связано с управлением виртуальной памятью в ядре, например, у меня в ядре размер блока распределения и размер блока для потока специально сделаны равными (16 кб, только для блока распределения выделяются все 4 страницы физ. памяти, а для потока только 3), чтобы ими можно было управлять единообразным способом и размещать их вперемешку в едином пространстве (список свободных блоков распределения и список свободных блоков для потоков - это один и тот же список).


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

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


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

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


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

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