Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции по ВМСС - файл Глава 10.doc


Загрузка...
Лекции по ВМСС
скачать (35218.7 kb.)

Доступные файлы (18):

Глава 10.doc8030kb.25.01.2005 11:05скачать
Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc2232kb.28.01.2005 20:28скачать
Глава 12.doc4356kb.29.01.2005 18:29скачать
Глава 13.doc745kb.09.03.2005 15:11скачать
Глава 14.doc605kb.11.03.2005 15:19скачать
Глава 15.doc243kb.11.03.2005 15:35скачать
Глава 16.doc498kb.11.03.2005 15:43скачать
Глава 2.doc2062kb.24.02.2005 19:16скачать
Глава 3 ЭЛЕМЕНТНАЯ БАЗА ЭВМ.doc2589kb.24.02.2005 20:00скачать
Глава 4.doc1726kb.02.03.2005 20:36скачать
Глава 5 ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ.doc1113kb.04.03.2005 13:56скачать
Глава 6.doc1177kb.04.03.2005 18:09скачать
Глава 7 ВНЕШНИЕ УСТРОЙСТВА ЭВМ.doc918kb.09.03.2005 14:44скачать
Глава 8.doc6796kb.25.01.2005 19:33скачать
Глава 9.doc4463kb.25.01.2005 18:23скачать
ОГЛАВЛЕНИЕ.doc45kb.11.03.2005 19:02скачать
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ.doc41kb.04.03.2005 14:10скачать
учебник_введение.doc53kb.25.01.2005 11:37скачать

Глава 10.doc

Реклама MarketGid:
Загрузка...
Глава 10 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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

Программное обеспечение ЭВМ разделяют на общее, или систем­ное (general Software), и специальное, или прикладное (application or special Software) (рис. 10.1).

Рис. 10.1. Структура программного обеспечения
Общее ПО объединяет программные компоненты, обеспечивающие многоцелевое применение ЭВМ и мало зависящие от специфики вычислительных работ пользователей. Сюда входят программы, орга­низующие вычислительный процесс в различных режимах работы машин, программы контроля работоспособности ЭВМ, диагностики и локализации неисправностей, программы контроля заданий пользователей, их проверки, отладки и т.д.

Общее ПО обычно поставляется потребителям комплектно с ЭВМ. Часть этого ПО может быть реализована в составе самого компью­тера. Например, в ПЭВМ часть программ ОС и часть контролирую­щих тестов следует рассматривать как неотъемлемую часть этих машин.

Специальное ПО (СПО) содержит пакеты прикладных программ пользователей (ППП), обеспечивающие специфическое применение ЭВМ и ВС.

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

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

СПО ПЭВМ комплектуется в зависимости от места и роли авто­матизированного рабочего места (АРМ) работника, использующего в своей деятельности компьютер. В ПО ПЭВМ обычно включают не­большое число пакетов программ (табличный процессор, текстовый редактор, система управления базами данных и др.). В последнее вре­мя наметилась тенденция к комплексированию и слиянию их в интег­рированные программные продукты. Например, пакет MS Office фир­мы Microsoft объединяет все перечисленные продукты.

Общее ПО включает в свой состав:

операционную систему (ОС);

• систему автоматизации программирования (САП);

• комплекс программ технического обслуживания (КПТО);

• пакеты программ, дополняющие возможности ОС (ППос);

• систему документации (СД).

Операционная система служит для управления вычислительным процессом путем обеспечения его необходимыми ресурсами.

Средства автоматизации программирования объединяют про­граммные модули, обеспечивающие этапы подготовки задач к реше­нию (перечень этих этапов был приведен в п. 1.5).

Модули КПТО предназначены для проверки работоспособности вычислительного комплекса.

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

По мере развития ЭВМ и ВС программное обеспечение постоянно усложняется по своей структуре и составу программных модулей. В настоящее время затраты на разработку и приобретение программ­ных продуктов в несколько раз превышают стоимость технических средств (Hardware). Наиболее динамичное развитие оно получило в 1980—1985 годы (см. рис. 1.5), когда были выявлены закономерности управления вычислительными процессами в однопроцессорных (од­номашинных) системах.

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

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



Рис. 10.2. Иерархия программных средств ЭВМ
Нижний уровень образуют программы ОС, которые играют роль посредника между техническими средствами системы и пользовате­лем. Однако прямое использование команд ОС требует от пользова­теля определенных знаний и специальной компьютерной подготовки, сосредоточенности, точности и внимания. Этот вид работ отличается трудоемкостью и чреват появлением ошибок в работе оператора. Поэтому на практике пользователи, как правило, работают не напря­мую с ОС, а через командные системы — пакеты программ, дополня­ющие возможности ОС (ППос).

