Московский физико-технический институт
Опубликован: 12.12.2007 | Доступ: свободный | Студентов: 4885 / 1403 | Оценка: 4.34 / 4.14 | Длительность: 13:57:00
ISBN: 978-5-94774-827-7
  • 1.
    Department of Defense
  • 2.
    Карпов В.Е., Коньков К.А
    Основы операционных систем
  • 3.
    Кастер Хелен
    Основы Windows NT и NTFS
  • 4.
    Рихтер
    Windows для профессионалов: создание эффективных Win32-приложений с учетом специфики 64разрядныой версии Windows
  • 5.
    Кларк, Рихтер
    Программирование серверных приложний для Microsof Windows 2000
  • 6.
    Руссинович М., Соломон Д
    Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000
  • 7.
    Сорокина С.И., Тихонов А.Ю., Щербаков А.Ю
    Программирование драйверов и систем безопасности
  • 8.
    Столлингс В
    Операционные системы
  • 9.
    Харт Д
    Системное программирование в среде Win32
  • 10.
    Ховард
    Разработка защищенных Web-приложений на платформе Microsoft Windows 2000
  • 11.
    Таненбаум Э
    Современные операционные системы
Ирина Оленина
Ирина Оленина
Николай Сергеев
Николай Сергеев

Здравствуйте! Интересует следующий момент. Как осуществляется контроль доступа по тому или иному адресу с точки зрения обработки процессом кода процесса. Насколько я понял, есть два способа: задание через атрибуты сегмента (чтение, запись, исполнение), либо через атрибуты PDE/PTE (чтение, запись). Но как следует из многочисленных источников, эти механизмы в ОС Windows почти не задействованы. Там ключевую роль играет менеджер памяти, задающий регионы, назначающий им атрибуты (PAGE_READWRITE, PAGE_READONLY, PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE, PAGE_NOACCESS, PAGE_GUARD: их гораздо больше, чем можно было бы задать для сегмента памяти) и контролирующий доступ к этим регионам. Непонятно, на каком этапе может включаться в работу этот менеджер памяти? Поскольку процессор может встретить инструкцию: записать такие данные по такому адресу (даже, если этот адрес относится к региону, выделенному менеджером памяти с атрибутом, например, PAGE_READONLY) и ничего не мешает ему это выполнить. Таким образом, менеджер памяти остается в стороне не участвует в процессе...