По современным представлениям, ос должна уметь делать следующее:
Обеспечивать загрузку пользовательских программ в оперативную памятьи их исполнение.
Обеспечивать работу с устройствами долговременной памяти, такими какмагнитные диски, ленты, оптические диски и т.д. Как правило, ОС управляетсвободным пространством на этих носителях и структурирует пользовательскиеданные.
Предоставлять более или менее стандартный доступ к различнымустройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.
Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно - часть систем ограничивается командной строкой,в то время как другие на 90% состоят из средств интерфейса пользователя.
Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известныхсистем такого типа - дисковая операционная система MS DOS.
Более развитые ос предоставляют также следующие возможности:
Параллельное (точнее, псевдопараллельное, если машина имеет только одинпроцессор) исполнение нескольких задач.
Распределение ресурсов компьютера между задачами.
Организация взаимодействия задач друг с другом.
Взаимодействие пользовательских программ с нестандартными внешними устройствами.
Организация межмашинного взаимодействия и разделения ресурсов.
Защита системных ресурсов, данных и программ пользователя,исполняющихся процессов и самой себя от ошибочных и зловредных действийпользователей и их программ.
Требования к ОС
совместимость — ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
переносимость — обеспечение возможности переноса ОС с одной аппаратной платформы (характеризуется не только типом процессора, но и способом организации всей аппаратуры ПК) на другую. Свойство переносимости ОС, имеющих неск-ко вариантов реализации для разных платформ, называется многоплатформенностью.
надежность и отказоустойчивость — предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
безопасность — ОС должна содержать средства защиты ресурсов одних пользователей от других;
расширяемость — ОС должна обеспечивать удобство внесения последующих изменений и дополнений. Она достигается за счет модульной структуры ОС, при которой программа строится из набора отдельных модулей, взаимодействующих только через функциональный интерфейс
производительность — система должна обладать достаточным быстродействием