Введение. Операционные системы предоставляют пользователям достаточно широкий спектр вычислительных услуг, упрощая процесс использования ЭВМ
Операционные системы предоставляют пользователям достаточно широкий спектр вычислительных услуг, упрощая процесс использования ЭВМ. Прежде всего, это касается разнообразия режимов работы машин, обеспечиваемых ОС. Под режимом работы понимают принципы структурной и функциональной организации аппаратных и программных средств.
1-й учебный вопрос: «Режимы работы ЭВМ»
Вычислительные машины могут выполнять обработку информации в разных режимах (рис.):
ü однопрограммном (монопольном) режиме;
ü многопрограммном режиме, который можно подразделить:
· на режим пакетной обработки информации;
· режим разделения машинного времени.
Режим разделения времени имеет разновидности:
· диалоговый режим;
· режим реального времени.
Рис. Классификация режимов работы компьютеров
Однопрограммный режим использования компьютера — самый простой и применяется во всех поколениях компьютеров. Из современных машин этот режим чаще всего используется в персональных компьютерах, где он называется реальным режимом работы микропроцессора. В этом режиме все ресурсы ПК передаются одному пользователю. Пользователь сам готовит и машину, и всю необходимую для решения задач информацию, загружает программу и данные, непосредственно наблюдает за ходом решения задачи и выводом результатов. Такой вариант называют режимом непосредственного доступа.
Однопрограммный режим имеет и второй вариант — косвенного доступа, при котором пользователь не имеет непосредственного контакта с компьютером. В этом варианте пользователь готовит свое задание и отдает его на обработку. Задача запускается в порядке очередности, и по мере готовности результаты решения задачи выдаются пользователю. Этот вариант, бывший когда-то самым распространенным, сейчас практически, по крайней мере на персональных компьютерах, не используется.
Однопрограммный режим непосредственного доступа весьма удобен для пользователя, но для него характерен чрезвычайно низкий коэффициент загрузки оборудования — временные простои многих устройств машины и в период подготовки задачи для решения, и непосредственно при решении задачи (при вычислениях в процессоре простаивают внешние устройства, при печати простаивают процессор, основная и внешняя память и т. д.). Поэтому даже в современных ПК, для которых характерен именно однопрограммный режим (в силу их «персональности»), последний в микропроцессорах обогащается многоступенчатой суперконвейерной обработкой данных, использующей некоторые элементы многопрограммности.
Многопрограммный (его также называют мультипрограммным, многозадачным, а в ПК и многопользовательским[1]) режим обеспечивает лучшее расходование ресурсов компьютера, но несколько ущемляет интересы пользователя. Для реализации этого режима необходимо прежде всего разделение ресурсов машины в пространстве (на множестве устройств компьютера) и во времени. Естественно, такое разделение ресурсов эффективно может выполняться только автоматически, следовательно, требуется автоматическое управление вычислениями. Автоматическое управление особо необходимо для распределения памяти между несколькими одновременно запускаемыми программами, поскольку программы готовятся пользователями независимо друг от друга, в них не выполняется предварительно статическое распределение памяти (как и других программных и технических ресурсов машины). В процессе решения задач недопустимо одновременное обращение двух программ к одному и тому же файлу или устройству.
На рис. представлена временная диаграмма выполнения трех программ в режиме классического мультипрограммирования. На этом рисунке цифрами обозначены номера выполняемых программ.
Все названные проблемы решают операционные системы, обеспечивающие многопрограммную работу компьютера, помогают им в этом драйверы устройств машины и автозагрузчики (загрузчики) программ.
Важнейшая проблема — защита памяти. Недопустимо несанкционированное, пусть и неодновременное, обращение двух программ к одним и тем же областям памяти для изменения информации. Для предотвращения такого несанкционированного случайного доступа к памяти, выделенной для другой задачи, служит специальная система защиты памяти. Важность проблемы защиты памяти подчеркивается тем фактом, что многопрограммный режим работы микропроцессора в ПК обычно называют защищенным режимом.
Простейшим вариантом многопрограммного режима является режим пакетной обработки. Он в максимальной степени обеспечивает загрузку всех ресурсов машины, но наименее удобен пользователю. В классических системах пакетной обработки информации все подлежащие решению задачи анализировались и объединялись в различные группы (пакеты) с тем, чтобы в пределах пакета обеспечивалась равномерная загрузка всех устройств машины. Например, задача, связанная с длительным выводом информации на печать, объединялась с задачей, интенсивно использующей внешнюю память, и с задачей, требующей сложных вычислений в процессоре и т. п. После формирования всех пакетов они по очереди запускались на обработку. Пользователь в этом режиме обращался к машине два раза: первый раз для ввода задания, второй раз для получения результатов - по современной терминологии такой режим относится к режимам группы «offline».
В персональных компьютерах, из-за небольшого количества одновременно решаемых задач режим пакетной обработки претерпел существенные изменения и сводится, по существу, к последовательному решению одновременно поступивших задач (пакета задач) в соответствии с их важностью (приоритетностью) и временем поступления. Переход к решению следующей задачи выполняется только после окончательного завершения текущей. Правда, в развитых системах такой пакетной обработки при внезапном поступлении информации по более приоритетной задаче выполняемая на компьютере менее приоритетная задача уступает свое место (прерывается).
Второй частный случай многопрограммного режима — режим разделения времени — характерен тем, что на машине действительно одновременно решается несколько задач, каждой из которых по очереди выделяются кванты времени, обычно недостаточные для полного решения задачи. Условием прерывания решения текущей задачи служит либо истечение кванта выделенного времени, либо обращение к процессору какого-либо приоритетного внешнего устройства, например клавиатуры для ввода информации.
Прерывание задачи от клавиатуры является типичным для диалогового режима работы ПК, представляющего собой частный случай режима разделения времени. Диалоговые режимы характерны для многопользовательских систем: они обеспечивают одновременную работу нескольких пользователей при решении задач в интерактивном режиме. В процессе решения задачи пользователь имеет возможность корректировать ход выполнения своего задания. Диалоговые системы активно используются при совместной работе нескольких пользователей даже с одной программой: формирование и корректировка баз данных, программ, чертежей, схем и документов.
Режим реального времени — еще один вариант режима с разделением машинного времени. Этот режим применяется в основном в динамических системах управления и диагностики, когда строго регламентируется время ответа системы (выполнения задания) на случайно поступающие запросы.
Все режимы разделения машинного времени обеспечивают пользователю работу в режиме «online».
Основная нагрузка при реализации многопрограммных режимов, как уже говорилось, ложится на операционную систему. Все операционные системы обеспечивают выполнение этих режимов. Все современные операционные системы обладают эффективными возможностями, поддерживающими не только многозадачные и многопользовательские режимы с развитой системой приоритетного прерывания, но и многопроцессорность их исполнения, то есть распределение заданий между несколькими микропроцессорами, имеющимися в системе.
2-й учебный вопрос: «Организация функционирования ЭВМ
с магистральной архитектурой»
Управляющая работой ЭВМ программа перед началом выполнения загружается операционной системой в основную память. Адрес первой выполняемой команды передается микропроцессору (МП) и запоминается в счетчике команд.
Начало работы процессора заключается в следующем.
Адрес из счетчика команд (в котором всегда хранится адрес очередной команды) выставляется на шину адреса системной магистрали. Одновременно на шину управления выдается команда: выборка из основной памяти (ОП), которая воспринимается основной памятью.
Получив с шины управления системной магистрали команду, основная память считывает адрес с шины адреса, находит ячейку с этим номером и ее содержимое выставляет на шину данных, а на шину управления выставляет сигнал о выполнении команды.
Процессор, получив по шине управления сигнал об окончании работы ОП, вводит число с шины данных на внутреннюю магистраль МП, и через нее пересылает введенную информацию в регистр команд.
В регистре команд полученная команда разделяется на кодовую и адресную части.
Код команды поступает в блок управления для выработки сигналов, настраивающих МП на выполнение заданной операции и для определения адреса следующей команды (который сразу заносится в счетчик команд). Адресная часть команды выставляется на шину адреса системной магистрали (СМ) и сопровождается сигналом «выборка из ОП» на шине управления.
Выбранная из ОП информация через шину данных поступает на внутреннюю магистраль МП, с которой вводится в арифметико-логическое устройство (АЛУ). На этом заканчивается подготовка МП к выполнению операции и начинается ее выполнение в АЛУ.
Результат выполнения операции выставляется микропроцессором на шину данных, на шину адреса выставляется адрес ОП, по которому этот результат необходимо записать, а на шину управления выставляется команда запись в ОП.
Получив с шины управления команду, ОП считывает адрес и данные с системной магистрали, организует запись данных по указанному адресу и после выполнения команды выставляет на шину управления сигнал, обозначающий, что число записано. Процессор, получив этот сигнал, начинает выборку очередной команды: выставляет адрес из счетчика команд на шину адреса, формирует команду выборка из ОПна шине управления и т.д.
В каждом цикле, получив команду в регистр команд и выделив код операции, процессор определяет, к какому устройству она относится. Если команда должна выполняться процессором, организуется ее выполнение по описанному циклу.
Если же команда предназначена для выполнения в другом устройстве ЭВМ, центральный процессор (ЦП) передает ее соответствующему устройству.
Процесс передачи команды другому устройству предусматривает следующие действия.
ЦП выставляет на шину адреса адрес интересующего его устройства. По шинам управления передается сигнал «поиск устройства».
Все устройства, подключенные к системной магистрали, получив этот сигнал, читают номер устройства с шины адреса и сравнивают его со своим номером. Устройства, для которых эти номера не совпадают, на эту команду не реагируют. Устройство с совпавшим номером, вырабатывает сигнал отклика по шине управления. ЦП, получив сигнал отклика, в простейшем случае выставляет имеющуюся у него команду на шину данных и сопровождает ее по шине управления сигналом «передаю команду». Получив сигнал о приеме команды, ЦП переходит к выполнению очередной своей команды, выставляя на шину адреса содержимое счетчика команд.
В более сложных случаях, получив сигнал, что устройство откликнулось, прежде чем передавать команду, ЦП запрашивает устройство о его состоянии. Текущее состояние устройства закодировано в байте состояния, который откликнувшееся устройство передает процессору через ШД системной магистрали. Если устройство включено и готово к работе, то байт состояния – нулевой. Наличие в нем единиц свидетельствует о нештатной ситуации, которую ЦП пытается проанализировать и в необходимых случаях извещает оператора о сложившейся ситуации.
Взаимодействие МП с внешними устройствами предусматривает выполнение логической последовательности действий, связанных с поиском устройства, определением его технического состояния, обменом командами и информацией. Эта логическая последовательность действий вместе с устройствами, реализующими ее, получила название интерфейс ввода-вывода.
Для различных устройств могут использоваться разные логические последовательности действий, поэтому интерфейсов ввода-вывода может в одной и той же ЭВМ использоваться несколько. Если их удается свести к одному, универсальному, то такой интерфейс называется стандартным.
В IBM PC есть три стандартных интерфейса для связи ЦП с внешними устройствами
ü параллельный (типа Centronics);
ü два последовательных (типа RS-232 и USB).
Интерфейсы постоянно совершенствуются, поэтому с появлением новых ЭВМ, новых внешних устройств и даже нового программного обеспечения появляются и новые интерфейсы. Так в программном обеспечении, разработанном ведущими фирмами (в том числе фирмой Microsoft) все шире используется новый интерфейс «Plug and Play» (Включи – и играй), который предназначен для облегчения системной настройки ЭВМ при подключении новых устройств к машине. Этот интерфейс позволяет подключить с помощью кабеля новое устройство, а после включения ЭВМ ее программное обеспечение автоматически определяет состав подключенных устройств, их типы, и настраивает машину на работу с ними без вмешательства системного оператора.
3-й учебный вопрос: «Организация работы ЭВМ при выполнении
задания пользователя»
Организация процессов ввода, преобразования и отображения результатов в ЭВМ относится к сфере системного программного обеспечения. Это сложные процессы, которые чаще всего делаются «прозрачными» т.е. незаметными для пользователя.
Один из них – реализация задания пользователя.
Профессиональный пользователь (программист) пишет задание для ЭВМ в виде программы на алгоритмическом языке. Написанное задание (программа) представляет собой исходный модуль, сопровождаемый управляющими предложениями, указывающими операционной системе ЭВМ, на каком языке написана программа и что с ней надо делать. Если программа пишется на алгоритмическом языке, то управляющие предложения – на языке управления операционной системой (в Windows всех версий – это скрипты, оформляемые в виде командных файлов).
Исходный модуль перед исполнением должен быть переведен на внутренний язык машины. Эта операция выполняется специальной программой – транслятором.
Результат работы компилятора может быть записан в библиотеку объектных модулей (БОМ), или передан другим программам для дальнейшей обработки, поскольку полученная машинная программа не готова к исполнению по двум причинам. Во-первых, она содержит неразрешенные внешние ссылки (т.е. обращение к программам, которые не содержатся в исходном модуле, но необходимы для работы основной программы – например, к стандартным программам алгоритмического языка, таким, как извлечение корня квадратного, вычисление тригонометрических функций и т.д.). Во-вторых, объектный модуль представляет собой машинную программу в условных адресах – каждый объектный модуль начинается с адреса 0h, тогда, как для исполнения программа должна быть «привязана» к конкретным физическим адресам основной памяти.
Недостающие программы должны быть взяты из библиотек компилятора (которые могут быть написаны в виде исходных, либо в виде объектных модулей) и добавлены к основной программе. Эту операцию выполняет редактор связей. В результате работы редактора связей образуется загрузочный модуль (ЗМ), который помещается в соответствующую библиотеку программ (БЗМ). В загрузочном модуле все ссылки разрешены, т.е. он содержит все необходимые стандартные программы, но привязки к памяти у загрузочного модуля нет.
Привязка к памяти загрузочного модуля производится программой выборки, которая переносит загрузочный модуль из библиотеки загрузочных модулей (обычно хранящейся на магнитном носителе) в основную память, и во время этого переноса корректирует адреса, учитывая, с какого адреса основной памяти размещается загрузочный модуль. После перемещения загрузочного модуля в основную память программа выборки инициирует ее выполнение.
Рис. Обработка заданий операционной системой
Представление машинной программы в виде исходных, объектных и загрузочных модулей позволяет реализовать наиболее эффективные программные комплексы. Например, если по одной и той же программе необходимо много раз производить расчеты, то неэффективно тратить каждый раз время на трансляцию и редактирование программы – ее нужно оформить в виде загрузочного модуля и хранить в соответствующей библиотеке.
При обращении к такой программе сразу будет вызываться программа выборки для загрузки соответствующего модуля (а этапы компиляции и редактирования связей будут опускаться) – время на выполнение программы существенно сократится.
Если же программа только отлаживается, или после каждого просчета ее нужно будет модернизировать, то получение загрузочного модуля и обращение к программе выборки будут лишними операциями. Для их обхода вместо редактора связей может быть применен загрузчик– программа, сочетающая в себе функции редактирования связей и загрузки полученной машинной программы в основную память для исполнения. Но при использовании загрузчика многократные просчеты по программе проводить невыгодно, так как каждый раз приходится выполнять лишние операции редактирования связей.
Заключение
Нами были рассмотрены режимы работы ЭВМ, вопросы организации функционирования ЭВМ с магистральной архитектурой, организация работы ЭВМ при выполнении задания пользователя. Необходимо отметить прямую связь между алгоритмами функционирования ЭВМ и элементной базой компьютера.
Разработалзав.кафедрой АСУ Я.Н. Немов
(должность, в/звание, подпись, фамилия)
“____” ______________ 2013 г.
[1] Многопользовательский режим, строго говоря, отличается от многозадачного хотя бы тем, что в первом требуется дополнительная диспетчеризация, обеспечивающая интерактивный (диалоговый) режим работы пользователей.
Дата добавления: 2015-08-21; просмотров: 786;