
- •Лекция 1: Введение в системное программное обеспечение Билет 1
- •Системное программное обеспечение
- •Функции
- •Создание процесса
- •Завершение процесса
- •Создание процесса
- •Завершение процесса
- •9. Системные часы и таймеры, планирование выполнения процессов реального времени
- •Билет 37
- •Билет 38
- •Существуют программы, которые решают обратную задачу – перевод программы с низкоуровневого языка на высокоуровневый. Этот процесс называют декомпиляцией, а
- •Компоновщик
Лекция 1: Введение в системное программное обеспечение Билет 1
Системное программное обеспечение
Системное программное обеспечение (system software) — это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как процессор, оперативная память, каналы ввода-вывода, сетевое и коммуникационное оборудование и т.п.
Системное программное обеспечение реализует связь аппаратного и программного обеспечения, выступая как "межслойный интерфейс" с одной стороны которого аппаратура, а с другой приложения пользователя. Кроме системного программного обеспечения принято выделять Прикладное программное обеспечение, которое призвано решать прикладные задачи пользователя.
В состав системного программного обеспечения входят:
Операционные системы;
Интерфейсные оболочки и среды программирования:
компиляторы,
трансляторы,
компоновщики,
загрузчики,
отладчики,
текстовый редактор,
библиотеки подпрограмм;
Утилиты;
Системы управления файлами;
Системы управления базами данных.
Билет2
Операцио́нная систе́ма, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
При включении компьютера операционная система загружается в память раньше остальных программ и затем служит платформой и средой для их работы.
наиболее распространёнными операционными системами для персональных компьютеров и серверов являются ОС семейства Microsoft Windows и Windows NT, Mac OS и Mac OS X, системы класса UNIX, и Unix-подобные (особенно GNU/Linux).
Функции
Основные функции (простейшие ОС):
Загрузка приложений в оперативную память и их выполнение;
Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);
Управление оперативной памятью (распределение между процессами, виртуальная память);
Управление доступом к данным на энергонезависимых носителях (таких как Жёсткий диск, Компакт-диск и т. д.), как правило с помощью файловой системы;
Пользовательский интерфейс;
Сетевые операции, поддержка стека протоколов
Дополнительные функции:
Параллельное или псевдопараллельное выполнение задач (многозадачность);
Взаимодействие между процессами;
Защита самой системы, а также пользовательских данных и программ от злонамеренных действий пользователей или приложений;
Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой ОС. В составе ОС различают три группы компонентов:
ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевую подсистему, файловую систему;
системные библиотеки и
оболочку с утилитами.
_______________________________________
Билет 3
Основные принципы построения ОС
принцип модульности. Модуль – функционально законченный элемент, выполняемый в соответствии с принятым межмодульным интерфейсом. Модуль выделяется по функциональному признаку. Модульная организация позволяет легко (из)заменять неправильно работающие модули в ОС. Чаще всего используются реентерабельные и привилегированные модули.
принцип функциональной избирательности. Для организации эффективной работы ОС, необходимо выделить некоторые модули и хранить их в ОЗУ. Эти модули составляют ядро ОС. Ядро:
Модули по управлению системы прерываний;
Средство управления выполнения программ (загрузка, приостановка, остановка);
Модули по управлению процессом (распределение процессорного времени), т.е. диспетчеры программ;
Модули по управлению выделения памяти. В зависимости от ОС в ядро могут ещё входить другие модули;
Транзитные модули (загружаются в ОЗУ по мере необходимости, при нехватке ОЗУ могут быть выгружены из памяти).
принцип генерируемости ОС. Подразумевает собой возможность генерации ОС в зависимости от аппаратного обеспечения. Процесс генерации обычно производится один раз, перед достаточно долгим режимом эксплуатации. Для генерации необходимо наличие нескольких компонентов:
Исходный код ОС;
Компилятор с языка программирования на котором система написана;
Специальная программа и входной язык для неё, который позволяет управлять процессом генерации.
ОС с открытым системным кодом – Linux (UNIX), есть возможность тонкой настройки ядра для конкретного процессора.
принцип функциональной избыточности. В состав ОС должно входит несколько типов ПО для выполнения одинаковых функций (поддержка разных файловых систем).
принцип виртуализации. Позволяет представить ресурсы ОС в виде определённого набора планировщиков и мониторов и использует единую схему распределения ресурсов. Наибольшее проявление – концепция виртуальной машины (воспроизводит архитектуру реальной машины, но может обладать произвольными характеристиками).
принцип независимости программ от внешних устройств. Связь программ с конкретным внешним устройством производится не на этапе трансляции, а на этапе выполнения программы. Получается выгода: не нужна лишняя «перекомпиляция».
принцип совместимости. Способность выполнять программы для другой ОС или даже для другой аппаратной платформы.
2 уровня совместимости:
по выполняемому коду (бинарная). Условия совместимости:
На уровне команд процессора (одна и та же платформа);
Совместимость на уровне системных вызовов;
Совместимость на уровне библиотечных вызовов, если являются динамично связываемыми.
2. по исходному коду. Требуется выполнение следующих условий:
Наличие компилятора платформы, на котором написана программа;
Совместимость на уровне системных вызовов;
Совместимость на уровне библиотечных вызовов.
принцип открытой наращиваемой ОС (открыт исходный код). Целостность ОС сохраняется (UNIX).
принцип мобильности (переносимости). ОС должна легко переноситься на другую аппаратную платформу. Правила создания переносимых ОС:
ОС должна быть написана на языке высокого уровня, для которой существует компилятор на аппаратной платформе. В основном, современные ОС пишут на Си.
Необходимо избегать кода, который непосредственно работает с аппаратным обеспечением.
принцип обеспечения безопасности и защиты:
Защита системы от пользователя;
Защита от несанкционированного доступа.
Билет 4
Проце́сс — компьютерная программа, находящаяся в стадии выполнения на компьютерной системе, способной выполнять несколько компьютерных программ параллельно.
Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс - это непосредственное выполнение этих инструкций.
Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т.д.