Архитектура современных операционных систем
101 Индекс в этой таблице и есть описатель объекта (однако он трактуется значительно шире). Удержание объектов Все объекты в Windows NT подразделяются на два класса: постоянные и временные. Временные существуют только то время, пока их кто-нибудь ис- пользует. Неиспользуемые временные объекты удаляются диспетчером объек- тов. Для удаления постоянного объекта необходимо сначала сделать его вре- менным. Понятие удержание объектов связано с отслеживанием использования временных объектов. Удержание объектов выполняется в два этапа: 1. удержание имени; 2. удержание объекта. Удержание имени состоит в учете описателей открытых для данного вре- менного объекта. Каждый раз, когда процесс или подсистема открывает описатель данного объекта, диспетчер объектов увеличивает на 1 счетчик описателей в заголовке объекта и наоборот, каждый раз при закрытии описателя уменьшает счетчик описателей на 1. Как только счетчик описателей в заголовке объекта станет равным 0, дис- петчер объектов удаляет его имя из пространства имен, чтобы никто не мог от- крыть этот объект заново. Для компонент исполнительной системы нет смысла тратить время и ре- сурсы на проверку их прав доступа к объектам. Поэтому они работают с объек- тами не через описатели, а непосредственно ссылаясь на объекты через указа- тели. Для подсчета количества таких ссылок используется счетчик указателей. Работа с ним осуществляется аналогично счетчику описателей.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy