در گام بعدی شما باید IDT خودتان را راه اندازی کنید. بطور خلاصه میشه گفت IDT به شما این امکان رو میده که برای وقفه های سخت افزاری و نرم افزاری توابعی بنویسید که آن ها را مدیریت کنید.
اول IDT رو پیاده سازی کنید بعد به کمک سمافور روی هر کدوم از وقفه ها که خواستین تمرکز کنید. یعنی سرویس شما مثلا کی برد میره روی سمافور وقفه ۱۳ قفل می کنه بعد از اینکه وقفه ۱۳ رسید قفل رو آزاد می کنه و سرویس می فهمه که یک کلید زده شده. خود سرویس کی بردهم می تونه یک فایل رو بهتش اختصاص داد و با API ها برنامه های سعی کنن از فایل بخونن. اگر کلید جدیدی رسید که هیچی اگر نرسید اونها هم به مراتب روش قفل می کنن و تا زمان رسیدن داده قفل می مونن.

و بعنوان پیشنهاد فکر کنم مجموعه BrokenThorn از لحاظ ساختاری نسبت به دیگر مجموعه هایی که دیدم اصولی تر کار کرده هرچند گاهی نیاز به کار بیشتری داره ولی چارچوب خوبی داره.
این مجموعه اصلا برای طراحی نهایی سیستم عامل خوب نیست و ایرادهای اساسی داره که باعث شد حتی یکسری از اول نوشته بشه. اما برای درک برخی از ساختارها خوبه.