Серверная операционная система OS/2 Warp 4.5

Серверная операционная система компании IBM, предназначенная для работы на персональных компьютерах и вышедшая в свет в 1999 году, носит название OS/2 WarpServer for e-Business, что подчеркивает ее основное назначение. Однако в про­цессе ее создания система носила кодовое название Аврора (Aurora), поэтому все ее так теперь и называют.

Как известно, предыдущие версии системы OS/2 могли предоставить программи­сту только 512 Мбайт виртуального адресного пространства для «родных» 32-раз­рядных приложений. В свое время это было очень много. Однако хотя задачи, тре­бующие столь большого объема оперативной памяти, встречаются пока еще редко, некоторые считают ограничение в 512 Мбайт серьезным недостатком. Поэтому в последней версии системы это ограничение снято (напомним, что в операционной системе Windows NT 4.0 объем виртуального адресного пространства для задач пользователя составляет 2 Гбайт), и теперь максимальный объем виртуальной памяти для задачи в операционной системе OS/2 v. 4.5 по умолчанию состав­ляет 2 Гбайт, но командой VIRTUALADDRESSLIMIT=3072 в конфигурационном фай­ле CONFIG.SYS он может быть увеличен до 3 Гбайт.

В операционной системе OS/2 v. 4.5 разработчики постарались все «остатки» ста­рого 16-разрядого кода, который еще частично оставался в предыдущих версиях системы, полностью заменить 32-разрядными реализациями, что повысило быст­родействие системы. Прежде всего, обеспечена поддержка 32-раздядных драйве­ров устанавливаемых файловых систем (IFS), ибо в предыдущих системах работа с ними велась через трансляцию вызовов 32bit—>16bit—>32bit. В то же время для совместимости со старым программным обеспечением помимо 32-раздядного ис­пользуется и 16-раздядный интерфейс API.

Создана новая файловая система JFS (Journaling File System — файловая система с протоколированием), призванная повысить надежность и живучесть файловой подсистемы по сравнению с файловой системой HPFS386.IFS. Файловая система JFS обеспечивает большую безопасность в структурах данных благодаря технике, разработанной для систем управления базами данных. Работа с JFS происходит в режиме транзакций с ведением журнала транзакций. В случае системных сбоев есть возможность обработки журнала транзакций с целью принятия или отмены изменений, произведенных во время системного сбоя. Эта система управления файлами также повышает скорость восстановления файловой системы после сбоя. Сохраняя целостность файловой системы, она, подобно файловой системе NTFS, не гарантирует восстановление пользовательских данных. Следует отметить, что файловая система JFS обеспечивает самую высокую скорость работы с файлами из всех известных систем, созданных для персональных компьютеров, что очень важно для серверной операционной системы.

Для работы с дисками создан специальный менеджер дисков — LVM (Logical Volume Manager — менеджер логических дисков). LVM хранит информацию обо всех уста­навливаемых файловых системах и определяет имена дисков для программ, кото­рые этого требуют. Это позволяет избирательно назначить любую букву любому разделу диска, что в ряде случаев можно считать удобным. И даже больше — теперь

Серверная операционная система OS/2 Warp 4.5 - student2.ru 360 Глава 10. Краткий обзор современных операционных систем

Серверная операционная система OS/2 Warp 4.5 - student2.ru операционной системе более не нужно использовать имена дисков. Менеджер логиче­ских дисков в совокупности с файловой системой JFS позволяет объединять несколь­ко томов и даже несколько физических дисков в один большой логический том.

Контрольные вопросы и задачи

1. Изложите основные архитектурные особенности операционных систем семей­
ства UNIX. Попробуйте объяснить основные различия между системами UNIX
и Windows.

2. Перечислите и поясните основные понятия, относящиеся к UNIX-системам.

3. Что делает системный вызов fork()? Каким образом осуществляется в опера­
ционных системах семейства UNIX запуск новой задачи?

4. Изложите основные моменты, связанные с защитой файлов в UNIX.

5. Сравните разрешения NTFS, имеющиеся в Windows NT/2000/XP, с правами
на доступ к файлам, реализованные в UNIX-системах.

6. Расскажите об особенностях семафоров в UNIX. Почему семафорные опера­
ции осуществляются сразу над множеством семафоров?

7. Что представляет собой вызов удаленной процедуры (RPC)?

8. Найдите в Интернете описание лицензии GNU и изучите его основные поло­
жения. Изложите их. Перечислите сильные и слабые стороны программного
обеспечения с открытым исходным кодом.

9. Расскажите об операционной системе Linux. Какие проблемы, на ваш взгляд,
наиболее важны для Linux? Расскажите об основных различиях между Linux
и FreeBSD.

10. Что представляет собой Х-Window? Что такое оконный менеджер? Какие окон­
ные менеджеры для операционной системы Linux вы знаете?

11. Что представляет собой операционная система QNX? Перечислите ее основ­
ные особенности.

12. Почему про QNX часто говорят, что это «сетевая» операционная система? Что
такое сетевой протокол FLEET?

13. Какие функции реализует ядро QNX?

14. В чем вы видите принципиальные различия между ядром Windows NT 4.0,
которое считают построенным по микроядерным принципам, и ядром QNX?

15. Расскажите об основных механизмах взаимодействия для организации рас­
пределенных вычислений в операционной системе QNX.

16. Расскажите о проекте OS/2. Какие особенности архитектуры этой операцион­
ной системы представляются наиболее интересными?

17. Какие механизмы использует операционная система OS/2, чтобы уменьшить
потребности в оперативной памяти и повысить производительность системы?

Серверная операционная система OS/2 Warp 4.5 - student2.ru Глава 11. Операционные системы Windows

Как известно, компания Microsoft является безусловным лидером в разработке программного обеспечения для персональных компьютеров. Среди разнообразных программных продуктов этой компании особое место занимают ее операционные системы. Начав с разработки простейшей однопрограммной операционной систе­мы для первого персонального компьютера, эта компания недавно выпустила не­сколько версий серверной операционной системы Windows 2003, которые пред­назначены для построения корпоративных сетей и считаются на сегодняшний день одними из самых сложных и полнофункциональных. Для встроенных систем (в том числе систем для карманных компьютеров и других мобильных систем) Microsoft разработала операционные системы семейства Windows СЕ. Последняя такая опе­рационная система для популярных компьютеров типа Pocket PC получила на­звание Microsoft Windows Mobile 2003 for Pocket PC. (Операционные системы Windows СЕ имеют тот же интерфейс Win32 API, что и системы для персональ­ных компьютеров.)

Впервые слово «Windows», что, как известно, в переводе с английского дословно означает окна, компания Microsoft использовала в названии своей программной системы для персональных компьютеров, призванной предоставить пользовате­лям графический интерфейс и возможность работать с несколькими приложения­ми. Первые системы Windows представляли собой своеобразную оболочку, запус­каемую из операционной системы MS DOS, которая переключала центральный процессор в защищенный режим работы (см. главу 4) и позволяла организовать параллельное выполнение нескольких задач. Но главным на тот момент было пре­доставление пользователям графического интерфейса, которым в те времена об­ладали пользователи компьютеров фирмы Apple. Вначале возможность работать на персональном компьютере в графическом режиме вместо текстового некото­рым не казалась такой уж актуальной, хотя, конечно же, всем было понятно, что графический режим богаче по своему потенциалу. Наличие графического интер­фейса пользователя (Graphical User Interface, GUI) и широкая поддержка его со стороны компании Microsoft привели к тому, что большинство новых программ­ных продуктов стали создаваться в расчете на эти новые возможности. Со време-

Серверная операционная система OS/2 Warp 4.5 - student2.ru 362_______________________________ Глава 11. Операционные системы Windows

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

Общим для операционных систем, имеющих в своем названии слово «Windows», является графический интерфейс пользователя. Все эти операционные системы похожи друг на друга. Приложения, написанные для среды Windows, будут одина­ково выглядеть и в Windows 95, и в Windows XP. В результате пользователи, уме­ющие работать с одной операционной системой, достаточно легко могут освоить другую. И это одно из важнейших достоинств.

Основной особенностью систем Windows является то, что все они предназначены для диалогового режима работы, и поэтому в качестве основного интерфейса вы­бран графический, как более функциональный и удобный. Если в таких операци­онных системах, как Linux, QNX или OS/2, можно работать с системой через интерфейс командной строки и этим ограничиться, то во всех системах Windows невозможно получить текстовый интерфейс командной строки без графического.

Многие считают, что интерфейс командной строки нужен только для относитель­но редкого вмешательства в работу операционной системы. Однако это не совсем так. Дело в том, что посредством скриптов можно автоматизировать выполнение большинства функций, связанных с управлением вычислительными процессами. Скрипт — это текстовый файл, содержащий программу действий, составленную на соответствующем языке1. Например, пакетные (batch) файлы в операционных системах от компании Microsoft, которые имеют расширение bat, обрабатываются командным интерпретатором COMMAND.COM, если речь идет о сеансах DOS, или командным процессором CMD.EXE, если речь идет о системах типа Windows NT/ 2000/ХР и в скрипте имеются соответствующие команды. При запуске програм­мы CMD.EXE открывается сеанс обычного защищенного 32-разрядного режима.

В ряде случаев графический режим не нужен, поскольку выполняющиеся вычис­ления не требуют диалога с пользователем. К таким случаям, прежде всего, можно отнести работу серверов, которые, будучи правильно и разумно сконфигурирова­ны, способны работать месяцами без какого-либо вмешательства человека и пол­ностью выполнять поставленные перед ними задачи. К таким случаям можно от­нести и задачи автоматизированного управления различными технологическими процессами, специальным автоматизированным оборудованием. А поскольку в этих случаях графический диалоговый режим работы с системой не нужен, не нужны операционной системе и соответствующие вычислительные ресурсы, необходи­мые для функционирования этого режима. Если же вдруг потребуется организо­вать диалоговое взаимодействие с операционной системой, то тот же графический режим может быть запущен непосредственно из командной строки, что и делается в уже упомянутых операционных системах семейства UNIX (Linux, FreeBSD и т. д.), QNX, OS/2.

Серверная операционная система OS/2 Warp 4.5 - student2.ru ' Язык для составления программ, которые имеют текстовую форму даже на момент своего исполне­ния и состоят из команд, понятных операционной системе, часто называют языком скриптов.

Серверная операционная система OS/2 Warp 4.5 - student2.ru Операционные системы Windows 9x______________________________________ 363

Операционные системы Windows 9x Краткая историческая справка

В те годы, когда появилась первая система Windows, а это произошло в ноябре 1985 года, наибольшее распространение имели компьютеры на базе процессора i80286. Этот процессор хотя и имел средства для организации мультизадачного ре­жима работы (в нем компания Intel впервые реализовала защищенный режим рабо­ты, поддержку виртуальной памяти с сегментным механизмом, кольца защиты со шлюзованием для доступа к сегментам кода и многое другое), но аппаратная под­держка была слишком слаба и несовершенна. Только с широким распространением 32-разрядных процессоров (i80386 и все последующие) появилась возможность со временем отказаться в системах Windows от поддержки 16-разрядного защищен­ного режима работы процессоров и в качестве основного выбрать полноценный 32-разрядный защищенный режим. Как известно, микропроцессор i80386 появился в том же 1985 году. Возможности этого микропроцессора, заложенные в него специ­ально для организации полноценных мультизадачных операционных систем, мы рассмотрели в главе 4. Однако первые несколько лет этот микропроцессор исполь-зовался просто как более быстродействующий 16-разрядный микропроцессор i8086 или i80286 (благо он поддерживал такую возможность), поскольку для него долгое время не существовало полноценной 32-разрядной операционной системы.

После первой системы Windows, которая себя только обозначила, компания Mi­crosoft в течение нескольких лет принимала активное участие в работах по созда­нию операционной системы OS/2. Кстати, операционная система Windows NT «выросла» из проекта OS/2, который имел версию 3.0. Однако проблемы во взаи­моотношениях между этими фирмами и желание стать первыми в создании новых мультизадачных операционных систем, имеющих графический интерфейс, при­вели к тому, что компания Microsoft продолжила работу над Windows вопреки существовавшей договоренности, а в последующем даже разорвала отношения с IBM. Было выпущено несколько версий Windows, пока наконец в 1990 году вышла одна из самых популярных систем того времени — система Windows 3.0. Это была операционная система, предназначенная для работы на процессорах i80386, одна­ко прикладные программы, которые могли выполняться под ее управлением, рас­считывались на интерфейс Win 16 API. Само собой, обеспечивалось выполнение DOS-приложений, которые на тот момент доминировали. Для своего запуска эта операционная система требовала наличия среды MS DOS. При запуске програм­мы WIN.COM последняя переводила микропроцессор в защищенный режим работы и начинала загружать ядро Windows. Часть драйверов заменялась новыми, а часть могла остаться от MS DOS. После загрузки Windows 3.0 на компьютере можно было параллельно выполнять несколько приложений.

После системы Windows 3.0 появилась система Windows 3.1 и, наконец, сетевая операционная система Windows 3.11 for Workgroups. Все эти операционные сис­темы, хотя и были популярны, имели определенные недостатки, в частности, нельзя было задействовать более 16 Мбайт памяти, не обеспечивались должные надежность и производительность, поскольку не использовались все те возможности 32-раз-

Серверная операционная система OS/2 Warp 4.5 - student2.ru 364 Глава 11. Операционные системы Windows

Серверная операционная система OS/2 Warp 4.5 - student2.ru рядного защищенного режима работы микропроцессора, которые этот режим пре­доставлял.

Первой операционной системой от компании Microsoft, которая должна была ис­править существовавшее положение вещей, была Chicago. Она вышла в свет в ав­густе 1995 года и получила известное всему миру название Windows 95. Опера­ционная система Windows 95, по сути дела, произвела революцию в персональных компьютерах. И это несмотря на появившуюся еще в 1992 г. великолепную 32-раз­рядную операционную систему OS/2 версии 2.0, которая к 1995 году «доросла» уже до версии 2.2 и имела существенно более совершенный графический интер­фейс. К сожалению, большинство пользователей почти ничего не знали о суще­ствовании этой полноценной, надежной и эффективной операционной системы, поскольку фирма IBM мало беспокоилась об этом. Да и предыдущая (первая) вер­сия операционной системы с тем же названием OS/2 себя не зарекомендовала. В противоположность той позиции, которую заняла IBM, компания Microsoft за­долго до появления своей операционной системы Windows 95 серьезно занима­лась ее продвижением. Пользователи хорошо знали возможности 16-разрядной системы Windows 3.x, они умели с ней работать. Правильно организованная рек­ламная кампания успешно делала свое дело, и пользователи ждали новую 32-раз­рядную операционную систему с нетерпением.

Появление операционной системы Windows 95 сопровождалось выходом большого числа соответствующего прикладного программного обеспечения и, что немало-важно, выпуском так необходимых всем книг, в которых излагались принципы работы с новой операционной системой и создания для нее прикладных программ. Многие фирмы, занимающиеся разработкой программного обеспечения, стали выпускать для Windows 95 различные пакеты прикладных программ, системы уп­равления базами данных, системы программирования и другие программы. Все это вместе взятое стало мощнейшим стимулом, обеспечившим победу операцион­ной системе Windows 95, несмотря на то что по своей архитектуре и возможнос­тям она почти по всем параметрам уступала операционной системе OS/2. Опера­ционная система Linux в те годы еще только начинала о себе заявлять.

Затем в 1996 году вышла вторая редакция операционной системы Windows 95 (это был проект Nashville), которая получила название Windows 95 OSR 2 (OEM Service Release 2). В этой операционной системе были улучшены система управления фай­лами (введена поддержка файловой системы FAT32), а также средства для работы с мультимедиа и Интернетом.

Далее в 1998 году компания Microsoft обновила свою операционную систему еще раз, дав ей имя Windows 98. Эта операционная система имела еще больше именно 32-раз­рядного собственного кода, обладала большей стабильностью и производительнос­тью, поскольку был устранен почти весь прежний 16-разрядный код, выполнявшийся достаточно часто и имевший все характерные для него недостатки. В частности, была введена новая модель 32-разрядных драйверов WDM (Windows Driver Model)1,

Серверная операционная система OS/2 Warp 4.5 - student2.ru 1 Новая модель многоуровневой организации драйверов для систем Windows, которая пришла на смену прежней.

Серверная операционная система OS/2 Warp 4.5 - student2.ru Серверная операционная система OS/2 Warp 4.5 - student2.ru Операционные системы Windows 9x______________________________________365

которая позволяет использовать драйверы, создаваемые для операционных сис­тем семейства Windows NT. Важной для успеха этой операционной системы была также полноценная поддержка интерфейса USB (Universal Serial Bus — универ­сальная последовательная шина). Обнаруженные в системе ошибки были исправ­лены во второй редакции этой операционной системы. Нынче операционная сис­тема Windows 98 SE1 является одной из самых распространенных в мире.

Наконец, в канун начала нынешнего тысячелетия2 Microsoft выпустила свою по­следнюю версию операционной системы, которая также была основана на ар­хитектуре системы Windows 95. Это была Windows Millennium Edition3 (ME). Выпуская Windows ME, Microsoft преследовала несколько первоочередных целей: превратить потребительскую операционную систему в полноценную мультиме­дийную (не только игровую) платформу; максимально упростить обслуживание системы; обеспечить удобные средства создания домашних сетей; обеспечить дос­туп ко всему богатству ресурсов Интернета. Основным, принципиальным момен­том (и основным недостатком, как это ни покажется странным) был отказ от под­держки сеансов DOS, что позволяет потенциально немного увеличить надежность организуемых вычислений. Операционная система Windows ME была предназна­чена для использования на домашних компьютерах, и это обстоятельство, вкупе с невозможностью организовать выполнение программ, требующих открытия сеан­сов DOS, не позволило ей получить широкое распространение. Тем более что вскоре для потребительских целей Microsoft стала продавать новую операционную сис­тему Windows XP Home Edition, которая уже относится к системам типа Windows NT.

Общие сведения

Операционные системы Windows 9x создавались для работы только на IBM-со­вместимых персональных компьютерах. Они не являются переносимыми и на дру­гих платформах (на процессорах, не совместимых с архитектурой ia32) не работа­ют. Как и для всего остального программного обеспечения от Microsoft, исходные коды операционных систем закрыты, поэтому подробного описания ее архитекту­ры практически нет; имеются только многочисленные публикации о том, как сле­дует использовать эти системы.

Операционные системы семейства Windows 9x предназначены, главным образом, для домашнего, а не корпоративного применения. Уже многие годы они являются самыми распространенными в мире. Хотя они допускают возможность работы с компьютером нескольких пользователей (естественно, по очереди, поскольку сис­темы являются однотерминальными), в них не поддерживается механизм учет­ных записей, как в остальных 32-разрядных операционных системах. Каждый пользователь может иметь свое собственное рабочее окружение, то есть свои вид рабочего стола (desktop), состав панели задач (taskbar) и меню Пуск (Start), пара­метры настройки используемых программ и многое другое. Это собственное рабо-

Серверная операционная система OS/2 Warp 4.5 - student2.ru ' SE означает «Second Edition» — вторая редакция.

2 Эта система вышла осенью 2000 года.

3 Слово «millennium» как раз и означает канун тысячелетия.

366_______________________________ Глава 11. Операционные системы Windows

чее окружение называется профилем (profile), и при включении такой возможнос­ти в системном каталоге образуется вложенный каталог1 с именем Profiles, в кото­ром и размещаются профили пользователей. Независимо от того, имеет каждый пользователь свой профиль или не имеет, он должен зарегистрироваться, если си­стема сконфигурирована для работы в вычислительной сети. Для выполнения про­цедуры аутентификации используются файлы с расширением pwl, к которым, к со­жалению, имеется свободный доступ, в результате узнать пароль того или иного пользователя не составляет большой проблемы для злоумышленника.

Для облегчения работы с компьютером все эти системы поддерживают механизм автоматического обнаружения подключенных к нему устройств (так называемый механизм Plug and Play — «включай и работай»). Эту задачу выполняет специаль­ный модуль — диспетчер конфигурации (Configuration Manager). Он гарантирует, что каждое устройство, входящее в состав персонального компьютера, сможет ис­пользовать линии IRQ (Interrupt Request — запрос на прерывание), адреса портов ввода-вывода, каналы прямого доступа к памяти и прочие ресурсы без конфлик­тов с другими устройствами. Кроме того, диспетчер конфигурации отслеживает текущие изменения в конфигурации компьютера. Поскольку операционные сис­темы Windows 9x получили самое широкое распространение, все выпускаемое периферийное оборудование имеет необходимые драйверы, причем достаточно правильно написанные и успешно работающие. Поэтому серьезные проблемы на сегодняшний день с этим механизмом мало кто испытывает. Динамическое кон­фигурирование аппаратно-программной среды значительно упрощает использо­вание операционной системы и позволяет без лишних операций ручной настройки работать на компьютере пользователям, не являющимся специалистами в вычис­лительной технике.

С точки зрения базовой архитектуры операционные системы семейства Windows 9x являются 32-разрядными и мультизадачными (многопоточными) системами с вытесняющей многозадачностью. Ядра у всех этих операционных систем построе­ны по макроядерной архитектуре. Ядро состоит из трех основных компонентов: Kernel, User и GDI. Модуль Kernel обеспечивает основную функциональность опе­рационной системы, в том числе: планирование процессов; поддержку потоков выполнения; синхронизацию объектов; работу с файлами, отображаемыми на па­мять; управление памятью; файловый ввод-вывод; обработку исключений; работу консолей; взаимодействие 32-разрядного и 16-разрядного кода с преобразованием 16-разрядного формата кода и данных в 32-разрядный (и наоборот) посредством механизма шлюзования; некоторые другие функции. Компонент User управляет вводом с клавиатуры и координатных устройств (типа мыши) и выводом через пользовательский интерфейс. Когда то или иное устройство ввода генерирует пре­рывания, обработчик прерываний, используя модель асинхронного ввода, преоб­разует их в сообщения и посылает потоку необработанного ввода, который рас­пределяет их по соответствующим очередям сообщений. Наконец, компонент ядра, называемый GDI (Graphical Device Interface — графический интерфейс устрой-

Серверная операционная система OS/2 Warp 4.5 - student2.ru ' Вместо термина каталог (directory) в системах с графическим интерфейсом гораздо чаще использу-ют термин папка (folder).

Серверная операционная система OS/2 Warp 4.5 - student2.ru Операционные системы Windows 9x______________________________________ 367

ства), представляет собой графическую подсистему, которая отвечает за прори­совку графических примитивов, операции с растровыми изображениями и взаи­модействие с аппаратно-независимыми графическими драйверами. GDI управля­ет выводом на экран, принтеры и другие устройства.

Все операционные системы Windows 9x централизованно хранят всю системную ин­формацию об аппаратных средствах, установленном системном и прикладном про­граммном обеспечении и его настройке, в том числе и индивидуальных параметрах каждого пользователя. Такая централизованная информационная база данных назы­вается реестром (registry). Реестр избавляет от необходимости иметь дело с множе­ством INI-файлов, как это было в системах Windows 3.x. Физически содержимое рее­стра определяется файлами system.dat и user.dat, которые располагаются в каталоге с файлами операционной системы. В режиме, когда каждый пользователь имеет соб­ственный профиль, определяющий персональную настройку его рабочего окружения, в состав реестра включается еще файл user.dat того пользователя, который в этот мо­мент работает на компьютере. Файлы с именем user.dat располагаются в профилях пользователей и определяют права пользователей в операционной системе.

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

Помимо этих драйверов, которые относятся к драйверам низкого уровня и непос­редственно завязаны на аппаратуру, в Windows 9x используются драйверы вирту­альных устройств. Эти драйверы предназначены для управления системными ре­сурсами, причем они позволяют разделять ресурс между несколькими процессами. Аббревиатура VxD (Virtual Device — виртуально устройство), которую мы можем встретить при детальном знакомстве с этими операционными системами, означа­ет, что речь идет именно о драйверах виртуальных устройств. Вместо средней бук­вы х в названии драйвера виртуального устройства может стоять, например, ла­тинская буква Р, которая означает, что речь идет о драйвере принтера. Если же название виртуального драйвера — VDD, то мы имеем дело с драйвером дисплея.

Драйверы VxD поддерживают все основные устройства персонального компьюте­ра, включая контроллеры на системной плате, контроллеры дисковых устройств, таймер, видеоконтроллеры, коммуникационные порты (параллельный и последо­вательный), принтеры, клавиатуры и многие другие. Они обеспечивают динами-

368 Глава 11. Операционные системы Windows

Серверная операционная система OS/2 Warp 4.5 - student2.ru ческую поддержку драйверов устройств, а виртуальное устройство отслеживает состояние соответствующего реального аппаратного устройства для любого про­цесса, которое им используется. Поскольку системы Windows 9x обеспечивают мультизадачный режим, передача устройства от одного процесса другому проис­ходит очень часто. Каждое выполняемое приложение или системный процесс может прервать работу с устройством другого приложения. Поскольку такое вмешатель­ство в принципе могло бы вызвать полный крах процессов управления вводом-выводом, драйвер виртуального устройства проверяет и соответственно изменяет состояние устройства для любого приложения и/или системного процесса ввода-вывода. При этом, естественно, гарантируется, что устройство будет корректно функционировать с каждым из процессов, запрашивающим ту или иную опера­цию ввода-вывода па этом устройстве. Некоторые драйверы виртуальных устройств предназначены для управления программными компонентами операционной сис­темы; они содержат код, который эмулирует определенные программные средства или отслеживает, чтобы выполняющиеся процессы использовали только свои дан­ные. Во всех операционных системах Windows 9x в память загружаются только те драйверы виртуальных устройств, которые необходимы в данный момент. Это по­зволяет экономить оперативную память компьютера.

Одним из драйверов виртуальных устройств является системный драйвер, управ­ляющий файловой системой защищенного режима и драйверами блочных уст­ройств. Это супервизор ввода-вывода (Input/Output Supervisor, IOS). Он прини­мает запросы от файловых систем и загружает драйверы, обеспечивающие доступ к локальным дискам и дисковым устройствам.

Драйверы файловых систем являются компонентами кода с нулевым уровнем при­вилегий. Они поддерживают следующие файловые системы:

- VFAT (Virtual FAT) — файловые операции на дисковых устройствах и взаимо­
действие с подсистемой блочного ввода-вывода;

- CDFS — работа с компакт-дисками;

- UDF (Universal Disk Format) — соответствует спецификациям, принятым ор­ганизацией Optical Storage Technology Association, и предназначена для досту­па к дискам DVD-ROM и CD-ROM (эта файловая система не поддерживается в Windows 95);

- сетевые редиректоры для обеспечения связи с серверами компаний Microsoft
и Novell (Netware).

Все эти файловые системы управляются диспетчером устанавливаемых файловых систем (IFS). Помимо перечисленных в операционную систему можно установить и иные файловые системы. Например, при работе с Windows 98 мы можем устано­вить драйвер для доступа к дискам NTFS. Правда, реализация этого драйвера та­кова, что он игнорирует все расширенные атрибуты. В результате не работают раз­решения NTFS для ограничения на доступ к файлам, которые и составляют одно из основных достоинств этой файловой системы.

По умолчанию системы Windows 98 и Windows ME позволяют работать с файло­вой системой FAT12 (для работы с дискетами), FAT16 и FAT32. Последняя явля­ется основной для этих операционных систем.

Серверная операционная система OS/2 Warp 4.5 - student2.ru Операционные системы Windows 9x______________________________________ 369

Операционные системы Windows являются сетевыми. В дистрибутивы входит все необходимое системное сетевое программное обеспечение, которое легко и быст­ро устанавливается и конфигурируется. Используется программный интерфейс NetBIOS и технология SMB (Server Message Blocks). Системы главным образом предназначены для работы в составе рабочих групп, то есть для построения одно­ранговых вычислительных сетей, хотя операционные системы Windows 95 и Win­dows 98 допускают работу в составе домена в сетях клиент-сервер. Для этого они имеют все необходимые программные модули и интерфейсные экранные формы. Однако, поскольку в случае их использования в корпоративных сетях существен­ным образом начинает страдать информационная безопасность, делать это не ре­комендуется.

