logo
Чтоесть / Мое / Конспект лекций Для студентов специальности 080801

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

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

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

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

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

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

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

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

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

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

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

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

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

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