обекти ядрото

обекти ядрото

Описания ядро ​​обект - това е специален процес. Това означава, че процесът трябва или да се създаде обект, или отваряне на съществуващ обект, за да се справя с предмета на ядрото. Ограничаване на един основните технологични описания - 30 февруари.

Всеки процес може да се създаде нов ЕВРОВОК съществуващата ядро ​​обект (точно същата като тази, създадена от друг процес), при условие, че този процес не знае името на обекта и има достъп, разрешен от системата за сигурност на обекта. Ядрото обект описания включват разрешения, което показва, действия, които можете да приемете или да откажете процеса. Заявлението определя правата за достъп, когато той създава един обект или получава манипулатор на съществуващия обект. Всеки тип ядро ​​обект поддържа свой собствен набор от разрешения. Например, описания на събитието могат да имат достъп до "създаде" или "чакам" (или и двете), описания на файловете могат да имат достъп до "четат" или "пиша" (или и двете), и така нататък. За повече информация, вижте. Защитени обекти.

В следващите илюстрации, приложението създава обект събитие. CreateEvent функция създава обект събитие и връща обект дръжка.

След като бъде създаден обект на събитието, приложението може да използвате дръжката на събитие, за да настроите или да изчакате за събитието. Характеристиката остава в сила до момента, докато молбата се затваря дръжката или затваря.

Повечето обекти ядрото поддържа повтарящи се описания за един обект. Например, в горната илюстрация, прилагането може да получи допълнителни описания на обекта събитие използване функция OpenEvent. както е показано на следващата илюстрация.

Този метод позволява на приложенията да имат дръжките с различни права на достъп. Например, да се занимават 1, могат да имат достъп до "набор" на събитието и "чакам" и ЕВРОВОК 2 може да има достъп до само "чака."

Ако друг процес не знае името на събитието, както и да има достъп, позволява на системата за осигуряване на безопасността на обекта, може да създадете свой собствен ЕВРОВОК на обекта на събитие с помощта на функцията OpenEvent. Създаване на приложение може да се дублира един от нейните описания в същия процес, или в друг процес с помощта на функцията DuplicateHandle.

Целта остава в паметта, докато има поне един обект дръжка. В следващата илюстрация, приложения използват CloseHandle функция. за да затворите им описания обект за събитие. Когато няма описатели събития, системата премахва обекта от паметта, както е показано на илюстрацията по-долу.

Системата управлява файлови обекти малко по различен начин в сравнение с други ядрото обекти. Файлови обекти съдържат указател към позицията във файла - указател към следващия байт, който се чете и записва файла. При подаване на молба създава нов файлов дескриптор, системата създава нов файл обект. Ето защо, в един файл от диска може да се прилага повече от един обект на файла, както е показано на илюстрацията по-долу.

Само поради дублиране или наследство може да се прилага повече от един файлов дескриптор за същия файл обекта, както е показано на илюстрацията по-долу.

По-долу е таблица, която описва всяка от ядрото обекти, заедно функция създател и разрушител на всеки обект. Функция - създател или създава обект и дръжка обект, или създава нова дръжка на съществуващия обект. Функция - разрушителят затваря дръжката обект. Когато приложението се затваря последната дръжката обект на ядрото, системата премахва обекта от паметта.