Организация многозадачности

Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы Windows 9x, состоит в организации по возможности простого, но эффективного способа предоставления процессор­ного времени различным параллельно выполняющимся программам. Другими сло­вами, речь идет о диспетчеризации задач.

Мы уже знаем, что многозадачность, в общем случае, означает способность опера­ционной системы обеспечивать совместное использование процессора нескольки­ми программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает. В большинстве операционных систем, в том числе и в Windows NT, и в UNIX, выполнение приложения называется про­цессом. Однако в уже упомянутых операционных системах Windows 3.x почти все­гда использовался термин «задача», и лишь изредка — «процесс». Имейте в виду, что в операционных системах Windows 9x используется исключительно термин «процесс», а понятие задачи было официально исключено из терминологии Win­dows. Вкладывая совершенно такой же смысл в слово «процесс», разработчики Microsoft тем самым попытались поставить операционные системы семейства Windows 9x как бы на один уровень с другими операционными системами, таки­ми, например, как Windows NT. В большей части документации по Windows 3.1 мы можем обнаружить оба упомянутых слова. Основная причина изменения тер­минологии — реализация мультизадачности при сохранении мультипрограммно­го режима работы. Другими словами, речь идет о поддержке в этих операционных системах возможности многопоточного выполнения приложений. Поэтому поми­мо отхода от термина задача и использования термина процесс, мы должны отме­тить, что во всех этих операционных системах стал использоваться термин поток выполнения, или тред (thread).

Напомним, что поток выполнения — это одна из ветвей вычислительного процес­са. Потоку выделяется процессорное время, этим занимается диспетчер задач опе­рационной системы, называемый планировщиком. Поток может быть создан лю­бым работающим под управлением Windows 9x 32-разрядным приложением или виртуальным драйвером устройства. Поток имеет собственный стек и контекст

Серверная операционная система OS/2 Warp 4.5 - student2.ru Серверная операционная система OS/2 Warp 4.5 - student2.ru 370 Глава 11. Операционные системы Windows

Серверная операционная система OS/2 Warp 4.5 - student2.ru выполнения (а именно содержимое рабочих регистров процессора). Потоки ис­пользуют память совместно с процессом-родителем. Когда Windows 95/98 загру­жает приложение и создает необходимые ему структуры данных, система настраи­вает процесс в виде отдельного потока. Потоки могут использовать весь код и глобальные данные процесса-родителя. Это означает, что создание нового потока требует минимальных затрат памяти. Один процесс может породить множество параллельно выполняющихся потоков. Многие приложения на протяжении всего времени своей работы используют единственный поток, хотя могут (а многие так и делают) использовать еще несколько потоков для выполнения определенных кратковременных операций в фоновом режиме, что позволяет либо увеличить ско­рость выполнения приложений, либо дать возможность пользователю выполнять следующую операцию в своей программе, не дожидаясь завершения текущей опе­рации.

Термин «задача» мы все же будем использовать и дальше, поскольку с точки зре­ния распределения процессорного времени требуется все то же: выполнять вычис­ления, то есть выполнять некий конкретный код с конкретными данными.

В Windows 95/98 работа с потоками доступна только 32-разрядным приложениям и виртуальным драйверам устройств. Виртуальные машины MS DOS и старые 16-разрядные приложения Windows не могут обращаться к функциям API, ко­торые поддерживают потоки. Каждая виртуальная машина MS DOS работает в отдельном потоке. Аналогично, каждое 16-разрядное приложения Windows при своем исполнении образует процесс, который использует всего один поток, что позволяет обеспечить для старых приложений Windows модель кооперативной многозадачности. Любое 32-разрядное приложение или виртуальный драйвер ус­тройства может создавать дополнительные потоки, a Windows 95/98 может орга­низовать диспетчеризацию всех этих потоков в соответствии с алгоритмами вы­теснения, что представляет собой еще один аспект многозадачности в Windows. Несмотря на то что все эти потоки могут представлять принципиально разные типы программ, в системе они представлены в виде одинаковых структур данных. Вслед­ствие этого диспетчер и остальной 32-разрядный системный код, использующий эти внутренние структуры

Наши рекомендации