За четыре с лишним десятилетия, прошедших с момента разработки первых ОС, сообщество программистов достигло определенного понимания того, что:
при разработке ОС возникает много стандартных проблем и вопросов;
для большинства из этих проблем и вопросов существует набор стандартных решений;
некоторые из этих решений намного лучше, чем все альтернативные.
*Многие из таких наилучших решений были реализованы в операционных системах семейства Unix. Поэтому среди адептов этой ОС ходит поговорка: ``Если вы не понимаете UNIX, вы должны будете заново изобрести его''. Опыт систем OS/2 и Windows NTотчасти подтверждает ее.
По современным представлениям, ОС должна уметь делать следующее:
Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение.
Обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т. д. Как правило, ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные.
Предоставлять более или менее стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.
Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно — часть систем ограничивается командной строкой, в то время как другие на 90% состоят из средств интерфейса пользователя.
Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:
Параллельное (точнее, псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач.
Распределение ресурсов компьютера между задачами.
Организация взаимодействия задач друг с другом.
Взаимодействие пользовательских программ с нестандартными внешними устройствами.
Организация межмашинного взаимодействия и разделения ресурсов.
Защита системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ.