Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Понятие, основные функции и составные части операционной системы



 

На прошлой лекции было дано общее определение операционной системы. Применительно к операционной системе Windows 2000/XP можно дать следующее определение.

Операционная система Windows 2000/XP – это многопользовательская, многозадачная, многопоточная ОС с развитой системой приоритетного прерывания, имеющая графический поль­зовательский интерфейс и расширенные сетевые возможности.

Отличительными чертами этой операционной системы являются:

- встроенная сетевая поддержка, обеспечивающая совместное сетевое использование файлов, устройств и объектов;

- приоритетная многозадачность, позволяющая приложениям с более высоким приоритетом вытес­нять менее приоритетные приложения, что приводит, в частности, к более эффективному использованию машинного времени ввиду автоматической ликвидации зависания системы при выполнении «сбойного» приложения;

- наличие достаточно мощных средств защиты программ и файлов различных пользователей от несанкционированного доступа. Наличие многоуровневого доступа к ресурсам с назначением пользователям различных прав;

- поддержка нескольких файловых систем. Кроме файловой системы DOS, поддерживаемой всеми версиями Windows (FAT 16/32), Windows 2000/XP поддерживает файловую систему Windows NT (NTFS) и файловую систему компакт-дисков (CDFS);

- поддержка широкого спектра компьютерных платформ, в том числе и многопроцессорных вычис­лительных систем.

Перечислим основные составные части операционной системы:

- BIOS – базовая система ввода вывода;

- загрузчик операционной системы;

- ядро операционной системы;

- внешние команды;

- драйверы;

- библиотеки;

- утилиты.

BIOS – это небольшая программа находящаяся в ПЗУ и проставляемая вместе с системной платой. Она позволяет обеспечить независимость программного обеспечения от специфики кон­кретной модели компьютеров, и выполняет следующие функции:

- тестирование аппаратной части при включении компьютера;

- инициализация векторов прерывания нижнего уровня;

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

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

Ядро операционной системы состоит программ, которые расширяют базовую систему ввода вывода и управляют всеми ресурсами ЭВМ.

Windows 2000/XP - операционная система внутренняя структура ядра которой тесно свя­зана с особенностями процессоров, совместимых с Intel, поэтому при изучении Windows 2000/XP не по­мешает знание некоторых принципов функционирования процессоров Intel.

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

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

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

Таким образом, в Windows 2000/XP реализована двухуровневая модель защиты, которую многие называют моделью «ядро-пользователь», а некоторые моделью «клиент-сервер». Опти­мальное распределение всех выполняемых программ на системные с высоким уровнем приоритета и прикладные с низким уровнем привилегий обеспечивает достаточно высокую степень защиты без заметного ущерба для общей производительности системы. Именно поэтому Microsoft отказа­лась от использования первого и второго колец защиты в своих операционных системах, во вся­ком случае – пока.

Windows 2000/XP – многозадачная и многопоточная система. Это значит, что в операцион­ной системе может «одновременно» выполняться несколько процессов, причем в пределах одного процесса могут параллельно существовать несколько более простых процессов, или так называе­мых потоков.

Существует два режима многозадачности:

1. Кооперативная многозадачность.

2. Вытесняющая многозадачность.

При кооперативной многозадачности каждое приложение (программа) получает фактиче­ски столько процессорного времени, сколько оно считает нужным. Все приложения делят процес­сорное время, периодически опрашивая друг друга. Поэтому хорошо заметно, когда одна про­грамма «тормозит» другую, а при длительных операциях с диском замирает практически вся про­чая деятельность. Такой режим использовался, например, в операционных системах Windows 3x, а также в Windows 9x при работе с 16-ти разрядными приложениями.

Необходимость использования в Windows 9x режима кооперативной многозадачности была связана с проблемой обеспечения совместимости ОС с программами, написанными ранее, однако, начиная с Windows 95, реализован и принципиально другой вид многозадачности, в котором опе­рационная система действительно контролирует и управляет процессами, потоками и их переклю­чением. Этот вид многозадачности получил название вытесняющая многозадачность.

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

Переключением потоков занимаются планировщики приоритетов, которые вычисляют приоритеты (возможные значения – от 0 до 31) и определяют количество процессорного времени, выделяемого каждому потоку. При этом планировщик приоритетов действует следующим обра­зом:

- повышается приоритет потоков, находящихся в ожидании пользовательского ввода (приоритет­ных приложений). Таким образом, система может более оперативно реагировать на действия пользователя;

- если поток обладает низшим приоритетом, он начинает повышаться;

- периодически повышается приоритет каждого потока, чтобы приложения с низким приорите­том не «зависали»;

- если приоритет потока наивысший, он начинает понижаться;

- если несколько потоков имеют одинаково высокие приоритеты, им устраивают «карусель», выде­ляя каждому по очереди одинаковое количество времени.

Реализация вытесняющей многозадачности в Windows 2000/XP дает не только возможность плавного переключения задач, но и устойчивость среды к зависаниям, так как ни одно приложение не может получить неограниченные права на процессорное время и другие ресурсы. Так система создает эффект одновременного выполнения нескольких приложений. Если компьютер имеет не­сколько процессоров, или процессор Pentium IV с включенной через BIOS технологией Hyper-Threading* то системы Windows 2000/XP могут действительно совмещать выполнение нескольких приложений. Если процессор один, то совмещение остается иллюзией. Когда заканчи­вается квант времени, отведенный текущей программе, система ее прерывает, сохраняет контекст и отдает управление другой программе, которая ждет своей очереди. Величина кванта времени зависит от ОС и типа процессора, в Windows 2000 она в среднем равна 20 мс. Следует отметить, что добиться одновременного выполнения потоков можно только на машинах с операционными системами Windows 2000/XP и выше, ядра которых поддержи­вают распределение потоков между процессорами и процессорного времени между потоками на каждом процессоре. Windows 9x/ME работают только с одним процессором. Даже если у компью­тера несколько процессоров, под управлением Windows 9x/ME будет задействован лишь один из них, а остальные простаивают.

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

В Windows 9x при загрузке всегда создается системная виртуальная машина, в пределах ко­торой выделяется отдельное адресное пространство для ядра системы. Каждому запущенному 32-разрядному приложению Windows 9x (их называют приложениями Win32) также выделяется от­дельное пространство адресов в преде­лах системной виртуальной машины. Для всех 16-разрядных приложений Windows (приложения Winl6) система Windows 9x использует общее адресное про­странство в пре­делах системной виртуальной машины. Каждое приложение DOS выполняется в собственной вир­туальной машине.

В Windows 2000/XP при загрузке также создается системная виртуальная машина. Однако в отличие от Windows 9x, в Windows 2000/XP все 32-разрядные приложения работают в своих вир­туальных машинах, а для приложений MS-DOS и Win16 (16-разрядные приложения Windows 3x) создается общая виртуальная DOS-машина (NTVDM) которая работает, как системный фоновый процесс и отделена от ядра системы. В Windows 2000/XP 16-разрядные про­граммы и программы MS-DOS работают как отдельные потоки в многопотоковом процессе NTVDM.

____________________________________________________________________________________________________________________________________________________________

* Сущность технологии Hyper-Threading заключается в том, что один физический процессор представляется операционной системе как два логических процессора, и операционная система не видит разницы между одним процессором HT или двумя обычными процессорами. В обоих случаях операционная система направляет потоки как на двухпроцессорную систему. Далее все вопросы решаются на аппаратном уровне. В процессоре НТ каждый логический процессор имеет свой собственный набор регистров (включая и отдельный счетчик команд), а чтобы не усложнять технологию, в ней не реализуется одновременное выполнение инструкций выборки / декодирования в двух потоках. То есть такие инструкции выполняются поочередно. Параллельно выполняются лишь обычные команды.

 

Такая многозадачная архитектура Windows 2000/XP позволяет более быстро и более на­дежно выполнять 32-разрядные приложения, поскольку при выходе из приложения Win32 или приложения MS-DOS и Win16 (в том числе принудительном прекращении работы приложения) просто завершается работа соответствующей виртуальной машины, и все использовавшиеся ею системные ресурсы освобождаются.

Определение драйверов устройств было дано на предыдущей лекции. Драйверы отвечают за операции с аппаратным обеспечением. Они принимают команды от операционной системы и переводят их в конкретные инструкции, понятные соответствующим устройствам. Благодаря этому прикладные программы для Windows не зависят от различных устройств и пользуются сер­висом, который им предоставляет операционная система. Windows 2000/XP поддерживает три типа драйверов устройств - драйверы реального режима MS-DOS (SYS-файлы), 16-разрядные драй­веры для Windows 3.x (DRV-файлы) и вирту­альные 32-разрядные драйверы (например: VDD - виртуальный драйвер дисплея, VTD - виртуальный драйвер таймера, VPD - виртуальный драйвер принтера; их общее наименование - VxD).

Встроенные функции операционной системы Windows 2000/XP находятся в DLL - динами­чески загружаемых модулях (dynamic-link library). Модули DLL - это разделяемые биб­лиотеки процедур, к которым по мере необходимости обра­щаются исполняемые программы.

Основой кода Windows 2000/XP, выполняемого в основном, в нулевом кольце защиты про­цессора (в Windows 9x – выполнение производилось в третьем кольце защиты), являются следую­щие 32-разрядные DLL-модули:

1. Windows Manager - компонент, который управляет вводом и выводом на экран. Этот модуль имеет и другое имя - User. Он и располагается в библиотеке User32.dll.

2. Graphics Device Interface (GDI) - библиотека функций и структур, которые реализуют рисова­ние в контексте устройства. Контекст устройства - это логическая структура, не зависящая от физического устройства и позволяющая пользоваться максимальными возможностями и средствами для вывода графики. Вывод в конкретное физическое устройство производится с помощью драйвера устройства. Система при этом преобразовывает и, возможно, искажает ин­формацию с учетом ограничений, характерных для конкретного устройства. Поэтому реальная картина может отличаться от идеальной, созданной в контексте устройства.

3. Graphics Device Drivers (GDD) - аппаратно-зависимые драйверы, которые осуществляют связь с конкретными физическими устройствами ввода и вывода.

4. Console - компонент, который поддерживает текстовый режим вывода в окне.

5. Operating System Functions - функции, которые поддерживают все другие компоненты подсис­темы Win32.

Вывод по первому вопросу: основные достоинства персональной вычислительной ма­шины проявляются в диалоговом режиме. Организацию работы в таком режиме обеспечивает опе­рационная система. Современные операционные системы должны сочетать в себе такие качества, как высокое быстродействие, защищенность, надежность, а также приемлемые требования к аппа­ратному обеспечению. Наиболее полно все эти качества для операционных систем фирмы Micro­soft сочетаются в системах Windows 2000/XP.

Все программы и данные хранятся в виде файлов на дисках. За их хранение отвечает фай­ловая система, являющаяся частью любой операционной системы. Рассмотрению файловой сис­темы посвящен второй учебный вопрос данной лекции.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-10; Просмотров: 1384; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь