
- •Министерство образования и науки Российской Федерации
- •Лекция 1. Введение.
- •Лекция 2. Структура подсистемы обмена с ву
- •Лекция 3. Регистры ву
- •3.1. Виды регистров внешних устройств
- •3.2. Виды адресации регистров ву
- •Лекция 4. Алгоритм обмена без прерываний
- •37Bh – не используется
- •Лекция 5. Прерывания
- •5.1. Механизм прерываний
- •5.2. Таблица векторов прерываний
- •Лекция 6. Изменения установок обработки прерываний
- •6.1. Маскирование прерываний
- •6.2. Изменение таблицы векторов прерываний
- •6.3. Обработчики прерываний
- •Лекция 7. Аппаратные прерывания
- •Лекция 8. Дисковые системы (Часть 1) Организация магнитного диска
- •Лекция 9. Дисковые системы (Часть 2) Функции bios для работы с дисками
- •Инициализация контроллера нмд
- •Лекция 10. Файловые системы (Часть 1)
- •Организация логического диска
- •Лекция 11. Файловые системы (Часть 2)
- •Файловые системы Windows
- •Лекция 12. Файловая системаntfs Главная файловая таблица
- •Последовательность обновления
- •Атрибуты
- •Типы атрибутов
- •Лекция 13. Атрибуты ntfs
- •Списки отрезков
- •Лекция 14. Анализ и восстановление файловой системы
- •Лекция 15. Управление памятью
- •Типы адресов
- •Методы распределения памяти без использования дискового пространства
- •Лекция 16. Виртуальная память
- •Лекция 17. Виртуальная память (продолжение)
- •Лекция 18. Иерархия запоминающих устройств
- •Лекция 19. Управление вычислительными процессами
- •Вытесняющие и невытесняющие алгоритмы планирования
- •Лекция 20. Синхронизация и взаимодействие процессов
- •V(b); /* Выход из критической секции */
- •Лекция 21. Архитектура драйвера файловой системы
- •Локальные fsd
- •Удаленные fsd
- •Работа файловой системы
- •Явный файловый ввод-вывод
- •Подсистема отложенной записи
- •Поток, выполняющий опережающее чтение
- •Драйверы фильтров файловой системы
- •Лекция 22. Windows api
- •Windows api— набор функций операционной системы
- •Лекция 23. WindowsApi(продолжение)
- •Окно рабочего стола
- •Приложение Windows
- •Компоненты окна приложения
- •Создание окна
- •Атрибуты окна
- •Класс окна
- •Имя окна
- •Стиль окна
- •Родитель или владелец окна
- •Расположение, размер и позиция в z-порядке
- •Идентификатор дочернего окна или дескриптор меню
- •Дескриптор копии приложения
- •Дополнительные данные
- •Дескрипторы окна
- •Создание главного окна
- •Сообщения, посылаемые при создании окна
- •Многопоточные приложения
- •Общие стили окна
- •Позиционирование
- •Взаимоотношения с родительским окном
- •Рамка окна
- •Компоненты неклиентской области окна
- •Заблокированное окно
- •Окна переднего плана и фоновые окна
- •Активное окно
- •Видимость
- •Свернутые, развернутые и восстановленные окна
- •Размер и позиция окна
- •Размер окна
- •Позиция окна
- •Размер и позиция по умолчанию
- •Системные команды
- •Сообщения, связанные с размером и позицией окна
- •Уничтожение окна
- •Как создать главное окно
- •Работа с дочерними окнами
- •Как уничтожить окно
- •Лекция 24. Ловушки сообщений (Хуки)
- •Лекция 25. Трансляция с языков программирования Сущность трансляции. Компиляция и интерпретация
- •Фазы трансляции и выполнения программы
- •Препроцессор
- •Трансляция и ее фазы
- •Модульное программирование, компоновка
- •Структура транслятора
|
|
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ГОУ ВПО «Уральский государственный технический университет - УПИ»
КАФЕДРА АВТОМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Конспект лекций
для студентов направления
230100 – Информатика и вычислительная техника
Екатеринбург
2007
Системное программное обеспечение. Конспект лекций для студентов направления 230100 – Информатика и вычислительная техника
Сост. С.С. Соколов.
Екатеринбург: ГОУ ВПО УГТУ-УПИ , 2007. 188 c.
В методических указаниях содержатся теоретические сведения о реализации основных элементов системного ПО и методах системного программирования для IBM-совместимых ПК.
Подготовлено кафедрой «Автоматика и информационные технологии».
© ГОУ ВПО «Уральский государственный
технический университет – УПИ», 2007
Лекция 1. Введение.
Рис. 1.1. Структура ПО ЭВМ
Все программное обеспечение, в зависимости от его назначения, можно разделить на пять групп:
Прикладное ПО– программы данной группы носят чисто прикладной характер, т.е. позволяют облегчить или автоматизировать какую-либо повседневную работу. К данной группе программ можно отнести различные офисные (Word, Excel, Access) и бухгалтерские программы (1С бухгалтерия), программы моделирования и работы с компьютерной графикой (AutoCAD, PhotoShop, CorelDraw), переводчики и словари (PROMT, Stylus), программы распознавания текста (FineReader).
Системное ПО– обеспечивает работу системы в целом, а также загрузку и исполнение других программ. К системному ПО относятся все операционные системы (DOS, Windows, OS/2, Unix, Linux, NetWare) и программы входящие в состав основной системы ввода-вывода (BasicInputOutputSystem – BIOS).
Утилиты– программные продукты, выполняющие специфичные системные функции, такие как мониторинг системы, форматирование дисков, проверка и дефрагментация дисков, проверка файлов на вирусы и т.д. Утилиты могут быть как в составе операционной системы, так и в виде отдельных программ.
Оболочки– программные продукты, выполненные в виде надстройки над ОС, обеспечивающей комфортный и удобный интерфейс пользователя. Ярким примером программ-оболочек для ОС MS-DOS являются Norton Commander и Windows 3.1. В современных ОС пользовательский интерфейс является частью самой системы.
Средства программной разработки– к ним относятся языки программирования (C++, Pascal), системы управления базами данных (СУБД – FoxPro, Paradox), средства создания мультимедиа приложений (Flash), средства визуального программирования (Delphi, CBuilder, Visual C, Visual Basic).
Чтобы понять, что такое ОС, необходимо знать, что она делает и как работает. Операционная система это программный продукт, который по своему назначению, функциям и возможностям находится над программами BIOS. Если программы BIOS обеспечивают старт компьютера и доступ к внешним устройствам по средствам прерываний, то функции и задачи ОС значительно шире.
На сегодняшний день существует большое количество операционных систем, которые по своему назначению и возможностям могут значительно различаться. Но, несмотря на это можно выделить общие для всех операционных систем функции. В сущности, любая ОС в первую очередь предназначена для управления ресурсами.
Ресурсы, в данном случае довольно широкое понятие, поэтому ниже перечислены наиболее распространенные типы ресурсов:
Оперативная память– ОС контролирует расход ОП – при запуске новой программы ОС выделяет ей необходимое пространство в ОП, а когда программа завершает свою работу, ОС освобождает память ранее занятую программой. В современных ОС имеется механизм виртуальной памяти, который позволяет выделять программам достаточное количество памяти, не зависимо от фактического размера ОП.
Процессорное время– данный ресурс используется только в многозадачных ОС, он определяет в течение, какого времени МП будет выполнять программу, прежде чем начнет исполнять другую. Основным признаком многозадачной ОС является возможность одновременного запуска и исполнения нескольких программ, например как в ОС Windows.
Программы– тоже могут выступать в роли ресурса. ОС контролирует запуск, исполнение и завершение работы программ. Кроме этого в многопользовательских ОС доступ к программам может осуществляться в зависимости от прав пользователя, т.е. одним пользователям разрешается запуск определенных программ, а другим запрещается.
Жесткие диски– ОС контролирует запись и чтение информации с диска. ОС создает на диске файловую систему, которая позволяет хранить данные на диске организованным образом, в виде файлов и папок, обеспечивая к ним быстрый доступ.
Коммуникационные каналы связи– обеспечивают передачу данных в компьютерных сетях. Передача данных контролируется ОС. По средствам коммуникационных каналов связи ресурсы одного ПК могут использоваться другими ПК, либо несколько ПК могут объединять свои ресурсы, создавая один виртуальный ресурс так называемый кластер.
Внешние устройства– это все периферийное оборудование, которое может быть подключено к ПК: монитор, клавиатура, мышь, принтер и т.д. ОС отслеживает, какие из внешних устройств в данный момент подключены к ПК и обеспечивает их корректную работу. При этом каждое из устройств выступает в роли отдельного ресурса.
Нелишним будет напомнить об уровнях программного доступа к средствам вычислительной системы (рис.1.2.).
Под аппаратными средствами здесь понимаются только программно доступные компоненты аппаратуры ПЭВМ, а именно: регистры микропроцессора; оперативная память (с возможностью обращения по абсолютным физическим адресам); порты ввода-вывода; система прерываний (генерация прерываний и их программная обработка). Средства доступа аппаратного уровня обеспечиваются в основном системой команд микропроцессора.
Программы BIOS являются встроенным программным обеспечением, т.к. они содержатся в специальной микросхеме памяти установленной непосредственно на системной (материнской) плате. Микросхема, содержащая BIOS, называется ROM (ReadOnlyMemory – память только чтения). ROM - это память, “вшитая” в микросхемы для постоянного хранения в них информации, которая не может быть изменена, удалена или потеряна. Вследствие этого программы BIOS называют ROM BIOS.
В современных ПК используется новый тип микросхем для хранения BIOS программ, называется он Flash. Основное отличие Flash микросхем от ROM состоит в том, что их содержимое можно перезаписывать. Новые микросхемы называют Flash BIOS.
Преимущество хранения базовых программ компьютера в ROM заключается в том, что нет необходимости загружать их в память с диска каждый раз перед началом работы, как это делается с операционными системами. Программное обеспечение, содержащееся в ROM BIOS по функциональному назначению можно разделить на несколько групп:
стартовые программы – выполняют действия необходимые для запуска компьютера;
базовая система ввода/вывода– непосредственно BIOS, представляющая собой набор программ, которые обеспечивают бесперебойную работу компьютера;
расширения ROM BIOS– представляющие собой программы, которые добавляются к основным программам, расположенным в ROM BIOS, в том случае, когда к компьютеру присоединяется какое-либо дополнительное оборудование;
BIOS Setup– программа настройки аппаратной конфигурации ПК. BIOS Setup вызывается нажатием клавиши Del во время старта компьютера.
Доступ к средствам BIOS обеспечивается программными прерываниями. Из 256 возможных в ПЭВМ прерываний прерывания с номерами от 0 до F (здесь и далее все номера прерываний шестнадцатеричные) - аппаратные. Прерывания с номерами от 10 до 1F могут генерироваться только программным путем при помощи команды микропроцессора INT и приводят к выполнению той или иной программы из состава BIOS. Перед обращением к BIOS программист должен занести в определенные регистры входные параметры для программы BIOS, выходные параметры BIOS также возвращает через регистры. Выполняемые функции, а также входные и выходные регистры определены отдельно для каждого прерывания BIOS.
Диапазон программных прерываний от 20 до 3F зарезервирован для обращений к операционной системе MS DOS (в дальнейшем - просто DOS). Программы DOS для доступа к аппаратным средствам используют средства BIOS и обеспечивают более высокий по сравнению с BIOS уровень интеграции функций. Наиболее часто используемое прерывание при обращениях к DOS - 21.
Рис.1.2. Уровни программного доступа к средствам ПЭВМ
Перед выполнением в программе пользователя команды INT 21H программист должен занести в регистр AH некоторый код - номер той программы из состава DOS, которую требуется выполнить. Остальные регистры, как и при обращении к BIOS, используются для передачи параметров. Принято говорить о "функции DOS номер NN", имея в виду обращение к прерыванию 21 с кодом NN в регистре AH. Некоторые функции созданы разработчиками системы "для внутреннего использования": они вызываются из других функций и программ DOS, их описания отсутствуют в документации фирм IBM и Microsoft и, видимо, не предполагалось обращение к ним из программ пользователя.
Наконец, языки высокого уровня включают в себя процедуры и функции, обеспечивающие еще более высокий уровень интеграции. Как правило, эти процедуры/функции имеют содержательные имена, и использующий их программист не обязан знать, через какой уровень эти процедуры/функции воздействуют на аппаратные средства.