Операционные системы: конспект лекций [С. Н. Дроздов] (doc) читать постранично

Книга в формате doc! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Министерство образования российской федерации

Государственное образовательное учреждение
высшего профессионального образования

Таганрогский государственный радиотехнический университет





С.Н.Дроздов


Операционные системы

Конспект лекций





















Таганрог 2003
УДК
С.Н.Дроздов. Операционные системы: Конспект лекций. Таганрог: Изд-во ТРТУ, 2003. 136 с.

В данном пособии рассматриваются общие принципы функционирования операционных систем (ОС), а также основные алгоритмы и структуры данных, используемые при разработке отдельных подсистем и модулей ОС. Описываются подсистемы управления устройствами, данными, процессами и памятью. В качестве примеров ОС рассмотрены Windows, UNIX и MS-DOS.
Предназначено для студентов, изучающих курс «Операционные системы».
Табл. 1. Библиогр.: 25. назв.

Печатается по решению редакционно-издательского совета Таганрогского государственного радиотехнического университета.

Рецензенты:










© Таганрогский государственный радиотехнический университет, 2003
© Дроздов С.Н., 2003
Содержание
1. Введение 5
1.1. Предмет и задачи курса 5
1.2. Рекомендации по литературе 5
1.3. Краткий очерк истории ОС 6
1.4. Классификация ОС 10
1.5. Критерии оценки ОС 12
1.6. Основные функции и структура ОС 14
1.7. ОС, используемые в дальнейшем изложении 16
2. Управление устройствами 19
2.1. Основные задачи управления устройствами 19
2.2. Классификация периферийных устройств и их архитектура 20
2.3. Прерывания 22
2.4. Архитектура подсистемы ввода/вывода 23
2.5. Способы организации ввода/вывода 25
2.6. Буферизация и кэширование 28
2.7. Драйверы устройств 34
2.8. Управление устройствами в MS-DOS 36
2.9. Управление устройствами в Windows 43
2.10. Управление устройствами в UNIX 45
3. Управление данными 46
3.1. Основные задачи управления данными 46
3.2. Характеристики файлов и архитектура файловых систем 47
3.3. Размещение файлов 48
3.4. Защита данных 51
3.5. Разделение файлов между процессами 52
3.6. Файловая система FAT и управление данными в MS-DOS 53
3.7. Файловые системы и управление данными в UNIX 60
3.8. Файловая система NTFS и управление данными в Windows 68
4. Управление процессами 75
4.1. Основные задачи управления процессами 75
4.2. Реализация многозадачного режима 76
4.3. Проблемы взаимодействия процессов 85
4.4. Управление процессами в MS-DOS 94
4.5. Управление процессами в Windows 99
4.6. Управление процессами в UNIX 109
Организация интерфейса с пользователем обычно не пользуется особым вниманием в курсах ОС. Причина этого в том, что вопросы интерфейса достаточно далеки от круга проблем, касающихся других основных подсистем ОС. 116
Однако при изучении UNIX нельзя обойти стороной такую интересную и развитую часть системы, как интерпретатор команд, чаще называемый просто шелл (shell). 116
Шелл не является частью ядра UNIX, по своему статусу это обычная прикладная программа, выделяющаяся только своим назначением, которое заключается в выполнении команд пользователя, задаваемых либо в интерактивном (диалоговом) режиме, либо в виде командных файлов, называемых также шелл-скриптами. Существуют различные варианты шелла, которые, совпадая в основном, предлагают несколько разные дополнительные возможности. 116
Набор возможностей, предоставляемых любым интерпретатором команд UNIX, настолько широк, что может быть предметом изучения в отдельном курсе. Здесь будет дано только минимальное представление о принципах работы шелла. Более подходящей формой изучения шелла являются лабораторные работы. 116
Шелл можно рассматривать как своеобразный язык программирования, позволяющий создавать новые программы с достаточно сложными функциями, используя в качестве основных операций вызовы других, более простых программ. При этом конструкции языка шелла имеют прямую связь с описанными выше средствами управления процессами UNIX. 116
Для выполнения команды шелл запускает отдельный процесс. В результате выполнения команды вырабатывается код завершения процесса, который может затем быть проанализирован. Нулевое значение кода обычно означает нормальное завершение, значение, большее нуля – ошибку. 117
Как при интерактивной работе, так и при выполнении скриптов могут определяться и использоваться переменные, имеющие строковые значения. Ряд переменных определяется системой, например, PATH содержит список каталогов, в которых шелл ищет команды, а HOME – «домашний» каталог текущего пользователя. Для получения значения переменной перед ее именем записывается символ ‘$’. В скриптах можно также использовать значения параметров, с которыми был вызван скрипт, от $1 до $9. 118
Шелл, как и любой язык программирования, содержит набор операторов управления порядком выполнения команд, таких как if, case, while, until, for, break и некоторые другие. Логические выражения, используемые в операторах управления, строятся на основе кодов завершения команд, при этом