Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

Перехват WinAPI   Найти похожие ветки 

 
DelphiN! ©   (2004-11-26 09:13) [0]

Вот начал читать статью http://www.rsdn.ru/article/baseserv/apicallsintercepting.xml

В статье написано следующее :


Каждому процессу (начиная с Windows 95) выделяется собственное виртуальное адресное пространство. Для 32-разрядных процессов его размер составляет 4 Гб. Это адресное пространство разбивается на разделы, функциональное назначение и свойства которых довольно сильно отличаются у семейств ОС WinNT и Win9Х.

Адресное пространство любого процесса в Win9Х можно разделить на три раздела:
Младшие два гигабайта (00400000-7FFFFFFF) – код и данные пользовательского режима (в диапазоне 00000000-003FFFFF расположены разделы для выявления нулевых указателей и для совместимости с программами DOS и Win16);
Третий гигабайт – для общих файлов, проецируемых в память (MMF), и системных DLL.
Четвёртый гигабайт – для кода и данных режима ядра (здесь располагается ядро операционной системы и драйверы).


Так вот я понять немогу какие четыре гигабайта? У меня например в системе 256 мб, что происходит если идилии 4-х гигабайт нету?


 
Думкин ©   (2004-11-26 09:18) [1]

файл подкачки?


 
DelphiN! ©   (2004-11-26 09:19) [2]

Ну а если у меня диск размером 2 гб и озу 256, всеравно 4 гб никак не набирается ...


 
Rouse_ ©   (2004-11-26 09:25) [3]

Не переживай, они всеравно у тебя не заняты ;)


 
Vlad Oshin ©   (2004-11-26 09:26) [4]

максимальный размер 4?


 
Skyle ©   (2004-11-26 09:38) [5]


> виртуальное адресное пространство

Никто не заставляет для каждого notepad"а покупать столько всякой памяти..


 
DelphiN! ©   (2004-11-26 09:59) [6]


- Младшие два гигабайта (00400000-7FFFFFFF) – код и данные пользовательского режима (в диапазоне 00000000-003FFFFF расположены разделы для выявления нулевых указателей и для совместимости с программами DOS и Win16);

- Третий гигабайт – для общих файлов, проецируемых в память (MMF), и системных DLL.

- Четвёртый гигабайт – для кода и данных режима ядра (здесь располагается ядро операционной системы и драйверы).


Как тогда будет действовать данное правило для объема памяти < 4 гб ?


 
Digitman ©   (2004-11-26 09:59) [7]


> DelphiN!


допустимый диапазон адресов в некоем адресном пространстве не имеет отношения к количеству какой-то там памяти

аппаратные механизмы, связывающие "адресные пространства" и "физическую память", жестко "защиты" во всем семействе i386-совместимых процессоров и задействуются в режимах PM(VM86), никак не завися от конкретной ОС.

рекомендую почитать хоть что-нибудь о механизмах защиты, преобразования адресов и страничной адресации .. например, 6-ю книгу "Защищенный режим процессоров Intel 80286/80386/80486" из небезызвестной серии "Библиотеки системного программиста" братьев Фроловых, там очень понятно и подробно разъясняется, что и как происходит в процессоре и ОС, использующей этот режим


 
Digitman ©   (2004-11-26 10:01) [8]

кстати, а какое отношение все это имеет к "перехвату WinAPI" ?


 
DelphiN! ©   (2004-11-26 10:08) [9]


> кстати, а какое отношение все это имеет к "перехвату WinAPI" ?


http://www.rsdn.ru/article/baseserv/apicallsintercepting.xml


 
Digitman ©   (2004-11-26 10:16) [10]

почитай еще здесь

http://www.unix.org.ua/sos/glava_7.htm#_2_2_3_5

в особенности - раздел "Методы распределения памяти с использованием дискового пространства"

а весь "перехват WinAPI", какая бы конкретно технология/методология не имспользовалась при этом, сводится к чтению/записи некоей инф-ции, расположенной по определенным адресам в том самом 4-хгигабайтном адр.пространстве процесса .. и цитировать эту статью было вовсе необязательно


 
DelphiN! ©   (2004-11-26 10:36) [11]

> [10] Digitman ©   (26.11.04 10:16)
> почитай еще здесь
>
> http://www.unix.org.ua/sos/glava_7.htm#_2_2_3_5


Огромное спасибо за рекомендацию!


 
Суслик ©   (2004-11-26 10:48) [12]

Не буду оригинален в совете, но чтобы не задавать таких вопросов нужно в обязательном порядке прочесть книгу http://www.books.ru/shop/books/8283


 
Digitman ©   (2004-11-26 10:59) [13]


> Суслик ©   (26.11.04 10:48) [12]


> чтобы не задавать таких вопросов


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


 
Суслик ©   (2004-11-26 11:21) [14]


>  [13] Digitman ©   (26.11.04 10:59)

Позволь не согласится. Ни один педагог не сможет объяснить на словах архитектуру. Педагог может помочь разобраться в прочитанном материале. Но научить, а еще заочно в 20 словах нереально. Для начала нужна матчасть.

И вообще, вопрос похоже исчерпан: автор спросил, ему ответили и посоветовали почитать определенные книги ...
Никто вроде не обижен :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.033 c
3-1101117223
edge
2004-11-22 12:53
2004.12.19
ODAC


4-1099606582
jek_
2004-11-05 01:16
2004.12.19
WinExec


14-1101869436
Думкин
2004-12-01 05:50
2004.12.19
С днем рождения! 1 декабря


1-1102069104
Digitman
2004-12-03 13:18
2004.12.19
Проблемы с OpenHelp в D7


1-1102349535
avsam
2004-12-06 19:12
2004.12.19
ASCII UTF-8 ANSI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский