Операционная система windows является составной частью пзу

Платформа в информационных технологиях

2.2. Операционные системы как составная часть платформы

Операционные системы (ОС) являются важной составной частью платформы в ИТ. Они отражают как развитие аппаратных средств, так и стремление разработчиков улучшить функциональные характеристики, повысить степень комфортности ОС по отношению к пользователям.

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

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

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

Операционные системы, подобно аппаратной части компьютеров, на пути своего развития прошли через ряд радикальных изменений, так называемых поколений. Для аппаратных средств смена поколений связана с принципиальными достижениями в области электронных компонентов: вначале вычислительные машины строились на электронных лампах (первое поколение ЭВМ ), затем на транзисторах (второе поколение), интегральных микросхемах (третье поколение), а сейчас — по преимуществу на больших и сверхбольших интегральных схемах (четвертое поколение). Появление каждого из этих последовательных поколений аппаратных средств сопровождалось резким уменьшением стоимости, габаритов, потребляемой мощности и тепловыделения и столь же резким повышением быстродействия и объемов памяти компьютеров.

На одной и той же аппаратной платформе могут функционировать различные операционные системы, имеющие разную архитектуру и возможности. Однако при этом следует учитывать, что различные ОС представляют разную степень сервиса для программирования и работы с прикладными программами пользователей. Кроме того, для их работы необходимы различные ресурсы оперативной памяти.

Современные операционные системы можно классифицировать по различным признакам, представленным в табл. 2.1.

Таблица 2.1. Классификация операционных систем
Классификационный признак Тип операционной системы
1 Особенности алгоритмов управления ресурсами
  • Локальные ОС — управляют ресурсами отдельного компьютера;
  • Сетевые ОС — участвуют в управлении ресурсами сети
2 Число одновременно решаемых задач
  • Однозадачные ОС — выполняют функцию предоставления пользователю виртуальной вычислительной машины, обеспечивая его простым и удобным интерфейсом взаимодействия с компьютером, средствами управления периферийными устройствами и файлами;
  • Многозадачные ОС — кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства
3 Число одновременно работающих пользователей
  • Однопользовательские;
  • Многопользовательские. Основным отличием многопользовательских систем от однопользовательских является поддержка одновременной работы на ЭВМ нескольких пользователей за различными терминалами и наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей
4 Возможность распараллеливания вычислений в рамках одной задачи
  • ОС без возможности распараллеливания вычислений в рамках одной задачи;
  • Поддержка многонитевости. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями — нитями
5 Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами или нитями
  • Невытесняющая многозадачность. В невытесняющей многозадачности механизм планирования процессов целиком сосредоточен в операционной системе. При этом активный процесс выполняется до тек пор, пока он сам по собственной инициативе не передаст управления ОС для выбора из очереди другого, готового к выполнению процесса;
  • Вытесняющая многозадачность. Механизм планирования процессов распределен между системой и прикладными программами. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом
6 Наличие средств поддержки многопроцессорной обработки
  • Отсутствие средств поддержки многопроцессорной обработки;
  • Многопроцессорные ОС, которые в свою очередь классифицируются по способу организации вычислительного процесса в системе с многопроцессорной архитектурой:
    • ассиметричные ОС. Целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам;
    • симметричные ОС. Такие операционные системы полностью децентрализованы и используют весь набор процессоров, разделяя их между системными и прикладными задачами
7 Ориентация на аппаратные средства
  • Операционные системы персональных компьютеров;
  • Операционные системы серверов;
  • Операционные системы мейнфреймов;
  • Операционные системы кластеров.
8 Зависимость от аппаратных платформ
  • Зависимые ОС, ориентированные на определенный класс персональных компьютеров;
  • Мобильные ОС. В таких операционных системах аппаратно зависимые места локализованы так, что при переносе системы на новую платформу переписываются только они. Средством, облегчающим перенос ОС на другой тип компьютера, является написание ее на машинно независимом языке
9 Особенности областей использования
  • ОС пакетной обработки. Системы пакетной обработки предназначены для решения задач вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, т. е. решение максимального числа задач в единицу времени;
  • ОС разделения времени. В системах с разделением времени каждому пользователю предоставляется терминал, с которого он может вести диалог со своей программой. Каждой задаче выделяется некоторый квант процессорного времени, так что ни одна задача не занимает процессор надолго. Если квант времени выбран небольшим, то у всех пользователей, одновременно работающих на одном компьютере, создается впечатление, что каждый из них единолично использует ЭВМ;
  • ОС реального времени. Системы реального времени применяются для управления различными техническими объектами, когда существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа управления объектом. Невыполнение программы в срок может привести к аварийной ситуации. Таким образом, критерием эффективности операционных систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата — управляющего воздействия
10 Способ построения ядра операционной системы
  • Монолитное ядро. ОС, использующие монолитное ядро, компонуются как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот;
  • Микроядерный подход. При построении ОС на базе микроядра, работающего в привилегированном режиме и выполняющего только минимум функций по управлению устройствами, функции более высокого уровня выполняют специализированные компоненты ОС — программные серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, но система получается более гибкой и ее функции можно модифицировать, добавляя или исключая серверы пользовательского режима
11 Наличие нескольких прикладных сред в рамках одной ОС
  • ОС, ориентированная на одну прикладную среду;
  • Несколько прикладных сред в рамках одной ОС, позволяющих выполнять приложения, разработанные для нескольких операционных систем. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы
12 Распределение функций операционной системы среди персональных компьютеров сети
  • ОС, ориентированная на управление одной рабочей станцией сети, с поддержкой сетевого сервиса для конкретного компьютера;
  • Распределенные ОС, в которых реализованы механизмы, обеспечивающие пользователя возможностью представлять и воспринимать сеть в виде однопроцессорного компьютера. Признаками распределенной ОС является наличие единой справочной службы разделяемых ресурсов и службы времени, использование механизма вызова удаленных процедур для распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу одновременно на нескольких компьютерах сети, а также наличие других распределенных служб
13 Тип пользовательского интерфейса
  • Объектно ориентированные — как правило, с графическим интерфейсом;
  • Командные — с текстовым интерфейсом

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

Чтобы выбрать ту или иную операционную систему, необходимо знать:

Создание ОС Windows. Структура ОС Windows

В данной лекции говорится о наиболее важных этапах создания ОС Windows наряду с эволюцией операционных систем, структуре системы, а также вводятся некоторые ключевые понятия.

Из курсов по теории ОС (см., например, [ Карпов ] , [ Столлингс ] ) известно, что операционная система является базисной системной программой. Обычно аппаратно- программное обеспечение типовой вычислительной системы представляют в виде набора слоев ( рис. 1.1), при этом операционной системе соответствует слой между оборудованием компьютера и остальным программным обеспечением. Такое расположение позволяет ОС обеспечивать возможность рационального использования оборудования компьютера удобным для пользователя образом путем создания среды для функционирования и разработки прикладных программ.

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

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

Краткая история создания ОС Windows

Первая версия описываемого ряда операционных систем — ОС Windows NT появилась в 1993 г. Краткий исторический экскурс позволяет объяснить ряд ее особенностей и отличительных черт.

Наиболее важные моменты эволюции операционных систем

Известно ( [ Карпов ] ), что операционные системы приобрели современный облик в период развития третьего поколения вычислительных машин, то есть с середины 60-х до 1980 года. В это время существенное повышение эффективности использования процессора было достигнуто за счет реализации многозадачности, в том числе вытесняющей ( preemptive ) многозадачности. Для поддержки псевдопараллельной работы нескольких программ и асинхронного режима работы внешних устройств в составе вычислительных систем были реализованы следующие программно-аппаратные новшества и подсистемы:

  • Внедрение защитных механизмов. Защита памяти позволяет изолировать конкурирующие пользовательские программы друг от друга, а появление привилегированных и непривилегированных команд — проконтролировать доступ к распределению ресурсов.
  • Реализация прерываний, оповещающих ОС о произошедших асинхронных событиях, например, о завершении операции ввода-вывода.
  • Поддержка совокупности системных вызовов для организации интерфейса между прикладной программой и ОС.
  • Реализация дисциплины планирования для организации очереди из программ в памяти и выделение процессора одной из программ.
  • Обеспечение возможности сохранения с последующим восстановлением содержимого регистров и структур данных, необходимых для выполнения программы, при переключении процессора с одной программы на другую.
  • Реализация стратегии управления памятью — чтобы упорядочить процессы размещения, замещения и выборки информации из памяти.
  • Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.
  • Обеспечение программ средствами коммуникации и синхронизации.

К этому же периоду эволюции относится идея создания семейств программно совместимых машин различной архитектуры, работающих под управлением одной и той же операционной системы. Прошедший первую апробацию на IBM-360 данный процесс имеет результатом привычную на сегодня картину работы ОС Windows или Linux на компьютерах самой разной архитектуры.

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

В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.

Онтогенез повторяет филогенез

В книге Таненбаума справедливо отмечено, что развитие операционных систем иллюстрирует известное из биологии правило «Онтогенез повторяет филогенез» — то есть развитие зародыша (онтогенез) повторяет эволюцию видов. Соответственно, каждый новый вид компьютера (мэйнфрейм, мини-компьютер, персональный компьютер, встроенный компьютер, смарт-карта и т.д.) проходит через одни и те же стадии развития. По мере совершенствования архитектуры, программирование на ассемблере сменяется программированием на языках высокого уровня. Затем компьютер обрастает дополнительным оборудованием, средствами поддержки многозадачности, простые операционные системы заменяются все более сложными. Попутно появляются централизованные файловые системы, виртуальная память и другие атрибуты полноценных операционных систем. Такой взгляд на эволюцию компьютерных архитектур имеет известную предсказательную силу. В частности, можно считать, что операционные системы Microsoft, начиная от MS-DOS и кончая современными версиями Windows, развивались по схожему сценарию.

