Информатика. Курс лекций. Громов Ю.Ю - 55 стр.

UptoLike

в сети задачам согласно их потребностям, невзирая на физическое местонахождение этих ресурсов. Примером может слу-
жить система серверов имен, существующая Internet, которую мы подробнее рассмотрим в разделе 3.5. Эта система позволя-
ет множеству машин, разбросанных по всему миру, работать совместно, решая задачу перевода Internet-адресов из мнемони-
ческой формы, понятной человеку, в цифровую, понятную установленному в сети оборудованию.
Сети представляют собой только один из типов многопроцессорных проектных решений, используемых при разработке
современных операционных систем. В то время как в сетях многопроцессорная система создается посредством объединения
отдельных машин, каждая из которых имеет только один центральный процессор, другие многопроцессорные системы раз-
рабатываются как одна машина с несколькими процессорами. Операционная система в такой машине должна не только ко-
ординировать взаимодействие между различными видами деятельности, которые действительно выполняются одновремен-
но, но и контролировать процесс распределения действий по отдельным процессорам в машине. В связи с этим возникают
проблемы баланса загрузки (load balancing) (получение гарантий, что все процессоры в системе используются одинаково
эффективно), а также масштабирования (scaling) (разбиение задач на количество подзадач, совместимое с числом процессо-
ров в машине).
Мы видим, что появление многопроцессорных систем добавило много новых направлений исследований в области опе-
рационных систем. Эти исследования, несомненно, будут продолжаться и в будущем.
Вопросы для самопроверки
1. Приведите примеры очередей. В каждом случае укажите любые ситуации, способные нарушить FIFO-структуру
очереди.
2. Какие из приведенных ниже ситуаций требуют обработки в реальном времени:
а) Печать почтовых этикеток с адресами.
б) Компьютерная игра.
в) Отображение букв на экране монитора по мере их набора на клавиатуре.
г) Выполнение программы, предсказывающей состояние экономики в будущем году.
3. Каковы различия между обработкой в реальном времени и интерактивной обработкой?
4. Каковы отличия между режимом с разделением времени и многозадачностью?
3.2. АРХИТЕКТУРА ОПЕРАЦИОННЫХ СИСТЕМ
Для понимания архитектуры типичной операционной системы полезно представлять себе полный спектр программного
обеспечения, используемого в стандартной вычислительной системе. Мы начнем обсуждение с обзора программного обес-
печения, включающего общую схему его классификации. В подобных классификациях близкие элементы программного
обеспечения зачастую помещаются в различные классы, подобно тому, как введение часовых поясов заставляет близких со-
седей устанавливать свои часы с разницей в час, хотя моменты заката и восхода у них почти совпадают. Более того, в случае
с классификацией программного обеспечения динамичность самого предмета и отсутствие признанных авторитетов в этой
области часто имеют следствием противоречивость используемой терминологии. Например, в операционной системе Win-
dows фирмы Microsoft имеется группа так называемых "Программ", содержащая по нашей классификации как программы из
класса прикладных, так и программы из класса утилит. Поэтому приводимую ниже классификацию следует рассматривать
скорее как средство, дающее некоторую точку опоры в сложном предмете, а не как констатацию всеми признанного факта.
Обзор программного обеспечения. Первым делом разделим программное обеспечение на две общие категории: при-
кладное программное обеспечение (application software) и системное программное обеспечение (system software) (рис. 3.3).
Прикладное программное обеспечение включает программы, предназначенные для решения задач, вытекающих из специфи-
ческих особенностей использования данной машины. Машина, используемая при инвентаризации в промышленной компа-
нии, будет иметь набор прикладных программ, существенно отличающийся от того, который будет иметь машина, исполь-
зуемая в работе инженером-электриком. Примером прикладного программного обеспечения являются электронные таблицы,
системы баз данных, настольные издательские системы, системы разработки программ и игры.
В отличие от прикладного программного обеспечения, системное программное обеспечение выполняет задачи, общие
для всех вычислительных систем. В целом фактически системное программное обеспечение формирует среду, в которой
функционирует прикладное программное обеспечение, аналогично тому, как государственная инфраструктура создает фун-
дамент, на котором ее граждане основывают свой индивидуальный стиль жизни.
Внутри класса системного программного обеспечения также есть две категории: однасобственно операционная сис-
тема, втораяэлементы программного обеспечения, объединяемые понятием обслуживающие программы, или утилиты
(utility software).
Рис. 3.3. Классификация программного обеспечения
Большую часть установленных в системе обслуживающих программ составляют программы, предназначенные для выполне-