Ярким примером подобных систем могут служить пакеты Norton Commander, Volkov Commander, DOS Navigator и другие, завоевав­шие заслуженную популярность у пользователей. С помощью этих систем трудоемкость работы с компьютером значительно сокраща­ется. Работа пользователя при этом заключается в выборе опреде­ленных рубрик меню. Механизм обращения к модулям ОС упрощает­ся. Развитие и усложнение средств обработки, ОС и командных сис­тем привело к появлению операционных сред (например, Microsoft Windows 95, Windows 98, Windows 2000), обеспечивающих графичес­кий интерфейс с широчайшим спектром услуг.

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

Квалифицированные пользователи, разрабатывающие собствен­ные программные продукты, используют компоненты САП.

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

^ 10.2. Операционные системы
Центральное место в структуре ПО занимает операционная система. Она представляет собой «систему программ, предназначенную для обеспечения определенного уровня эффективности цифровой вы­числительной системы за счет автоматизированного управления ее работой и предоставляемого пользователям набора услуг» (ГОСТ 15971-84).

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

Применение ОС имеет следующие цели:

• увеличение пропускной способности ЭВМ, т.е. увеличение обще­го объема работы, выполняемой ЭВМ в единицу времени;

• уменьшение времени реакции системы, т.е. сокращение интерва­ла времени между моментами поступления заданий в ЭВМ и мо­ментами получения результатов;

• контроль работоспособности технических и программных средств; • помощь пользователям и операторам при использовании ими тех­нических и программных средств, облегчения их работы;

• управление программами и данными в ходе вычислений;

• обеспечение адаптации ЭВМ, ее структурной гибкости, заключа­ющейся в способности изменяться, пополняться новыми техничес­кими и программными средствами.

Любая ОС имеет средства приспособления к классам решаемых пользователями задач и к конфигурации средств, включаемых в ВС. Назначение состава услуг, которыми могут пользоваться абоненты, осуществляется различными методами. В больших ЭВМ формирование конкретной конфигурации ОС осуществляется на нескольких уров­нях. Предварительно этот состав определяется при генерации ОС. «Генерация системы — это процесс выделения отдельных частей опе­рационной системы и построения частных операционных систем, от­вечающих требованиям системы обработки данных» (стандарт ISO 2382/10-79). Из полного набора программных модулей ОС (дистрибу­тива) формируется специальный набор этих средств, в наибольшей степени отвечающий запросам пользователей. Коррекция же состава используемых услуг может быть выполнена непосредственно перед решением задач операторами вычислительного центра или самими пользователями. Оперативное обращение к средствам ОС возможно и из программ пользователей путем включения в них специальных директив.

Применительно к ПЭВМ типа IBM PC, у которых пользователь является одновременно и оператором, этот процесс видоизменен. Для каждой ПЭВМ создается так называемый системный диск с соответ­ствующим набором программ дисковой операционной системы (ДОС).

Для наиболее распространенных моделей ПК конфигурация аппа­ратных средств задается установкой перемычек на системной плате (motheboard) и платах контроллеров периферийных устройств, а так­же записывается в область данных BIOS и в энергонезависимую па­мять CMOS. При первом включении компьютера программа BIOS SETUP PROGRAM (программа начальных установок) записывает основные параметры системы, которые сохраняются в CMOS-памя­ти компьютера. Окончательная настройка ДОС производится файла­ми AUTOEXEC.BAT и CONFIG.SYS, а также выполнением отдель­ных команд, набираемых в командной строке ДОС.

Для каждого типа ЭВМ возможно использование нескольких ти­пов ОС. Все они имеют несколько версий. Для IBM PC распростране­ние получили MS DOS фирмы Microsoft, OS/2Warp и DOS фирмы IBM, DR DOS фирмы Digital Research, Novell DOS фирмы Novell. Отличия ОС определяются составом и детализацией системных функций. Бо­лее распространенной является MS DOS, она используется в большин­стве компьютеров. Система DR DOS имеет развитые средства защи­ты информации и разграничение доступа, что предопределяет ее ис­пользование в системах с закрытием обрабатываемой информации. OS/2Warp позволяет более полно использовать возможности самых мощных микропроцессоров при организации вычислительного про­цесса. Novell DOS ориентирована на работу ЭВМ в сети.

Для уяснения процедур планирования вычислениями конкретизи­руем понятие вычислительного процесса.

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

Функции управления ресурсами осуществляет операционная сис­тема путем построения специальных управляющих таблиц, отража­ющих наличие и состояние ресурсов. Связь процессов в цепочки осу­ществляется по событиям, где событие — это изменение состояния ресурса, изменение его характеристик. Именно по событиям ОС вклю­чается в работу и адекватно реагирует на сложившуюся ситуацию.

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

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

Задание это требование пользователя на выполнение некоторо­го объема вычислительных работ. Процедуры управления заданиями обеспечивают предварительное планирование работы ЭВМ и опера­тивную связь пользователя и оператора с машиной во время работы. Планирование работы включает: ввод пакетов или одиночных зада­ний, формирование очередей заданий в соответствии с их приорите­тами, активизацию (запуск) и завершение заданий.

