Файл: Debian Таненбаум Бос.pdf

ВУЗ: Не указан

Категория: Книга

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

Добавлен: 29.10.2018

Просмотров: 45492

Скачиваний: 169

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

16  

 Оглавление

12.5. Управление проектом   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1097

12.5.1. Мифический человеко-месяц  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1097
12.5.2. Структура команды  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1098
12.5.3. Роль опыта   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1100
12.5.4. Панацеи нет  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1101

12.6. Тенденции в проектировании операционных систем   . . . . . . . . . . . . . . . . . . . . . . . . . .  1102

12.6.1. Виртуализация и облако   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1102
12.6.2. Многоядерные микропроцессоры  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1103
12.6.3. Операционные системы с большим адресным пространством   . . . . . . . . . . . .  1103
12.6.4. Беспрепятственный доступ к данным  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1104
12.6.5. Компьютеры с автономным питанием . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1105
12.6.8. Встроенные системы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1105

12.8. Краткие выводы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1106

Вопросы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1106

Глава 13. Библиография  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1110

13.1. Дополнительная литература   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1110

13.1.1. Введение и общие труды  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1110
13.1.2. Процессы и потоки   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1111
13.1.3. Управление памятью   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1111
13.1.4. Файловые системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1112
13.1.5. Ввод-вывод   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1112
13.1.6. Взаимоблокировка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1113
13.1.7. Виртуализация и облако   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1114
13.1.8. Многопроцессорные системы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1114
13.1.9. Безопасность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1115
13.1.10. Изучение конкретных примеров 1: Unix, Linux и Android . . . . . . . . . . . . . . . . . .  1117
13.1.11. Изучение конкретных примеров 2: Windows 8   . . . . . . . . . . . . . . . . . . . . . . . . . .  1118
13.1.12. Проектирование операционных систем   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1118

13.2. Алфавитный список литературы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1119


background image

Предисловие

Четвертое издание этой книги во многом отличается от третьего. Поскольку развитие 
операционных систем не стоит на месте, приведение материала к современному состо-
янию потребовало внесения большого количества мелких изменений. Глава, посвящен-
ная мультимедийным операционным системам, была перемещена в Интернет, главным 
образом для освобождения места для нового материала и предотвращения разрастания 
книги до абсолютно неуправляемого размера. Глава, посвященная Windows Vista, 
удалена, поскольку Vista не оправдала возлагавшихся на нее компанией Microsoft на-
дежд. Также была удалена глава, посвященная Symbian, поскольку эта система сейчас 
распространена далеко не так широко, как прежде. Материал о Vista был заменен све-
дениями о Windows 8, а материал о Symbian — информацией об Android. Кроме этого, 
появилась совершенно новая глава о виртуализации и облачных вычислениях. Далее 
приводится краткое описание внесенных изменений.

Глава 1 была существенно переработана и обновлена, но за исключением нового раздела 
о мобильных компьютерах никакие основные разделы не были добавлены или удалены.

Глава 2 обновлена за счет удаления устаревшего и добавления нового материала. 
К примеру, был добавлен новый примитив синхронизации фьютекс и раздел о том, 
как полностью избежать блокировки с помощью чтения — копирования — обновления.

Глава 3 стала более сконцентрированной на современном оборудовании и менее на-
правленной на рассмотрение сегментации и MULTICS.

Из главы 4 убраны упоминания о компакт-дисках, поскольку они уже потеряли свою 
значимость, а их место заняли более современные решения (флеш-носители). Также 
к разделу, посвященному RAID-системам, добавлено описание RAID-массива уровня 6.

В главу 5 внесено множество изменений. Из нее убраны описания устаревших 
устройств, таких как ЭЛТ-дисплеи и приводы компакт-дисков, и добавлены устрой-
ства, разраюботанные по новым технологиям, такие как сенсорные экраны.

Глава 6 почти не изменилась. Тема взаимоблокировок, за исключением некоторых 
новых результатов, остается практически неизменной.

Глава 7 совершенно новая. Она посвящена важным темам виртуализации и облачных 
вычислений. В качестве тематического исследования к ней добавлен раздел о VMware.

Глава 8 представляет собой обновленную версию предыдущего материала по много-
процессорным системам. Теперь в ней больше внимания уделено мультиядерным 
и многоядерным системам, важность которых в последние несколько лет постоянно 
возрастает. Теперь здесь поднят ставший в последнее время более острым вопрос о со-
гласованности данных кэша.

Глава 9 подверглась существенному пересмотру и реорганизации с добавлением боль-
шого объема нового материала об использовании ошибок кода, о вредоносных програм-
мах и соответствующих мерах защиты. Более подробно рассмотрены такие атаки, как 
разыменование нулевого указателя и переполнение буферов. Теперь дано подробное 


background image

18  

 Предисловие

описание защитных механизмов, NX-бит и рандомизации адресного пространства, 
а также способов, с помощью которых злоумышленники пытаются их преодолеть.

Глава 10 претерпела значительные изменения. Был обновлен материал, касающийся 
Unix и Linux, но главным дополнением можно считать новый довольно объемный 
раздел, посвященный операционной системе Android, которая часто встречается на 
смартфонах и планшетных компьютерах.

Глава 11 в третьем издании была посвящена Windows Vista. Теперь она заменена гла-
вой, посвященной Windows 8, а точнее Windows 8.1. То есть теперь в главе рассматри-
вается самая актуальная версия.

Глава 12 представляет собой пересмотренную версию главы 13 из прошлого издания.

Глава 13 — это существенно обновленный список предлагаемого к изучению материала. 
Кроме того, список ссылок пополнился 223 новыми ссылками на работы, опублико-
ванные после выхода третьего издания этой книги.

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

Дополнительные материалы для преподавателей (на английском языке) можно най-
ти по адресу 

www.pearsonhighered.com/tanenbaum

. Там есть схемы, выполненные 

в PowerPoint, программные средства для изучения операционных систем, лаборатор-
ные работы для студентов, симуляторы и дополнительные материалы для использова-
ния в ходе преподавания курса, посвященного операционным системам. Преподавате-
лям, использующим данную книгу в своем курсе, стоит туда заглянуть. 

В работе над четвертым изданием принимали участие множество людей. В первую 
очередь это профессор Херберт Бос из Свободного университета Амстердама, ставший 
соавтором книги. Он специалист по безопасности и UNIX и обладает обширными по-
знаниями в области компьютерных систем, поэтому очень хорошо, что он составил мне 
компанию. Им написано много нового материала, за исключением того, о чем будет 
упомянуто далее.

Наш редактор Трейси Джонсон (Tracy Johnson) была, как обычно, на высоте, приводя 
все к общему виду, объединяя материал, сглаживая шероховатости и заставляя выдер-
живать график работы над проектом. Нам также повезло в том, что к нам вернулась 
долгое время работавшая с нами ранее литературный редактор Камиль Трентакосте 
(Camille Trentacoste). Ее обширные познания во многих областях не раз спасали по-
ложение. Мы рады снова работать с ней после нескольких лет ее отсутствия. Также 
замечательно справилась со своей работой по координации усилий привлеченных 
к работе над книгой людей Кэрол Снайдер (Carole Snyder).

Материал главы 7, касающийся VMware (раздел 7.12), написан Эдуардом Бюньоном 
(Edouard Bugnion) из Федеральной политехнической школы Лозанны (Швейцария). 
Эд — один из основателей компании VMware и знаком с этим материалом как никто 
другой. Мы горячо благодарим его за предоставление нам этого материала.

Ада Гавриловска (Ada Gavrilovska) из Технологического института Джорджии, спе-
циалист по внутреннему устройству Linux, обновила главу 10 из третьего издания, 
которую сама же и написала. Материал по операционной системе Android в главе 10 
написан Дианой Хакборн (Dianne Hackborn) из компании Google. Она является одним 
из ключевых разработчиков Android, ведущей операционной системы для смартфонов, 


background image

Предисловие  

19

поэтому мы очень благодарны ей за помощь. Теперь материалы главы 10 стали весьма 
обширными и подробными, и любители UNIX, Linux и Android могут почерпнуть из 
нее много полезных сведений. Наверное, стоит упомянуть о том, что самая длинная 
и наиболее технически насыщенная глава книги была написана двумя женщинами. 
А мы лишь упростили материал.

И конечно же, мы не оставили без внимания Windows. Глава 11 из предыдущего из-
дания книги обновлена Дэйвом Пробертом (Dave Probert) из компании Microsoft. 
Теперь в ней дается подробное описание операционной системы Windows 8.1. Дэйв 
очень хорошо разбирается в Windows, и у него достаточно широкий кругозор для того, 
чтобы показать разницу между теми местами, где специалисты Microsoft все сделали 
правильно, и теми местами, где они ошиблись. Любителям Windows эта глава, несо-
мненно, понравится.

Вклад всех этих специалистов позволил книге стать значительно лучше. Мы еще раз 
хотим поблагодарить их за неоценимую помощь.

Нам также повезло с рядом рецензентов, прочитавших подготовленный к печати мате-
риал и предложивших новые вопросы для размещения в конце каждой главы. В их числе 
были Труди Левин (Trudy Levine), Шивакант Мишра (Shivakant Mishra), Кришна Сива-
лингам (Krishna Sivalingam) и Кен Вонг. Стив Армстронг создал PowerPoint-страницы 
для преподавателей, использующих в своих учебных курсах материалы книги.

Обычно технические редакторы и корректоры не удостаиваются особых благодар-
ностей, но Боб Ленц (технический редактор) и Джо Раддик (корректор) отнеслись 
к своей работе с особой тщательностью. В частности, Джо с двадцати метров может 
заметить разницу между точками прямого и курсивного начертания. И тем не менее 
авторы несут полную ответственность за любые упущения в данной книге. Читатели, 
заметившие любые ошибки, могут обратиться к одному из авторов.

И наконец, последними по списку, но не по значимости идут Барбара и Марвин, ко-
торые каждый по-своему замечательны. Отличным дополнением нашей семьи стали 
Даниэль и Матильда, Арон и Натан, замечательные парнишки, и Оливия, просто 
сокровище. И, разумеется, мне хочется поблагодарить Сюзанну за ее любовь и терпе-
ние, не говоря уже о винограде, вишнях, апельсинах и других сельскохозяйственных 
продуктах.

Эндрю С. Таненбаум (Andrew S. Tanenbaum)

Хотел бы выразить особую благодарность Марике, Дуку и Джипу. Марике — за ее 
любовь и за то, что она коротала со мной все вечера, проведенные за работой над кни-
гой, а Дуку и Джипу — за то, что они отрывали меня от этой работы и показывали, что 
в жизни есть дела и поважнее. Вроде игры Minecraft.

Херберт Бос (Herbert Bos)


background image

20  

 Предисловие

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты 

comp@piter.com

 (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства 

http://www.piter.com

 вы найдете подробную информацию 

о наших книгах.

Об авторах

Эндрю С

Таненбаум получил степень бакалавра в Массачусетском технологическом 

институте и степень доктора философии в Калифорнийском университете в Беркли. 
В настоящее время он занимает должность профессора информатики в университете 
Врийе (Vrije) в Амстердаме (Нидерланды). Прежде он был деканом межуниверси-
тетской аспирантуры по компьютерной обработке данных и изображений (Advanced 
School for Computing and Imaging), где вел исследования в области передовых парал-
лельных систем, распределенных систем и систем обработки изображений. Он также 
был профессором Королевской Нидерландской академии искусства и наук (Royal 
Netherlands Academy of Arts and Sciences), что, собственно, и спасло его от превращения 
в бюрократа. Кроме того, выиграл престижный грант Европейского совета по научным 
исследованиям (European Research Council Advanced Grant).

В прошлом он вел исследования в области компиляторов, операционных систем, 
сетевых технологий и распределенных систем. Сейчас в основном сосредоточился на 
исследованиях в области надежных и безопасных операционных систем. В результате 
этих исследований появилось более 175 рецензированных статей, опубликованных 
в журналах и обнародованных на конференциях. Кроме этого, профессор Таненбаум 
является автором или соавтором пяти книг, которые переведены на 20 языков, от баск-
ского до тайского, и используются в университетах по всему миру. В целом существует 
163 варианта изданий его книг (комбинаций язык + издание).

Профессор также разработал значительный объем программного обеспечения, в част-
ности MINIX, небольшого клона UNIX. Эта программа стала непосредственным 
вдохновляющим фактором для создания Linux и той платформой, на которой перво-
начально и разработана операционная система Linux. Текущая версия MINIX, которая 
носит название MINIX 3, в настоящий момент позиционируется как исключительно 
надежная и безопасная операционная система. Профессор Таненбаум будет считать 
свою работу завершенной, как только не останется ни одного пользователя, способ-
ного замыслить действия, приводящие к выходу операционной системы из строя. 
MINIX 3 — это развивающийся проект, находящийся в свободном доступе, и вас также 
приглашают к сотрудничеству по его развитию. Чтобы загрузить свободную копию 
и разобраться в ее работе, перейдите по адресу 

www.minix3.org

. Загрузить можно версии 

как для x86, так и для ARM.

Аспиранты профессора Таненбаума, закончив учебу, добились больших успехов. И он 
ими очень гордится. В этом смысле он чем-то напоминает курицу-наседку.

Таненбаум является членом Ассоциации вычислительной техники (Association for 
Computing Machinery — ACM), Института инженеров по электротехнике и электронике