x-uni.com
регистрация / вход
сейчас на линии 166 чел.
x-uni.com
x-uni.com
 
Математика
Биология
Литература
Русский язык
ВИДЕО
Физика
Химия
История
Английский
 
ВИДЕО
 
 
регистрация / вход
сейчас на линии 166 чел.
Операционные системы, Разработка и реализация, Таненбаум Э., Вудхалл А., 2007

Операционные системы, Разработка и реализация, Таненбаум Э., Вудхалл А., 2007

Операционные системы, Разработка и реализация, Таненбаум Э., Вудхалл А., 2007.

   Третье издание классического труда Эндрю Таненбаума " Операционные системы. Разработка и реализация" - это единственный в своем роде учебник, в котором успешно сочетаются теория и практика построения операционных систем. В книге подробно описываются процессы и межпроцессное взаимодействие, семафоры, мониторы, передача сообщений, алгоритмы работы планировщика, ввод/вывод, разрешение тупиковых ситуаций, драйверы устройств, алгоритмы управления памятью, разработка файловых систем, а также затрагиваются вопросы безопасности и защиты данных. В то же время обсуждается конкретная UNIX-совместимая операционная система MINIX и приводится ее исходный код (вы найдете его на компакт-диске). Это позволяет не только изучать основополагающие принципы, но и наблюдать их применение в реальных операционных системах.

   Эндрю Таненбаум (Andrew S. Tanenbaum) получил степень бакалавра в Массачусетсском технологическом институте и степень доктора наук в Калифорнийском университете в Беркли. Он является профессором кибернетики в университете Врийе (Vrije) в Амстердаме, где возглавляет Группу компьютерных систем. Кроме того, вплоть до 2005 года автор в течение 12 лет являлся деканом межуниверситетской школы аспирантов по кибернетике и обработке изображений (Advanced School for Computing and Imaging), занимающейся исследованиями в области современных параллельных систем, распределенных систем и систем обработки изображений.
В прошлом автор занимался исследованиями компиляторов, операционных систем, компьютерных сетей и локальных распределенных систем. В настоящее время его усилия в основном направлены на разработку систем безопасности, особенно для операционных систем, компьютерных сетей и глобальных распределенных систем. Результатом этих исследовательских проектов стали более 100 статей в журналах и отчетах конференций. Э. Таненбаум является автором пяти книг.
Профессор Таненбаум написал множество программ. Под его руководством разрабатывалась архитектура проекта Amsterdam Compiler Kit — инструмента, предназначенного для создания кросс-платформенных компиляторов. Кроме того, он руководил созданием учебной операционной системы MINIX — упрощенной версии системы UNIX, на базе которой была впоследствии разработана система Linux. Вместе со своими аспирантами и программистами он участвовал в разработке высокопроизводительной локальной распределенной операционной системы Amoeba. Также профессор является одним из разработчиков высокопроизводительной распределенной системы Globe, ориентированной на миллионы пользователей. В настоящее время все эти программные продукты свободно распространяются через Интернет.

СОДЕРЖАНИЕ
Об авторах 11
Предисловие 14
От издателя перевода 17
Глава 1. Введение 18
1.1. Понятие операционной системы 21
1.1.1. Операционная система как расширенная машина 21
1.1.2. Операционная система как менеджер ресурсов 22
1.2. История развития операционных систем 24
1.2.1. Первое поколение (1945-1955): электронные лампы и коммутационные панели 24
1.2.2. Второе поколение (1955-1965): транзисторы и системы пакетной обработки 25
1.2.3. Третье поколение (1965-1980): интегральные схемы и многозадачность 27
1.2.4. Четвертое поколение (с 1980 года по наши дни): персональные компьютеры 33
1.2.5. История MINIX3 35
1.3. Основные концепции 39
1.3.1. Процессы 40
1.3.2. Файлы 42
1.3.3. Оболочка 46
1.4. Системные вызовы 47
1.4.1. Системные вызовы для управления процессами 50
1.4.2. Системные вызовы для управления сигналами 53
1.4.3. Системные вызовы для управления файлами 55
1.4.4. Системные вызовы для управления каталогами 60
1.4.5. Системные вызовы для защиты 63
1.4.6. Системные вызовы для управления временем 64
1.5. Структура операционной системы 65
1.5.1. Монолитные системы 65
1.5.2. Многоуровневые системы 67
1.5.3. Виртуальные машины 69
1.5.4. Экзоядра 72
1.5.5. Модель клиент-сервер 72
1.6. Краткий обзор остальных глав 74
Резюме 75
Вопросы и задания 75
Глава 2. Процессы 78
2.1. Знакомство с процессами 78
2.1.1. Модель процессов 78
2.1.2. Создание процессов 80
2.1.3. Завершение процессов 82
2.1.4. Иерархии процессов 83
2.1.5. Состояния процессов 84
2.1.6. Реализация процессов 86
2.1.7. Программные потоки 88
2.2. Взаимодействие между процессами 92
2.2.1. Гонки 93
2.2.2. Критические секции 94
2.2.3. Взаимное исключение с активным ожиданием 95
2.2.4. Примитивы взаимодействия между процессами 100
2.2.5. Семафоры 103
2.2.6. Мьютексы 105
2.2.7. Мониторы 106
2.2.8. Передача сообщений 110
2.3. Классические проблемы взаимодействия между процессами 113
2.3.1. Проблема обедающих философов 113
2.3.2. Проблема читателей и писателей 116
2.4. Планирование 118
2.4.1. Основы планирования 118
2.4.2. Планирование в системах пакетной обработки 124
2.4.3. Планирование в интерактивных системах 127
2.4.4. Планирование в системах реального времени 134
2.4.5. Политика и механизм планирования 135
2.4.6. Планирование программных потоков 135
2.5. Процессы в MINIX3 137
2.5.1. Внутренняя структура системы MINIX 3 138
2.5.2. Управление процессами в MINIX 3 141
2.5.3. Взаимодействие между процессами в MINIX 146
2.5.4. Планирование процессов в MINIX 3 148
2.6. Реализация процессов в MINIX 3 151
2.6.1. Структура исходного кода MINIX 3 151
2.6.2. Компиляция и запуск MINIX 3 155
2.6.3. Общие заголовочные файлы 157
2.6.4. Заголовочные файлы MINIX 3 164
2.6.5. Структуры данных процессов и заголовочные файлы 173
2.6.6. Начальная загрузка MINIX 3 184
2.6.7. Инициализация системы 188
2.6.8. Обработка прерываний в MINIX 195
2.6.9. Взаимодействие между процессами в MINIX 3 206
2.6.10. Планирование процессов в MINIX 3 210
2.6.11. Аппаратная поддержка ядра 214
2.6.12. Утилиты и библиотека ядра 219
2.7. Системное задание в MINIX 3 221
2.7.1. Обзор системного задания 223
2.7.2. Реализация системного задания 227
2.7.3. Реализация системной библиотеки 230
2.8. Таймерное задание в MINIX 3 233
2.8.1. Аппаратное обеспечение часов 234
2.8.2. Программное обеспечение часов 235
2.8.3. Обзор драйвера часов в MINIX 3 238
2.8.4. Реализация драйвера часов в MINIX 3 243
Резюме 245
Вопросы и задания 246
Глава 3. Ввод-вывод 252
3.1. Аппаратное обеспечение ввода-вывода 252
3.1.1. Устройства ввода-вы вода 253
3.1.2. Контроллеры устройств 254
3.1.3. Ввод-вывод с отображением на память 256
3.1.4. Прерывания 257
3.1.5. Прямой доступ к памяти 258
3.2. Программное обеспечение ввода-вывода 261
3.2.1. Назначение программного обеспечения ввода-вывода 261
3.2.2. Обработчики прерываний 263
3.2.3. Драйверы устройств 263
3.2.4. Независимое от устройств программное обеспечение ввода-вывода 265
3.2.5. Программное обеспечение ввода-вывода пользовательского пространства 268
3.3. Взаимная блокировка 270
3.3.1. Ресурсы 270
3.3.2. Механизм взаимной блокировки 272
3.3.3. Алгоритм страуса 276
3.3.4. Обнаружение и устранение взаимных блокировок 277
3.3.5. Предотвращение взаимных блокировок 278
3.3.6. Избежание взаимных блокировок 280
3.4. Ввод-вывод в MINIX3 286
3.4.1. Обработчики прерываний и доступ к вводу-выводу в MINIX 3 286
3.4.2. Драйверы устройств в MINIX 3 290
3.4.3. Аппаратно-независимый код ввода-вывода в MINIX 294
3.4.4. Программы ввода-вывода пользовательского уровня в MINIX 294
3.4.5. Взаимная блокировка в MINIX 295
3.5. Блочные устройства в MINIX 3 296
3.5.1. Обзор драйверов блочных устройств MINIX 3 296
3.5.2. Общие программы для драйверов блочных устройств 299
3.5.3. Библиотека поддержки драйверов 303
3.6. Виртуальные диски 305
3.6.1. Аппаратное и программное обеспечение виртуального диска 306
3.6.2. Драйвер виртуального диска в MINIX 3 307
3.6.3. Реализация драйвера виртуального диска в MINIX 3 309
3.7. Реальные диски 313
3.7.1. Аппаратное обеспечение диска 313
3.7.2. RAID 315
3.7.3. Программное обеспечение жестких дисков 316
3.7.4. Драйвер жестких дисков в MINIX 3 323
3.7.5. Реализация драйвера жесткого диска в MINIX 3 327
3.7.6. Дисковод гибких дисков 337
3.8. Терминалы 339
3.8.1. Аппаратное обеспечение терминала 340
3.8.2. Программное обеспечение терминала 345
3.8.3. Драйвер терминала в MINIX 3 354
3.8.4. Реализация аппаратно-независимого драйвера терминала 370
3.8.5. Реализация драйвера клавиатуры 390
3.8.6. Реализация драйвера экрана 398
Резюме 407
Вопросы и задания 408
Глава 4. Управление памятью 414
4.1. Базовые механизмы управления памятью 415
4.1.1. Однозадачная система без подкачки и замещения страниц 415
4.1.2. Многозадачная система с фиксированными разделами 416
4.1.3. Переадресация и защита 418
4.2. Подкачка 419
4.2.1. Управление памятью с помощью битовых карт 422
4.2.2. Управление памятью с помощью связанных списков 423
4.3. Виртуальная память 426
4.3.1. Замещение страниц 427
4.3.2. Таблицы страниц 431
4.3.3. Буферы быстрого преобразования адресов 435
4.3.4. Инвертированные таблицы страниц 438
4.4. Алгоритмы замещения страниц 440
4.4.1. Оптимальный алгоритм замещения страниц 441
4.4.2. Алгоритм NRU 442
4.4.3. Алгоритм FIFO 443
4.4.4. Алгоритм второго шанса 443
4.4.5. Алгоритм часов 444
4.4.6. Алгоритм LRU 445
4.4.7. Программное моделирование алгоритма LRU 446
4.5. Разработка систем замещения страниц 448
4.5.1. Модель рабочего набора 449
4.5.2. Локальная и глобальная политики распределения памяти 451
4.5.3. Размер страницы 454
4.5.4. Интерфейс виртуальной памяти 455
4.6. Сегментация 456
4.6.1. Реализация сегментации 460
4.6.2. Сегментация с замещением страниц в Intel Pentium 460
4.7. Знакомство с менеджером процессов в MINIX3 466
4.7.1. Распределение памяти 468
4.7.2. Обработка сообщений 471
4.7.3. Структуры данных и алгоритмы менеджера процессов 474
4.7.4. Системные вызовы fork, exit и wait 478
4.7.5. Системный вызов exec 480
4.7.6. Системный вызов brk 484
4.7.7. Обработка сигналов 484
4.7.8. Прочие системные вызовы 493
4.8. Управление памятью в MINIX 494
4.8.1. Заголовочные файлы и структуры данных 494
4.8.2. Главная программа 497
4.8.3. Реализация системных вызовов fork, exit и wait 503
4.8.4. Реализация системного вызова exec 505
4.8.5. Реализация системного вызова brk 509
4.8.6. Реализация сигналов 510
4.8.7. Реализация других системных вызовов 519
4.8.8. Утилиты управления памятью 522
Резюме 524
Вопросы и задания 525
Глава 5. Файловые системы 530
5.1. Файлы 531
5.1.1. Именование файлов 531
5.1.2. Структура файла 533
5.1.3. Типы файлов 535
5.1.4. Доступ к файлам 537
5.1.5. Атрибуты файлов 538
5.1.6. Операции с файлами 539
5.2. Каталоги 541
5.2.1. Простые каталоги 541
5.2.2. Иерархические системы каталогов 542
5.2.3. Пути 543
5.2.4. Операции с каталогами 546
5.3. Реализация файловой системы 547
5.3.1. Структура файловой системы 547
5.3.2. Реализация файлов 549
5.3.3. Реализация каталогов 553
5.3.4. Организация дискового пространства 559
5.3.5. Надежность файловой системы 563
5.3.6. Производительность файловой системы 571
5.3.7. Файловые системы с журнальной структурой 576
5.4. Безопасность 578
5.4.1. Безопасное окружение 578
5.4.2. Общие виды атак на систему безопасности 584
5.4.3. Принципы разработки механизмов безопасности 585
5.4.4. Аутентификация пользователей 586
5.5. Механизмы защиты 590
5.5.1. Домены защиты 590
5.5.2. Списки управления доступом 593
5.5.3. Мандаты 595
5.5.4. Секретные каналы 598
5.6. Обзор файловой системы MINIX3 601
5.6.1. Сообщения 602
5.6.2. Структура файловой системы 603
5.6.3. Битовые карты 607
5.6.4. Индексные узлы 609
5.6.5. Кэш блоков 611
5.6.6. Каталоги и пути 613
5.6.7. Дескрипторы файлов 616
5.6.8. Блокировка файлов 617
5.6.9. Каналы ввода-вывода и специальные файлы 618
5.6.10. Пример системного вызова read 620
5.7. Реализация файловой системы MINIX 3 621
5.7.1. Заголовочные файлы и глобальные структуры данных 621
5.7.2. Таблицы 625
5.7.3. Главная программа 634
5.7.4. Операции с отдельными файлами 638
5.7.5. Каталоги и пути 648
5.7.6. Прочие вызовы файловой системы 652
5.7.7. Интерфейс устройств ввода-вывода 654
5.7.8. Поддержка дополнительных системных вызовов 660
5.7.9. Утилиты файловой системы 662
5.7.10. Прочие компоненты MINIX3 662
Резюме 663
Вопросы и задания 664
Глава 6. Библиография 669
6.1. Рекомендуемая литература 669
6.1.1. Вводные и общие публикации 669
6.1.2. Процессы 671
6.1.3. Ввод-вывод 672
6.1.4. Управление памятью 673
6.1.5. Файловые системы 674
6.2. Алфавитный список литературы 675
Приложение А. Установка MINIX 3 683
А. 1. Подготовка к установке 683
А.2. Загрузка 685
А.З. Установка на жесткий диск 686
А.4. Тестирование 688
А.5. Использование симулятора 689
Приложение Б. Список файлов MINIX 3 на компакт-диске 691
Заголовочные файлы 691
Драйверы 691
Ядро 692
Файловая система 692
Менеджер процессов 693
Алфавитный указатель 694
Компакт-диск MINIX 3 703
Системные требования 703
Аппаратное обеспечение 703
Программное обеспечение 703
Установка 703
Поддержка продукта 703

Скачать бесплатно на сайте fileskachat.com

Предложения интернет-магазинов

Создаем информационные системы (+CD)

Автор(ы): Фельдман Яков Адольфович   Издательство: Солон-пресс, 2006 г.

Цена: 241 руб.   Купить

В книге подробно описана новая модель данных и ее программная реализация, предложенная и выполненная автором. Цель - дать возможность каждому предприятию построить единую информационную систему высокого качества. Работающая программа и общий подход, описанный в книге, дают возможность решить эту задачу. Особое место в книге занимает применение системы в средней школе - как для тестирования учащихся, так и для управления всем педагогическим процессом. К книге прилагается компакт-диск с копиями экранов и демо-версией программы.


Изучаем экологию города на примере московского столичного региона

Автор(ы): Александрова Вера Павловна, Нифантьева Елена Анатольевна, Гусейнов Амир Нуруллаевич   Издательство: Бином, 2009 г.

Цена: 377 руб.   Купить

Приведенные в сборнике задания могут использоваться педагогами общеобразовательных учреждений при проведении лабораторно-полевых исследований экологической направленности, при организации различных форм проектной деятельности учащихся в рамках урочных и внеурочных занятий. Сборник заданий подготовлен педагогами, работающими в составе Московской городской экспериментальной площадки по теме: "Разработка регионального компонента экологического образрвания в столичном мегаполисе" (2004-2007 гг., научный руководитель член-корр. РАО А.Н.Захлебный).


Реализация нового образовательного стандарта: потенциал системы Л.В.Занкова

Автор(ы): Ванцян Александр Григорьевич, Петрова Елена Николаевна, Яковлева Светлана Геннадьевна, Нечаева Наталия Васильевна, Плотникова Анна Юрьевна   Издательство: Дом Федорова, 2011 г.

Цена: 180 руб.   Купить

Методическое пособие разработано Федеральным научно-методическим центром им. Л.В. Занкова. Цель пособия - помочь учителю увидеть готовность учебно-методического комплекта, разработанного в системе Л.В. Занкова, к реализации Федерального государственного образовательного стандарта (ФГОС), а также максимально использовать потенциал УМК для достижения планируемых результатов. Среди адресатов книги - и те педагоги, которые в этом году начинают работать по новым образовательным стандартам с использованием занковских УМК. В пособии на обширном материале показано, как именно отбор и структурирование материала, методический аппарат, организация процесса обучения, выстроенные на основе педагогической системы Л.В. Занкова, позволяют реализовать положения нового образовательного Стандарта: осуществление духовно-нравственного воспитания; реализация системно-деятельностной парадигмы; формирование универсальных учебных действий (УУД); развитие исследовательского поведения средствами учебно-методического комплекта; работа с информацией. В пособии проанализирован содержательный, дидактический и методический аппарат УМК системы Л.В. Занкова в свете выполнения требований ФГОС. Особое внимание уделено вопросам конструирования урока в системе развивающего обучения. Книга содержит также краткие методические рекомендации по созданию рабочей программы, оформлению портфолио учителя, а также обширный список литературы. 2-е издание, переработанное


Самостоятельная подготовка к ЕГЭ по информатике

Автор(ы): Кашаев Сергей Михайлович, Шерстнева Людмила Владимировна   Издательство: BHV, 2009 г.  Серия: Информатика и ИКТ

Цена: 256 руб.   Купить

Книга предназначена для самостоятельной подготовки к ЕГЭ по информатике в общеобразовательных школах и содержит следующие разделы: "Информация и информационные процессы", "Системы счисления", "Логика", "Информационные модели и системы", "Компьютер, операционные системы и программные оболочки", "Обработка графической и звуковой информации", "Электронные таблицы", "Базы данных", "Телекоммуникационные технологии", "Алгоритмизация и программирование". Последней теме, с учетом преобладания этих вопросов в тестах ЕГЭ, посвящены три главы: алгоритмизация задач, программирование, алгоритмы без программирования. Каждая глава построена следующим образом: сначала рассматриваются необходимые теоретические сведения, по мере изложения которых приводятся типовые примеры, в конце содержится отдельный раздел с примерами. Книга может использоваться как при подготовке к ЕГЭ, так и в текущем учебном процессе учащимися и учителями школ и колледжей.

ПЕДСОВЕТ / ФОРУМ

Новости образования

Новости науки

флаг италииX-UNI рекомендует репетитора итальянского языка: yuliyavenezia (Скайп).

Репетитор по Скайпу без посредников

Неограниченная аудитория, свободный график. Начните свой бизнес здесь!