The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Создание искуственной задержки в работе оперативной памяти"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Система)
Изначальное сообщение [ Отслеживать ]

"Создание искуственной задержки в работе оперативной памяти"  +/
Сообщение от trmt email(ok) on 14-Май-12, 06:43 
Доброго времени суток.
Опять по работе встала задача в ограничении скорости работы памяти в Linux (SL 6.2 x86_64). В прошлый раз ограничение RAM-диска прошло успешно, но не удовлетворило всех потребностей.
Итак, необходимо вставить определенную задержку при _любом_ обращении к оперативной памяти. Реализация в виде модуля ядра.
Варианты, которые рассматриваются:
1) перехват библиотечных функций - узко и малоприменимо
2) перехват функций ядра для работы с памятью
3) перехват системных вызовов

Первый вариант был отметен сразу - не подходит.
Нужен совет в выборе из двух вариантов с возможными косяками на пути.
Также хотелось бы узнать, где найти полный список функций ядра для работы с памятью (kmalloc, vmalloc, kfree - для выделения, и, насколько я понял, обращение идет через open, read, write).

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Создание искуственной задержки в работе оперативной памяти"  +/
Сообщение от Anonimus (??) on 14-Май-12, 13:49 
Работа с памятью (кстати сразу вопрос, о какой именно памяти мы говорим ;) лежит гораздо ниже каких либо системных вызовов. С памятью работает процессор, а точнее MMU. Ядро только управляет этим процессом устанавливая те или иные регистры, обеспечивает пейджинг страниц и т.д. Потом следует не забывать о наличие кешей L1 L2, наличии TLB...


>[оверквотинг удален]
> Реализация в виде модуля ядра.
> Варианты, которые рассматриваются:
> 1) перехват библиотечных функций - узко и малоприменимо
> 2) перехват функций ядра для работы с памятью
> 3) перехват системных вызовов
> Первый вариант был отметен сразу - не подходит.
> Нужен совет в выборе из двух вариантов с возможными косяками на пути.
> Также хотелось бы узнать, где найти полный список функций ядра для работы
> с памятью (kmalloc, vmalloc, kfree - для выделения, и, насколько я
> понял, обращение идет через open, read, write).

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Создание искуственной задержки в работе оперативной памяти"  +/
Сообщение от deadmustdie email on 14-Май-12, 13:58 
Для торможения прикладных программ можно запустить их в эмуляторе (виртуальной машине без ускорения). Пример эмулятора - bochs. Медленная работа с памятью (и всех других инструкций процессора) гарантирована, инструкции по работе с памятью можно дополнительно замедлить, "поковырявшись" в коде эмулятора.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Создание искуственной задержки в работе оперативной памяти"  +/
Сообщение от trmt email(ok) on 15-Май-12, 07:31 
Спасибо вам обоим за информацию. Теперь есть еще тонна вещей, над которыми стоит задуматься. и главная - а стоит ли оно того:) Эмулятор попробую.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру