Моє чергове маленьке відкриття в галузі ОС-будівництва:
Synthesis Операційна система Synthesis була темою дисертації Алексії Масалін, опублікованої 1992-ого року. В ній обговорюється дизайн ОС для Ква-машини (саморобного комп’ютера на процесорі із серії Motorola 68000) із багатьма новаторськими концепціями:
- run-time генерація коду ядра (!), те, що в сучасних системах назвали б JIT-компіляцією; звідси багато run-time оптимізацій коду, які дозволяли підвищити швидкість системних викликів у кілька разів порівняно із тодішніми Unix-системами.
- гнучка і повноцінна об’єктно-орієтована система кважектів (quajects), які містили слоти для вказівників на run-time згенерований код (callentries), слоти для реакції на певні події (які приблизно відповідають сигналам у Qt) - так звані callouts, підтримка асинхронності за допомогою callbacks. Також ООП-система містила зародки збірки сміття за допомогою reference counting.
- об’єктна система досить елегантно складала блоки для емуляції Unix-підсистеми та підтримки C-коду. Поки що не заглиблювався, але приклади вживання callouts різних кважектів виглядають природними і елегантними.
- основна слабкість і сила системи була в тому, що вона була практично повністю написана на асемблері (sic!) процесора 68030 із включеннями С-коду, що і завадило системі вплинути на production-системи того часу, попри справді новаторські концепції.
Мораль: зібратись би якимось зацікавленим гуртом, і прикрутити llvm до існуючого ядра, а?