powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Адреса памяти
25 сообщений из 49, страница 1 из 2
Адреса памяти
    #38349213
Всем привет!
А расскажите, пожалуйста, а какие адреса ОЗУ можно использовать в своих целях ничего не нарушая?
Как я понял, незанятые области ОЗУ, которые можно использовать для хранения своих данных, разбросаны везде.
Кто-то написал:
Адреса 0..9FFFF принадлежат ОЗУ.
Адреса A0000..C7FFF принадлежат видеокарте (это видеопамять).
Адреса C8000..EFFFF принадлежат ПЗУ видеокарты (там живет видеоBIOS).
Адреса F0000:FFFFF принадлежат ПЗУ матплаты (там живет системный BIOS).
Адреса 100000 и выше опять принадлежат ОЗУ.
Где-то высоко-высоко (навскидку не помню) опять будут адреса, принадлежащие системному BIOS, но это только на современных матплатах.

>Адреса 0..9FFFF принадлежат ОЗУ.
А разве по [0:0] не располагается таблица прерываний?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349245
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пип,

Можешь использовать любые адреса. Ничего точно не нарушишь :-)
...
Рейтинг: 0 / 0
Адреса памяти
    #38349256
MasterZivАвтор-пип-пип,

Можешь использовать любые адреса. Ничего точно не нарушишь :-)
Ну, начну с нулевого, перезапишу адреса прерываний, сработает например прерывание таймера, и что будет? Мне кажется, ничего хорошего.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349257
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пип,

ты сначала найди 8086 процессор
...
Рейтинг: 0 / 0
Адреса памяти
    #38349261
Автор-пип-пипMasterZivАвтор-пип-пип,

Можешь использовать любые адреса. Ничего точно не нарушишь :-)
Ну, начну с нулевого, перезапишу адреса прерываний, сработает например прерывание таймера, и что будет? Мне кажется, ничего хорошего.
С B800 - видеопамять, А после неё, не знаю, то ли устройствами какими зарезервировано, то ли свободная ОЗУ, а за ней небось еще какая-то зарезервированная хрень...
...
Рейтинг: 0 / 0
Адреса памяти
    #38349263
ИзопропилАвтор-пип-пип,

ты сначала найди 8086 процессор
В чём прикол? Хотите сказать, что свободная ОЗУ начинается после 1МБ + чего-то там?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349269
ИзопропилАвтор-пип-пип,

ты сначала найди 8086 процессор
Или хотите сказать, что с 80386+ по другому всё?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349291
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И "да" и "не совсем".
"Да", в защищенном режиме структура памяти совершенно другая. И она может зависеть от ОС. Все "специальные" адреса на самом деле специальные регистры процессора которые ОС может инициализировать при старте.

"Не совсем", i80386+ могут работать в реальном режиме и использовать ту самую структуру памяти которую ты привел в первом посте. Но это после выходов Пентиумов практически не используется. Современные CPU могут не иметь этой возможности.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349295
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипАдреса 0..9FFFF принадлежат ОЗУ.
А разве по [0:0] не располагается таблица прерываний?
Да. Да. Принадлежат ОЗУ.

И еще пишут что
В микропроцессорах 8086/80186 таблица векторов прерываний расположена
в первом килобайте памяти начиная с адреса 0000:0000 и содержит 256
векторов прерываний в формате сегмент:смещение. Начиная с процессора
80286, адрес в физической памяти и размер таблицы прерываний
определяется 48-битным регистром IDTR.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349301
White Owl, да, в режиме защищённой адресации можно менять адреса векторных таблиц, но какие диапазоны памяти можно использовать, а какие зарезервированные?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349309
mayton, это мне известно. Ну да бог с этими прерываниями. А другие диапазоны зарезервированных адресов которые мне не известны?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349317
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипmayton, это мне известно. Ну да бог с этими прерываниями. А другие диапазоны зарезервированных адресов которые мне не известны?
ОЗУ (Память это просто набор ячеек куда можно всё что угодно). Семантика или интерпретация
этих значений в ОЗУ определяется архитектурой. Это совокупность прочего железа MB/CPU

Ты расскажи форумчанам сначала что у тебя за железка? Тогда наверное и ответы будут
более полные и более полезные.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349320
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пип>Адреса 0..9FFFF принадлежат ОЗУ.
А разве по [0:0] не располагается таблица прерываний?От режима зависит.
Но даже если оставаться в рамках реального режима ... Разве таблица адресов прерываний хранится не в ОЗУ?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349325
mayton, железка у меня обычная. Получается, нужно полистать интеловскую документацию?
Вот, например, [0:B800] - тоже адрес, и тоже память, только видео-адаптера. Я, правда, не знаю как дела обстоят в графическом режиме, но, думаю, и там тоже будут подобные занятые диапазоны.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349335
Basil A. SidorovНо даже если оставаться в рамках реального режима ... Разве таблица адресов прерываний хранится не в ОЗУ?
Предполагается, что любой адрес - это адрес ОЗУ.

