Лекция: Операционная система Windows, основные особенности. Ос виндовс лекция


Лекция - Операционная система Windows, основные особенности.

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

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

Состав операционной системы:

• Программный модуль, управляющий файловой системой (файловый менеджер), — в Windows — «проводник».

• Командный процессор, выполняющий команды пользователя, — command.com

• Драйверы устройств — специальные программы, которые обеспечи­вают управление и обмен информацией между устройствами.

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

• Сервисные программы —утилиты. К ним относятся программы для обслуживания дисков, архиваторы, программы для работы в сети.

• Справочная система входит в состав большинства операционных систем, разработанных в последние годы.

Именно благодаря красивой графической оболочке стала так популярна операционная система Windows.

Разработанная фирмой Microsoft система Windows реализует идею «поверхности письменного стола», когда все, что там находится, видно одновременно и достаточно протянуть руку, чтобы «взять» и использовать нужный предмет. С системой Windows пользователь общается не на языке слов и фраз, а на языке изображений (пиктограмм), т.е. в системе имеется графический интерфейс (интерфейс – это средство связи между объектами). При работе с графическим интерфейсом используется манипулятор мышь.

Windows – это программная среда, выполняющая многие функции операционной системы и облегчающая работу пользователя благодаря графическому интерфейсу. Чтобы запустить систему Windows, надо набрать команду win в командной строке операционной системы MS – DOS.При этом начинает работать Диспетчер программ системы и появляются окна с группами программ, называемые приложениями. Каждое окно имеет стандартную рамку, вверху которой находится его название и изображения специальных кнопок, а под названием располагаются строки меню. Окно, в котором работает пользователь, называется активным.

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

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

Первая версия Windows 1.0 появилась в конце 80–х годов и осталась совершенно незамеченной. Аналогичная участь постигла и следующую версию. Лишь версия 3.0 сумела стать «продуктом года». А еще через 2 года на свет появились системы версий 3.1 и 3.11. В последнюю версию была встроена полная поддержка мультимедиа.

Следующей системой, сошедшей с конвейера Microsoft, стала Windows 95. Проект назывался Chicago. Вышла эта операционная система в сентябре 1995 года. Она стала первой графической операционной системой для компьютеров. В отличие от предшественников, она была 32- разрядной, обладала улучшенным интерфейсом, в нее был впервые интегрирован комплекс DirectX, предоставляющий системе прямой доступ к устройствам. Также, новая система могла самостоятельно распознавать большое количество комплектующих.

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

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

Windows 95 обладает значительной гибкостью. Она позволяет использовать не только программы, написанные для этой системы, но и программы, написанные ранее для операционной системы MS – DOS и для операционной среды Windows 3.1.

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

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

К работе над новой версией Windows компания Microsoft приступила сразу же после выхода Windows 95. Ее рабочее название было Memphis. Закончилась работа над системой в первой половине 1998 года и называлась она Windows 98. В магазины новая операционная система попала 25 июня 1998 года. Также было выпущено несколько других систем для домашнего пользования. Она отличается более высокой надежностью, улучшенным оформлением, наличием специальных средств для «самозалечивания» и саморазвития системы. Основное отличие состоит в том, что эта система ориентирована на работу с компьютерами, подключенными к Интернет.

www.ronl.ru

Основы организации операционных систем microsoft windows 1 лекция создание ос windows структура ос windows

Основы организации операционных систем Microsoft Windows

1. Лекция: Создание ОС Windows. Структура ОС Windows

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

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

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

Рис. 1.1.  Слои программного обеспечения компьютерной системы

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

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

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

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

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

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

  • Внедрение защитных механизмов. Защита памяти позволяет изолировать конкурирующие пользовательские программы друг от друга, а появление привилегированных и непривилегированных команд - проконтролировать доступ к распределению ресурсов.

  • Реализация прерываний, оповещающих ОС о произошедших асинхронных событиях, например, о завершении операции ввода-вывода.

  • Поддержка совокупности системных вызовов для организации интерфейса между прикладной программой и ОС.

  • Реализация дисциплины планирования для организации очереди из программ в памяти и выделение процессора одной из программ.

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

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

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

  • Обеспечение программ средствами коммуникации и синхронизации.

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

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

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

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

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

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

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

Рис. 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.

Рис. 1.3.  Сравнение архитектур ОС Windows и VAX/VMS

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

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

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

  • является истинно 32-разрядной, поддерживает вытесняющую многозадачность;

  • работает на разных аппаратных архитектурах и обладает способностью к сравнительно легкому переносу на новые аппаратные архитектуры;

  • поддерживает работу с виртуальной памятью;

  • является полностью реентерабельной;

  • хорошо масштабируется в системах с симметричной мультипроцессорной обработкой;

  • является распределенной вычислительной платформой, способной выступать в роли как клиента сети, так и сервера;

  • защищена как от внутренних сбоев, так и от внешних деструктивных действий. У приложений нет возможности нарушить работу операционной системы или других приложений;

  • совместима, то есть, ее пользовательский интерфейс и API совместимы с предыдущими версиями Windows и MS-DOS. Она также умеет взаимодействовать с другими системами вроде UNIX, OS/2 и NetWare;

  • обладает высокой производительностью независимо от аппаратной платформы;

  • обеспечивает простоту адаптации к глобальному рынку за счет поддержки Unicode;

  • поддерживает многопоточность и объектную модель.

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

Структура ОС Windows

Общее описание структуры системы

Архитектура ОС Windows претерпела ряд изменений в процессе эволюции. Первые версии системы имели микроядерный дизайн, основанный на микроядре Mach, которое было разработано в университете Карнеги-Меллона. Архитектура более поздних версий системы микроядерной уже не является.

Причина заключается в постепенном преодолении основного недостатка микроядерных архитектур - дополнительных накладных расходов, связанных с передачей сообщений. По мнению специалистов Microsoft, чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен. Поэтому большой объем системного кода, в первую очередь управление системными вызовами и экранная графика, был перемещен из адресного пространства пользователя в пространство ядра и работает в привилегированном режиме. В результате в ядре ОС Windows переплетены элементы микроядерной архитектуры и элементы монолитного ядра (комбинированная система). Сегодня микроядро ОС Windows слишком велико (более 1 Мб), чтобы носить приставку "микро". Основные компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром.

Высокая модульность и гибкость первых версий Windows NT позволила успешно перенести систему на такие отличные от Intel платформы, как Alpha (корпорация DEC), Power PC (IBM) и MIPS (Silicon Graphic). Более поздние версии ограничиваются поддержкой архитектуры Intel x86.

Упрощенная схема архитектуры, ориентированная на выполнение Win32-приложений, показана на рис. 1.4.

Рис. 1.4.  Упрощенная архитектурная схема ОС Windows

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

Задача уровня абстрагирования от оборудования (hardware abstraction layer, HAL) - скрыть аппаратные различия аппаратных архитектур для потенциального переноса системы с одной платформы на другую. HAL предоставляет выше лежащим уровням аппаратные устройства в абстрактном виде, свободном от индивидуальных особенностей. Это позволяет изолировать ядро, драйверы и исполнительную систему ОС Windows от специфики оборудования (например, от различий между материнскими платами).

Ядром обычно называют все компоненты ОС, работающие в привилегированном режиме работы процессора или в режиме ядра. Корпорация Microsoft называет ядром (kernel) компонент, находящийся в невыгружаемой памяти и содержащий низкоуровневые функции операционной системы, такие, как диспетчеризация прерываний и исключений, планирование потоков и др. Оно также предоставляет набор процедур и базовых объектов, применяемых компонентами высших уровней.

Ядро и HAL являются аппаратно-зависимыми и написаны на языках Си и ассемблера. Верхние уровни написаны на языке Си и являются машинно-независимыми.

Исполнительная система (executive) обеспечивает управление памятью, процессами и потоками, защиту, ввод-вывод и взаимодействие между процессами. Драйверы устройств содержат аппаратно-зависимый код и обеспечивают трансляцию пользовательских вызовов в запросы, специфичные для конкретных устройств. Подсистема поддержки окон и графики реализует функции графического пользовательского интерфейса (GUI), более известные как Win-32-функции модулей USER и GDI

В пространстве пользователя работают разнообразные сервисы (аналоги демонов в Unix), управляемые диспетчером сервисов и решающие системные задачи. Некоторые системные процессы (например, обработка входа в систему) диспетчером сервисов не управляются и называются фиксированными процессами поддержки системы. Пользовательские приложения (user applications) бывают пяти типов: Win32, Windows 3.1, MS-DOS, POSIX и OS/2 1.2. Среду для выполнения пользовательских процессов предоставляют три подсистемы окружения: Win32, POSIX и OS/2. Таким образом, пользовательские приложения не могут вызывать системные вызовы ОС Windows напрямую, а вынуждены обращаться к DLL подсистем (краткое определение dll имеется в приложении).

Основные компоненты ОС Windows реализованы в следующих системных файлах, находящихся в каталоге system32:

  • ntoskrnl.exe - исполнительная система и ядро;

  • ntdll.dll - внутренние функции поддержки и интерфейсы диспетчера системных сервисов с функциями исполнительной системы;

  • hal.dll - уровень абстрагирования от оборудования;

  • win32k.sys - часть подсистемы Win32, работающая в режиме ядра;

  • kernel32.dll, advapi32.dll, user32.dll, gdi32.dll - основные dll подсистемы Win32.

Подсистема Win32

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

Win32 API (Application Programming Interface) - основной интерфейс программирования в семействе операционных систем Microsoft Windows. Функции Win32 API , например, CreateProcess или CreateFile, - документированные, вызываемые подпрограммы, реализуемые Win32 подсистемой.

В состав Win32 подсистемы (см. рис. 1.4) входят: cерверный процесс подсистемы окружения csrss.exe, драйвер режима ядра Win32k.sys, dll - модули подсистем (kernel32.dll, advapi32.dll, user32.dll и gdi32.dll), экспортирующие Win32-функции и драйверы графических устройств. В процессе эволюции структура подсистемы претерпела изменения. Например, функции окон и рисования с целью повышения производительности были перенесены из серверного процесса, работающего в режиме пользователя, в драйвер режима ядра Win32k.sys. Однако это и подобные изменения никак не отразились на работоспособности приложений, поскольку существующие вызовы Win32 API не изменяются с новыми выпусками системы Windows, хотя их состав постоянно пополняется.

Приложение, ориентированное на использование Win32 API, может работать практически на всех версиях Windows, несмотря на то, что сами системные вызовы в различных системах различны (см. рис. 1.5). Таким путем корпорация Microsoft обеспечивает преемственность своих операционных систем.

Рис. 1.5.  Поддержка единого программного интерфейса для различных версий Windows

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

Рис. 1.6.  Различные маршруты выполнения вызовов Win32 API.

При вызове приложением одной из Win32-функций dll-подсистем может возникнуть одна из трех ситуаций (см. рис. 1.6).

  • Функция полностью выполняется внутри данной dll (шаг 1).

  • Для выполнения функции привлекается сервер csrss, для чего ему посылается сообщение (шаг 2a, за которым обычно следуют шаги 2b и 2c).

  • Данный вызов транслируется в системный сервис (системный вызов), который обычно обрабатывается в модуле ntdll.dll (шаги 3a и 3b). Например, Win32-функция ReadFile выполняется с помощью недокументированного сервиса NtReadFile.

Некоторые функции (например, CreateProcess) требуют выполнения обоих последних пунктов.

В первых версиях ОС Windows практически все вызовы Win32 API выполнялись, следуя маршруту 2 (2a, 2b, 2c). После того, как существенная часть кода системы для увеличения производительности была перенесена в ядро (начиная с Windows NT 4.0), вызовы Win32 API, как правило, идут напрямую по 3-му (3a, 3b) пути, минуя подсистему окружения Win32. В настоящее время лишь небольшое число вызовов выполняется по длинному 2-му маршруту.

Помимо перечисленных, наиболее важных dll-библиотек, в системном каталоге system32 имеется большое количество других dll-файлов. В настоящее время количество вызовов API составляет несколько десятков тысяч.

Список экспортируемых каждой конкретной dll функций можно посмотреть с помощью утилиты depends, входящей в пакет Platform SDK. Так, на рис. 1.7 приведена информация о структуре библиотеки kernel32.dll ОС Windows XP, экспортирующей 949 функций.

Рис. 1.7.  Окно утилиты depends.exe

Заключение

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

Приложение. Некоторые понятия и термины

DLL (динамически подключаемая библиотека)

Набор вызываемых подпрограмм, включенных в один двоичный файл, который приложения, использующие эти подпрограммы, могут динамически загружать в процессе своего выполнения. В качестве примера можно привести модули Msvcrt.dll (библиотека исполняющей Си подсистемы) и Kernel32.dll (одна из библиотек подсистемы Win32). DLL активно используются компонентами и приложениями ОС Windows пользовательского режима. Преимущество DLL перед статическими библиотеками состоит в том, что приложения могут разделять DLL-модули, при этом ОС Windows гарантирует, что в памяти будет находиться лишь по одному экземпляру используемых DLL.

Процессы и потоки

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

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

textarchive.ru

Лекция Создание ос windows. Структура ос windows

Лекция 1. Создание ОС Windows. Структура ОС Windows

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

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

Первая версия описываемого ряда операционных систем - ОС Windows NT появилась в 1993 г. Краткий исторический экскурс позволяет объяснить ряд ее особенностей и отличительных черт.
Наиболее важные моменты эволюции операционных систем
Известно, что операционные системы приобрели современный облик в период развития третьего поколения вычислительных машин, то есть с середины 60-х до 1980 года. В это время существенное повышение эффективности использования процессора было достигнуто за счет реализации многозадачности, в том числе вытесняющей (preemptive) многозадачности. Для поддержки псевдопараллельной работы нескольких программ и асинхронного режима работы внешних устройств в составе вычислительных систем были реализованы следующие программно-аппаратные новшества и подсистемы.
  • Внедрение защитных механизмов. Защита памяти позволяет изолировать конкурирующие пользовательские программы друг от друга, а появление привилегированных и непривилегированных команд - проконтролировать доступ к распределению ресурсов.
  • Реализация прерываний, оповещающих ОС о произошедших асинхронных событиях, например, о завершении операции ввода-вывода.
  • Поддержка совокупности системных вызовов для организации интерфейса между прикладной программой и ОС.
  • Реализация дисциплины планирования для организации очереди из программ в памяти и выделение процессора одной из программ.
  • Обеспечение возможности сохранения с последующим восстановлением содержимого регистров и структур данных, необходимых для выполнения программы, при переключении процессора с одной программы на другую.
  • Реализация стратегии управления памятью - чтобы упорядочить процессы размещения, замещения и выборки информации из памяти.
  • Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.
  • Обеспечение программ средствами коммуникации и синхронизации.
К этому же периоду эволюции относится идея создания семейств программно совместимых машин различной архитектуры, работающих под управлением одной и той же операционной системы. Прошедший первую апробацию на IBM-360 данный процесс имеет результатом привычную на сегодня картину работы ОС Windows или Linux на компьютерах самой разной архитектуры.

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

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

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

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

Рис. 1.2.  Реализация модели клиент-сервер в рамках микроядерной архитектуры

Создание ОС Windows
Операционные системы корпорации 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. Затем под влиянием успехов дружественного графического интерфейса корпорации 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 г. В 2006 году выпущена Windows Vista (Windows NT 6.0).

Рис. 1.3.  Сравнение архитектур ОС Windows и VAX/VMS

Операционные системы на базе Windows NT до Windows 2000 имели POSIX уровень встроенный в ОС, и UNIX Services for Windows предоставляло UNIX-подобное окружение. Для Windows XP, Windows Services for UNIX должны быть установлены для POSIX совместимости. UNIX подсистема встроена в Enterprise и Ultimate редакции Windows Vista, и не могут быть добавлены в другие редакции.

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

Структура ОС Windows

Общее описание структуры системы
Архитектура ОС Windows претерпела ряд изменений в процессе эволюции. Первые версии системы имели микроядерный дизайн, основанный на микроядре Mach, которое было разработано в университете Карнеги-Меллона. Архитектура более поздних версий системы микроядерной уже не является.

Причина заключается в постепенном преодолении основного недостатка микроядерных архитектур - дополнительных накладных расходов, связанных с передачей сообщений. По мнению специалистов Microsoft, чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен. Поэтому большой объем системного кода, в первую очередь управление системными вызовами и экранная графика, был перемещен из адресного пространства пользователя в пространство ядра и работает в привилегированном режиме. В результате в ядре ОС Windows переплетены элементы микроядерной архитектуры и элементы монолитного ядра (комбинированная система). Сегодня микроядро ОС Windows слишком велико (более 1 Мб), чтобы носить приставку "микро". Основные компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром.

Высокая модульность и гибкость первых версий Windows NT позволила успешно перенести систему на такие отличные от Intel платформы, как Alpha (корпорация DEC), Power PC (IBM) и MIPS (Silicon Graphic). Более поздние версии ограничиваются поддержкой архитектуры Intel x86.

Упрощенная схема архитектуры, ориентированная на выполнение Win32-приложений, показана на рис. 1.4.

Рис. 1.4.  Упрощенная архитектурная схема ОС Windows

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

Задача уровня абстрагирования от оборудования (hardware abstraction layer, HAL) - скрыть аппаратные различия аппаратных архитектур для потенциального переноса системы с одной платформы на другую. HAL предоставляет выше лежащим уровням аппаратные устройства в абстрактном виде, свободном от индивидуальных особенностей. Это позволяет изолировать ядро, драйверы и исполнительную систему ОС Windows от специфики оборудования (например, от различий между материнскими платами).

Ядром обычно называют все компоненты ОС, работающие в привилегированном режиме работы процессора или в режиме ядра. Корпорация Microsoft называет ядром (kernel) компонент, находящийся в невыгружаемой памяти и содержащий низкоуровневые функции операционной системы, такие, как диспетчеризация прерываний и исключений, планирование потоков и др. Оно также предоставляет набор процедур и базовых объектов, применяемых компонентами высших уровней.

Ядро и HAL являются аппаратно-зависимыми и написаны на языках Си и ассемблера. Верхние уровни написаны на языке Си и являются машинно-независимыми.

Исполнительная система (executive) обеспечивает управление памятью, процессами и потоками, защиту, ввод-вывод и взаимодействие между процессами. Драйверы устройств содержат аппаратно-зависимый код и обеспечивают трансляцию пользовательских вызовов в запросы, специфичные для конкретных устройств. Подсистема поддержки окон и графики реализует функции графического пользовательского интерфейса (GUI), более известные как Win-32-функции модулей USER и GDI

В пространстве пользователя работают разнообразные сервисы (аналоги демонов в Unix), управляемые диспетчером сервисов и решающие системные задачи. Некоторые системные процессы (например, обработка входа в систему) диспетчером сервисов не управляются и называются фиксированными процессами поддержки системы. Пользовательские приложения (user applications) бывают пяти типов: Win32, Windows 3.1, MS-DOS, POSIX и OS/2 1.2. Среду для выполнения пользовательских процессов предоставляют три подсистемы окружения: Win32, POSIX и OS/2. Таким образом, пользовательские приложения не могут вызывать системные вызовы ОС Windows напрямую, а вынуждены обращаться к DLL подсистем (краткое определение dll имеется в приложении).

Основные компоненты ОС Windows реализованы в следующих системных файлах, находящихся в каталоге system32:

  • ntoskrnl.exe - исполнительная система и ядро;
  • ntdll.dll - внутренние функции поддержки и интерфейсы диспетчера системных сервисов с функциями исполнительной системы;
  • hal.dll - уровень абстрагирования от оборудования;
  • win32k.sys - часть подсистемы Win32, работающая в режиме ядра;
  • kernel32.dll, advapi32.dll, user32.dll, gdi32.dll - основные dll подсистемы Win32.
Подсистема Win32
Взаимодействие между приложением и операционной системой осуществляется при помощи системных вызовов (системных сервисов в терминологии Microsoft). Однако приложение не может вызвать системный вызов напрямую (более того, системные вызовы не документированы). Вместо этого приложение должно воспользоваться программным интерфейсом ОС - Win32 API.

Win32 API (Application Programming Interface) - основной интерфейс программирования в семействе операционных систем Microsoft Windows. Функции Win32 API , например, CreateProcess или CreateFile, - документированные, вызываемые подпрограммы, реализуемые Win32 подсистемой.

В состав Win32 подсистемы (см. рис. 1.4) входят: cерверный процесс подсистемы окружения csrss.exe (csrss – сокращение от "client/server run-time subsystem" клиент/серверная подсистема; csrss.exe отвечает за консольные приложения, создание/удаление потоков и за 16-битную виртуальную среду MS-DOS), драйвер режима ядра Win32k.sys, dll - модули подсистем (kernel32.dll, advapi32.dll, user32.dll и gdi32.dll), экспортирующие Win32-функции и драйверы графических устройств. В процессе эволюции структура подсистемы претерпела изменения. Например, функции окон и рисования с целью повышения производительности были перенесены из серверного процесса, работающего в режиме пользователя, в драйвер режима ядра Win32k.sys. Однако это и подобные изменения никак не отразились на работоспособности приложений, поскольку существующие вызовы Win32 API не изменяются с новыми выпусками системы Windows, хотя их состав постоянно пополняется.

Приложение, ориентированное на использование Win32 API, может работать практически на всех версиях Windows, несмотря на то, что сами системные вызовы в различных системах различны.Таким путем корпорация Microsoft обеспечивает преемственность своих операционных систем.

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

Рис. 1.6.  Различные маршруты выполнения вызовов Win32 API.

При вызове приложением одной из Win32-функций dll-подсистем может возникнуть одна из трех ситуаций (рис. 1.6).

  • Функция полностью выполняется внутри данной dll (шаг 1).
  • Для выполнения функции привлекается сервер csrss, для чего ему посылается сообщение (шаг 2a, за которым обычно следуют шаги 2b и 2c).
  • Данный вызов транслируется в системный сервис (системный вызов), который обычно обрабатывается в модуле ntdll.dll (шаги 3a и 3b). Например, Win32-функция ReadFile выполняется с помощью недокументированного сервиса NtReadFile.
Некоторые функции (например, CreateProcess) требуют выполнения обоих последних пунктов.

В первых версиях ОС Windows практически все вызовы Win32 API выполнялись, следуя маршруту 2 (2a, 2b, 2c). После того, как существенная часть кода системы для увеличения производительности была перенесена в ядро (начиная с Windows NT 4.0), вызовы Win32 API, как правило, идут напрямую по 3-му (3a, 3b) пути, минуя подсистему окружения Win32. В настоящее время лишь небольшое число вызовов выполняется по длинному 2-му маршруту.

Помимо перечисленных, наиболее важных dll-библиотек, в системном каталоге system32 имеется большое количество других dll-файлов. В настоящее время количество вызовов API составляет несколько десятков тысяч.

Заключение

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

Некоторые понятия и термины

DLL (динамически подключаемая библиотека) – набор вызываемых подпрограмм, включенных в один двоичный файл, который приложения, использующие эти подпрограммы, могут динамически загружать в процессе своего выполнения. В качестве примера можно привести модули Msvcrt.dll (библиотека исполняющей Си подсистемы) и Kernel32.dll (одна из библиотек подсистемы Win32). DLL активно используются компонентами и приложениями ОС Windows пользовательского режима. Преимущество DLL перед статическими библиотеками состоит в том, что приложения могут разделять DLL-модули, при этом ОС Windows гарантирует, что в памяти будет находиться лишь по одному экземпляру используемых DLL.

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

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

ignorik.ru

Лекция 4. Операционная система Windows.

ДЕ 3. Программные средства реализации информационных процессов.

История создания Windows. Что такое Windows. Основные свойства и возможности Windows. Запуск Windows. Программы и приложения. Способы запуска любой программы. Графический пользовательский интерфейс. Базовая архитектура системы. Интегрированная операционная система. Принцип вытесняющей многозадачности. Многопоточность. Технология Plug and Play. True Type шрифт. WYSIWYG. Использование мультимедиа. Особые возможности.

Структура интерфейса пользователя. Элементы Рабочего стола. Специальные папки: Мой компьютер, Корзина, Сетевое окружение, Принтеры. Командные центры: Панель задач, Панель управления, Проводник, Портфель. Панель задач. Главное системное меню. Работа с меню.

Типовое окно. Виды окон. Диалоговые окна. Элементы окна. Полосы и строки. Границы. Семейство кнопок. Как вытащить окно поверх кучи. Перемещение окна по экрану. Изменение размеров окна. Организация экрана. Манипулирование окнами.

Ярлыки: создание и удаление. Способы создания ярлыка. Добавление ярлыка на рабочий стол. Добавление ярлыка в классическое меню «Пуск». Запуск программы в свернутом или развернутом окне. Изменение значка ярлыка. Общие сведения о свойствах файлов. Создание ярлыка в папке.

Основные понятия: активное окно, буфер обмена, главное меню, графический интерфейс, диалоговое окно, значок документа, значок приложения, интерфейс пользователя, конфигурирование Windows, курсор ввода, многопоточность, мультизадачный режим, объекты Windows, окно, Панель задач, Панель инструментов, папка, пиктограмма, поток, приложение, Проводник, рабочее поле окна, Рабочий стол, системное меню, строка заголовка, строка состояния, технология Plug and Play, указатель мыши, фоновый режим, шрифт, элемент рабочего стола, элементы окна Windows, кнопка «Восстановить», кнопка «Свернуть», кнопка «Развернуть», ярлык, True Type шрифт, WYSIWYG.

 

Лекция 5. Операционная система Windows. Проводник.

ДЕ 3. Программные средства реализации информационных процессов.

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

Способы выбора файлов и каталогов. Копирование, перемещение и удаление файлов и каталогов. Перемещение файлов путем перетаскивания. Поиск файлов и папок. Переименование файлов и папок.

Просмотр содержимого компьютера с помощью проводника Windows. Предоставление доступа к диску или папке в сети.

Перемещение и обмен данными. Буфер Обмена.

Перетащить и опустить (drag & drop). Способы выделения информации. Скопировать, переместить, вставить и удалить.

Использование Буфера Обмена (Clipboard). Его назначение. Работа с ним.

Основные понятия: буфер обмена, диалоговое окно, значок документа, значок приложения, значок папки, копировать, окно Проводника, папка, переместить, переименовать, перетащить и опустить (drag & drop), рабочее поле окна, режимы (эскизы страниц, плитка, значки, список, таблица), удалить, файл.

Динамический обмен данными (ДОД).

Понятие объекта и документа. Понятие ДОД. Создание ДОД. Работа ДОД. Актуализация данных. Связывание по типу «звезда». Цепное связывание.

OLE-технология. Связывание и встраивание объектов. Что такое OLE-технология. Связывание и встраивание объектов. Понятие сервера и клиента. Организация OLE через Буфер Обмена. Организация OLE из приложения-клиента. Работа OLE.

Основные понятия: объекты OLE, приложение-источник (OLE-сервер), приложение-приемник (OLE-клиент), связанный документ, связывание документа с приложением, связывание и встраивание объектов, технология DDE, технология OLE, упаковщик объектов.



infopedia.su

Лекция 7 Операционная система WINDOWS —

Лекция № 7 Операционная система WINDOWS

- пакет программ, обеспечивающих целостное функционирование компьютера и его диалог с пользователем

Основной частью программного обеспечения компьютера является дисковая операционная система (DOS). DOS состоит из следующих частей: 1)Базовая система ввода-вывода (BIOS). Её назначение состоит в выполнении наиболее простых и универсальных услуг ОС, связанных с осуществлением ввода-вывода. BIOS содержит также тест функционирования ПК, проверяющий работу памяти и устройств ПК при включении его электропитания.

2) Загрузчик ОС. Функция этой программы заключается в считывании в память остальных модулей ОС, которые и завершают процесс загрузки DOS

Операционная оболочка WINDOWS – это разработанная фирмой Microsoft надстройка над операционной системой DOS, обеспечивающая большое количество возможностей и удобств для пользователей и программистов. Широчайшее распространение WINDOWS сделало его фактическим стандартом для IBM PC – совместимых ПК.

Операционная система WINDOWS (аналог DOS, в буквальном переводе - окна) получила свое название благодаря остроумному разделению экрана на окна. Каждое окно несет некую информацию ( графическое изображение или программу), которую можно запустить на выполнение.

Отличительные черты WINDOWS: • WINDOWS представляет собой замкнутую рабочую среду. Практически любые операции, доступные на уровне ОС, могут быть выполнены без выхода из WINDOWS. Основными понятиями пользовательского интерфейса в среде WINDOWS являются окно и пиктограмма. Основными средствами управления ОС являются: - графический манипулятор (мышь) - клавиатура.

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

Основные характеристические черты программных продуктов серии WINDOWS: • ключевой идеей WINDOWS является обеспечение полной независимости программ от аппаратной части ПК (программная совместимость) • единый графический пользовательский интерфейс

Интерфе йс — множество средств и методов взаимодействия между объектами. (стиль общения)

• многозадачность • возможность работы в сетевой среде • наличие универсальной системы средств обмена данными между приложениями

К технологии обмена данными относятся: - передача данных через буфер обмена (Clipboard) - DDE (Dynamic Data Exchange) - OLE (Object Linking and Embedding)

Буфер обмена – это специальным образом организованное динамическое пространство ОП для временного размещения данных, при этом в нём запоминаются как сами данные, так и то, к какому приложению они относятся. Обмен данными построен на базе универсальных системных процедур: - для копирования/переноса данных в буфер обмена используются команды копировать/вырезать - для вставки данных из буфера обмена используется команда вставить.

Технология DDE (динамический обмен данными) представляет собой набор системных процедур, позволяющих обращаться из одного приложения (DDEклиента) в процессе его выполнения к другому, активному на тот момент программному приложению (DDE-серверу).

Технология OLE (связывание и погружение объектов) подразумевает внедрение данных одного типа (обрабатываемых одной программой) в данные, относящиеся к другой программе. При этом при обращении к внедрённым данным происходит автоматический вызов того приложения, к которому они относятся.

Операционная система Windows – это первая графическая, многозадачная, оконная операционная система с удобным интерфейсом. Год создания – 1995 г

present5.com

НОУ ИНТУИТ | Лекция | Создание ОС Windows. Структура ОС Windows

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

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

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

Слои программного обеспечения компьютерной системы Рис. 1.1. Слои программного обеспечения компьютерной системы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реализация модели клиент-сервер в рамках микроядерной архитектуры Рис. 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. В рамках курса будут введены и впоследствии уточнены и детализированы различные понятия и термины.. Некоторые из них приведены в приложении.

www.intuit.ru

Лекция 2 ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS. УПРАВЛЕНИЕ ФАЙЛАМИ

«Операционная система Windows 9X/NT»

«Операционная система Windows 9X/NT» Министерство образования Российской Федерации Донской государственный технический университет Кафедра «Информатика» МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ 1-4 по курсу «Информатика» по

Подробнее

Работа с табличным процессором Microsoft Excel

Работа с табличным процессором Microsoft Excel Работа с табличным процессором Microsoft Excel Краткие теоретические сведения Приложение Windows Excel позволяет формировать и выводить на печать документы, представленные в табличном виде, выполнять расчеты

Подробнее

ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS XP

ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS XP ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS XP ОПРЕДЕЛЕНИЕ И ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ. Операционная система (ОС) это комплекс системных программ, обеспечивающий совместное функционирование всех устройств компьютера

Подробнее

Подготовка к работе с Excel

Подготовка к работе с Excel ГЛАВА 1 Подготовка к работе с Excel Многие читатели в большей или меньшей степени знакомы с электронными таблицами Excel. Тем не менее необходимо дать определение терминов, наиболее часто встречающихся

Подробнее

ViPNet Генератор паролей

ViPNet Генератор паролей Руководство пользователя Версия 2.9 (2.1042) 2 1991-2004 ОАО Инфотекс, Москва, Россия. Этот документ входит в комплект поставки программного обеспечения, и на него распространяются все условия лицензионного

Подробнее

Глава 2 Windows Vista

Глава 2 Windows Vista Глава 2 В данной главе мы познакомимся с последней на сегодняшний момент версией операционной системы Windows от компании Microsoft. Знакомство с Windows будет достаточно кратким, поскольку описание такой

Подробнее

Введение. Основы интерфейса.

Введение. Основы интерфейса. Назначение программы Автоматизация всех видов действий с текстами. Функции создание, редактирование, форматирование, сохранение, обработка и вывод на печать. Word 2007 профессиональный текстовый редактор,

Подробнее

Введение. Основы интерфейса.

Введение. Основы интерфейса. Назначение программы Автоматизация всех видов действий с текстами. Функции создание, редактирование, форматирование, сохранение, обработка и вывод на печать. Word2007 профессиональный текстовый редактор,

Подробнее

Файлы и файловая система в ОС Windows

Файлы и файловая система в ОС Windows Файлы и файловая система в ОС Windows Файловая система Windows Файл однотипный набор данных, которому присвоено имя и хранящийся во внешней памяти. К внешней памяти относятся устройства: жёсткие диски,

Подробнее

Начало и завершение работы Windows

Начало и завершение работы Windows Глава 1 Начало и завершение работы Windows Первая проблема, с которой обычно сталкиваются начинающие пользователи, как правильно включить и выключить компьютер. В данной главе мы научимся этому, а также

Подробнее

Модуль 5. ВВОД-ВЫВОД И ФАЙЛОВАЯ СИСТЕМА

Модуль 5. ВВОД-ВЫВОД И ФАЙЛОВАЯ СИСТЕМА Модуль 5. ВВОД-ВЫВОД И ФАЙЛОВАЯ СИСТЕМА 1. Файл это (несколько ответов) 1) множество данных, объединенных некоторой логической связью 2) совокупность информации, записанная под индивидуальным именем на

Подробнее

РАБОТА В MICROSOFT WORD 2010

РАБОТА В MICROSOFT WORD 2010 О.В. Спиридонов РАБОТА В MICROSOFT WORD 2010 Лекция 1. Интерфейс Microsoft Word 2010 Лекция знакомит пользователя с интерфейсом Microsoft Word 2010. Представлены основные элементы интерфейса. Особое внимание

Подробнее

Основы работы в операционной системе

Основы работы в операционной системе СПбГУ Основы работы в операционной системе Дисциплина «Информатика» Преподаватель Порошин А.Н. Вспоминая Его Величество АЛГОРИТМ! метод, с помощью которого исходные данные преобразуются в результат за

Подробнее

Начало и завершение работы Windows

Начало и завершение работы Windows Глава 1 Начало и завершение работы Windows В данной главе рассказывается о том, как правильно включать и выключать компьютер, а также как запускать и завершать работу Windows 98. Прочитав эту главу, вы

Подробнее

Операционная система Windows

Операционная система Windows Языки программирования и методы трансляции Презентация к лабораторной работе 2 Операционная система Windows Содержание 2 Содержание 3 Понятие операционной системы Операционная система (ОС) базовое программное

Подробнее

Офайлах Microsoft Office Excel 2007

Офайлах Microsoft Office Excel 2007 Офайлах Microsoft Office Excel 2007 В MicrosoftOffice 2007 введен новый формат файлов, основанный на языке XML. По умолчанию документы, создаваемые в Excel 2007, сохраняются с новым расширением имени файла,

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 4

ЛАБОРАТОРНАЯ РАБОТА 4 ЛАБОРАТОРНАЯ РАБОТА 4 1. ТЕМА: «Настройки текстового процессора Microsoft Word» 2. ОБЩАЯ ЦЕЛЬ РАБОТЫ: получить навыки выполнения первичных настроек текстового редактора; ознакомления с элементами строки

Подробнее

Виртуальный калькулятор HP Prime

Виртуальный калькулятор HP Prime Виртуальный калькулятор HP Prime Windows является товарным знаком группы компаний Майкрософт. Информация, содержащаяся в настоящем документе, может быть изменена без предварительного уведомления. Единственные

Подробнее

ГРАФИЧЕСКИЙ ИНТЕРФЕЙС WINDOWS

ГРАФИЧЕСКИЙ ИНТЕРФЕЙС WINDOWS ГРАФИЧЕСКИЙ ИНТЕРФЕЙС WINDOWS Графический интерфейс Windows Графический интерфейс позволяет осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон, меню и элементов управления

Подробнее

СОЗДАНИЕ ЭЛЕКТРОННЫХ ТАБЛИЦ MICROSOFT EXCEL

СОЗДАНИЕ ЭЛЕКТРОННЫХ ТАБЛИЦ MICROSOFT EXCEL СОЗДАНИЕ ЭЛЕКТРОННЫХ ТАБЛИЦ MICROSOFT EXCEL Программа Microsoft Excel предназначена для работы с таблицами данных, преимущественно числовых. При формировании таблицы выполняют ввод, редактирование и форматирование

Подробнее

Задания. Это лекции за числа: 27.01;

Задания. Это лекции за числа: 27.01; Задания Это лекции за числа: 27.01; 29.01. Их нужно переписать в тетрадь красивым и разборчивым почерком и уметь отвечать на вопросы по теме. По лекциям будет тест! После запуска программы на экране может

Подробнее

Тема 1. Методология выполнения чертежей

Тема 1. Методология выполнения чертежей Тема 1. Методология выполнения чертежей Пользовательский интерфейс Методология выполнения чертежей Настройки программы Создание нового рабочего пространства Справочная система Завершение работы с программой

Подробнее

Лабораторная работа 2

Лабораторная работа 2 Лабораторная работа 2 ТЕМА: «Защита данных средствами файлового менеджера» ЦЕЛЬ: ознакомиться с основными функциональными и технологическими возможностями файлового менеджера Total Commander по защите

Подробнее

Приложение 1. Используемые термины

Приложение 1. Используемые термины 252 Приложение 1. Используемые термины Система программ «1С:Образование» программный пакет, обеспечивающий функционирование образовательных комплексов серии «1С:Школа» в локальном и сетевом режимах и включающий

Подробнее

3. Основы работы в MicrosoftWord 2010

3. Основы работы в MicrosoftWord 2010 Как открыть программу Microsoft Word 2010 3. Основы работы в MicrosoftWord 2010 MicrosoftWord это многофункциональная программа обработки (редактор) текстов настольная издательская система. В Word е мы

Подробнее

1.1. Ãðóïïèðîâêà äàííûõ â ðååñòðå

1.1. Ãðóïïèðîâêà äàííûõ â ðååñòðå Эффективность эксплуатации любого программного продукта во многом зависит от того, насколько грамотно и корректно была произведена его настройка. Обычно параметры настройки собраны в специальной базе данных,

Подробнее

Описание Программы ViPNet Деловая почта

Описание Программы ViPNet Деловая почта Описание Программы ViPNet Деловая почта Программа ViPNet Деловая почта (или просто «Деловая почта») предназначена для организации электронного документооборота в защищенной сети ViPNet. С помощью «Деловой

Подробнее

Настройка параметров Рабочего стола

Настройка параметров Рабочего стола Тема 1.4 * Настройка параметров Рабочего стола Выполнив задания этой темы, вы научитесь: настраивать различные параметры Рабочего стола: фоновый рисунок, заставку и т. д.; устанавливать системные дату

Подробнее

docplayer.ru