Проблемы проектирования
Чтобы ОС была успешно спроектирована, разработчики должны четкое представление о том, что они хотят.
Для универсальных ОС основными являются следующие 4 положения:
1. определение абстракций
2. представление примитивных операций
3. обеспечение изоляций (одну программу от другой)
4. управление аппаратурой
Сложность проектирования ОС заключается в следующем:
1. современные ОС являются громоздкими программами, и при этом все подсистемы должны соответствовать и взаимодействовать между собой.
2. ОС должны управлять параллельно выполняющимися процессами и при этом решать проблемы гонок и тупиков.
3. ОС должна предпринимать меры против вмешательства в ее работу.
4. ОС должны предоставлять пользователям ресурсы для совместного использования, но таким образом, чтобы пользователь, не имеющий прав доступа, не мог пользоваться этой возможностью.
5. ОС должна быть рассчитана на долгое время использования, и проектировщики должны предусмотреть, как изменится аппаратура и приложения с течением времени.
6. у разработчиков ОС на самом деле нет четкого представления о том, как будет использоваться их ОС.
7. от ОС требуется переносимость и поддержка множества устройств ввода/вывода, которые проектируются независимо друг от друга.
8. при разработке ОС необходимо учитывать совместимость с предыдущей версией.