Плутанина зі структурами

Ті кілька структур, які щойно були описані, призводять до плутанини не тому, що їх багато (тільки чотири) або вони складні (всі вони досить прості), а тому що вони сильно один з одним переплітаються При використанні обєктів kobjec t досить складно розповісти про одну структурі, не згадуючи інші Проте, на підставі розглянутих особливостей цих структур можна побудувати міцне розуміння їх взаємин

Найважливішим є обєкт kobject, який представляється за допомогою структури struc t kobject Структура kobjec t використовується для представлення найбільш загальних обєктних властивостей структур даних ядра, таких як лічильник посилань, взаємини батько-породжений і імя обєкта За допомогою структури kobjec t ці властивості можна забезпечити однаковим для всіх стандартним способом Самі по собі структури kobjec t не надто корисні, вони зазвичай вбудовуються в інші структури даних

З кожним обєктом kobjec t повязаний один певний тип даних-ktype, який представляється за допомогою структури struc t kobj_type На примірник такої структури вказує поле ktyp e кожного обєкта kobject За допомогою типів ktyp e визначаються деякі загальні властивості обєктів: поведінка при видаленні обєкта, поведінка, повязана з файлової системою sysfs, а також атрибути обєкта

Обєкт и kobjec t групуються в безлічі, що е називаються kset Безлічі kse t представляються за допомогою структур даних struc t kset Ці безлічі призначені для двох цілей По-перше, вони дозволяють використовувати вбудований в них обєкт kobjec t в якості базового класу для групи інших обєктів kobject По-друге, вони дозволяють обєднувати разом декілька повязаних між собою обєктів kobject На файлової системи sysfs обєкти kobjec t представляються окремими каталогами файлової системи Повязані між собою каталоги, наприклад всі підкаталоги одного каталогу, можуть бути включені в одну безліч kset

Підсистеми відповідають великим ділянкам ядра і є набором множин kset Підсистеми представляються за допомогою структур struc t subsystem Всі каталоги, які знаходяться в корені файлової системи sysfs, відповідають підсистем ядра

На рис 171 показані взаємини між цими структурами даних

Підсистема Підсистема

kset          kobj

kobj                            kobj

kobj

kobj

kset             kobj

kobj                             kobj

Рис 171 Взаємовідносини між обєктами kobject, множинами

kset і підсистемами

Джерело: Лав, Роберт Розробка ядра Linux, 2-е видання : Пер з англ – М: ТОВ «ІД Вільямс »2006 – 448 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*