logo
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003

5.1. Операционные системы компьютеров

Любой компьютер имеет один или несколько микропроцессо­ров, память, устройства ввода-вывода или периферийные устройства типа дисплеев, клавиатуры, дисков, принтеров и сетевых устройств. Компьютерное моделирование применяется для оценки производи­тельности компьютерных систем. В большинстве случаев для этого используют имитационное моделирование, но для решения некото­рых задач анализа на предыдущем этапе применяют операционный анализ сетей CMO. Память моделируют для оценки операцийcоб­щей памятью или ее уровней (кэш-память, оперативная память, па­мять второго или третьего уровней, которая организовывается на диске).

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

Типичные функции ОС: выбор программы, которая будет вы­полняться процессором, управление общей памятью, управление операциями ввода-вывода, обработка прерываний.

Компьютерная система обычно работает в мультипрограммном или в многозадачном режиме. Классическое мультипрограммный ре­жим построен на принципе совместимости операций, которые выполняет процессор, и операций ввода-вывода, которые выполняет программируемый контроллер или процессор ввода-вывода. Напри­мер, если компьютер выполняет вывод на печать результатов некото­рой программы, то пользователь одновременно может выполнять другую программу.

Многозадачный режим построен на принципе распределения времени работы процессора между несколькими выполняемыми программами. Для каждой программы выделяется свой промежуток времени (квант времени), в течение которого она выполняется про­цессором. Если за это время программа не закончилась, то она пре­рывается и процессор начинает выполнять другую программу. Обычно прерванная программа становится в очередь к процессору последней. Таким образом, каждая выполняемая программа, не­сколько раз получает процессорное время для расчетов, до того как покидает компьютер. Если программа во время выполнения процес­сором прерывается для операций ввода-вывода (например, для запи­сывания информации на диск), то она выводится из очереди к процессору, пока не закончит операцию записывания. Остаток процес­сорного времени от кванта не сохраняется, и по окончании операции записывания эта программа, когда ей будет предоставлен процессор, получает новый квант времени.

При моделировании режима распределения времени процессора возникает задача о назначении промежутков времени для определен­ных групп программ пользователей. Использование режима распре­деления времени содействует тому, что более короткие задания поль­зователей выполняются раньше, поскольку они набирают необходи­мое количество квантов процессорного времени быстрее, чем длин­ные задания. Это вынуждает пользователей делать задания для вы­полнения компьютером более короткими по времени выполнения.

Если взять очень маленький квант времени, то программы пользова­телей будут очень часто прерываться, А каждое прерывание требует определенного времени на его обработку компьютером. Если квант времени будет стремиться к бесконечности, то программы будут об­рабатываться процессором по принципу «первая поступила – первая выполняется».

В любом режиме работы (мультипрограммном или многозадач­ном) компьютер cодним процессором в каждый момент времени вы­полняет только одну программу (одну команду). Если используется мультипроцессорная системаcнесколькими одинаковыми процессо­рами, то становится возможным выполнения нескольких программ на разных процессорах. Большей частью такая система моделируется как многоканальнаяCMOв отличие отCMOcодним устройством обслу­живания, которая моделирует работу однопроцессорной системы.

Современные ОС (Unix,Windowsи др.) используют виртуаль­ную организацию памяти для сохранности выполняемых программ. Принцип виртуальной памяти основан на том, что только некоторые части программ находятся в оперативной памяти, другие – на диске. Во время работы компьютера, если запрашивается область памяти, которая находится на диске, то эта часть программы загружаетсяcдиска в оперативную память. Если оперативной памяти недостаточно, из нее вытесняется некоторая часть другой программы, преимущест­венно той, к которой дольше всего не было обращений. Эти операции перемещения частей программ требуют некоторого времени, связан­ногоcпоиском нужной части программы на диске и ее считывания в память. Для ускорения операций поиска некоторые части программ могут находиться в кэш-памяти, которая обычно ускоряет операции поиска. Управление памятью требует разработки некоторой страте­гии вытеснения и замещения частей программ, которая закладывается в ОС в виде алгоритма.

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

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

Таким образом, работу компьютерной системы, управляемой ОС, можно представить в упрощенном виде как работу сети CMO.

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