Бройдо В.Л. Вычислительные системы, сети и телекоммуникации (2002) (1186248), страница 64
Текст из файла (страница 64)
Стековая память позволяет удобно реализовать процессы иерархического обращения ко многим процедурам (количество уровней иерархии практически не ограничено), последовательно записывая и выдавая по принципу гП.О адреса возврата каждой из них. 273 Режимы работы компьютеров Последователыгость подготовки и реигенил задачи на компьютере обычно следующая: 1.
Формулировка и формализованная постановка задачи. 2. Выбор математической модели и метода решения задачи. 3. Разработка алгоритма решения задачи, то есть последовательности процедур, которые необходимо выполнить для решения залачп.
4. Составление программы решения задачи, то есть запись алгоритма решения задачи на языке, понятном машине. 5. Ввод программы в компьютер и ес отладка. 6. Ввод исходных данных и решение задачи на компьютере. 7. Анализ полученных результатов и выводы по результатам решения. Режимы работы компьютеров Однопрограммные и многопрограммные режимы Вычислительные машины могут выполнять оГ>работку информации в разных режимах (рис. 9.1); ГЗ однопрограммном (монопольном) режиме; Ст многопрограмьшом режпкае, который можно подразделить на следующие: ° режим пакетной обработки информации; ° режим разделения гиашишюго времени. Последний, в свою очередь, имеет разновидности; Ст диалоговый режим; 0 режим реального времени.
.йй4йВЯЦИВКЙЖР"'" Рвжимы работы ЭВМ Рис. 9.1. Классификация режимов работы компьютврсв Однопрограммный режим использования компьютера самый простой, применяется во всех поколениях компьютеров. Из современных машин этот режим чаще 274 Глава 9. Программное управление — основа автоматизации всего используется в персональных компьютерах, где он называется реальным режимом работы микропроцессора. В этом режиме все ресурсы ПК передаются одному пользователю. Пользователь сам готовит и'машину, и всю необходимую для решения задач информацию, загружает программу и данные, непосредственно наблюдает за ходом решения задачи и выводом результатов, Такой вариант режима называют режимом непосредственного доступа.
Однопрограммный режим имеет и второй вариант — вариант косвенного доступа, при котором пользователь не имеет непосредственггого контакта с компьютером. В этом варианте пользователь готовит свое задание йотдает его на обработку. Задача запускается в порядке очередности, и по лгере готовности результаты ее решения выдаются пользователю.
Этот вариант, бывший когда-то самым распространенным, сейчас практически, по крайней мере на персональных компьютерах, не используется. Однопрогралгмный режим непосредствешюго доступа весьма удобен для пользователя, но для него характерен чрезвычайно низкий коэффициент загрузки оборудования — временные простои многих устройств машины и в период подготовки задачи для решения, и непосредственно при решении задачи (при вычислениях в процессоре простаивают внешние устройства, при печати простаивают процессор, основная и внеишяя память и т.
д.). Поэтому даже в современных ПК, для которых характерен именно однопрограммпый рсжньг (в силу их «персональностиь), последний в микропроцессорах обогащается многоступенчатой суперконвейерной обработкой данных, использующей нскоторыс элементы лшогопрограммности. Мпогопрограммный (его также называют мультнпрограммным, многозадачным, а в ПК и многопользовательским') режим обеспечивает лучшее использование ресурсов компьютера, но несколько ущемляет интересы пользователя.
Для выполнения этого режима необходимо прежде всего разделение ресурсов машины в пространстве (на множестве устройств компьютера) и во времени. Естественно, такое разделение ресурсов эффективно может вьш злняться то.лько автоматически, следовательно, необходимо автоматическое управление вычислениями, Автоматическое управление особо необходимо для распределения памяти между несколькими одновременно запускаемыми программами, ибо программы готовятся пользователями независимо друг от друга, в них не выполняется предварителыю статическое распределение памяти (как и других программных и технических ресурсов машины).
В процессе решения задач недопустимо одновременное обращение двух программ к одному и тому же файлу, устройству. Все названные проблемы решают операционные системы, обеспечивающие многопрограммную работу компьютера, помогают им в этом драйверы устройств машины и автозагрузчики (загрузчнки) программ. Важнейшая проблема — защита памяти. Недопустимо несанкционированное, пусть и неодновременное обращение двух программ к одним и тем же областям памяти Многопользовательский режим, строго говоря, отличается от м погасала шого хотя бы тем, что в первом требуется дополпитслькая диспетчсриааиия, обеспечиваки1гая п1мерактивиый (лиалсковый) режим работы пользователей.
Режимы работы компьютеров 275 для записи и считывания информации, Для предотвращения такого несанкционированного случайного доступа к памяти, выделенной для другой задачи, служит специальная система защиты памяти. Важность проблемы зашиты памяти подчеркивается тем фактом, что многопрограммный режим работы микропроцессора в ПК обычно называют защищепны и режииом. Простейшим вариантом многопрограммного режима является режим пакетной обработки.
Он в максимзльной степени обеспечивает загрузку всех ресурсов машины, но наименее удобен пользователю. В классических системах пакетной обработки информации все подлежащие решению задачи анализировались и объединялись в различные группы (пакеты) с тем, чтобы в пределах пакета обеспечивалась равномерная загрузка всех устройств машины. Например, задача, связанная с длительным выводом информации на печать, обьединялась с задачей, интенсивно использующей внешнюю память, и с задачей, требующей сложных вычислений в процессоре и т. п.
После формирования всех пакетов они по очереди запускались на обработку. Пользователь в этом режиме обращался к машине два раза: первый раз для ввода задания, второй раз для получения результатов — по современной терминологии такой режим относится к режимам группы «о((-йпе». В персональных компьютерах, ввиду небольшого количества одновременно решаемых задач, режим пакетной обработки претерпел существенные изменения и сводится, по существу, к последовательному решению одновременно поступивших задач (пакета задач) в соответствии с их важностью (приоритетностью) и временем поступления. Переход к решению следующей задачи выполняется только после окончательного завершения текущей.
Правда, в развитых системах такой пакетной обработки при внезапном поступлении информации по более приоритетной задаче выполняемая на компьютере менее приоритетная задача уступает свое место (прерывается). Второй частный случай многопрограммного режима — режим разделения времени, характерен тем, что на машине действительно одновременно решается несколько задач, каждой из которых по очереди выделяются кванты времени, обычно недостаточные для полного решенця задачи. Условием прерывания решения текущей задачи служит либо истечение кванта выделенного времени, либо обращение к процессору какого-либо приоритетного внешнего устройства, например клавиатуры для ввода информации.
Прерывание задачи от клавиатуры является типичным для див.тогооого режима работы ПК, являющегося частным случаем режима разделения времени. Диалоговые режимы характерны для многопользовательских систем: они обеспечивают одновременную работу нескольких пользователей при решении задач в интерактивном режиме. В процессе решения задачи пользователь имеет воэможность корректировать ход выполнения своего задания. Диалоговые системы активно используются при совместной работе нескольких пользователей даже с одной программой: формирование и корректировка баз данных, программ, чертежей, схем и документов. Режим реального времени — еще один вариант режима с разделением машинного времени. Этот режим используется в основном в динамических системах управле- Глава 9.
Программное управление — основа автоматизации ния и диагностики, когда строго регламентируется время ответа системы (выполнения залания) на случайно поступающие запросы. Все режимы разделения машинного времени обеспечивают пользователю работу в режиме «оп-11пе». Основная нагрузка на реализацию многопрограммных режимов, как уже говорилось, ложится на операционную систему.
Все операционные системы обеспечивают выполнение этих режимов. Особенно эффективные возможности имеет ОС ЪПпг)оъ ь 2000, поддерживающая не только многозадачные и многопользовательские режимы с развитой системой приоритетного прерывания, но и многопроцессорность их исполнения, то есть распределение заданий межлу несколькими микропроцессорами, имеющимися в системе. Система прерываний программ в ПК Важнейшая роль в реализации сложных режимов работы лежит на системе прерывания программ.
Прерывание — это приостанов выполнения в процессоре программы с целью выполнения какой-то более важной илн нужной в данный момент другой программы или процедуры, после завершения которой продолжается выполнение прерванной программы с момента ее прерывания. Прерывание позволяет компьютеру приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе машины или ее компонента. Каждое прерывание вызывает загрузку определенной программы, предназначенной для обработки возникшей ситуации, — программу обрабоаки прерывали».
Организация и управление прерываниями функционально во многом смыкается с управлением задачами — одной из базовых функций операционных систем. Основой для управления процессом одновременного решения нескольких задач (равно как и управления прерываниями) являются процедуры; а выбора очередной задачи для определения приоритета задачи; сохранения информации о статусе з;Шачи при ее прерывании (формирование слова состояния программЫ); нелопушения и устранения конфликтов между задачами (координации и синхронизации выполнения залач).