Код: sql
1.
2.
mov [0:0], 1234
mov [0:B800], 1234



Никогда не знаю чему будет принадлежать следующий адрес. А может жесткому диску, а я буду думать, что ОЗУ?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349337
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой у тебя тип процессора и ОС ?
...
Рейтинг: 0 / 0
Адреса памяти
    #38349341
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипПредполагается, что любой адрес - это адрес ОЗУ.Это утверждение или, всё-таки, вопрос?
Но, таки, да - таблица прерываний хранится в оперативной памяти.
Код инициализации BIOS её заполняет при каждом (холодном) старте.Никогда не знаю чему будет принадлежать следующий адрес. А может жесткому диску, а я буду думать, что ОЗУ?Прежде чем думать - надо знать то, о чём думаете.
Попробуйте вкурить спецификации PnP/ACPI - может быть вы и найдёте свою половину ответа.

P.S. О физических адресах может думать только драйверонаписатель.
Остальным вполне достаточно адресной арифметики. Или просто указателей.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349343
maytonКакой у тебя тип процессора и ОС ?
Целерон 1.7 с урезанным кешем. ОС XP SP3. Меня больше интересует железо на низком уровне, но и работу Windows тоже полезно знать.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349350
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипМеня больше интересует железо на низком уровнеУпустили вы свой шанс. Лет двадцать назад.
Сейчас всё, что вы можете сделать - взять DDK, VSC++ и откомпилять пару примеров.
А если у вас нет реальной потребности разрабатывать драйвера для железа - просто забейте.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349355
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипmaytonКакой у тебя тип процессора и ОС ?
Целерон 1.7 с урезанным кешем. ОС XP SP3. Меня больше интересует железо на низком уровне, но и работу Windows тоже полезно знать.
Дело в том что современное программирование (прикладное) не предполагает
вообще доступа к физическим адресам. Модель памяти для Windows-процессов
такова что твоему процессу доступно 2-4Г (для 32х битн) памяти и развлекайся.
Но адресация этой памяти не физическая. Это типа следующий уровень.

К видеопамяти можно доступаться через Win32API или через всякие там OpenGL
и DirectX.

Если хочешь ковырять физику лучше возьми какой-нить мааааленький Linux или BSD.
(чем меньше - тем лучше) и поразбирайся как у него устроен менеджер памяти.
Это и школа хорошая и может будешь девом-системщиком.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349359
Basil A. SidorovА если у вас нет реальной потребности разрабатывать драйвера для железа - просто забейте.
А еще лучше - забить на всё и всех. Пойду смотреть дом-2 раздвинув ноги на диване ))

Компьютер кажется очень простым пока не вывернуть его на изнанку. Всей жизни может не хватить на его изучение.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349361
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пипВсей жизни может не хватить на его изучение.Вот чтобы не было мучительно больно за бесцельно потраченные годы - не надо изучать сферических коней в идеальном вакууме.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349367
maytonНо адресация этой памяти не физическая. Это типа следующий уровень.
Логическая.

maytonК видеопамяти можно доступаться через Win32API или через всякие там OpenGL
и DirectX.
Что по сути одно и тоже. Вы наверняка знаете про уровни защиты.

maytonЕсли хочешь ковырять физику лучше возьми какой-нить мааааленький Linux или BSD.
(чем меньше - тем лучше) и поразбирайся как у него устроен менеджер памяти.
Это и школа хорошая и может будешь девом-системщиком.
Спасибо!
...
Рейтинг: 0 / 0
Адреса памяти
    #38349372
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор-пип-пип(оригинал)Логическая.Логичного там не так уж и много :)
Правильный термин - виртуальная память.
...
Рейтинг: 0 / 0
Адреса памяти
    #38349376
Basil A. SidorovАвтор-пип-пип(оригинал)Логическая.Логичного там не так уж и много :)
Правильный термин - виртуальная память.
Да, верно. На этом же принципе, если я не ошибаюсь, построен и свап.

Basil A. SidorovВот чтобы не было мучительно больно за бесцельно потраченные годы - не надо изучать сферических коней в идеальном вакууме.
Нечего сказать в противовес коню в вакууме. Вы правы.
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Адреса памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]