Каждое задание реализуется как определенная последовательность отдельных программ — задач.

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

Управление задачами требует распределения и назначения ресур­сов (управления временем работы процессора, распределения опера­тивной памяти для программ пользователей и программ ПО, синхро­низации выполнения задач и организации связей между ними, управ­ления очередностью задач, внешними устройствами, защиты задач от взаимных помех). Ведущей программой управления задачами яв­ляется управляющая программа-диспетчер: супервизор, базовый мо­дуль ДОС или др. Часто используемые модули образуют ядро ОС, которое постоянно находится в оперативной памяти и быстро реаги­рует на изменяющиеся условия функционирования. Примером такой программы может служить командный процессор command.com для ПЭВМ типа IBM PC. Остальные программы ОС вызываются из ВЗУ в оперативную память ЭВМ по мере их надобности в вычислитель­ном процессе.

Набор программ управления данными обеспечивает процессы орга­низации, идентификации, размещения в ОП и на ВЗУ, хранения, пост­роения библиотек и выборки всех данных, которые могут обрабаты­ваться в ЭВМ.

В ПЭВМ программы управления заданиями представлены доста­точно слабо, так как они изначально создавались как однопользова­тельские и однозадачные ЭВМ. С появлением ОС типа Windows, ори­ентированных на многозадачные и многопользовательские режимы, появились и эти процедуры. Программы управления задачами и дан­ными представлены достаточно полно. Так, ядро MS DOS включает следующие системы: файловую, управления памятью, управления программами, связи с драйверами устройств для управления внешни­ми устройствами, обработки ошибок, службы времени, ввода-выво­да для консоли оператора.

Структурно ОС IBM PC состоит из следующих элементов, пред­ставленных на рис. 10.3. Кроме программных компонентов, указан­ных на рисунке, к ДОС относят еще вспомогательные файлы autoexec.bat и config.sys. Они предназначаются для настройки на кон­кретные режимы работы.




Рис. 10.3. Структура ДОС ПЭВМ
Программа начальной загрузки (Boot Record) находится в первом секторе на нулевой дорожке системного диска. Она занимает объем 512 байт. После включения компьютера и его проверки постоянный модуль BIOS формирует вызов данной программы и ее запуск. На­значением программы начальной загрузки является вызов модуля расширения io.sys и базового модуля ДОС MSDOS.sys.

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

Модуль расширения BIOS обеспечивает подключение к компью­теру дополнительных периферийных устройств, изменение некоторых параметров ДОС, замещение некоторых стандартных функций, заг­рузку командного процессора и его запуск.

Базовый модуль ДОС (MSDOS.sys или IBMDOS.com) отвечает за работу файловой системы, обслуживает прерывания верхнего уров­ня (32...63), обеспечивает информационное взаимодействие с внешни­ми устройствами.

Командный процессор (command.com) предназначен для выполне­ния команд, загружаемых в командную строку ДОС. Все команды делят на внутренние и внешние.

Внутренние команды содержатся внут­ри самого файла command.com. Внешние команды — это требования запуска каких-либо программ, находящихся на дисках.

Кроме этого командный процессор выполняет команды файла autoexec.bat, если он находится на системном диске.

Файл autoexec.bat содержит список команд, выполнение которых позволяет развернуть в оперативной памяти компьютера некоторый набор вспомогательных программ или пакетов для обеспечения пос­ледующей работы пользователя.

Файл config.sys отражает специфические особенности формирова­ния конфигурации компьютера, т.е. состава его технических и про­граммных средств.

В связи с постоянным совершенствованием ПЭВМ все больше уси­ливается роль интегрированных ОС типа MS Windows 98, Windows 2000, Linux, NetWare.

Первая из них предназначается в основном для работы пользова­телей в автономном режиме.

Версия Windows 2000 пришла на смену Windows NT (операцион­ной сетевой среде крупных предприятий и корпораций). Фирма Microsoft включила в ее состав четыре различных версии операцион­ной среды:

• Windows 2000 Professional - для профессиональной работы на ав­тономных ПК;

• Windows 2000 Server;

• Windows 2000 Advanced Server;

• Windows 2000 Data Center.

Они представлены в порядке увеличения их возможностей. После­дние три версии служат для комплектования серверов вычислитель­ных сетей.

Больших успехов и признательности пользователей-профессиона­лов добилась операционная система Linux. Она так же, как и Windows 2000, является многозадачной, многопроцессорной и многопользова­тельской средой. Отличительными ее особенностями являются свободное и бесплатное распространение; открытость программного кода, что позволяет постоянно ее совершенствовать; более высокая, чем у Windows, надежность и устойчивость, масштабируемость (см. п.11.5), а также ориентация на Unix-платформу.
^ 10.3. Системы автоматизации программирования
К системам автоматизации программирования (САП) относят языки программирования, языковые трансляторы, редакторы, сред­ства отладки и другие вспомогательные программы. Языки програм­мирования служат средством передачи информации, средством запи­си текстов исходных программ. Поэтому в состав программ ОПО они не входят. Учитывая важность языковых средств, рассмотрим их состав более подробно.

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

Вместе с тем число интенсивно применяемых языков программи­рования относительно невелико. Для каждого класса ЭВМ всегда су­ществует несколько таких языков, ориентированных на определен­ные виды обработки информации, на уровень подготовки пользова­телей в области программирования. При выборе языка программиро­вания пользователь должен учитывать, что описание алгоритма ре­шаемой задачи можно выполнить на любом алгоритмическом языке в силу его универсальности. Однако изобразительные средства языков очень сильно отличаются, и задача выбора заключается в том, чтобы выбранный язык наилучшим образом соответствовал требуемым про­цедурам обработки данных в задании пользователя. Различают три уровня пользователей, применяющих языковые средства: пользователи-прикладники, системные программисты и инженерно-техничес­кий персонал, обеспечивающий техническое обслуживание средств ЭВТ. Каждая категория пользователей использует определенный на­бор языков.

Одними из важнейших характеристик языка являются трудоем­кость программирования и качество получаемого программного про­дукта. Качество программ определяется длиной программ (количе­ством машинных команд или емкостью памяти, необходимой для хра­нения программ), а также временем выполнения этих программ. Для языков различного уровня эти характеристики взаимосвязаны. Чем выше уровень языка (рис. 10.4), тем меньше трудоемкость программирования, но тем сложнее средства САП




Рис. 10.4. Классификация языков программирования

(трансляторы, средства отладки и др.), привлекаемые для получения машинных программ, тем ниже качество генерируемых программных продуктов.

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

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

Из процедурно-ориентированных языков широко известны языки Фортран, Алгол, Кобол, Basic, Pascal, Ада, Си и др. Спектр языков этой группы очень широк, и среди них существует определенная иерархия. Считается, что язык Basic предназначается для начинающих програм­мистов, язык Pascal — язык для студентов, это язык «правильного», клас­сического программирования, язык Си — язык квалифицированных про­граммистов и т.д. Существуют определенные соглашения в использова­нии языков программирования. Так, при создании программ для собствен­ных работ пользователь может использовать любой язык, даже Basic. При разработке ПО для одного заказчика корректно использовать язык Pascal, при разработке программных средств для многих потребителей целесообразно использование языков Си и Ассемблер.

С появлением ПЭВМ наиболее распространенными языками явля­ются Basic и Pascal. Первоначально они разрабатывались для целей обучения. Их применение обеспечивает быстрый и удобный перенос программ, написанных на этих языках, с одной ПЭВМ на другую. Наиболее простым языком является Basic. Трансляторы для этого язы­ка имеются практически на всех ПЭВМ. Язык отличает простота и наличие средств интерактивной работы, что обеспечило ему попу­лярность среди непрофессиональных программистов. Однако для по­строения сложных программ он, в силу ограниченных возможностей (структурирование программ и данных, идентификация переменных и т.д.), подходит плохо.

Современный язык высокого уровня — Pascal получил широкое распространение в силу ряда достоинств: простоты, ясности, сравни­тельно узкого набора возможных синтаксических конструкций наря­ду с семантическим их богатством. Общепризнано, что он является наилучшим средством для обмена программами между различными типами ПЭВМ. На основе разработки языка Pascal предложен ряд новых языков, например язык Модула-2, в котором особое внимание уделяется построению программы как набора независимых модулей. На базе языка Pascal создан достаточно мощный язык Ада, который задумывался как универсальный и наиболее перспективный язык про­граммирования. К нему было приковано внимание разработчиков всех новых типов ЭВМ. Однако широкого распространения этот язык до сих пор не получил.

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

Все описанные выше языки программирования используют так называемые пошаговые описания алгоритмов. Именно в этом и зак­лючается источник большой трудоемкости подготовки задач к реше­нию. Несомненно, что для машин будущих поколений будут предло­жены более эффективные средства программирования. Так, например, все больше внимания уделяется разработке проблемно-ориентирован­ных языков программирования (Симула, GPSS и др.). В этих языках имеется возможность описывать специфические алгоритмы обработ­ки информации более крупными конструкциями. Это делает програм­мы пользователей более наглядными, так как каждая используемая конструкция соответствует вполне определенному объекту, исследу­емому пользователем.

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

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

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

Различают трансляторы двух типов: интерпретаторы и компиля­торы.

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

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

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

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

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

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

Согласно рис. 10.1 в ПО ЭВМ имеются две группы пакетов про­грамм: пакеты прикладных программ (ППП) и пакеты, дополняющие возможности ОС (ППос). С развитием программного обеспечения ЭВМ наметилась тенденция к слиянию их в единые интегрированные пакеты. Например, операционная среда Windows может подключать и пакеты MS Office, объединяющие программы для работы экономис­та-делопроизводителя. Однако не всегда централизованные средства обработки удовлетворяют всем требованиям пользователей, поэто­му многие ЭВМ, наряду с интегрированными пакетами, продолжают использовать и более эффективные специализированные ППП.

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

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

• системы обработки текстов (текстовые редакторы);

• системы обработки «электронных таблиц»;

• системы управления базами данных;

• системы «деловой графики»;

• коммуникационные системы;

• прикладные системы более узкой ориентации (организация вычис­лений, поддержка планирования, финансовые расчеты, системы автоматизации проектирования и др.).

Этот список ППП во многом отражает интересы пользователей и специфику применения их ПЭВМ на каждом рабочем месте.

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

Практически каждый документ содержит текстовую часть. Для работы с текстом предназначаются текстовые процессоры (Word Processors) — WP. В настоящее время известны десятки и сотни WP, различающихся направленностью, возможностями, сервисом, каче­ством формируемых документов. Независимо от назначения каждый редактор должен обеспечивать выполнение следующих процедур под­готовки текста:

• набор текста (см. п.2.2.2);

• редактирование текста (форматирование, поиск и замена данных, работа с фрагментами текста, подготовка к печати и др.);

• печать документов;

• ведение архивов документов.

Самые простые редакторы встраиваются во многие пакеты, вклю­чая ППП и ППос. Они имеют достаточно скромные характеристики. Примерами подобных WP являются: встроенный редактор команд­ной строки DOS, редактор пакета Norton Commander и др.

Другие редакторы — редакторы широкого назначения — обычно используются автономно. Они получили большую признательность среди пользователей и используются повсеместно при обработке доку­ментов различной сложности — от простейших справок до фундамен­тальных книг (Лексикон, Word, ChiWriter, MultiEdit и др.). Последние версии редакторов типа Word 7.0, Word 2000 for Windows предостав­ляют пользователям возможности настольной издательской системы.

Наиболее сложными редакторами являются WP мощных издатель­ских систем, предназначенных для оформления и полной подготовки к типографскому изданию книг, журналов, буклетов (Aldus PageMaker, Ventura Publisher). Они позволяют включать в текст фотографии, ил­люстрации, графики, диаграммы; использовать различные шрифты; менять параметры текста, осуществлять перемещение фрагментов, изменять оформление документа, автоматизировать его верстку.

Системы обработки электронных таблиц, или табличные процес­соры, предназначаются для работы с фактографическими докумен­тами. Этот вид документа представляет собой двухмерные таблицы, как правило, заранее определенной формы, каждая клетка которой содержит значение некоторой характеристики объекта. Подобные до­кументы являются наиболее распространенными в деятельности раз­личных отделов, служб, предприятий и т.п. Примерами этих докумен­тов могут служить бухгалтерские ведомости, отчеты, планы, списки и пр. Такие документы представляются в памяти ЭВМ в виде элект­ронных таблиц.

Отдельные клетки таблиц содержат числовую или текстовую ин­формацию. Числовые данные обычно подлежат математической об­работке по определенным математическим зависимостям или графи­ческому представлению. Универсальный характер отражения данных и большие возможности их преобразований способствовали развитию и распространению этого вида программного обеспечения. В деятель­ности многих фирм широко используются такие пакеты, как SuperCalc, Lotus 1-2-3, Quattro Pro и Excel.

Области применения табличных процессоров достаточно широки. Наиболее простые редакторы позволяют обрабатывать табличные данные по формулам, что очень важно при решении задач статисти­ческого анализа и при обработке экспериментальных данных. В бо­лее сложных процедурах моделирования и прогнозирования требует­ся решать задачи экстраполяции и интерполяции. Соответственно здесь должны использоваться редакторы с расширенными возможно­стями. Все табличные редакторы обеспечивают графическое представ­ление данных. Для этого к ним подключают графические редакторы, обеспечивающие воспроизведение разнообразных графиков: круговых, столбиковых, линейных, трехмерных и т.д. Самые мощные редакто­ры имеют встроенные языки микропрограммирования, что позволяет их использовать в системах автоматизации проектирования и т.п.

Еще одной группой ППП являются системы управления базами данных (СУБД). Они появились, когда ЭВМ стали использоваться в контуре управления технологическими процессами и людскими кол­лективами. Разработка различных автоматизированных систем уп­равления предполагает создание в памяти ЭВМ информационных моделей объектов управления — больших информационных масси­вов, получивших название «база данных».

База данных (БД) — это совокупность взаимосвязанных данных, хранящихся совместно в памяти ЭВМ. Каждая БД состоит из записей. Запись образует подмножество данных, служащих для описания еди­ничного объекта. Например, фамилия, имя, отчество, год рождения, адрес, место работы, номер телефона могут составлять одну запись и характеризовать одного человека. Информационный массив может содержать записи по отдельным цехам, службам, отделам всего пред­приятия. Назначением БД является удовлетворение информационных потребностей пользователей. СУБД автоматизирует работу пользова­телей с хранящимися данными. Количество информационных массивов в БД и их объем зависят от сложности создаваемой АСУ. Ядро БД составляет информация, наиболее часто используемая в процессах управления. Согласно принципу В. Парето (итальянский экономист XIX в.), 20% всей информации обеспечивают более 80% всех задач уп­равления. Эта часть в первую очередь и подлежит автоматизации.

Достаточно мощные СУБД позволяют значительно автоматизиро­вать процессы управления и удовлетворять до 90—95% потребностей управленческого аппарата. Одним из основных назначений СУБД яв­ляется автоматизация документооборота. На основе хранящейся ин­формации можно автоматически формировать любые стандартные документы. Дополнительно к этому СУБД позволяет обращаться к данным и с нестандартными запросами для получения каких-либо спра­вок, обобщений. СУБД поддерживает диалоговый режим работы пользо­вателей, в которых запросы данных и реакция системы побуждают к формированию более точных запросов и исследованию данных.

СУБД обеспечивают ввод, поиск, сортировку данных, составление отчетов. Они имеют возможность сопряжения с табличными процессо­рами для специфической обработки и графического представления данных. В настоящее время широко используются такие СУБД, как Dbase IV (V), Fox Pro, Paradox, Clipper, Access и др. Все они, в свою очередь, состоят из языковых и программных средств. Различие между ними заключается в предлагаемом сервисе и удобствах работы.

Графические редакторы (ГР) позволяют создавать и редактиро­вать на экране компьютера различные рисунки, диаграммы, картин­ки. Своеобразие их построения заключается в том, что на экране ин­формация представляется в виде точек, линий, окружностей, прямоу­гольников, кривых. Элементы рисунков могут использовать различ­ное сочетание цветов, шрифтов, форматов. Допускается работа с фрагментами рисунков. Некоторые ППП имеют собственные встро­енные графические редакторы. Они ориентированы на специфичес­кие режимы работы (графики, диаграммы). Некоторые редакторы допускают автономную работу, что очень важно в системах деловой и научной графики. Например, графический редактор Paint for Windows позволяет создавать фрагменты изображений и включать их в другие программные продукты.

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

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

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

• ПП общего назначения для научно-технических расчетов, задач математического программирования и т.п.;

• ПП, ориентированные на применение ЭВМ в АСУ. Данные паке­ты включают программы обработки документов, программы фор­мирования и обслуживания информационно-поисковых систем и т.п.
^ 10.5. Комплекс программ технического обслуживания
Особенности состава технических средств ЭВМ учитываются ком­плексом программ технического обслуживания (КПТО). Этот комп­лекс включает в свой состав наладочные, проверочные и диагности­ческие тест-программы.

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

Проверочные тест-программы занимают особое место в КПТО. Их выполнение непосредственно перед вычислениями позволяет убе­диться в исправности технических средств системы, а значит, повы­сить достоверность результатов обработки данных.

У IBM PC эти средства имеют своеобразную структурную и фун­кциональную организацию. Часть этих средств записана в ПЗУ ком­пьютера. При каждом включении ПЭВМ и перезагрузках произво­дится ее предварительная проверка путем выполнения тестовой программы POST (Power On Set Test), состоящей из более десятка от­дельных программных фрагментов. Последовательность проверок заключается в следующем. Вначале проверяется работоспособность системного блока. Для этого все регистры машины «сбрасываются в нуль», и производится их последовательная проверка путем зане­сения отдельных констант, выполнения над ними простейших опера­ций и сравнения результатов с эталонными значениями. После этого проверяются ячейки оперативной памяти (тесты оперативной памя­ти при перезагрузках системы от клавиш <Ctrl> + <Alt> + <Del> игнорируются). После этого проверяется стандартная периферия: кла­виатура, накопители на дисках, дисплей и др. В случае каких-либо ошибок на каждом шаге проверки формируются определенные зву­ковые сигналы, сопровождаемые соответствующими сообщениями на экране дисплея.

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

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

Все пользователи стараются пополнить программное обеспечение ПЭВМ вспомогательными системными программами-утилитами. Эти программы напрямую в вычислительном процессе на используются, а обеспечивают необходимый и разнообразный сервис при подготов­ке заданий пользователями. Часть таких программ может объединять­ся в пакеты. Широкое распространение получили такие пакеты, как Norton Utilites, PC Tool Deluxe и др. Примерами подобных программ могут быть: программы-архиваторы, антивирусные программы, про­граммы обслуживания дисков (оптимизация дисков, сжатие инфор­мации на дисках, определение состояния диска) и др.


^ 10.6. Режимы работы ЭВМ
Операционные системы предоставляют пользователям достаточ­но широкий спектр вычислительных услуг, упрощая процесс исполь­зования ЭВМ. Прежде всего это касается разнообразия режимов ра­боты машин, обеспечиваемых ОС. Под режимом работы понимают принципы структурной и функциональной организации аппаратныхи программных средств. В общем случае режимы использования ЭВМ подразделяют на однопрограммные и многопрограммные.

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

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



Рис. 10.5. Однопрограммные режимы работы: а — режим непосредственного доступа; б — режим косвенного доступа
В режиме косвенного доступа пользователь не имеет прямого кон­такта с ЭВМ. Этот режим был предшественником многопрограмм­ных режимов в ЭВМ высокой и средней производительности, он пред­назначался обеспечить более полную загрузку процессора за счет сокращения непроизводительных его простоев. В настоящее время режим косвенного доступа практически не используется, так как вре­мя работы процессоров в современных ЭВМ не является главным ре­сурсом системы, но принципы построения этого режима позволяют лучше уяснить сущность многопрограммной обработки. Суть режи­ма состоит в следующем.

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

Режим косвенного доступа имеет существенный недостаток. Он не позволяет полностью исключить случаи простоя процессора или непроизводительного его использования. Всякий раз, когда очередная программа, вызванная в процессор, предварительно не обеспечена данными, процессор вынужден простаивать. При этом резко снижа­ется эффективность использования ЭВМ. Этот случай отражен на рис. 10.5,6 на примере выполнения задания В, Неэффективно работает ЭВМ и тогда, когда обрабатываемые программы захватывают процессор на длительное время. В этих случаях остальные программы пакета остаются без обслуживания. Особенно опасны ситуации, в которых текущая программа не выходит на завершение (например, «испорти­лась» после сбоя во время решения или некорректно сформирована пользователем). В этом режиме у ЭВМ отсутствуют средства разре­шения подобных конфликтов, и требуется вмешательство оператора.

Многопрограммный (многопользовательский) режим работы ЭВМ позволяет одновременно обслуживать несколько программ пользователей. Реализация режима требует соблюдения следующих непременных условий:

• независимость подготовки заданий пользователями;

• разделение ресурсов ЭВМ в пространстве и во времени;

• автоматическое управление вычислениями.

Независимость подготовки заданий пользователями обеспечива­ется развитыми средствами САП. Используя имеющиеся языки про­граммирования, пользователи не должны учитывать ситуации, в ко­торых может произойти одновременное их обращение к одним и тем же ресурсам ЭВМ. Они могут использовать даже одинаковые иденти­фикаторы, обращаться к одним и тем же библиотекам программ и массивам данных, задействовать одни и те же устройства и т. д. Оче­реди к общим ресурсам должны обслуживаться средствами ОС, не создавая взаимных помех пользователям.

Разделение ресурсов ЭВМ между программами пользователей обес­печивается аппаратно-программными средствами системы. Программы управления заданиями ОС определяют виды требуемых ресурсов в заданиях пользователей и регламентируют их использование. Перс­пективное планирование при этом отсутствует, так как заранее оп­ределить динамику последующих вычислений практически невозмож­но. Отдельные виды ресурсов, например области оперативной и внеш­ней памяти, допускают одновременное их использование программа­ми пользователей. В этом случае пространство адресов памяти раз­бивается на непересекающиеся зоны или разделы. «Охрану границ» этих зон обеспечивают схемы защиты памяти — аппаратные и про­граммные средства ЭВМ.

Некоторые виды ресурсов допускают только последовательное их использование программами пользователей, например, в одно­процессорной ЭВМ время работы единственного процессора являет­ся неразделяемым ресурсом. Его применение предполагает упорядо­чение потока заявок и поочередное его использование программами. В современных ЭВМ упорядочение потока заявок обеспечивается на основе их приоритетов, где приоритет — некоторая априорная харак­теристика заявки, определяющая ее место в очереди на обслужива­ние. Формирование очередей обеспечивают программные компонен­ты ОС. Обслуживание очередей заявок выполняется с использовани­ем системы прерываний и приоритетов. Последняя выделяет из груп­пы одновременно поступающих заявок одну, наиболее приоритетную.

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

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

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

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

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




Рис. 10.6. Многопрограммный режим пакетной обработки


Подобные прерывания и передачи управления могут многократно наслаиваться друг на друга. Это позволяет до минимума сократить непроизводительные простои процессора.

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

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

Режим разделения времени является более развитой формой мно­гопрограммной работы ЭВМ. В этом режиме, обычно совмещенным с фоновым режимом классического мультипрограммирования, отдель­ные наиболее приоритетные программы пользователей выделяются в одну или несколько групп. Для каждой такой группы устанавливает­ся круговое циклическое обслуживание, при котором каждая програм­ма группы периодически получает для обслуживания достаточно ко­роткий интервал времени — время кванта (кв) (рис. 10.7).

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



Рис. 10.7. Режим разделения времени
их программ. Если пользователю к тому же предоставляются средства прямого доступа для вывода результа­тов решения, то это впечатление еще более усиливается, так как ре­зультаты выдаются в ходе вычислений по программе, не ожидая за­вершения обслуживания всех программ группы или пакета в целом.