Архитектурные особенности операционных систем.

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

Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой ( microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра , называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Остальные компоненты взаимодействуют путем обмена сообщениями в рамках архитектуры клиент-сервер (см. рис. 1.2).

Создание ОС Windows

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

Операционные системы корпорации Microsoft можно условно разделить на три группы:

  • MS-DOS и MS-DOS+Windows 3.1,
  • так называемые потребительские ( consumer ) версии Windows (Windows 95/98/Me)
  • и предмет данного курса — линия ОС, ведущих свое начало от Windows NT (Windows NT/2000/XP/Vista).

Однозадачная 16-разрядная ОС MS-DOS была выпущена в начале 80-х годов и затем широко применялась на компьютерах с процессором x86. Вначале MS-DOS была довольно примитивна (деградация ОС), ее оболочка занималась, главным образом, обработкой командной строки, но в последующие версии было внесено много улучшений, заимствованных, главным образом, из ОС Unix. Затем под влиянием успехов дружественного графического интерфейса корпорации Apple для компьютеров Macintosh была разработана система Windows. Особенно широкое распространение получили версии Windows 3.0, 3.1 и 3.11. Первоначально это была не самостоятельная ОС, а скорее многозадачная (с невытесняющей многозадачностью) графическая оболочка MS-DOS, которая контролировала компьютер и файловую систему.

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

ОС Windows NT (New Technology) — новая 32-разрядная ОС, совместимая с предшествующими версиями Windows по интерфейсу. Работу над созданием системы возглавил Дэвид Катлер, один из ключевых разработчиков ОС VAX VMS . Ряд идей системы VMS присутствует в NT (см рис. 1.3). Заметна преемственность в системе управления большим адресным пространством и резидентным множеством процесса, в системе приоритетов обычных процессов и процессов реального времени, в средствах синхронизации и т.д. Вместе с тем Windows NT — это совершенно новый амбициозный проект разработки системы с учетом новейших достижений в области архитектуры микроядра. Первая версия, названная Windows NT 3.1 для соответствия популярной Windows 3.1, была выпущена в 1993 г. Коммерческого успеха добилась версия Windows NT 4.0, заимствовавшая графический интерфейс Windows 95. В начале 1999 г. была выпущена Windows NT 5.0, переименованная в Windows 2000. Следующая версия этой ОС данной серии — Windows XP появилась в 2001 г., а Windows Server 2003 — в 2003 г. В настоящее время выпущена Windows Vista, ранее известная под кодовым именем Longhorn, — новая версия Windows, продолжающая линейку Windows NT.

Объем исходных текстов ядра ОС Windows неизвестен. По некоторым оценкам, объем ядра Windows NT 3.5 составляет приблизительно 10Мб, а с каждой новой версией ОС Windows этот объем неуклонно увеличивается в полтора-два раза.

Возможности системы

Перед разработчиками системы была поставлена задача создать операционную систему персонального компьютера, предназначенную для решения серьезных задач, а также для домашнего использования. Перечень возможностей системы достаточно широк, вот лишь некоторые из них [ Руссинович ] , [ Рихтер ] . Операционная система Windows:

  • является истинно 32-разрядной, поддерживает вытесняющую многозадачность;
  • работает на разных аппаратных архитектурах и обладает способностью к сравнительно легкому переносу на новые аппаратные архитектуры;
  • поддерживает работу с виртуальной памятью;
  • является полностью реентерабельной;
  • хорошо масштабируется в системах с симметричной мультипроцессорной обработкой;
  • является распределенной вычислительной платформой, способной выступать в роли как клиента сети, так и сервера;
  • защищена как от внутренних сбоев, так и от внешних деструктивных действий. У приложений нет возможности нарушить работу операционной системы или других приложений;
  • совместима, то есть, ее пользовательский интерфейс и API совместимы с предыдущими версиями Windows и MS-DOS. Она также умеет взаимодействовать с другими системами вроде UNIX, OS/2 и NetWare;
  • обладает высокой производительностью независимо от аппаратной платформы;
  • обеспечивает простоту адаптации к глобальному рынку за счет поддержки Unicode;
  • поддерживает многопоточность и объектную модель.

Успешность реализации этих требований будет продемонстрирована по мере изучения деталей ОС Windows. В рамках курса будут введены и впоследствии уточнены и детализированы различные понятия и термины.. Некоторые из них приведены в приложении.

Читайте также:  Vmware tools linux что это
Оцените статью