Программное обеспечение ЭВМ
Программное обеспечение совокупность программ необходимых для обработке данных по проектным алгоритмам, для управления выполнениями процессов, организации хранения исходных и промежуточных данных. П.О. разделяется на общее и специальное.
Общее П.О.
Используется как на этапе разработке программного обеспечения, так и на этапе решения проектных задач. Последовательность действий проектировщиков различна на данных этапах:
1) Разработка программ, решение проектной задачи с использованием одного из языков программирования.
2) Ввод текста программ в ЭВМ с использованием одного из устройств ввода.
3) Запись введенного текста на внешнее запоминающее устройство. Для обозначения логической связи данных на ВЗУ обычно используется термин файл.
4) Трансляция программы на язык ЭВМ, выдача сообщений и обработка ошибок. В результате трансляции на ВЗУ создается объектный файл.
5) Исправляются ошибки трансляции с последующей трансляцией.
6) Объединение отдельно разработанных и оттранслированных программ в готовую для выполнения задачи программу. Соответственные файлы носят названия загрузочных, процесс объединения называется редактированием связей. Затем происходит вызов задач на выполнение и происходит вывод результатов на внешнее устройство.
7) Анализ.
На этапе использования специального программного обеспечения обычно выполняются следующие действия:
Вызов на выполнение на выполнение необходимой задачи или последовательности задач. Задача решается процессором (выводятся промежуточные данные, вывод результатов)
Для реализации перечисленных действий необходимо повторение действий, размещение в оперативной памяти выполняемых задач, передача данных с внешних устройств в оперативную память и обратно. Выполняет роль посредника между пользователем и техническими средствами.
Операционные системы.
Под операционной системой понимается комплекс программ и данных, организуемых взаимодействие пользователей с техническими средствами. Всю совокупность действий, выполняемых О.С. можно представить в виде:
П1………………………………………………………………………… | Пользователь N |
Управление пользователями | |
Управление задачами | |
Управление связями | Управление вводом/выводом |
Управление процессами | Управление ресурсами |
Управление техническими средствами | |
Технические средства |
Управление техническими средствами составляет самый нижний уровень, наиболее близкий к техническим средствам. Основным аппаратом для работы системы на этом уровне , является система прерываний. Прерывания – специальные сигналы с помощью которых внешние устройства и программы сообщают об изменение своего состояния.
Классификация прерываний.
Для обработки прерываний предусмотрена своя программа, которая при необходимости вызывается программой О.С.
Прототипы первой О.С. созданные как средство, освобождения операторов от рутинных работ как:
Загрузки программ, обработке ошибок чтения данных, установки лент и перфокарт.
Для взаимодействия с внешними устройствами в О.С. предусмотрены специальные программы, функциями которых являются анализ составляющих устройств, передача данных с изменением в случае необходимости форм представления. Обработка сбоев и контроль ошибок. В мини и микро ЭВМ они называются драйверами. В больших ЭВМ организуется взаимодействие с помощью каналов, которые представляют собой небольшие вспомогательные ЭВМ.
Качественный скачек от простых управляющих программ к современным О.С. появился с появлением режима мультипрограммной обработке задач.
Реализация этого режима оказалась возможной благодаря совместимости счета. Идея заключается в том, что в оперативной памяти находится несколько задач, которые обслуживаются в порядке очереди.
На время необходимое данной задачи для обмена информацией процессор переключается на обслуживание других задач. Проблемы распределения ресурсов большее значение имеет в тех случаях, когда в системе одновременно могут работать несколько пользователей или когда один пользователь запускает несколько задач. Один из методов состоит в том, что каждой задачи выдается определенный квант времени, в течении которого процессор выполняет данные задачи. По окончании времени происходит запоминание состояния процесса, для возможности после возобновить процесс, но выполнение и необходимые данные должны располагаться в оперативной памяти. Программ О.С. на уровне управления ресурсами осуществляет динамическое распределение оперативной памяти.
Набор последовательных адресов называется адресным пространством. Различают реальное и виртуальное адресное пространство. Реальное адресное пространство соответствует действительной оперативной памяти ЭВМ. Виртуальное адресное пространство , образованное виртуальными адресами, определяется архитектурой ЭВМ и форматом машинных команд. Объем виртуального адресного пространства ограничен max адресом, который может быть задан командой. Таким образом виртуальное адресное пространство не совпадает с реальным, и при выполнении задачи производится преобразование виртуальных адресов в физические. Такое преобразование может выполнятся аппаратным путем или с помощью программ О.С.
Функции по управлению вводом/ выводом состоит в организации работы внешних устройств не на физическом, а на логическом уровне, который более удобен и понятен пользователю. Основной единицей данных, с которой взаимодействует пользователь не данном уровне является файл. Файл может содержать в себе текст программы, набор числовых данных и про. Файлы по своей организации различают на: Последовательные, инвертированные, кольцевые и кэш-файлы. Все остальные типы файлов или комбинация, или модификация этих файлов. На уровне управления связями организуется взаимодействие отдельных задач пользователя и программ О.С. между собой, передачей данных и управления в соответственными с определенными соглашениями.
На уровне управления производится планирование последовательности выполнения задач. Уровень управления пользователями, наиболее удален от технических средств и приближен к пользователю. На этом уровне производится учет пользователей, работающих с системой, организуется защита данных одних пользователей от других.
Все пользователи, работающие с О.С. обычно разделяются на две категории:
Привилегированные – пользователям доступны все возможности О.С., а второй категории(непривилегированным) только, которые не могут повлиять на саму О.С. и данные других пользователей.
Обычно О.С. хранится на внешнем запоминающем устройстве. Перед началом работы О.С. загружается в оперативную память и в процессе этой загрузки в оперативную память с диска переписывается лишь часть О.С, которая называется ядром. В состав ядра входят программы, управляющие работой самой системы, а также наиболее часто использующиеся программы. Эти программы постоянно находятся в оперативной памяти, поэтому называются резидентными, остальные нерезидентные программы остаются на диске и вызываются в случае надобности.
Большинство О.С. рассчитаны на широкий круг применения, однако такая универсальность при использовании систем в узкоспециализированных областях приводит к существенной потере производительности за счет больших системных издержек. Это происходит потому, что ряд функций компонентов системы просто не используется для решения задач данного класса. Для настройки О.С на конкретную область применения и имеющуюся конфигурацию технических средств обычно выполняется процесс генерации системы. В процессе генерации формируется ядро системы, которое настроено на конкретную конфигурацию оборудования и содержащее выбранные функции и компоненты. Большинство функций и возможностей О.С. по работе с оборудованием и обслуживающими программами реализуются виде стандартных подпрограмм. Для экономии памяти часто используемые подпрограммы могут объединятся в так называемые резидентные библиотеки, которые также располагаются в оперативной памяти.
Системы программирования.
Системы программирования включает в себя трансляторы языков программирования высокого уровня и соответствующие исполняющие системы. Трансляторы – это специальные программы или комплексы программ, с помощью которой исходная программа, написанная на языке программирования высокого уровня переводится в на язык машинный.
Существует два вида транслятора:
1) Компиляторы – осуществляет перевод всей исходной программы на язык ЭВМ, создает объектный модуль, который после компоновки с другими программами вызывается на выполнение.
2) Интерпретатор последовательно анализирует и транслирует каждое предложение исходной программы и сразу выполняет полученные команды.
Преимущество интерпретаторов состоит в их простоте и малом объеме требуемой памяти. Преимущество компиляторов – высокая скорость выполнения предварительно скомпилированных программ, гораздо большая гибкость и мощность языков программирования.
Исполняющие системы – совокупность программ и данных, включаемых в программу на языке высокого уровня и предназначенных для поддержания среды этого языка при выполнении данной программы. Под средой языков высокого уровня понимают совокупность ресурсов и их состояния необходимых для нормального выполнения программ написанных на данном языке.
Выполняющие системы обычно содержат программы ввода/вывода, обработки ошибок, стандартные математические функции и различные вспомогательные программы, которые также выделяются в специальные библиотеки.
Обрабатывающие программы.
Обрабатывающие программы обеспечивают основной набор операций над программами и данными пользователя. Основными обрабатывающими программами являются:
1) Программы связи с оператором
2) Текстовые редакторы
3) Загрузчики
4) Программы отладки
5) Обслуживающие программы
Программы связи с оператором –обрабатывают приказы, поступающие от оператора с клавиатуры или мыши.
Текстовые редакторы – предназначены для ввода и корректировки текстов программ и данных любого типа. Редакторы предоставляют пользователю возможность выполнения в диалоговом режиме:
1) Удаление групп символов (строк)
2) Вставка групп символов (строк)
3) Поиск строк с необходимой информацией
4) Просмотр текста
Для хранения и редактирования текста в оперативной памяти отводится специальная область (буфер). Все текстовые редакторы делятся на строковые и экранные.
В строковых редакторах пользователю доступна только одна строка, а в экранных –группы строк на экране дисплея.
Функции компоновщиков или редакторов связи является объединение нескольких программ в одну, готовую для выполнения.
1) Использование компоновщиков позволяет разбивать одну большую программу на несколько мелкие, разрабатываемых, компилированных отдельно.
2) Подключать стандартные подпрограммы из пакетов и библиотек
3) Предназначены для физической записи скомпилированных программ в основную память ЭВМ
4) Используется для выявления и удаления ошибок в прикладных программах. Наиболее удобным средством является диалоговая отладка.
5) Выполняет различные вспомогательные действия над данными.