Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 53
Текст из файла (страница 53)
Какие основные характеристики отличают машину с массовым параллелизмом? 13. Какие трудности возникают при попытках использования кэшпамяти в мультипроцессорной ВС? Как они разрешаются? 14. Сравните классические машины, управляемые потоком команд, с машинами потока данных. 15. Что лежит в основе машины потока данных? Что требуется для активации операции в статической МПД? 16. В чем принцип действия редукционной машины? Что сдерживает появление таких машин? 17.
Что положено в основу нейрокомпьютера? Что представляет собой линейный пороговый элемент? 18. Какими преимуществами обладает систолический компьютер? В чем заключается принцип его действия? 19. Поясните принцип действия матричных систем. Приведите пример промышленных компьютеров матричного типа. 20. Какие ВС принято называть специализированными и проблемноориентированными? 2!. С какой целью строят МБД и какие задачи на них возлагают? ГЛАВА 10 ОРГАНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА 10.1. Общие сведения Организация вычислительного процесса — это процесс формирования и управления вычислительной нагрузкой. Решение этой задачи возлагают на ОС, предназначенную для управления аппаратными, программными и информационными ресурсами компьютера.
Такая ОС представляет собой комплекс программ, обеспечивающий контроль над существующими ресурсами компьютера, их распределением и использованием. Операционная система действует как интерфейс между приложениями и пользователями, с одной стороны, и аппаратными средствами, с другой. В этом смысле ОС решает две основные группы задач: 1) предоставление удобной для пользования расширенной виртуальной машины вместо реальной аппаратуры компьютера; 2) рациональное управление ресурсами компьютера и повышение эффективности их использования.
Операционная система как виртуальная машина. Для того чтобы успешно решать свои задачи, современный пользователь или даже прикладной программист может обойтись без досконального знания аппаратуры компьютера. Ему не обязательно быть в курсе того, как функционируют различные электронные блоки и электромеханические узлы компьютера. Более того, очень часто пользователь может не знать даже системы команд процессора. Он привык иметь дело с мощными высокоуровневыми функциями, которые ему предоставляет ОС. Так, например, при работе с диском программисту, создающему приложение для работы под управлением ОС, или конечному пользователю ОС достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет определенное имя.
Последовательность действий при работе с файлом заключается в его открытии, выполнении одной или нескольких операций чтения или записи, а затем в закрытии файла. Такие частности, как используемый метод записи на магнитный носитель или текущее состояние механизма перемещения МГ, не видны программисту. Именно ОС скрывает от программиста большую часть осо- 255 бенностей аппаратуры и предоставляет возможность простой и удобной работы с требуемыми файлами. Если бы программист работал с аппаратурой компьютера на прямую без участия ОС, то для организации чтения блока данных с диска ему пришлось бы использовать более десятка команд с указанием множества параметров, например номера блока, но мера сектора и т.д.
После завершения операции обмена с диском он должен был бы предусмотреть в своей программе анализ ее результата. Учитывая, что контроллер диска способен распознавать более 20 различных вариантов завершения операции, можно счи тать программирование обмена с диском на уровне аппаратуры не самой тривиальной задачей. Не менее обременительной выглядит и работа пользователя, если ему для чтения файла с терминала потребовалось бы задавать числовые адреса дорожек и секторов. Операционная система избавляет программистов не только от необходимости напрямую работать с аппаратурой НЖМД, пре доставляя им простой интерфейс, но и осуществляет другие рутинные операции, связанные с управлением аппаратными устройствами компьютера: физической памятью, таймерами, принтерами и т.д.
В результате реальный компьютер, способный выполнять только небольшой набор элементарных действий, определяемых его системой команд, превращается в виртуальную машину, выполняющую широкий набор гораздо более мощных и разнообразных функций. Виртуальная машина тоже управляется командами, но командами другого, более высокого уровня, например удалить файл с определенным именем, запустить на выполнение некоторую прикладную программу, повысить приоритет задачи, вывести текст на печать.
Таким образом, одно из назначений ОС— предоставление пользователю (программисту) некоторой расширенной виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой реального компьютера. Операционная система как система управления ресурсамн. Операционная система не только предоставляет удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы компьютера. К числу основных ресурсов современных ВС могут быть отнесены процессоры, оперативная память, таймеры, наборы данных, внешняя память, принтеры, сетевые устройства и др.
Управление ресурсами ВС с целью наиболее эффективного их использования и является назначением ОС. Например, мульти- программная ОС организует одновременное выполнение сразу нескольких процессов на одном компьютере, поочередно переключая процессор с одного процесса на другой, исключая его простои, вызываемые обращениями к вводу-выводу.
256 Операционная система также отслеживает и разрешает конфикты, возникающие при обращении нескольких процессов к одному и тому же ресурсу. Критерий эффективности, в соответствии с которым ОС организует управление ресурсами компьютера, может быть различным.
Например, в одних системах важна производительность вычислительной системы, в других — время ее реакции. Операционные системы организуют вычислительный процесс по-разному, соответственно выбранному критерию эффективности. 10.2. Базовые понятия и определения Любая ОС оперирует некоторым набором базовых понятий, на основе которых строится логика ее функционирования.
Например, подобными базовыми понятиями могут быть задача, задание, процесс, набор данных, файл, объект. Одним из наиболее распространенных базовых понятий ОС является процесс. Процесс — это совокупность машинных команд и данных, исполняющаяся в рамках ВС и обладающая правами на владение некоторым набором ресурсов.
Эти права могут быть эксклюзивными, когда ресурс принадлежит только этому процессу. Некоторые из ресурсов могут разделяться, т.е. одновременно принадлежать двум и более процессам, в этом случае говорят о разделяемых ресурсах. Возможны два варианта выделения ресурсов процессу: 1) предварительная декларация использования тех или иных ресурсов (до начала выполнения процесса в систему передается перечень ресурсов, которые будут использованы процессом); 2) динамическое пополнение списка принадлежащих процессу ресурсов по ходу выполнения процесса при непосредственном обращении к ресурсу. Реальная схема выделения ресурсов зависит от конкретной ОС. На практике возможно использование комбинации этих вариантов. Для простоты изложения будем считать, что в нашем случае ОС имеет возможность предварительной декларации ресурсов, которые будут использованы процессом.
Необходимо отметить, что любая ОС должна обладать такими свойствами, как надежность, защита, эффективность и предсказуемость. Ядро — это резидентная часть ОС. В ядре размещаются программы обработки прерываний и драйверы наиболее «ответственных» Устройств. Это могут быть и физические, и виртуальные устройства. Например, в ядре могут располагаться драйверы файловой системы, ОЗУ. Следующие уровни структуры — динамически подгружаемые драйверы физических и виртуальных устройств.
Это драйверы, добавление которых в систему возможно «на ходу» без з Г»»нс« 257 перекомпоновки программ ОС. Они могут являться резидентны ми и нерезидентными, а также работать как в режиме супервиз ра, так и в пользовательском режиме. Выделяют следующие основные логические функции ОС; уп равление процессами, управление ОП, планирование, управле ние устройствами и файловой системой. 10.3. Управление процессами Важнейшей частью ОС, непосредственно влияющей на функционирование ВС, является подсистема управления процессами Приведем основные особенности этой подсистемы.