Я вже згадував за намір підтримувати в Ант кілька Підсистем Середовища, ПС. ПС це програмний комплекс в складі системи, який дає їй уміння ганяти програми, написані для конкретного середовища Програмного Інтерфейсу, ПІ (англ. Application Programming Interface, API). ПС імплементує середовище, яке ті програми очікують від системи. Починаючи від надання самих множин функцій цього API і закінчуючи створенням "вигляду" системи, який характерний для того середовища. Наприклад, згадане єдине дерево ієрархії файлових даних в Unix клонах. Це частина вигляду таких систем, і програми написані під Posix очікують саме таку файлову організацію, а вона не збігається з рідною конвенцією в Ант, того потрібні певні компоненти, які дбатимуть за "правильний" вигляд для своєї ПС. Імплементаційно, ПС складатиметься з динамічних бібліотек (DLL), шо міститимуть фукнції API або його класи, якшо мова йде за об'єктно орієнтований ПІ. Також ПС має в собі процеси підтримки, саме вони створюватимуть згаданий "вигляд" і дбатимуть за його специфіку. Шо саме буде потрібно для створення такого "вигляду" є, звичайно, специфічним для стандарту ПІ, який ПС імплементовує. Іншими компонентами, якшо потрібно, можуть бути модулі ядра, які додаватимуть або покращуватимуть функціональність, потрібну середовищу або які допомагатимуть в створенні вигляду (середовища мається на увазі, а не саботаж). Ідея ПС взята з NT, яка мала її з самих початків.
Ант матиме завжди присутню, рідну ПС, AntAPI. Вона планується бути дуже схожою на WinAPI. Наскільки, — це предмет для подальших фаз розробляння. Деталізація цього важливого параграфу цілком залежить від прогресу проєкту й матеріал сюди буде доданий коли буде шо додавати.
На додачу до AntAPI, є намір написати ПС для Posix. Навіть не дивлячись на те, шо я не фанат Posix-у, це було б цікаво. Бо намір підтримувати кілька ПС є викликом — він складний і значить викликає здоровий, творчій азарт. Але також, суть ще й практичні позитивні результати від цього — ОС отримує більше шансів мати свого користувача. Інакше кажучи, ця ідея має кілька плюсів, серед яких практичні. Як чітачі могли взнати з читання за цілі, серед них, і з самого початку, були недорогі армівські ОПК. Вони популярні серед ентузіастів різного штибу, яких узагальнено називають англійською tinkerers. Вони роблять різні речі з такими ОПК — від використання їх як безвентиляторних міні ПК до саморобних (DIY, Do It Yourself) мережних сховищ, медіяцентрів, мікросерверів різноманітного призначення, всілякої робототехніки або навіть наукових проєктів. Назараз лінукс є, власне, єдиною опцією для них. Це означає, шо всі вони призвичаєні до Posix-них утиліт і загалом — до того середовища. Ось чого мання Posix-ної ПС, здатної ганяти знайомі для тієї авдиторії програми, є важливим для успішности ОС. І, також, ці програми доступні для портування в великій кількості. Очевидно, шо створення функціональних аналогів з нуля, однією особою чи маленькою спільнотою — нереалістично.
Тобто Ант збирається покривати дещо різні ПК подібні сегменти компутерів і шляхів їхнього використання — звичайний настільний ПК, сервер, мікросервер і чисельні підтипи мобільних формфакторів і сценаріїв. За це пізніше, але тут зазначимо, шо таке покриття вимагає від системи чітко визначити один аспект свого устрою: вона має бути гнучкою в опціях, які залежать від типу сценарію використання. Один такий — це його інтерактивність. "Інтерактивний" означає такий, шо має на увазі наявність локального користувача як людини, яка взаємодіятиме з компутером через його периферійні пристрої Користувацької Взаємодії. Інший — це форма взаємодії, якшо вона є. На прикладі щойно згаданих армівський ОПК. Часто, все, шо користувачу треба для роботи підчас локальної сесії на таких пристроях, це Інтерфейс Командного Рядка (ІКР, англ. Command Line Interface, CLI), який надається Підсистемою Консольної Взаємодії (ПКВ, англ. Console User Interface, CUI) і яка споживає набагато менше ресурсів за повну підсистему Графічної Взаємодії (ПГВ, англ. Graphical User Interface, GUI), шо може бути важливим для малоресурсного компутера. Цей приклад показує, шо Ант має надавати можливість вибору користувацького інтерфейсу і перемикання між ними. ПГВ містить ПКВ, але ненавпаки, але попри всі ці непрості зв'язки, функція вибору й перемикання між підсистемами має давати користувачеві робити це легко, без зайвих ускладнень. Тож, ми маємо ще одну важливу концепцію — селективність користувацького інтерфейсу. Тонкощі вибору й перемикання між підсистемами користувацької взаємодії будуть обговорені в відповідній главі з технічних деталей цього компоненту Ант. Коротко, якшо користувач, під'єднавши до своєї машини монітор, хоче заходити в систему лише в консольну сесію, то він має визначити "профіль", який казатиме системі надавати лише ІКР і використовувати його для входу в таку сесію. В підсумку, Ант має просто розрізняти такі підвиди сесій і взаємодій з користувачем і має надавати ясний механізм їхнього конфігурування.
Далі. Ми знаємо, шо настільний Графічний Інтерфейс, ГІ, і мобільний (смартфоновий) ГІ суть дуже різними. Я не вірю в можливість ефективного об'єднання таких разюче відмінних в своїй "фізиці" форматів інтерфейсу, тож Ант розрізнятиме їх замість ліпити шось єдине. Поєднуючи те, шо справді можна поєднати. Тож, ми маємо кілька типів пристроїв, з точки зору користувацької взаємодії:
І ці типи пристроїв вимагають від Ант визначити набір підсистем взаємодії, кожна з яких найкраще підходитиме для своєї підмножини цих типів пристроїв. Навіть не намагаючись лізти на "чужу" землю. Користувачі можуть відчути досвід жахливого інтерфейсу сучасних лінуксових смартфонів. Який дає безтолково робити будь шо, але з неприємними результатами. Ті вікна, які плавають як на настільній системі, але по манюсінькому дисплею смартфона, і болісні фокуси, які користувачі мають вигадувати, шоб хоч шось зробити на такому диво апараті.
В Ант є план мати 2 види ПГВ: