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

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

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

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

Добавлен: 29.10.2018

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

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

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

Глава 11

.

 

Изучение конкретных примеров: 
Windows 8

Windows — это современная операционная система, которая работает как на персональ-
ных компьютерах, ноутбуках, планшетах и телефонах домашних и бизнес-пользовате-
лей, так и на серверах предприятий. Windows используется в игровой системе Microsoft 
Xbox и в инфраструктуре облачного вычисления Azure. Последней версией на момент 
написания этой книги является Windows 8.1. В данной главе мы изучим различные 
аспекты Windows 8, начиная с краткой истории, а затем перейдем к ее архитектуре. 
После этого рассмотрим процессы, управление памятью, кэширование, ввод-вывод, 
файловую систему, управление электропитанием и, наконец, безопасность.

11.1. История Windows вплоть до Windows 8.1

Процесс разработки компанией Microsoft операционной системы Windows для пер-
сональных компьютеров и серверов (на основе архитектуры PC) можно разбить на 
четыре эпохи: MS-DOS, Windows на базе MS-DOS, Windows на базе NT и современную 
Windows. В техническом плане все эти системы существенно отличаются друг от друга. 
Каждая из них являлась господствующей в определенный период истории персональ-
ных компьютеров. В табл. 11.1 показаны годы выпуска основных версий операционных 
систем компании Microsoft для персональных компьютеров. Далее мы кратко опишем 
все упомянутые в таблице эпохи развития.

Таблица 11.1. Основные версии операционных систем компании Microsoft 
для настольных компьютеров

Год

MS-DOS

Windows на 

базе MS-DOS

Windows 

на базе NT

Современ-

ная Windows

Примечания

1981

1.0

Первоначальная версия 
для IBM PC

1983

2.0

Добавлена поддержка 
PC/XT

1984

3.0

Добавлена поддержка 
PC/AT

1990

3.0

За два года продано 10 млн 
экземпляров

1991

5.0

Добавлено управление 
памятью

1992

3.1

Работает только на процес-
сорах 286 и более новых


background image

932  

 Глава 11. Изучение конкретных примеров: Windows 8 

Год

MS-DOS

Windows на 

базе MS-DOS

Windows 

на базе NT

Современ-

ная Windows

Примечания

1993

NT 3.1

1995

7.0

95

MS-DOS встроена 
в Windows 95

1996

NT 4.0

1998

98

2000

8.0

Me

2000

Windows Me уступала 
Windows 98

2001

XP

Заменила Windows 98

2006

Vista

Vista не смогла вытеснить 
XP

2009

7

Существенно улучшена по 
сравнению с Vista

2012

8

Первая современная вер-
сия

2013

8.1

Microsoft перешла к бы-
стрым выпускам

11.1.1. 80-е годы прошлого века: MS-DOS

В начале 1980-х годов компания IBM (которая на тот момент являлась самой большой 
и могущественной компьютерной компанией в мире) разрабатывала персональный 
компьютер

 на базе микропроцессора Intel 8088. С середины 1970-х годов компания 

Microsoft стала лидирующим поставщиком языка программирования BASIC для вось-
мибитных микрокомпьютеров на базе микропроцессоров 8080 и Z-80. Когда компания 
IBM обратилась в компанию Microsoft с предложением лицензировать BASIC для но-
вого компьютера IBM PC, компания Microsoft дала свое согласие и предложила, чтобы 
IBM связалась с компанией Digital Research для лицензирования ее операционной 
системы CP/M (поскольку в то время компания Microsoft операционными системами 
не занималась). Компания IBM так и сделала, но Гари Килдал (Gary Kildall), пре-
зидент Digital Research, не нашел времени для встречи с представителями компании 
IBM. Это был, наверное, самый досадный просчет во всей истории бизнеса, поскольку, 
дай Килдал лицензию на CP/M компании IBM, он стал бы, наверное, самым богатым 
человеком на планете. Получив отказ от Килдала, IBM вернулась к Биллу Гейтсу, со-
учредителю Microsoft, и снова обратилась к нему за помощью. Очень скоро компания 
Microsoft купила клон операционной системы CP/M у местной компании Seattle 
Computer Products, перенесла ее на IBM PC и предоставила компании IBM лицензию 
на нее. Затем она была переименована в MS-DOS 1.0 (Microsoft Disk Operating System) 
и в 1981 году начала поставляться вместе с первыми IBM PC.

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

Таблица 11.1 (продолжение)


background image

11.1. История Windows вплоть до Windows 8.1   

933

нальных возможностей. К 1986 году компания IBM создала компьютер PC/AT на базе 
процессора Intel 286 и система MS-DOS выросла до 36 Кбайт, однако она продолжала 
оставаться однозадачной операционной системой с интерфейсом командной строки.

11.1.2. 90-е годы прошлого столетия: Windows 
на базе MS-DOS

Вдохновленная графическим пользовательским интерфейсом системы, разработанной 
Дугласом Энгельбартом (Doug Engelbart) из Stanford Research Institute, который позже 
был улучшен компанией Xerox PARC, и коммерческими результатами его использова-
ния, а также компьютерами Apple Lisa и Apple Macintosh, компания Microsoft решила 
дать системе MS-DOS графический интерфейс пользователя, который она назвала 
Windows

. Первые две версии Windows (1985 и 1987 годов) были не очень успешными 

(отчасти из-за ограниченных возможностей имевшихся в то время аппаратных средств 
персональных компьютеров). В 1990 году компания Microsoft выпустила Windows 3.0 
для процессора Intel 386 и за шесть месяцев продала более 1 млн экземпляров этой 
операционной системы.

Windows 3.0 не была настоящей операционной системой — это была графическая среда, 
работавшая поверх системы MS-DOS, которая по-прежнему управляла компьюте-
ром и файловой системой. Все программы работали в одном адресном пространстве, 
и ошибка в любой из них могла привести к остановке всей системы.

В августе 1995 года была выпущена Windows 95. Она имела многие функциональные 
возможности полноценной операционной системы, в том числе виртуальную память, 
управление процессами, многозадачный режим, а также ввела 32-битные интерфейсы 
программирования. Однако ей не хватало безопасности, а также изоляции приложений 
друг от друга и от операционной системы. Поэтому проблемы со стабильностью оста-
лись даже после выпуска Windows 98 и Windows Me, в сердце которых по-прежнему 
работал 16-битный ассемблерный код операционной системы MS-DOS.

11.1.3. 2000 год: Windows на базе NT

К концу 80-х годов прошлого века компания Microsoft поняла, что продолжать разра-
батывать операционную систему на базе MS-DOS — это не лучший путь. Аппаратные 
возможности персональных компьютеров продолжали возрастать, и в конечном итоге 
рынок персональных компьютеров должен был столкнуться с рынком рабочих станций 
и серверов предприятий, где главенствующей операционной системой была UNIX. 
Компанию Microsoft беспокоила также конкурентоспособность микропроцессоров 
Intel, поскольку уже появилась архитектура RISC. Для решения этих проблем Microsoft 
наняла группу инженеров из компании DEC (Digital Equipment Corporation) во главе 
с Дэйвом Катлером (Dave Cutler) — одним из главных разработчиков операционной 
системы VMS. Ему было поручено разработать новую 32-битную операционную систе-
му, в которой должен был быть реализован интерфейс прикладного программирования 
OS/2 (Microsoft разрабатывала его в это время совместно с компанией IBM). В рабочих 
документах команды Катлера эта система первоначально называлась NT OS/2.

Система Катлера была названа NT — от New Technology (новая технология), а также 
потому, что изначально она разрабатывалась под новый процессор Intel 860 с кодовым 
названием N10. NT проектировалась как система, способная к переносу на разные 


background image

934  

 Глава 11. Изучение конкретных примеров: Windows 8 

процессоры. Упор делался на безопасность и надежность, а также совместимость с вер-
сиями Windows на базе MS-DOS. Опыт работы Катлера в компании DEC дает о себе 
знать в самых разных аспектах, так что сходство между NT и другими разработанными 
Катлером операционными системами (табл. 11.2) не случайно.

Таблица 11.2. Операционные системы компании DEC, разработанные 
Дэйвом Катлером

Год

Операционная система 
компании DEC

Характеристики

1973

RSX-11M

16-разрядная многопользовательская система реального 
времени с механизмом подкачки

1978

VAX/VMS

32-разрядная виртуальная память

1987

VAXELAN

Система реального времени

1988

PRISM/Mica

Разработка прекращена, предпочтение отдано MIPS/
Ultrix

Когда инженеры компании DEC (а затем и ее юристы) увидели, насколько похожа была 
NT на VMS (а также на ее никогда не выпускавшегося в свет последователя — MICA), 
между компаниями DEC и Microsoft возник спор относительно использования компа-
нией Microsoft интеллектуальной собственности компании DEC. В итоге этот спор был 
урегулирован во внесудебном порядке. Кроме того, компания Microsoft согласилась на 
некоторое время предоставить поддержку NT для процессора Alpha компании DEC. 
Однако все это не помогло компании DEC преодолеть свою неприязнь к персональным 
компьютерам, которую очень характерно выразил в 1977 году основатель компании 
DEC мистер Кен Олсен. Он сказал буквально следующее: «Нет никаких причин, по 
которым кто-то может захотеть иметь дома компьютер». В 1998 году все то, что оста-
лось от DEC, было продано компании Compaq, которая в свою очередь была позже 
куплена компанией Hewlett-Packard.

Знакомые с системами UNIX программисты считают, что архитектура NT совершенно 
другая. Это не только из-за влияния VMS, но и вследствие имевшихся (на момент 
разработки) различий между компьютерными системами. В 1970-х годах UNIX была 
первоначально спроектирована для 16-разрядных систем с одним процессором, малым 
количеством памяти и механизмом подкачки. В этих системах процесс был единицей 
параллелизма и структуры, а fork и exec были малозатратными операциями (поскольку 
системы с подкачкой часто копируют процессы на диск). NT была разработана в начале 
1990-х годов, когда обычными стали многопроцессорные 32-разрядные компьютерные 
системы с большим количеством памяти и виртуальной памятью. В системе NT едини-
цей параллелизма является поток, единицей структуры — динамическая библиотека, 
а fork и exec реализованы в виде одной операции (создание нового процесса и выпол-
нение другой программы без предварительного копирования).

Первая версия Windows на базе NT (Windows NT 3.1) была выпущена в 1993 году. 
Она получила название 3.1 для того, чтобы соответствовать тогдашней текущей вер-
сии Windows 3.1 для домашних пользователей. Совместный проект с компанией IBM 
к этому времени развалился, так что, несмотря на по-прежнему имевшуюся поддержку 
интерфейсов OS/2, основными интерфейсами были 32-разрядные расширения ин-
терфейсов прикладного программирования Windows под названием Win32. В период 


background image

11.1. История Windows вплоть до Windows 8.1   

935

между началом разработки и первым выпуском в свет системы NT была выпущена 
Windows 3.0, которая имела исключительный коммерческий успех. Она также могла 
выполнять программы Win32, но для этого нужно было использовать библиотеку со-
вместимости Win32s.

Подобно первой версии Windows на базе MS-DOS, Windows на базе NT сначала также 
не имела успеха. Для NT требовалось больше памяти, 32-разрядных приложений было 
мало, а проблемы совместимости драйверов устройств и приложений привели к тому, 
что многие покупатели остались верны Windows на базе MS-DOS (которую компания 
Microsoft продолжала совершенствовать, выпустив в 1995 году Windows 95). Как и NT, 
Windows 95 предоставила настоящие 32-разрядные интерфейсы программирования, но 
она имела лучшую совместимость с уже существовавшим 16-разрядным программным 
обеспечением и приложениями. Неудивительно, что сначала NT добилась успеха на 
рынке серверов, где она конкурировала с VMS и NetWare.

NT достигла заявленных целей по переносимости — в дополнительных выпусках 1994 
и 1995 годов была добавлена поддержка архитектур MIPS и PowerPC. Первым суще-
ственным обновлением NT стала Windows NT 4.0 в 1996 году. Эта система имела мощь, 
безопасность и надежность NT и обеспечивала тот же самый интерфейс пользователя, 
что и чрезвычайно популярная к тому моменту Windows 95.

На рис. 11.1 показана связь интерфейса прикладного программирования Win32 
с Windows. Наличие общего интерфейса прикладного программирования (API) 
в Windows на базе MS-DOS и в Windows на базе NT было чрезвычайно важным для 
успеха NT.

Windows

3.0/3.1

Windows

95/98/98SE/Me

Windows

NT/2000/Vista/7

Windows

8/8.1

Win32s

Интерфейс прикладного программирования Win32

Приложение Win32

Рис. 11.1. Интерфейс прикладного программирования Win32 позволяет программам 

работать почти во всех версиях Windows

Такая совместимость существенно облегчила миграцию пользователей с Windows 95 на 
NT — и эта операционная система стала сильным игроком на рынке высокопроизводи-
тельных настольных компьютеров и серверов. Однако другие архитектуры процессоров 
покупатели принимали не так охотно, так что из четырех поддерживавшихся Windows 
NT 4.0 в 1996 году архитектур (в этом году была добавлена поддержка процессора Alpha 
компании DEC) ко времени выпуска следующей версии (Windows 2000) активно под-
держивалась только одна — x86 (то есть семейство Pentium).

Версия Windows 2000 представляла собой существенное развитие системы NT. Добав-
лена была поддержка следующих важных технологий: Plug-and-Play (что избавляло 
от необходимости разбираться с перемычками при установке карт расширения PCI), 
службы сетевого каталога (для предприятий), улучшенное управление электропита-
нием (для ноутбуков); был улучшен графический интерфейс пользователя.