как на С напрямую обратиться к оперативной памяти?

Все о программировании под *nix
Гость

как на С напрямую обратиться к оперативной памяти?

Сообщение Гость »

как на С напрямую обратиться к оперативной памяти?

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Посмотри /dev/mem - может какой ioctl сработает. Просто идея - сам не пробовал

Аватара пользователя
kostaLom
Маньяк
Сообщения: 170
Зарегистрирован: 24 авг 2002, 14:14
Откуда: 9-й Отдел
Контактная информация:

Сообщение kostaLom »

А /dev/kmem и /dev/mem это одно и то же?

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Похоже что нет. Разные device minor .
==>ls -l /dev/mem
crw-r----- 1 root kmem 1, 1 Sep 15 16:40 /dev/mem
[igor@home bash:~] 10:21:10 0:1002
==>ls -l /dev/kmem
crw-r----- 1 root kmem 1, 2 Sep 15 16:40 /dev/kmem

Гость

Сообщение Гость »

Иоконтролов не надо никаких, просто mmap на /dev/mem.

Гость

Сообщение Гость »

Anonymous писал(а):Иоконтролов не надо никаких, просто mmap на /dev/mem.
можно подробнее?

Гость

Сообщение Гость »

mmap ведь делает отображение файла в память. а мне надо наоборот.
+ там выделяется память и заполняется нулями.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Гость, а оно вам теда надо? ИМХО это как минимум очень негуманный метод по отношению к ядру. Если это драйвер чего-то - то надо бы го засунуть в kernel-space и там уж пусть резвится.... Только зачем нужен доступ ко всей памяти?
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

Llama писал(а):Гость, а оно вам теда надо? ИМХО это как минимум очень негуманный метод по отношению к ядру. Если это драйвер чего-то - то надо бы го засунуть в kernel-space и там уж пусть резвится.... Только зачем нужен доступ ко всей памяти?
чтобы проанализировать изменения за некий промежуток времени

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

/dev/kmem - память ядра, если не ошибаюсь
/dev/mem - отображение общесистемной памяти
я бы не рискнул с ними эскпереминтировать
можете попробовать из-под root'а что-нить вроде cp /dev/zero /dev/mem - острые ощущения обеспечены:)
но вообще это уже садизм по отношению к системе
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Ответить