
СПО
.pdfБИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Гордеев А.В. Системное программное обеспечение / А.В. Гордеев, А.Ю. Молчанов. СПб.: Питер, 2002. 734 с.
2.Гордеев А.В. Операционные системы: учебник для вузов. 2-е изд. / А.В. Гордеев. СПб.: Питер, 2009. 416 с.
3.Молчанов А.Ю. Системное программное обеспечение: учебник для вузов / А.Ю. Молчанов. СПб.: Питер, 2006. 396 с.
4.Назаров С.В. Операционные среды, системы и оболочки. Основы структурной и функциональной организации: учеб. пособие / С.В. Назаров. М.: Кудиц-пресс, 2007. 504 с.
5.Назаров С.В. Операционные системы. Практикум / С.В. Назаров, Л.П. Гудыно, А.А. Кириченко. М.: Кудиц-пресс, 2008. 464 с.
6.Танненбаум Э. Современные операционные системы
/Э. Танненбаум. – 2-е изд. СПб.: Питер, 2007. 1038 с.
7.Столингс В. Операционные системы / В. Столингс. – 4-е изд. М.: Вильямс, 2002. 848 с.
8.Подвальный С.Л. Системное программное обеспече-
ние: формальные языки и грамматики для построения трансляторов: учеб. пособие / С.Л. Подвальный, О.Б. Кремер, М.Ю. Сергеев. Воронеж: ГОУВПО «Воронежский государственный технический университет», 2008. 132 с.
9. Кремер О.Б. Системное программное обеспечение: управление системными ресурсами: учеб. Пособие / О.Б. Кремер, С.Л. Подвальный, М.Ю. Сергеев. Воронеж: ГОУВПО «Воронежский государственный технический университет», 2011. 148 с.
ОГЛАВЛЕНИЕ |
|
Введение ......................................................................................... |
3 |
1. Основные понятия системного программного обеспечения . 4 |
|
1.1. Понятия прикладного и системного программного |
|
обеспечения ................................................................................. |
4 |
1.2. Состав системного программного обеспечения ............... |
5 |
2. Состав и архитектура операционных систем ........................ |
11 |
2.1. Состав операционных систем........................................... |
11 |
2.2. Архитектура ОС................................................................. |
15 |
3. Процессы и потоки .................................................................. |
21 |
3.1. Концепция процессов и потоков ...................................... |
21 |
3.2. Многозадачность. Формы программной работы............ |
25 |
3.3. Подсистема управления процессами и потоками........... |
27 |
3.4. Роль процессов, потоков и волокон в многозадачности 30 |
|
3.5. Создание процессов........................................................... |
31 |
3.6. Потоки и их модели........................................................... |
37 |
3.7. Планирование и синхронизация процессов и потоков .. |
41 |
3.7.1. Виды планирования .................................................... |
41 |
3.7.2. Алгоритмы планирования потоков............................ |
43 |
3.7.3. Алгоритмы приоритетного планирования ................ |
47 |
3.8. Взаимоисключения......................................................... |
51 |
5.5. Семафоры ........................................................................ |
55 |
5.6. Тупики ............................................................................. |
56 |
4. Управление памятью ............................................................... |
60 |
4.1. Функции ОС по управлению памятью ............................ |
60 |
4.2. Классификация методов распределения памяти ............ |
63 |
3.3. Распределение памяти без использования внешней |
|
памяти..................................................................................... |
63 |
3.4. Методы структуризации виртуальной памяти................ |
70 |
3.4.1. Страничная организация виртуальной памяти......... |
71 |
3.4.2. Сегментная организация виртуальной памяти ......... |
76 |
3.4.3. Странично-сегментная организация памяти............. |
79 |
5. Файловые системы................................................................... |
82 |
5.1. Цели и задачи файловой системы .................................... |
82 |
5.2. Организация файлов и доступ к ним ............................... |
84 |
5.3. Логическая организация файла ........................................ |
88 |
5.4. Каталоговые системы ........................................................ |
91 |
5.5. Основные возможности файловой системы NTFS......... |
93 |
5.6. Структура тома с файловой системой NTFS .................. |
95 |
5.7. Возможности NTFS по ограничению доступа к файлам и |
|
каталогам ................................................................................. |
101 |
5. Управление вводом-выводом ............................................... |
105 |
5.1. Физическая организация устройств ввода-вывода....... |
105 |
5.2. Организация программного обеспечения ввода-вывода |
|
.................................................................................................. |
106 |
5.3. Обработка прерываний ................................................... |
109 |
5.4. Драйверы устройств ........................................................ |
109 |
5.5. Независимый от устройств слой ОС.............................. |
110 |
5.6. Пользовательский слой программного обеспечения ... |
111 |
6. Построение операционных систем....................................... |
113 |
6.1. Принципы построения операционных систем.............. |
113 |
6.1.1. Принцип модульности .............................................. |
113 |
6.1.2. Принцип функциональной избирательности.......... |
113 |
6.1.3. Принцип генерируемости ОС .................................. |
114 |
6.1.4. Принцип функциональной избыточности .............. |
115 |
6.1.5. Принцип виртуализации ........................................... |
116 |
6.1.6. Принцип независимости программ от внешних |
|
устройств .............................................................................. |
118 |
6.1.7. Принцип совместимости........................................... |
118 |
6.1.8. Принцип открытой и наращиваемой ОС ................ |
119 |
6.1.9. Принцип мобильности .............................................. |
120 |
6.1.10. Принцип обеспечения безопасности вычислений121 |
|
6.2. Построение интерфейсов операционных систем ......... |
123 |
6.3. Интерфейс прикладного программирования ................ |
125 |
6.3.1. Реализация функций API на уровне ОС.................. |
127 |
6.3.2. Реализация функций API на уровне системы |
|
программирования .............................................................. |
128 |
6.3.3. Реализация функций API с помощью внешних |
|
библиотек ............................................................................. |
130 |
6.4. Классификация системных вызовов .............................. |
133 |
6.5. Интерфейс пользователя ................................................. |
138 |
6.6. Пользовательский интерфейс приложений................... |
139 |
6.7. Архитектура, управляемая событиями .......................... |
141 |
7. Семейство операционных систем UNIX.............................. |
143 |
7.1. Основные понятия системы UNIX................................. |
144 |
7.1.1. Виртуальная машина................................................. |
144 |
7.1.2. Пользователь.............................................................. |
145 |
7.1.3. Интерфейс пользователя........................................... |
145 |
7.1.4. Привилегированный пользователь .......................... |
146 |
7.1.5. Команды ..................................................................... |
147 |
7.1.6. Процессы .................................................................... |
148 |
7.1.7. Выполнение процессов ............................................. |
149 |
7.1.8. Структура файловой системы .................................. |
150 |
7.2. Операционная система Linux ......................................... |
151 |
8. Трансляторы ........................................................................... |
154 |
8.1. Основные принципы построения трансляторов, |
|
компиляторов и интерпретаторов ......................................... |
154 |
8.1.1. Определение транслятора......................................... |
154 |
8.1.2. Определение компилятора. Отличие компилятора от |
|
транслятора .......................................................................... |
155 |
8.1.3. Определение интерпретатора. Разница между |
|
интерпретаторами и трансляторами .................................. |
158 |
8.1.4. Этапы трансляции. Общая схема работы транслятора |
|
............................................................................................... |
160 |
8.1.5. Понятие прохода. Многопроходные и |
|
однопроходные компиляторы ............................................ |
164 |
8.2. Таблицы идентификаторов. Организация таблиц |
|
идентификаторов .................................................................... |
166 |
8.2.1. Назначение таблиц идентификаторов ..................... |
166 |
8.2.2.Принципы организации таблиц идентификаторов 169
8.2.3.Простейшие методы построения таблиц
идентификаторов ................................................................. |
170 |
8.2.4. Построение таблиц идентификаторов по методу |
|
бинарного дерева................................................................. |
173 |
8.2.5. Хэш-функции и хэш-адресация ............................... |
176 |
8.2.6. Хэш-адресация с рехэшированием .......................... |
180 |
8.2.7. Хэш-адресация с использованием метода цепочек |
|
............................................................................................... |
182 |
8.2.8. Комбинированные способы построения таблиц |
|
идентификаторов ................................................................. |
185 |
8.3. Лексические анализаторы ............................................... |
188 |
8.3.1. Назначение лексического анализатора ................... |
188 |
8.3.2. Принципы построения лексических анализаторов 191 |
|
8.3.3. Определение границ лексем ..................................... |
192 |
8.3.4. Выполнение действий, связанных с лексемами ..... |
195 |
8.4. Формальные языки и грамматики .................................. |
196 |
8.4.1. Первичные понятия................................................... |
196 |
8.4.2. Примеры, иллюстрирующие первичные понятия.. |
198 |
8.4.3. Типы формальных языков и грамматик.................. |
200 |
8.4.3.1. Грамматики типа 0 ................................................. |
200 |
8.4.3.2. Грамматики типа 1 ................................................. |
200 |
8.4.3.3. Грамматики типа 2 ................................................. |
201 |
8.4.3.4. Грамматики типа 3 ................................................. |
202 |
8.4.3.5. Вывод в КС-грамматиках и правила построения |
|
дерева вывода ...................................................................... |
203 |
8.4.3.6. Синтаксический разбор ......................................... |
205 |
8.4.3.7. Левый и правый выводы........................................ |
206 |
8.4.3.8. Неоднозначные и эквивалентные грамматики .... |
206 |
8.4.4. Способы задания схем грамматик ........................... |
209 |
8.4.4.1. Форма Наура-Бэкуса .............................................. |
210 |
8.4.4.2. Итерационная форма.............................................. |
210 |
8.4.4.3. Синтаксические диаграммы .................................. |
211 |
8.4.5. Построение грамматик и грамматики, описывающие |
|
основные конструкции языков программирования ......... |
214 |
8.4.5.1. Рекомендации по построению грамматик ........... |
215 |
8.4.5.2. Описание списков................................................... |
216 |
8.4.5.3. Пример построения грамматик ............................. |
218 |
8.4.5.4. Грамматики, описывающие целые числа без знака |
|
и идентификаторы ............................................................... |
220 |
8.4.5.5. Грамматики для арифметических выражений..... |
221 |
8.4.5.6. Грамматика для описаний ..................................... |
222 |
8.4.5.7. Грамматика, задающая последовательность |
|
операторов присваивания ................................................... |
223 |
8.4.5.8. Грамматики, описывающие условные операторы и |
|
операторы цикла.................................................................. |
224 |
8.4.5.9. Бесскобочные выражения...................................... |
225 |
8.4.5.10. Префиксная польская запись............................... |
226 |
8.4.5.11. Вычисление префиксных польских записей...... |
227 |
8.4.5.12. Постфиксная польская запись............................. |
227 |
8.4.5.13. Вычисление постфиксных записей..................... |
228 |
8.5. Конечные автоматы и регулярные грамматики ........ |
229 |
8.6. Макроязыки и макрогенерация ................................... |
233 |
8.6.1. Определения макрокоманд и макрогенерации....... |
233 |
8.6.2. Примеры макрокоманд ............................................. |
234 |
8.6.3. Макроязыки и препроцессоры ................................. |
236 |
Заключение ................................................................................. |
240 |
Библиографический список ...................................................... |
241 |
Учебное издание
Кремер Ольга Борисовна Сергеев Михаил Юрьевич
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
В авторской редакции
Подписано в печать _______.
Формат 60 84/16. Бумага для множительных аппаратов. Усл. печ. л. ____. Уч.-изд. л. ____.
Заказ. №
ФГБОУ ВПО «Воронежский государственный технический университет»
394026 Воронеж, Московский просп., 14