Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Понятие, основные функции и составные части операционной системы
На прошлой лекции было дано общее определение операционной системы. Применительно к операционной системе 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. Вывод по первому вопросу: основные достоинства персональной вычислительной машины проявляются в диалоговом режиме. Организацию работы в таком режиме обеспечивает операционная система. Современные операционные системы должны сочетать в себе такие качества, как высокое быстродействие, защищенность, надежность, а также приемлемые требования к аппаратному обеспечению. Наиболее полно все эти качества для операционных систем фирмы Microsoft сочетаются в системах Windows 2000/XP. Все программы и данные хранятся в виде файлов на дисках. За их хранение отвечает файловая система, являющаяся частью любой операционной системы. Рассмотрению файловой системы посвящен второй учебный вопрос данной лекции.
Популярное:
|
Последнее изменение этой страницы: 2016-04-10; Просмотров: 1453; Нарушение авторского права страницы