В зависимости от того, чему вы пытаетесь научить, вам может не потребоваться работать с «настоящей» ОС.
Например, предположим, вы пытаетесь научить проектированию файловой системы.Вы можете определить интерфейс между «ОС» и файловой системой.Настоящие операционные системы работают таким образом, поэтому Linux поддерживает сотни файловых систем.Тогда вы могли бы попросить студентов написать драйвер файловой системы.Это позволило бы им наладить поддержку файловой системы без необходимости возиться с реальной ОС.Это даже сделало бы тестирование простым.Вы можете проверить его с помощью модульных тестов, которые вы определяете, но не предоставляете, и посмотрите, пройдет ли он тест.