Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Операционные системы

Иногда операционная система определяется так: "Я не знаю, что это такое, но всегда узнаю ее, если увижу". Эта фраза была сказана в первой половине 70-х, когда операционные системы действительно отличались большим разнообразием структуры и выполняемых функций.

С тех времен положение существенно изменилось. Современные ОС - по крайней мере, широко распространенные системы - во многом похожи друг на друга. Прежде всего это определяется требованием переносимости программного обеспечения. Именно для обеспечения этой переносимости был принят POSIX (Portable OS Interface based on uniX) - стандарт, определяющий минимальные функции по управлению файлами, межпроцессному взаимодействию и т.д., которые должна уметь выполнять система.

Кроме того, за четыре с лишним десятилетия, прошедших с момента разработки первых ОС, сообщество программистов достигло определенного понимания того, что:

  • при разработке ОС возникает много стандартных проблем и вопросов;
  • для большинства из этих проблем и вопросов существует набор стандартных решений;
  • некоторые из этих решений намного лучше, чем все альтернативные.

*Многие из таких наилучших решений были реализованы в операционных системах семейства Unix. Поэтому среди адептов этой ОС ходит поговорка: "Если вы не понимаете UNIX, вы должны будете заново изобрести его". Опыт систем OS/2 и Windows NT отчасти подтверждает ее.
*
По современным представлениям, ОС должна уметь делать следующее:

  • Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение.
  • Обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д. Как правило, ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные.
  • Предоставлять более или менее стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.
  • Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно - часть систем ограничивается командной строкой, в то время как другие на 90% состоят из средств интерфейса пользователя.

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа - дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

  • Параллельное (точнее, псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач.
  • Распределение ресурсов компьютера между задачами.
  • Организация взаимодействия задач друг с другом.
  • Взаимодействие пользовательских программ с нестандартными внешними устройствами.
  • Организация межмашинного взаимодействия и разделения ресурсов.
  • Защита системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ.