Synthesis: назад у майбутнє

Jun 02, 2012 23:22


Моє чергове маленьке відкриття в галузі ОС-будівництва: 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 до існуючого ядра, а?

схвальне, ОСебудівництво, ОСекритика

Previous post Next post
Up