Условием прерывания текущей программы является либо истече­ние выделенного кванта времени, либо естественное завершение (окон­чание) решения, либо прерывания по вводу-выводу, как при класси­ческом мультипрограммировании. Для реализации режима разделе­ния времени необходимо, чтобы ЭВМ имела в своем составе разви­тую систему измерения времени: интервальный таймер, таймер про­цессора, электронные часы и т.д. Это позволяет формировать группы программ с постоянным или переменным квантом времени — кв. Раз­деление времени находит широкое применение при обслуживании ЭВМ сети абонентских пунктов.

Более сложной формой разделения времени является режим реаль­ного времени. Этот режим имеет специфические особенности:

• поток заявок от абонентов носит, как правило, случайный, непред­сказуемый характер;

• потери поступающих на вход ЭВМ заявок и данных к ним не до­пускаются, поскольку их не всегда можно восстановить;

• время реакции ЭВМ на внешние воздействия, а также время выда­чи результатов i-и задачи должно удовлетворять жестким ограни­чениям вида

tp ≥ tdопp (10.1)

где: tp — время решения задачи;

tдопp— допустимое время решения;

i — порядковый номер заявки, требования, задачи.
На рис. 10.8 показана зависимость стоимости решения задачи от времени tp. При нарушении неравенства (10.1) стоимость решения резко падает до нуля, в отдельных системах она может стать и отри­цательной, что показано пунктирной линией. Режим реального време­ни объединяет практически все системы, в которых ЭВМ использует­ся в контуре управления.




Рис. 10.8. Зависимость стоимости решения от времени в системах реального времени
Специфические особенности режима реального времени требуют наиболее сложных операционных систем. Именно на базе этого режи­ма строятся так называемые диалоговые системы, обеспечивающие одновременную работу нескольких пользователей с ЭВМ. Диалого­вые системы могут иметь различное содержание: системы, обслужи­вающие наборы данных; системы разработки документов, программ, схем, чертежей; системы выполнения программ в комплексе «чело­век — машина» и др. Диалоговый режим обслуживания предполагает использование дисплеев — устройств оперативного взаимодействия с ЭВМ. Они получили широкое распространение в различных инфор­мационных и автоматизированных системах управления.

Многозадачный и многопоточный режимы Windows. Операцион­ная среда Windows 2000 и ее предшественница Windows NT поддер­живают так называемые многозадачные и многопоточные режимы работы.

Многозадачный режим предполагает, что каждый из процессов (отдельных запущенных программ), активизированных в среде Windows, требует определенных ресурсов.

В ранних версиях Windows 3.x многозадачность называлась коо­перативной (Cooperative) или невытесняющей. Этот режим прак­тически полностью соответствовал режиму косвенного доступа, т.е. работа очередной программы монополизировала ресурсы систе­мы и не прерывалась до ее окончания. При этом возникали случаи, когда отказ (зависание) одного из процессов парализовывал всю систему.

Windows 2000 обеспечивает подлинную вытесняющую (Preemptive) многозадачность, что предполагает при необходимости перераспре­деление ресурсов (вытеснение), квантование времени при круговом циклическом обслуживании и управление выполнением задач с уче­том их приоритетов. Взаимодействие активных задач возможно толь­ко через операционную среду с целью исключения взаимных помех.

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

Базовые варианты Windows 2000 Server и Data Center поддержи­вают, кроме того, многопроцессорность и многопоточность, т. е. по­зволяют распределять задачи между процессорами сервера (до 32 процессоров). Здесь предполагается симметричная многопроцессор­ная структура сервера, в которой все процессоры идентичны, равно­правны и способны решать любые задачи. Windows 2000 позволяет реализовывать многопоточный режим обработки программ. Каждая независимая программа — это отдельный поток или «нить». Парал­лельное выполнение этих потоков особенно важно при одновремен­ном обслуживании сервером многочисленных пользователей.
Контрольные вопросы
1.Что понимается под программным обеспечением ЭВМ и ВС?

2. Каковы тенденции развития программного обеспечения ЭВМ и ВС?

3. Охарактеризуйте структуру и состав ПО ЭВМ и ВС.

4. Перечислите основные функции операционных систем.

5. Какие средства автоматизации программирования включаются в состав ПО ЭВМ?

6. Чем объясняется широкое распространение языков программиро­вания Pascal и Basic в ПЭВМ?

7. Поясните роль и место пакетов прикладных программ пользова­телей в общей структуре ПО ЭВМ.

8. Каково назначение комплекса программ технического обслужи­вания?

9. Каковы отличительные особенности однопрограммных режимов работы?

10. Какие основные критерии положены в основу многопрограммной пакетной обработки?

11. Перечислите достоинства и недостатки режима разделения вре­мени.

12. Какова необходимость организации режима реального времени?

247







Скачать файл (35218.7 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru