Компьютерное железо

Поясните определение ОС как расширенной (виртуальной) машины?

Для того чтобы успешно решать свои задачи, современный пользователь или даже прикладной программист может обойтись без досконального знания аппаратного устройства компьютера. Ему не обязательно быть в курсе того, как функционируют различные электронные блоки и электромеханические узлы компьютера. Более того, очень часто пользователь может не знать даже системы команд процессора.

Использование компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска, программист может использовать 16 различных команд, каждая из которых требует 13 параметров (номер блока на диске, номер сектора на дорожке и т. п.). Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. Сегодняшний пользователь-программист имеет дело с мощными высокоуровневыми функциями, которые ему предоставляет операционная система.

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

Именно операционная системаскрывает от программиста все реалии аппаратуры и предоставляет возможность простого и удобного просмотра указанных файлов, их чтения или записи. Точно так же, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная системаберет на себя все малоприятные и тонкие дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае таабстрактная (воображаемая) машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины. В результате реальная машина, способная выполнять только небольшой набор элементарных действий, определяемых ее системой команд, превращается в вир­туальную машину, выполняющую широкий набор гораздо более мощных функ­ций. Виртуальная машина тоже управляется командами, но это уже команды другого, более высокого уровня: удалить файл с определенным именем, запус­тить на выполнение некоторую прикладную программу, повысить приоритет за­дачи, вывести текст из файла на печать.

С этой точки зрения функцией ОС является предоставление пользователю некоторой расширенной иливиртуальноймашины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину.
Edgar Chuxoyan
Edgar Chuxoyan
40 410
Лучший ответ