- •1. Определение системного программного обеспечения.
- •1. Ретроспектива развития спо.
- •2. Windows-динамически вызываемые библиотеки.
- •2. Характеристика системы прерывания.
- •Прерывания и способы их обработки
- •Драйверы устройств
- •2. Режимы пакетной обработки и разделения времени.
- •1. Принципы работы компилятора.
- •1. Принципы работы интерпретатора.
- •2. Программные прерывания.
- •2. Общая структура системы прерывания.
- •1. Объектный модуль.
- •1. Загрузочный модуль.
- •1. Перемещаемая объектная программа.
- •2. Программный и аппаратный таймер в пк.
- •1. Редактирование связей.
- •2. Общая постановка задачи управления памятью.
- •2. Мультипрограммные режимы и разделение памяти.
- •1. Загрузка программы.
- •2. Многозадачность и многопоточность.
- •2. Физическая и логическая структура памяти.
- •2. Таблица fat.
- •2. Управление файлами.
- •1. Подсистема ввода/вывода.
- •2. Графические файлы. Файлы bmp
1. Ретроспектива развития спо.
Первым этапом развития системного программного обеспечения можно считать использование
библиотечных программ, стандартных и служебных подпрограмм и макрокоманд.
Концепция библиотек подпрограмм является наиболее ранней и восходит к 1949 г.
С появлением библиотек получили развитие автоматические средства их сопровождения –
4
программы-загрузчики и редакторы связей. Эти средства использовались в ЭВМ первого
поколения, когда операционных систем, как таковых, ещё не существовало.
Стремление устранить несоответствие между производительностью процессоров и скоростью
работы электромеханических устройств ввода-вывода, с одной стороны, и использование
достаточно быстродействующих магнитных накопитилей, с другой стороны, привело
к необходимости решения задач буферизации и блокирования-деблокирования данных.
Возникли специальные программы методов доступа, которые вносились в объектные модули
редакторами связей (впоследствии стали использовать принципы полибуферизации).
Таким образом, было создано базовое системное ПО.
Большие затраты времени оператора и сложность его действий по управлению оборудованием
и организации процесса вычислений (стандартная операционная процедура включала
в себя ввод исходного модуля, чтение компилятора, компиляцию, чтение редактора
связей, его работу, чтение загрузочного модуля, его исполнение) выявили неэффективность
базового ПО. Развитие последнего и желание упростить разработку и отладку целевых
программ привели к появлению операционных систем ранней пакетной обработки –
простейших мониторов. Они автоматизировали стандартную последовательность «загрузка
– трансляция – загрузка – выполнение» с помощью управляющей программы, загружающей
требуемые системные программы и управляющей переходом от одного задания к
другому, которые группировались в пакеты.
В системах ранней пакетной обработки во время выполнения любой работы в пакете
(сборка, выполнение готовой программы и т.п.) никакая часть системного ПО не находилась
в оперативной памяти, т.е. вся память предоставлялась в распоряжениетекущей работы.
Затем появились мониторные системы, в которых оперативная память делилась на
три области: фиксированная область мониторной системы, область пользователя и область
общей памяти (для хранения данных, которыми могут обмениваться объектные модули).
Началось интенсивное развитие методов управления данными, предназначенных для создания
и сопровождения файлов данных, обеспечения функций библиотек и т.п. Возникла
и такая важнейшая функция ОС как реализация ввода-вывода без участия центрального
процессора (так называемый «спулинг» – от англ. сокр. SPOOL – Simultaneous Peripheral
Output On Line – одновременный вывод информации).
Появление новых аппаратных разработок (в период с 1959 до 1963 гг.) – систем прерываний,
таймеров, каналов – стимулировало дальнейшее развитие ОС. Возникли исполнительные
системы, которые представляли собой набор программ для распределения ресурсов
ЭВМ, связи с оператором и управления вычислительным процессом, управления вводом-
выводом, трансляторы и другие обрабатывающие программы. Такие исполнительные
системы позволяли реализовывать довольно эффективную (по тому времени) форму эксплуатации
ВС – однопрограммную пакетную обработку – и давали пользователям такие
средства, как контрольные точки, логические таймеры, возможность построения программ
оверлейной структуры, обнаружение возможных нарушений программами пользователей
ограничений, принятых в системе, управление файлами, сбор учётной информации и т. п.
Возможность совмещения вычислений с вводом-выводом и рост сложности системного
программного обеспечения привели к необходимости постоянного присутствия в опера5
тивной памяти ядра исполнительной системы. Для остальных программ, вызываемых по
мере необходимости, выделялась специальная транзитная область.
Использование логической системы управления вводом-выводом и возможности приписывать
устройствам символические имена обеспечили пользователям удобство связи с физической
системой ввода-вывода, автоматизацию блокирования-деблокирования записей
и буферизации. Существенно расширились библиотеки за счёт включения программ-утилит
и языковых процессоров; для их хранения и размещения ОС стали использоваться
магнитные диски. С расширением и усложнением задач ОС был введён специальный язык
управления заданиями.
Однако однопрограммная пакетная обработка, обеспечивающая спулинг, блокирование-
деблокирование и полибуферизацию с ростом производительности ВС не могла обеспечить
экономически приемлемый уровень эксплуатации машин. Поэтому с 1962 г. начал
использоваться метод мультипрограммирования, позволяющий нескольким заданиям одновременно
совместно использовать ресурсы ВС.
В мультипрограммной среде проблемы распределения ресурсов и защиты стали более
острыми и трудноразрешимыми. Теория построения операционных систем в этот период
обогатилась рядом плодотворных идей. Появились различные формы мультипрограммных
режимов работы, была создана и развита концепция виртуальной памяти, а затем и
виртуальных машин, интенсивно развивались методы планирования и управления вычислительным
процессом, методы динамического распределения ресурсов. Получили дальнейшее
развитие методы управления данными. Появились ОС для многомашинных и
многопроцессорных ВС, обеспечивающие распараллеливание (с разной степенью автоматизации)
вычислительного процесса.
Дальнейший рост производительности ВС и потребности практики привели к развитию
распределённых ВС – вычислительных систем с дистанционным доступом и вычислительных
сетей. Следствием этого явилось создание сетевых ОС, имеющих распределённую
иерархическую структуру. Взаимодействие компонент таких ОС обеспечивается сложной
иерархической системой протоколов.
На базе распределённых ВС создаются развитые информационные системы, банки
данных, информационно-расчётные системы различного хозяйственного, управленческо-
экономического и оборонного назначения, управляемые специализированными операционными
системами.
2. Windows-графический интерфейс пользователя.
3
1. Функции современных МП, реализованные аппаратурой и программами.
2. Вызовы функций в Windows.
4
1. Задачи, решаемые СПО при распределении ресурсов вычислительной системы.
