Реферат: Операционные системы Windows и их архитектура
Операционные системы Windows и их архитектура
Для изучения необходимо: Windows и System Manager.
1.Операционные системы Windows
Сейчас чаще всего используются три операционные системы (ОС) семейства Windows. К 16-разрядным версиям относятся Windows 3.1 и Windows 3.11 (другое название — Windows for Workgroups), которые обсуждаются в первой части этого занятия. Далее же речь пойдет о 32-разрядных операционных системах семейств Windows 95/ME и Windows NT/2000/XP.
Цель:
описать возможности Windows 3.1, Windows 95 и Windows NT;
выбрать ОС, оптимальную для конкретной ситуации.
Windows 3.1
Windows 3.1 — 16-разрядная оболочка, работающая поверх операционной системы MS-DOS. В следующую версию, 3.11 (Windows for Workgroups), добавлены средства сетевой поддержки. Версии Windows З.х были адресованы пользователям, работающим на автономных настольных компьютерах под управлением MS-DOS. На смену им в качестве основной операционной системы для настольных компьютеров пришли Windows 95 и Windows NT Workstation.
Windows 95
Windows 95 — 32-разрядная ОС для настольных компьютеров. В отличие от Windows 3.1, ей не требуется MS-DOS в качестве операционной системы. Вообще-то 16-ти разрядная, с 32-х разрядным интерфейсом.
Благодаря стараниям разработчиков, Windows 95 не только поддерживает все существующие 16-разрядные приложения, но и служит платформой для новых, 32-разрядных приложений. Кроме того, Windows 95 обладает встроенными сетевыми средствами, включая поддержку одноранговых сетей на базе клиентов под управлением Windows 95 и подключение к серверам (например, под управлением Windows NT Server).
Windows 95 обеспечивает поддержку аппаратуры и файловых систем, облегчая конфигурирование операционной системы и аппаратных средств.
Поддержка аппаратуры Plug-and-Play
Стандарт Plug-and-Play (PnP) позволяет изменять конфигурацию персонального компьютера без вмешательства пользователя. Автоматическая установка устройства — простым подсоединением его к компьютеру — мгновенно делает это устройство доступным. Plug-and-Play поддерживается не всеми устройствами и системами, например его не поддерживает Windows NT 4.0, однако это будет исправлено в следующей версии Windows NT Workstation. Прежде чем устанавливать устройство, убедитесь, что оно поддерживает стандарт Plug and Play.
Windows 95 OSR2
Пакет модернизации OEM Service Release 2 (OSR2) включает следующие расширения Windows 95:
файловую систему FAT32;
Internet Explorer 3.0;
DirectX 2.0 и ActiveMovie;
поддержку TCP/IP для нескольких конфигураций DNS;
клиента системы сообщений Windows NT 4.0 (Windows Messaging).
Кроме того, в состав Windows 95 OSR2 входят средства поддержки новой аппаратуры, а также разнообразные дополнения, которые ранее были доступны как отдельные компоненты. Сейчас большинство фирм-поставщиков компьютеров с предустановленной ОС Windows 95 используют OSR2.
Файловая система FAT32
В состав Windows 95 OSR2 входит файловая система FAT32, представляющая собой расширение FAT. Если Вы запустите утилиту FDISK на компьютере под управлением Windows 95 OSR2 с жестким диском больше 512 Мб, Вам будет предложено включить режим поддержки больших дисков. После Вашего согласия все новые разделы размером более 512 Мб будут помечаться как разделы FAT32.
FAT32 более эффективно использует дисковое пространство. В FAT 16 таблица размещения файлов разделена на блоки по 16 кб. Если блок используется не полностью, оставшийся объем пропадает. В FAT32 объем блоков — 4 кб, поэтому при частичном заполнении блока меньше дискового пространства остается пустым. Кроме того, файловая система FAT16 поддерживает диски размером лишь до 2 Гб, в то время как FAT32 — до 2 Тб.
Большинство Win32-пpилoжeний не надо модифицировать для работы с FAT32. Исключение представляют лишь приложения, использующие низкоуровневые структуры диска или как-либо иначе полагающиеся на формат данных на диске.
Windows NT
Windows NT Workstation и Windows NT Server — 32-разрядные операционные системы. Они предназначены для пользователей, заинтересованных в мощной многозадачной операционной среде.
Их применяют в таких отраслях промышленности и областях бизнеса, как:
автоматизация проектирования в машиностроении и электронной промышленности;
архитектура;
дизайн и строительство;
управление производственными процессами;
разработка программного обеспечения;
бухгалтерское дело;
финансовый анализ;
управление инвестициями;
системы реального времени.
Кроме того, Windows NT можно применять для одновременного выполнения множества приложений в многопроцессорных системах. Это очень удобно, так как, пока пользователь работает с активным приложением, фоновые приложения также действуют.
Программы в Windows NT выполняются в отдельных областях памяти, поэтому неисправное приложение не влияет на работу других. Более того, архитектура Windows NT защищает операционную систему от приложений, пытающихся монополизировать ресурсы процессора или воспользоваться адресным пространством операционной системы.
Windows NT Workstation
Операционная система Microsoft Windows NT Workstation реализует все возможности Microsoft Windows for Workgroups на более высоком уровне с поддержкой многозадачности. Это мощная операционная система для настольных компьютеров, объединенных в одноранговую сеть, или же рабочая станция в составе домена Windows NT Server.
Windows NT Server
Мощная операционная система для сервера сети Windows NT Server предназначена для организаций, заинтересованных в реализации отказоустойчивых бизнес-приложений. Windows NT Server служит основой для нового поколения серверных приложений и позволяет реализовать стандартные функции сервера файлов и печати. Эта клиент-серверная платформа, интегрирующая настоящие и будущие технологии, сейчас вне конкуренции благодаря лучшему доступу к информации.
Многопроцессорные возможности и файловая система NTFS делают Windows NT наиболее защищенной и стабильной операционной системой семейства Windows.
Симметричная многопроцессорная обработка
Windows NT — ОС с симметричной многопроцессорной обработкой, что обеспечивает автоматическое использование всех доступных процессоров многопроцессорного компьютера. При таком решении потребности системы и приложений равномерно распределяются между всеми имеющимися процессорами.
Слой абстрагирования от аппаратуры
Windows NT предназначена для работы на различных процессорах и аппаратных платформах. Эта ОС отделяет код операционной системы от аппаратуры компьютера, используя изолирующий уровень — слой абстрагирования от аппаратуры (Hardware Abstraction Layer, HAL). Он позволяет Windows NT, не теряя производительности на любой платформе, оставаться независимой от аппаратуры.
Файловая система NTFS
Файловая система NTFS предпочтительна для компьютеров под управлением Windows NT. Однако иногда на том же компьютере нужно использовать другую файловую систему — например, для работы с другой операционной системой (в этом случае хотя бы один раздел диска должен быть отформатирован соответствующей файловой системой). NTFS поддерживается только на компьютерах под управлением Windows NT.
Преимущество NTFS в том, что она может работать с разделами большого размера. Предельный размер файла на разделе NTFS — 16 экзабайт. Это очень много — взгляните сами:
1024 Мб = 1Гб (гигабайт)
1024 Гб = 1Т6 (терабайт)
1024 Тб = 1 Пб (петабайт)
1024 Пб = 1Э6 (экзабайт)
Один экзабайт — это чуть больше миллиарда гигабайт. Например, если каждый мужчина, каждая женщина и каждый ребенок на Земле (а это около пяти миллиардов человек) напишут по 2 000 страниц текста и поместят их в один файл Windows NT, то файл будет заполнен лишь на 1/16 (чуть более 6%). Минимальный размер раздела NTFS — 5 Мб.
Использование NTFS
При применении файловой системы NTFS необходимо иметь в виду следующее:
в NTFS встроены средства восстановления после сбоя, поэтому пользователям не нужно запускать утилиту восстановления диска на разделе NTFS;
на разделе NTFS нельзя восстановить удаленный файл;
при использовании NTFS значительно уменьшаются потери из-за фрагментации файлов;
NTFS поддерживает модель защиты Windows NT, поэтому все файлы и каталоги на разделе NTFS можно защищать правами доступа и подвергать аудиту;
из-за падения производительности не рекомендуется применять NTFS на томах размером менее 400 Мб.
Выбор платформы Windows
Windows NT
Windows 95
Офисные задачи
-
X
Удаленные пользователи
-
X
Высокая производительность
X
-
Безопасность уровня С-2
X
-
Высокая надежность
X
-
Выбор Windows-платформы зависит от задач, которые нужно решать. Windows 95 и Windows NT, дополняя друг друга, способны удовлетворить запросы большинства пользователей. Ниже перечислены рекомендуемые операционные системы для различных классов задач.
Офисные задачи
Пользователям в офисе, как правило, требуется создавать документы, запросы к базам данных или анализировать электронные таблицы. Для решения этих задач применяются высокопроизводительные приложения (например, Microsoft Office), а также специализированные пакеты. Многие компании стремятся получить максимальную отдачу от своих инвестиций в компьютерную инфраструктуру, состоящую из персональных компьютеров, периферийных устройств и приложений. Для них наилучший выбор — Windows 95.
Удаленные пользователи
Во многих компаниях есть служащие, которые большую часть рабочего времени проводят вне офиса — у клиентов, в отеле или в пути, и им, естественно, требуется персональный компьютер. Мобильные пользователи прежде всего заинтересованы в совместимости приложений и устройств, а также в не слишком требовательной к ресурсам (память, аккумуляторные батареи, дисковое пространство и т.п.) операционной системе. Для таких пользователей Windows 95 — опять-таки наилучший выбор.
Высокая производительность
Работа инженеров, научных работников, статистиков и других пользователей научной и технической сферы, как правило, связана с интенсивными вычислениями при проектировании и анализе данных. Windows NT Workstation, поддерживающая симметричную многопроцессорную обработку, легко переносится на высокопроизводительные платформы Pentium, Alpha и MIPS. Кроме того, соотношение производительность/цена для нее — на уровне рабочих станций высшего класса и миникомпь-ютеров. Еще одно преимущество в том, что при наличии Windows NT Workstation не нужен отдельный компьютер для работы с офисными приложениями.
Защита уровня С-2
Там, где важна защита данных или файлов приложений — например, в банковской сфере или в оборонных отраслях, наилучший выбор — Windows NT Workstation. Скажем, окно регистрации, которое открывается нажатием клавиш CTR.L+ALT+DEL, предотвращает перехват имени пользователя и пароля программами типа «Троянского коня». Файловая система NTFS вместе с соответствующими механизмами защиты предотвращает неавторизованный доступ к системе и данным. Более того, модель защиты Windows NT Workstation сертифицирована на соответствие уровню С-2*. Этими средствами обеспечивается работа многих пользователей на одном компьютере под управлением Windows NT с гарантированной защитой всех файлов в системе.
Высокая надежность
Многим пользователям требуется уровень доступности и производительности системы выше среднего. Например, в системах управления производством, которые теперь все чаще переносятся с миникомпьютеров и высокопроизводительных ЭВМ на персональные компьютеры, простой попросту недопустим. Другой пример — применение 16-разрядных приложений, которые Windows NT Workstation выполняет в раздельных адресных пространствах (так называемые виртуальные машины). Для пользователя это означает, что при отказе одного приложения другие выполняющиеся программы не пострадают. Windows NT Workstation также обеспечивает полную защиту 32-разрядных приложений и может автоматически восстанавливаться (если нужно, путем перезагрузки) в случае сбоя. Выполнение 16-разрядных Windows-приложений в раздельных виртуальных машинах имеет несколько важных преимуществ.
Взаимодействие приложений: Если 16-разрядные Windows-приложения следуют спецификациям OLE и DDE, они могут взаимодействовать с другими программами, работающими в отдельных адресных пространствах.
Вытесняющая многозадачность: Если несколько 16-разрядных Windows-приложений выполняются в одном адресном пространстве, одно из них (например, в случае ошибки) может блокировать работу других. При выполнении программ в собственных адресных пространствах все они останутся работоспособными, даже если одно из них потерпит крах.
Многопроцессорность: Если все Win16-приложения работают в одном адресном пространстве, в каждый момент времени выполняется только одно из них, поэтому даже в многопроцессорной системе 16-разрядные Windows-приложения не используют дополнительные процессоры. Однако если приложения работают в отдельных адресных пространствах (как в Windows NT), для их выполнения будут задействованы все процессоры системы.
* «Оранжевая книга» (стандарт Министерства обороны США "Trusted Computer System Evaluation Criteria. DoD 5200.28-STD") определяет класс защиты С-2 как «системы с контролируемым доступом». На соответствие требованиям стандарта сертифицирована только базовая часть операционной системы Windows NT, без сетевых сервисов. Требования по защите компьютерных систем, принятые в России, отражены в соответствующем национальном стандарте — ГОСТ Р 50739-95, «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Общие технические требования». — Прим. ред.
Резюме
В настоящее время обычно используются три операционные системы семейства Windows. К 16-разрядным версиям относятся Windows 3.1 и Windows 3.11 (Windows for Workgroups). Windows 95 — 32-разрядная операционная система для настольных и портативных компьютеров. Windows NT Workstation и Windows NT Server — это 32-разрядные операционные системы для пользователей, заинтересованных в мощной многозадачной среде. Выбор конкретной Windows-платформы должен основываться на анализе спектра решаемых задач. Windows 95 и Windows NT, дополняя друг друга, удовлетворят запросы большинства пользователей.
2.Архитектура Windows
Понимание архитектуры системы — основа практических навыков разработки приложений. На этом занятии Вы познакомитесь с ключевыми аспектами архитектуры Windows, определяющими функциональность и производительность операционной системы.
Цель:
как Windows 95 и Windows NT выполняют программный код;
как Windows 95 и Windows NT реализуют вытесняющую многозадачность;
как Windows 95 и Windows NT управляют памятью;
сходства и различия выполнения приложений в Windows 95 и Windows NT;
как драйверы устройств обеспечивают независимость от аппаратуры;
приемущества применения API Win32 при разработке приложений;
назначение и структуру реестра Windows.
Как Windows выполняет программный код
Операционная система Windows для поддержки своей эффективности и целостности использует два режима: пользователя и ядра. Архитектура процессора Intel 80386 и следующих моделей определяет четыре уровня привилегий, называемых кольцами, для защиты кода и данных системы от случайного или преднамеренного изменения со стороны менее привилегированного кода. Такой метод выполнения кода называется моделью защиты Intel.
Уровень привилегий 0, известный как режим ядра, максимальный. Уровень привилегий 3, или режим пользователя, — минимальный. Когда код выполняется на некотором уровне привилегий, говорят, что он выполняется в соответствующем кольце (модель защиты Intel). Операционные системы семейства Windows используют только кольца 0 и 3.
Режим ядра
Режим ядра (кольцо 0) — это наиболее привилегированный режим. Работая в нем, код имеет прямой доступ ко всей аппаратуре и всему адресному пространству.
Программное обеспечение, выполняющееся в режиме ядра:
имеет прямой доступ к аппаратному обеспечению;
имеет доступ ко всей памяти компьютера;
не может быть вытеснено в страничный файл на жестком диске;
выполняется с большим приоритетом, чем процессы режима пользователя.
В частности, в кольце 0 выполняется код ядра операционных систем Windows 95 и Windows NT. Поскольку компоненты режима ядра защищены архитектурно, процессор предотвращает их изменение другой программой. Хотя кольцо 0 предоставляет максимальную защиту, не следует запускать в кольце 0 что попало — ведь компоненты этого режима имеют доступ ко всей системе. Если программный компонент в режиме ядра потерпит крах, это может разрушить всю систему.
Поскольку одна из задач Windows 95 — максимальная обратная совместимость, многие старые 16-разрядные драйверы и приложения используют прямой доступ к аппаратуре. Windows NT не предоставляет таким приложениям требуемый уровень доступа, поэтому зачастую они не могут работать под управлением Windows NT Workstation и Windows NT Server.
Режим пользователя
Режим пользователя предоставляет меньше привилегий, нежели режим ядра, — в частности, он не обеспечивает прямой доступ к аппаратуре. Код, выполняющийся в кольце 3, ограничен выделенным ему адресным пространством, а для вызова системных сервисов использует интерфейс прикладного программирования (API) Windows.
Процессы режима пользователя характеризуются следующими особенностями.
Не имеют прямого доступа к аппаратуре.
Это защищает систему от неисправных приложений или неавторизованного доступа.
Ограничены выделенным им адресным пространством.
Таким образом операционная система обеспечивает свою целостность. Процессу выделяется определенная область адресов и запрещено выходить за эту область.
Могут быть вытеснены из физической памяти в виртуальную память на жестком диске.
Механизм виртуальной памяти позволяет использовать пространство на жестком диске как дополнительное ОЗУ. О виртуальной памяти подробно рассказано чуть позже в этой главе.
Выполняются с меньшим приоритетом, чем компоненты режима ядра.
Поскольку приоритет процессов режима пользователя ниже, они получают меньший доступ к процессору, чем процессы режима ядра. Это гарантирует, что операционная система не будет ожидать окончания работы такого процесса. Кроме того, неисправный программный компонент, выполняющийся в режиме пользователя, не вызовет крах всей системы и не повлияет на другие приложения, работающие параллельно.
Многозадачность
Многозадачность — способность операционной системы выполнять более одной программы (задачи) одновременно. Противоположный подход — однозаачность, когда один процесс должен быть завершен прежде, чем сможет начаться другой. MS-DOS — пример однозадачной среды, a Windows 95 и Windows NT — многозадачные среды.
Конечно же, и в многозадачной системе программы не выполняются одновременно — процессор переключается между ними. Благодаря этому Вы можете выполнить запрос к базе данных и продолжить работу с редактором текстов до тех пор, пока не появятся результаты запроса. Многозадачность, кроме того, позволяет компьютеру эффективно использовать время, которое иначе было бы потеряно в ожидании команды пользователя или ответа устройств ввода/вывода.
Для понимания многозадачности необходимо сначала познакомиться с процессами и потоками.
Процессы и потоки
Приложение, разработанное для Windows, состоит из одного или более процессов. Процесс — это, попросту говоря, выполняемая программа. Ему принадлежат адресное пространство и выделенные ресурсы, а также один или более потоков, выполняющихся в его контексте.
Поток — это основная единица, которой операционная система выделяет процессорное время, и минимальный «квант» кода, который может быть запланирован для выполнения. Кроме того, это часть процесса, выполняющаяся в каждый момент времени. Поток работает в адресном пространстве процесса и использует ресурсы, выделенные процессу.
Любой процесс содержит хотя бы один поток. Каждый процесс 16-разрядного Windows-приложения или программы MS-DOS имеет только один поток, тогда как процессы 32-разрядных Windows-приложений могут включать их несколько.
Примечание Ресурсами владеют процессы, а не потоки — последние только используют ресурсы, выделенные процессу. Например, если программа запросит порт, им будет управлять процесс. Любой поток процесса может обратиться к порту, но ни один из них не вправе самостоятельно запросить использование порта.
Вытесняющая и кооперативная многозадачность
Существуют два типа многозадачности: кооперативная (не вытесняющая) и вытесняющая. В кооперативной многозадачной среде (например, Windows 3.1) контроль над процессором никогда не отбирается у задачи — приложение должно самостоятельно отказаться от контроля над процессором, чтобы другое приложение заработало.
Вытесняющая многозадачность отличается от кооперативной тем, что операционная система может получить контроль над процессором без согласия выполняющегося приложения. Лишение приложения контроля над процессором называется вытеснением. Windows 95 и Windows NT используют вытесняющую многозадачность для MS-DOS и 32-разрядных Windows-приложений.
Разработчики программ, выполняющихся под управлением кооперативной операционной системы, должны учитывать необходимость частого возврата управления процессором операционной системе. Программа, которая недостаточно часто отдает управление, блокирует кооперативную операционную систему.
Windows NT применяет вытесняющую многозадачность при выполнении 16-разрядных приложений Windows и MS-DOS. Windows NT обеспечивает полную защиту памяти 16-разрядных приложений, так как каждое из них выполняется в рамках собственной виртуальной машины. Windows 95, напротив, использует кооперативную многозадачность для всех 16-разрядных приложений — это необходимо для сохранения совместимости с 16-разрядными Windows-программами, которые сами контролируют свое выполнение.
Планирование
С помощью планирования операционная система определяет, какой поток использует процессор в данный момент времени. Windows реализует многозадачность, присваивая каждому потоку приоритет, что позволяет ему использовать ресурсы системы. Планирование основано на заранее заданной единице времени, называемой квантом. Фактическая продолжительность кванта времени зависит от конфигурации системы. Уровни приоритета находятся в диапазоне от 0 (наименьший приоритет) до 31 (наибольший приоритет). Поток с наибольшим приоритетом получает процессор в свое распоряжение.
Приоритет каждого потока определяется по:
классу приоритета процесса, которому принадлежит поток;
уровню приоритета потока внутри класса приоритета его процесса.
Классы приоритетов
Класс приоритета процесса и уровень приоритета потока определяют базовый приоритет потока. Уровни приоритетов Windows разделены на два класса:
реального времени (приоритеты от 16 до 31) — используется для выполнения основных функций операционной системы и обычно не применяется для приложений;
переменного приоритета (приоритет от 0 до 15) — определяет процессорный приоритет приложений; приоритет 0 возможен только для бесстраничного системного потока.
Уровни приоритетов
Процессам могут быть присвоены следующие базовые уровни приоритетов:
низкий — запускает приложения с уровнем приоритета 4;
обычный — запускает приложения с уровнем приоритета 7;
высокий — запускает приложения с уровнем приоритета 13;
реального времени — запускает приложения с уровнем приоритета 24.
Примечание Не запускайте приложения с классом приоритета реального времени — это может привести к нестабильности в работе операционной системы.
Управление памятью
В Windows 95 и NT каждый процесс имеет собственное адресное пространство, что позволяет адресовать до 4 Гб памяти. Отметим, что Windows выделяет процессу 4 Гб адресов памяти, а не физического ОЗУ. Физическая память ограничена имеющимися системными ресурсами (ОЗУ и дисковое пространство). Windows выделяет каждому приложению 2 Гб адресов памяти, а другие 2 Гб резервируются для нужд ядра.
Большинство компьютеров не располагают 4 Гб ОЗУ, и по этой причине Windows использует механизм виртуальной памяти. Таким образом, Windows может перенести часть содержимого физической памяти на жесткий диск, когда объем доступного ОЗУ будет исчерпан. Этот процесс известен как подкачка.
Виртуальные адреса, используемые процессом, не совпадают с адресами физической памяти. Для каждого процесса ядро поддерживает так называемую таблицу страниц — внутреннюю структуру, которая позволяет преобразовать виртуальные адреса в физические.
Виртуальная память
Процессоры Intel, начиная с модели 80386, позволяют отобразить область физической памяти на любую область 32-разрядных адресов. Виртуальная память Windows использует этот механизм для того, чтобы любая программа вела себя так, будто она имеет собственное физическое ОЗУ.
Windows для доступа к памяти применяет 32-разрядную линейную адресацию: приложения обращаются к памяти с помощью 32-разрядных адресов. Каждая программа имеет собственное виртуальное адресное пространство, которое диспетчер виртуальной памяти преобразует в адреса физического ОЗУ или в файле на жестком диске.
Постраничная подкачка
Физическое и виртуальное (логическое) адресное пространство каждого процесса разделено на страницы — «кванты» памяти, размер которых зависит от компьютера. Например, для компьютеров х86 размер страницы составляет 4 кб. Ядро может перемещать страницы памяти в страничный файл на диске (Pagefile.sys) и обратно: таким образом, управление памятью становится более гибким. Когда страница перемещается в физическую память, ядро обновляет таблицы страниц соответствующих процессов. Если ядру требуется место в физической памяти, оно вытесняет самые старые страницы физической памяти в страничный файл. Манипуляции ядра с физической памятью совершенно незаметны (прозрачны) для приложений, которые работают только со своими виртуальными адресными пространствами.
3.Выполнение приложений
Windows 95 и Windows NT по-разному выполняют приложения, особенно 16-разрядные.
Механизм сообщений Windows
В отличие от MS-DOS, Windows для управления приложениями использует модель сообщений. Сообщение генерируется всякий раз, когда происходит какое-то событие, например пользователь нажимает и отпускает клавишу на клавиатуре или передвигает мышь. Сообщение помещается в так называемую очередь сообщений. Активное приложение постоянно проверяет свою очередь и извлекает из нее поступившие сообщения.
Обмен сообщениями в 16-разрядных версиях Windows
В Windows 3.1 очередь сообщений операционной системы — единая. Она обслуживает все 16-разрядные Windows-приложения, которые проверяют ее и извлекают адресованные им сообщения. Такое решение не лишено недостатков — например, если у какого-то приложения возникнут проблемы, оно может не позволить другим приложениям проверить очередь сообщений. В этом случае последние прекратят работу, пока не получат управление и не смогут проверить наличие адресованных им сообщений.
Обмен сообщениями в Windows 95
В Windows 95 проблемы единой очереди сообщений разрешены: у каждого выполняющегося Win32-пpилoжeния — своя очередь. Каждый поток в Win32-пpилoжe-нии имеет собственную очередь сообщений и, значит, никак не влияет на поведение других работающих приложений. Если Winl6- или Win32-пpилoжeниe потерпит крах, остальные Win32-пpилoжeния будут действовать на основе вытесняющей многозадачности и смогут принимать поступающие сообщения из своих очередей.
Тем не менее в целях совместимости все 16-разрядные Windows-приложения под управлением Windows 95 используют общую очередь сообщений. Очевидно, если с одним из них что-то произойдет, остальным будет перекрыт доступ к очереди до тех пор, пока программа, вызвавшая проблему, не будет завершена.
Виртуальные машины
Windows NT выполняет приложения в рамках виртуальных машин (Virtual Machine, VM). Фактически VM — это создаваемая операционной системой среда для выполнения приложения, которая полностью эмулирует все ресурсы компьютера. С точки зрения приложения, виртуальная машина — это полноценный компьютер, предоставляющий ему все имеющиеся ресурсы.
Каждое 16-разрядное Windows- и MS-DOS-приложение под управлением Windows NT выполняется в отдельном адресном пространстве, называемом виртуальной DOS-машиной (Virtual DOS Machine, VDM). При этом обеспечивается защита программы, a Windows NT может реализовать вытесняющую многозадачность для всех сервисов операционной системы и приложений.
В Windows 95 предусмотрено выполнение MS-DOS-приложений в отдельных VDM, однако, поскольку часть памяти доступна всем виртуальным машинам, MS-DOS-приложения представляют собой потенциальную угрозу стабильности системы.
Драйверы устройств в Windows
Драйвер устройства — это программный компонент, получающий команды от операционной системы и преобразующий их в команды конкретного устройства. Зачастую драйверы разрабатываются производителями аппаратного обеспечения, и компания Microsoft их напрямую не поддерживает.
Драйверы устройств позволяют разработчикам создавать аппаратно-незави-симые приложения. Другими словами, разработчику на стадии создания приложения не нужно заботиться о том, какую именно аппаратуру будет применять пользователь. Пользователь, в свою очередь, может корректировать конфигурацию компьютера, не затрагивая работоспособность приложений. Windows использует драйверы для таких компонентов, как:
дисплеи;
звуковые карты;
устройства связи;
принтеры;
сетевые адаптеры.
В зависимости от того, для какой операционной системы семейства Windows разработан драйвер, он может принадлежать к одной из двух групп: защищенного режима и реального режима.
Драйверы защищенного и реального режима
Драйверы реального режима созданы для работы в реальном режиме операционной системы MS-DOS. Они не так безопасны и устойчивы, как драйверы защищенного режима, которые используют преимущества архитектуры защищенного режима процессоров 80386 и последующих моделей. Драйвер защищенного режима или драйвер виртуального устройства (Virtual Device Driver, VxD) обеспечивает быстрый разделяемый доступ к устройству. Кроме того, операционные системы семейства Windows выполняют 32-разрядный код защищенного режима более эффективно, чем 16-разрядный код реального режима.
Windows 95 поддерживает оба типа драйверов, a Windows NT — только драйверы защищенного режима. Компания Microsoft настоятельно рекомендует применять 32-разрядные драйверы защищенного режима везде, где возможно.
Интерфейс прикладного программирования Win32
Интерфейс прикладного программирования (Application Programming Interface, API) Win32 обеспечивает приложениям доступ ко всему спектру функций операционных систем семейства Windows. Функции, сообщения и структуры Win32 формируют последовательный и единообразный API для Windows 95 и Windows NT. Средства API Win32 позволяют разрабатывать приложения, успешно работающие на всех платформах и в то же время при надобности использующие уникальные особенности любой из них.
Многие функции API интегрированы в состав таких программ, как Visual Basic. Например, функцию API Win32 MessageBox можно вызвать непосредственно или через функцию Visual Basic MsgBox. Средствами Visual Basic обычно пользоваться легче, однако во многих случаях разработчики найдут непосредственное применение и самим функциям API Win32.
Основной код API Win32
Базовый код API Win32 содержится в трех библиотеках динамической загрузки (Dynamic Link Library, DLL): USER32, GDI32 и KERNEL32.
USER32
User32.dll и User.exe создают и контролируют окна на экране, выполняя все запросы по созданию, перемещению, изменению размеров и уничтожению окон. User.exe, кроме того, обрабатывает запросы, относящиеся к значкам и другим элементам интерфейса пользователя, а также переадресует события, порожденные различными устройствами ввода, соответствующим приложениям.
GD132
Gdi32.dll и Gdi.exe контролируют интерфейс графических устройств (Graphics Device Interface, GDI). GDI выполняет графические операции при создании изображения на системном дисплее и других устройствах, включая:
вывод на экран;
вывод на принтер;
включение/отключение пикселов.
KERNEL32
Kernel32.dll выполняет базовые функции операционной системы, в том числе:
управление памятью;
файловый ввод/вывод;
загрузку программы;
выполнение программы.
Примечание При объявлении функций API в Visual Basic 32-разрядные функции чувствительны к регистру символов, а эквивалентные 16-разрядные функции — нет. Это необходимо иметь в виду при преобразовании 16-разрядных приложений в 32-разрядные.
32- и 16-разрядные компоненты
В Windows 95 включены 16-разрядные версии User, GDI и Kernel. Комбинация 16-разрядного и 32-разрядного кода позволяет сохранить совместимость с существующими приложениями и драйверами и одновременно увеличить производительность системы по сравнению с Windows 3.1. Windows 95 использует 32-разрядный код везде, где это увеличивает производительность не в ущерб совместимости. Для включения в Windows 95 16-разрядных компонентов есть три основные причины:
код для 16-разрядных систем обеспечивает обратную совместимость с приложениями и драйверами, разработанными для Windows 3.1;
в некоторых случаях 16-разрядный код выполняется быстрее, чем аналогичный 32-разрядный;
32-разрядный код требует больше памяти, чем эквивалентный 16-разрядный.
Одна из основных задач Windows 95 — эффективная работа на компьютерах с ограниченным объемом ОЗУ, и применение 16-разрядного кода способствует решению этой задачи.
Подсистемы ввода/вывода и драйверы устройств, включая сетевые и файловые системы, являются полностью 32-разрядными, как и все компоненты управления памятью и планирования. Часто возникающая при этом проблема вызова 32-разрядной функции из 16-разрядного приложения (или наоборот) решается при помощи шлюзования.
Шлюзование
Эта операция выполняется, когда операционная система преобразует вызов 16-разрядной функции в вызов 32-разрядной. Процессы Windows 95 и Windows NT не могут содержать одновременно и 16-разрядный, и 32-разрядный код. Шлюз позволяет коду с одной стороны границы вызывать код с другой ее стороны. Каждая платформа использует один или несколько механизмов шлюзования:
механизм базовых шлюзов позволяет 16-разрядному Windows-приложению в системе под управлением Windows 95 и Windows NT загрузить и вызвать 32-разрядную библиотеку;
с помощью механизма плоских шлюзов, реализованного только в Windows NT, Win32-пpилoжeниe загружает и вызывает 16-разрядную библиотеку и наоборот.
Реестр Windows
Реестр — это унифицированная база данных, содержащая информацию об аппаратной и программной конфигурации локального компьютера. Здесь же хранятся данные системы и приложений. Реестр выполняет ту же роль, что и INI
еще рефераты
Еще работы по разное
Реферат по разное
Стамбул 2004 международная конференция автомобильного транспорта на тему глобализации
17 Сентября 2013
Реферат по разное
Оязыках страны Кавказской
17 Сентября 2013
Реферат по разное
Програма державного екзамену з напряму підготовки
17 Сентября 2013
Реферат по разное
Методичні вказівки містять рекомендації для виконання лабораторних робіт з дисципліни «Електронна комерція». Призначені для використання студентами напряму підготовки
17 Сентября 2013