Множества объектов kset
Множества объектов kset
Множества kset представляют собой коллекции объектов kobject. Множество kset работает как базовый контейнерный класс для объектов, например, "все блочные устройства". Множества kset очень похожи на типы ktype, и возникает вопрос: "Для чего нужны два разных обобщения?" Множество kset объединяет несколько объектов kobject, а типы ktype определяют общие свойства, которые связаны с объектами kobject одного типа. Существует возможность объединить объекты одного типа ktype в различные множества kset.
Поле kset объекта kobject указывает на связанное с данным объектом множество kset. Множество объектов kset представляется с помощью структуры kset, которая определена в файле <linux/kobject.h> следующим образом.
struct kset {
struct subsystem *subsys;
struct kobj_type *ktype;
struct list_head list;
struct kobject kobj;
struct kset_hotplug_ops *hotplug_ops;
};
Указатель ktype указывает на структуру ktype, которая определяет тип всех объектов данного множества, поле list — список всех объектов kobject данного множества, поле kobj — объект kobject, который представляет базовый класс для всех объектов данного множества, а поле hotplug_ops указывает на структуру, которая определяет поведение объектов kobject при горячем подключении устройств, связанных с данным множеством.
Наконец, поле subsys указывает на структуру struct subsystem, которая связана с данным множеством kset.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
26.6.1. Создание множества семафоров
26.6.1. Создание множества семафоров Для создания множества семафоров или подключения к уже существующему множеству используется системный вызов semget():int semget(key_t key, int nsems, int semflg);Первый аргумент — это ключ IPC, который, как обычно, создается системным вызовом ftok(). Он
8.1.9. Массивы как математические множества
8.1.9. Массивы как математические множества В большинстве языков множества напрямую не реализованы (Pascal составляет исключение). Но массивы в Ruby обладают некоторыми свойствами, которые позволяют использовать их как множества. В данном разделе мы рассмотрим эти свойства и
Компиляция множества файлов
Компиляция множества файлов В данном варианте приложение TestApp.exe использует один файл исходного кода *.cs. Вполне возможно, чтобы все типы .NET-приложения были представлены в одном файле *.cs, но большинство проектов компонуется из множества файлов *.cs, чтобы программный код
Список множества потоков процесса
Список множества потоков процесса Тип класса Process обеспечивает и способ программного получения множества всех потоков, используемых данным потоком в настоящий момент. Множество потоков представляется строго типизованной коллекцией ProcessThreadCollection, которая содержит
Получение множества наборов результатов с помощью объектов чтения данных
Получение множества наборов результатов с помощью объектов чтения данных Объекты чтения данных могут получать от одного объекта команды множество наборов результатов. Например, чтобы получить все строки таблицы Inventory и все строки таблицы Customers, можно указать оба
Использование возможностей множества транзакций
Использование возможностей множества транзакций Клиент Firebird может запустить множество параллельных транзакций. Пользовательская работа с множеством задач в одном приложении может выполнять различные действия с теми же самыми (или перекрывающимися) наборами данных.
11.3.2. Древовидное представление множества кандидатов
11.3.2. Древовидное представление множества кандидатов Рассмотрим теперь еще одно изменение нашей программы поиска в ширину. До сих пор мы представляли множества путей-кандидатов как списки путей. Это расточительный способ, поскольку начальные участки путей являются