- •Челябинск
- •2002 Предисловие
- •От издательства
- •Часть 1 Операционные системы и среды
- •Глава 1 Основные понятия Понятие операционной среды
- •Понятия вычислительного процесса и ресурса
- •Диаграмма состояний процесса
- •Реализация понятия последовательного процесса в ос
- •Процессы и треды
- •Прерывания
- •Основные виды ресурсов
- •Классификация операционных систем
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 2 Управление задачами и памятью в операционных системах
- •Планирование и диспетчеризация процессов и задач Стратегии планирования
- •Дисциплины диспетчеризации
- •Вытесняющие и не вытесняющие алгоритмы диспетчеризации
- •Качество диспетчеризации и гарантии обслуживания
- •Диспетчеризация задач с использованием динамических приоритетов
- •Память и отображения, виртуальное адресное пространство
- •Простое непрерывное распределение и распределение с перекрытием (оверлейные структуры)
- •Распределение статическими и динамическими разделами
- •Разделы с фиксированными границами
- •Разделы с подвижными границами
- •Сегментная, страничная и сегментно-страничная организация памяти
- •Сегментный способ организации виртуальной памяти
- •Страничный способ организации виртуальной памяти
- •Сегментно-страничный способ организации виртуальной памяти
- •Распределение оперативной памяти в современных ос для пк
- •Распределение оперативной памяти вMs-dos
- •Распределение оперативной памяти вMicrosoftWindows95/98
- •Распределение оперативной памяти вMicrosoftWindowsNt
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 3 Особенности архитектуры микропроцессоровi80x86
- •Реальный и защищённый режимы работы процессора
- •Новые системные регистры микропроцессоров i80x86
- •Адресация в 32-разрядных микропроцессорахi80х86 при работе в защищённом режиме Поддержка сегментного способа организации виртуальной памяти
- •Поддержка страничного способа организации виртуальной памяти
- •Режим виртуальных машин для исполнения приложений реального режима
- •Защита адресного пространства задач
- •Уровни привилегий для защиты адресного пространства задач
- •Механизм шлюзов для передачи управления на сегменты кода с другими уровнями привилегий
- •Система прерываний 32-разрядных микропроцессоровi80x86
- •Работа системы прерываний в реальном режиме работы процессора
- •Работа системы прерываний в защищённом режиме работы процессора
- •Обработка прерываний в контексте текущей задачи
- •Обработка прерываний с переключением на новую задачу
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 4 Управление вводом/выводом и файловые системы
- •Основные понятия и концепции организации ввода/вывода в ос
- •Режимы управления вводом/выводом
- •Закрепление устройств, общие устройства ввода/вывода
- •Основные системные таблицы ввода/вывода
- •Синхронный и асинхронный ввод/вывод
- •Кэширование операций ввода/вывода при работе с накопителями на магнитных дисках
- •Функции файловой системы ос и иерархия данных
- •Структура магнитного диска (разбиение дисков на разделы)
- •Файловая системаFat
- •Структура загрузочной записиDos
- •Файловые системыVfaTиFat32
- •Файловая система hpfs
- •Файловая система ntfs (New Technology File System)
- •Основные возможности файловой системы ntfs
- •Структура тома с файловой системой ntfs
- •Возможности файловой системыNtfSпо ограничению доступа к файлам и каталогам
- •Основные отличияFaTи ntfs
- •Контрольные вопросы и задачи Вопросы для проверки
- •Задания
- •Глава 5 Архитектура операционных систем и интерфейсы прикладного
- •Принцип функциональной избирательности
- •Принцип генерируемости ос
- •Принцип функциональной избыточности
- •Принцип виртуализации
- •Принцип независимости программ от внешних устройств
- •Принцип совместимости
- •Принцип открытой и наращиваемой ос
- •Принцип мобильности (переносимости)
- •Принцип обеспечения безопасности вычислений
- •Микроядерные операционные системы
- •Монолитные операционные системы
- •Требования, предъявляемые к ос реального времени
- •Мультипрограммность и многозадачность
- •Приоритеты задач (потоков)
- •Наследование приоритетов
- •Синхронизация процессов и задач
- •Предсказуемость
- •Принципы построения интерфейсов операционных систем
- •Интерфейс прикладного программирования
- •Реализация функцийApIна уровне ос
- •Реализация функцийApIна уровне системы программирования
- •Реализация функцийApIс помощью внешних библиотек
- •Платформенно-независимый интерфейс posix
- •Пример программирования в различныхApiос
- •Текст программы дляWindows(WinApi)
- •Текст программы дляLinux(posixapi)
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 6 Проектирование параллельных взаимодействующих вычислительных процессов
- •Независимые и взаимодействующие вычислительные процессы
- •Средства синхронизации и связи при проектировании взаимодействующих вычислительных процессов
- •Использование блокировки памяти при синхронизации параллельных процессов
- •Возможные проблемы при организации взаимного исключения посредством использования только блокировки памяти
- •Алгоритм Деккера
- •Синхронизация процессов посредством операции «проверка и установка»
- •Семафорные примитивы Дейкстры
- •Мьютексы
- •Использование семафоров при проектировании взаимодействующих вычислительных процессов
- •Задача «поставщик – потребитель»
- •Пример простейшей синхронизации взаимодействующих процессов
- •Решение задачи «читатели – писатели»
- •Мониторы Хоара
- •Почтовые ящики
- •Конвейеры и очереди сообщений Конвейеры (программные каналы)
- •Очереди сообщений
- •Примеры создания параллельных взаимодействующих вычислительных процессов
- •Пример создания многозадачного приложения с помощью системы программированияBorlandDelphi
- •Пример создания комплекса параллельных взаимодействующих программ, выступающих как самостоятельные вычислительные процессы
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 7 Проблема тупиков и методы борьбы с ними
- •Понятие тупиковой ситуации при выполнении параллельных вычислительных процессов
- •Примеры тупиковых ситуаций и причины их возникновения
- •Пример тупика на ресурсах типаCr
- •Пример тупика на ресурсах типаCRиSr
- •Пример тупика на ресурсах типаSr
- •1: P(s2); 5: p(s1);
- •Формальные модели для изучения проблемы тупиковых ситуаций
- •Сети Петри
- •Вычислительные схемы
- •Модель пространства состояний системы
- •Методы борьбы с тупиками
- •Предотвращение тупиков
- •Обход тупиков
- •Обнаружение тупика
- •Обнаружение тупика посредством редукции графа повторно используемых ресурсов
- •Методы обнаружения тупика по наличию замкнутой цепочки запросов
- •Алгоритм обнаружения тупика по наличию замкнутой цепочки запросов
- •Контрольные вопросы и задачи Вопросы для проверки
- •Глава 8 Современные операционные системы
- •Семейство операционных системUnix Общая характеристика семейства операционных систем unix, особенности архитектуры семейства осunix
- •Основные понятия системыUnix
- •Виртуальная машина
- •Пользователь
- •Интерфейс пользователя
- •Привилегированный пользователь
- •Команды и командный интерпретатор
- •Процессы
- •Функционирование системыUnix
- •Выполнение процессов
- •Подсистема ввода/вывода
- •Перенаправление ввода/вывода
- •Файловая система
- •Структура файловой системы
- •Защита файлов
- •Межпроцессные коммуникации вUnix
- •Сигналы
- •Семафоры
- •Программные каналы
- •Очереди сообщений
- •Разделяемая память
- •Вызовы удаленных процедур (rpc)
- •Операционная системаLinux
- •Семейство операционных систем os/2WarpкомпанииIbm
- •Особенности архитектуры и основные возможности os/2Warp
- •Особенности интерфейса os/2Warp
- •Серверная операционная система os/2Warp4.5
- •Сетевая ос реального времениQnx
- •Архитектура системыQnx
- •Основные механизмы qnx для организации распредёленных вычислений
- •Контрольные вопросы и задачи Вопросы для проверки
- •Приложение а Тексты программы параллельных взаимодействующих задач
- •Приложение б Тексты программ комплекса параллельных взаимодействующих приложений
- •Текст программы а
- •Текст программы в
- •Текст программы d
- •Текст программы g
- •Список литературы
- •Часть 1 6
- •Глава 5 Архитектура операционных систем и интерфейсы прикладного 240
- •Глава 6 Проектирование параллельных взаимодействующих вычислительных 279
- •Глава 7 Проблема тупиков и методы 348
- •Глава 8 Современные операционные 391
Список литературы
1 Абрамова Н. А. и др. Новый математический аппарат для анализа внешнего поведения и верификации программ – М.: Институт проблем управления РАН, 1998. - 109 с.
2 Александров Е. К., Рудня Ю. Л. Микропроцессор 80386: как он работает и как работают с ним: Учебное пособие / Под ред. проф. Д. В. Пузанкова. – С-Пб.:
Элмор, 1994. – 274 с.
3 Эпплман Д. Win32 API и Visual Basic. – СПб.: Питер, 2001.
4 Кэнту М. Delphi 5 для профессионалов. – СПб.: Питер, 2001.
5 Афанасьев А. Н. Формальные языки и грамматики: Учебное пособие. – Ульяновск: УлГТУ, 1997. – 84 с.
6 Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. – М.: Мир, 1978. – т.1, 612 с. – т.2, 487 с.
7 Бартеньев О. В. Фортран для студентов. – М.: Диалог-МИФИ, 1999. – 342 с.
8 Павловская Т. А. C/C++: Учебник. – СПб.: Питер, 2001.
9 Богумирский Б. С. Руководство пользователя ПЭВМ: В 2-х ч. – С-Пб.: Ассоциация OILCO, 1992. – 357 с.
10 Бранденбау Дж. JavaScript: сборник рецептов для профессионалов. – СПб.: Питер, 2000. – 416 с.
11 Браун С. Операционная система UNIX. – М.: Мир, 1986. – 463 с.
12 Бржезовский А. В., Корсакова Н. В., Филъчаков В. В. Лексический и синтаксический анализ. Формальные языки и грамматики. – Л.: ЛИАП, 1990. – 31 с.
13 Бржезовский А. В., Фильчаков В. В. Концептуальный анализ вычислительных систем. – СПб.: ЛИАП, 1991. – 78 с.
14 Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989. – 360 с.
15 Волкова И. Л., Руденко Т. В. Формальные языки и грамматики. Элементы теории трансляции. – М.: Диалог-МГУ, 1999. – 62 с.
16 Гончаров А.Самоучитель HTML. –СПб.: Питер, 2000. – 240 с.
17 Гордеев А. В., Молчанов А. Ю. Применение сетей Петри для анализа вычислительных процессов и проектирования вычислительных систем: Учебное пособие. – Л.: ЛИАП, 1993. – 80 с.
18 Гордеев А.В.,Никитин А. В.,Фильчаков В. В.Организация пакетов прикладных программ: Учебное пособие. – Л.: ЛИАП, 1988. – 78 с.
19 Гордеев А. В.,Кучин Н. В.Проектирование взаимодействующих процессов в операционных системах: Учебное пособие. – Л.: ЛИАП, 1991. – 72 с.
20 Гордеев А. В., Решетникова Н. Н., Соловьев А. П.Дисковая операционная система реального времени. – СПб.: ГААП, 1994. – 44 с.
21 ГордеевА. В., Штепен В. А. Управление процессами в операционных системах реального времени: Учебное пособие. – Л.: ЛИАП, 1988. – 76 с.
22 Григорьев В. Л.Микропроцессор i486. Архитектура и программирование (в 4-х кн.). – М.: Гранал, 1993.
23. Грис Д.Конструирование компиляторов для цифровых вычислительных машин. – М.: Мир, 1975. – 544 с.
24 Гудмэн Дж.Секреты жесткого диска. – Киев: Диалектика, 1994. – 256 с.
25 Д. Ван Тассел.Стиль, разработка, эффективность, отладка и испытание программ. – М.: Мир, 1985. – 332 с.
26 ДворянкинА.И,Основы трансляции: Учебное пособие. – Волгоград: ВолгГТУ, 1999. - 80 с.
27 Дейкстра Е.Взаимодействующие последовательные процессы//Языки программирования (под ред. Ф. Женюи). – М.: Мир, 1972.
28. Дейтел Г.Введение в операционные системы. В двух томах/Пер, с англ. Л. А. Теплицкого, А. Б. Ходулева, В. С. Штаркмана под ред. В. С. Штаркмана. – М.: Мир, 1987.
29 Джордейн Р.Справочник программиста персональных компьютеров типаIBM PC, XTи АТ/Пер. с англ. – М.: Финансы и статистика, 1991. – 544 с.
30 Донован Дж.Системное программирование. – М.: Мир, 1975. – 540 с.
31 Дунаев С. UNIX System V. Release 4.2.Общее руководство. – М.: Диалог-МИФИ, 1995. - 287 с.
32 Жаков В.И.,КоровинскийВ. В.,Фильчаков В. В.Синтаксический анализ и генерация кода. – СПб.: ГААП, 1993. – 26 с.
33 Жаков В. И.,КорсаковаН. В.,НикитинА. В.,Фильчаков В. В.Структуры данных: Учебное пособие. – Л.: ЛИАП. 1989. – 76 с.
34 НемнюгинС.,Перколаб Л.Изучаем Turbo Pascal. –СПб.: Питер, 2000.
35 КалвертЧ. Delphi 4.Энциклопедия пользователя. – Киев: ДиаСофт, 1998.
36 Костер X.Основы Windows NTи NTFS/Пер. с англ. – М.: Изд. отдел «Русская редакция» ТОО «Channel Trading Ltd.», 1996. – 440с.
37 Кейлингерт П.Элементы операционных систем. Введение для пользователей/ Пер. с англ. Б. Л. Лисса и С. П. Тресковой. – М.: Мир, 1985. – 295 с.
38 Кейслер С.Проектирование операционных систем дня малых ЭВМ. – М.: Мир, 1986. – 680 с.
39 Керниган Б., Пайк Р. UNIX –универсальная среда программирования. – М.: Финансы и статистика, 1992. – 420 с.
40 Клочко В. И.Теория вычислительных процессов и структур: Учебное пособие. – Краснодар: Изд-во КубГТУ, 1999. – 118 с.
41 Коваленко И. Н. QNX:Золушка в семье UNIX.–
http://www.lgg.ru/~nigl/QNX/ doc/Kovalenko_cinderella.html, 1995.
42 Компаниец Р. И.,Маньков Е. В., ФилатовН. Е.Системное программирование. Основы построения трансляторов/Учебное пособие для высших и средних учебных заведений. – СПб.: КОРОНА принт, 2000. – 256 с.
43 Концептуальное моделирование информационных систем/Под ред. В. В. Фильчакова. – СПб.: СПВУРЭ ПВО, 1998. – 356 с.
44 Краковяк С.Основы организации и функционирования ОС ЭВМ. – М.: Мир, 1988. – 480 с.
45 ЛьюисФ. и др. Теоретические основы построения компиляторов: –М.: Мир, 1979. – 483 с.
46 МайерсДж.Надёжность программного обеспечения. – М.: Мир, 1987. – 360 с.
47 Мельников Б. Ф.Подклассы класса контекстно-свободных языков. – М.: Изд-во МГУ, 1995. – 174 с.
48 Микропроцессоры 80х86, Pentium:Архитектура, функционирование, программирование, оптимизация кода/В. М. Михальчук, А. А. Ровдо, С. В. Рыжиков. – Мн.: Битрикс, 1994. – 400 с.
49. Мурата Т.Сети Петри: Свойства, анализ, приложения (обзор) // ТИИЭР, 1989, № 4. С. 41-85.
50 МэдникС,Донован Дж.Операционные системы. – М.: Мир, 1978. – 792 с.
51 Непомнящий В.А.,Рякин О. М.Прикладные методы верификации программ/ Под ред. А. П. Ершова. – М.: Радио и связь, 1988. – 256 с.
52 Нортон П.Персональный компьютер фирмы IBMи операционная системаMS-DOS/Пер. с англ. – М.: Радио и связь, 1992. – 416 с.
53 НортонП.,Гудмен Дж.Внутренний мир персональных компьютеров. Изд. 8-е. Избранное от Питера Нортона /Пер. с англ. – К.: Диасофт, 1999. – 584 с.
54 ОбуховИ. QNX: Как надо делать операционные системы / PC Week RE № 7, 1998.С. 58–59.
55 Озеров В.Советы по Дельфи (Версия 1.3.1 от 1.07.2000). –
http://www. webmachine.ru/delphi.
56 ОлиферН. А.,Олифер В. Г. Сетевые операционные системы. – СПб.: Питер, 2001.
57 Операционная система СМ ЭВМ РАФОС: Справочник /Под ред. В. П. Семика. – М.: Финансы и статистика, 1984. – 207 с.
58 Операционные системы – от PCдо PS/2 / Ж. Фодор, Д. Бонифас, Ж. Танги. Пер. с франц. – М.: Мир, 1992. – 319 с.
59 Орловский Г. В.Введение в архитектуру микропроцессора 80386. – СПб: Сеанс-Пресс Ltd,Инфокон, 1992. – 240 с.
60 ОС QNX:Обзор системы. –
http://www.lgg. ru/~nigl/QNX/doc/about_qnx.html.
61 Red Hat Linux6.2/Под ред. А. Пасечника – СПб.: Питер, 2000.
62 Петзолд Ч.Программирование для Windows 95/Пер. с англ. – СПб.: BHV, 1997.В 2-х т.
63 ПетруцосЭ.,Хау К. Visual Basic 6и VBA.–СПб. и др.: Питер, 2000.– 425 с.
64 Питерсон Дж.Теория сетей Петри и моделирование систем/Пер, с англ. – М.: Мир, 1984. – 264 с.
65 Полетаева И. А.Методы трансляции: Конспект лекций. – Новосибирск: Изд-во НГТУ, 1998. – Ч. 2. – 51 с.
66 ПраттТ.,Зелковиц М.Языки программирования: реализация и разработка. – СПб.: Питер, 2001.
67 Рассел Ч., Кроуфорд Ш. UNIXи Linux: книга ответов. – СПб.: Питер, 1999. – 297с.
68 Рейчард К., Фостер -Джонсон Э. UNIX:справочник. – СПб.: Питер, 2000. – 384 с.
69 Ресурсы Microsoft Windows NT Workstation 4.0/Пер. с англ. – СПб.: BHV, 1998. – 800 с.
70 РобачевскийА.М.Операционная система UNIX.–СПб.: BHV, 1997. – 528 с.
71 Рогаткин Д., Федоров A. Borland Pascalв среде Windows. –Киев: Диалектика, 1993. – 511 с.
72 Рудаков П. И., Федотов М.А. Основы языка Pascal:Учебный курс. – М.: Радио и связь: Горячая линия – Телеком, 2000. – 205 с.
73 Рудаков П. И., Финогенов К. Г.Программируем на языке ассемблера IBM PC. Ч. 3. Защищенный режим. – М.: Энтроп, 1996. – 320 с.
74 Серебряков В. И.Лекции по конструированию компиляторов. – М.: МГУ, 1997. – 171 с.
75 Соловьев Г.Н.,Никитин В. Д.Операционные системы ЭВМ: Учебное пособие. – М.: Высшая школа, 1989. – 255 с.
76 Страуструп Б.Язык программирования Си++. – М.: Радио и связь, 1991. – 348 с.
77 Стрыгин В. В.,Щарев Л. С.Основы вычислительной, микропроцессорной техники и программирования. – М.: Высшая школа, 1989. – 478 с.
78 СтудневЛ. Boot-менеджеры – кто они и откуда?//Вуtе Россия, 1998, № 4. С. 70–75.
79 Тревеннор А.Операционные системы малых ЭВМ /Пер. с англ. А. Г. Васильева. – М.: Финансы и статистика, 1987. – 188 с.
80 Уинер Р.Язык Турбо С. – М.: Мир, 1991. – 380 с.
81 Уокерли Дж.Архитектура и программирование микро-ЭВМ. – М.: Мир, 1984. – 486 с.
82 Федоров В. В.Основы построения трансляторов: Учебное пособие. – Обнинск: ИАТЭ, 1995. – 105 с.
83 Финогенов К. Г.Основы языка ассемблера. – М.: Радио и связь, 1999. – 288 с.
84 Фролов А. В., Фролов Г. В.Защищённый режим процессоров Intel 80286, 80386, 80486.Практическое руководство по использованию защищённого режима. – М.: Диалог-МИФИ, 1993. – 240 с.
85 Фролов А. В., Фролов Г. В.Операционная система OS/2 Warp.–М.: Диалог-МИФИ (Библиотека системного программиста; т. 20), 1995. – 272 с.
86 Фролов А. В., Фролов Г. В.Программирование для IBM OS/2 Warp: Ч.1. –М.: Диалог-МИФИ, 1996. – 288 с.
87 Фролов А.В.,Фролов Г. В.Программирование для Windows NT. –М.: Диалог-МИФИ (Библиотека системного программиста; т. 26, 27), 1996.
88 Хоар Ч.Взаимодействующие последовательные процессы. – М.: Мир, 1989. – 264 с.
89 Цикритзис Д., Бернстайн Ф.Операционные системы /Пер. с англ. В. Л. Ушковой и Н. Б. Фейгельсон. – М.: Мир, 1977. – 336 с.
90 ЧернышевА.В.Инструментальные средства программирования из состава ОС UNIXи их применение в повседневной практике. – М.: Изд-во МГУП, 1999. – 191 с.
91 Шапошников И. В.Интернет-программирование. – СПб.: БХВ – Санкт-Петербург, 2000. – 214 с.
92 ШоуА. Логическое проектирование операционных систем /Пер. с англ. В. В. Макарова и В. Д. Никитина. – М.: Мир, 1981. – 360 с.
93 Юров В. Assembler:Учебник. – СПб. и др.: Питер, 2000. – 622 с.
94 ЮщенкоС.В.ОС QNX –реальное время, реальные возможности /Мир ПК, № 5-6,1995.
95 Windows 2000для системного администратора. Microsoft Windows 2000: Serverи Professional.Русские версии / Под общ. ред. А. Н. Чекмарева и Д. Б. Вишнякова. – СПб.: BHV, 2000. – 1056с.
96 OS/2 Warpизнутри. В 2-х томах. / М. Минаси, Б. Камарда и др. Пер. с англ. С. Сокорновой. – С-Пб.: Питер, 1996. Т. 1. – 528 с. Т. 2 – 512 с.
97 Understanding Windows NT POSIX Compatibility by Ray Cort Microsoft Corporate Technology Team, Created: May/June 1993.
98 http://www.borland.ru/.
99 http://www.corba.ru/.
100 http://www.gnu.org/.
101 http://java.sun.com/.
102 http://www.linux.zp.ua:8100/philosophy/philosophy.ru.html.
103 http://www.microsoft.com/RUS/lnternet/intranets.html.
104 http://www.microsoft.com/RUS/mssol99/prod/dev/vc.htm.
105 http://www.microsoft.com/RUS/mssol99/prod/dev/vb.htm.
106 http://www.microsoft.com/rus/net/.
107 http://www.perl.org/.
108 http://www.php.net/.
СОДЕРЖАНИЕ
Предисловие 2
От издательства 6