Функциональные возможности ос windows

Обновлено: 02.07.2024

Операционная система Microsoft Windows. Общие сведения.

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

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

Развитие технологий изменило наше мышление: появляется графический интерфейс и Microsoft создает сначала в 1992 г. свою графическую «надстройку» над MS-DOS, называемую Windows 3.0, а затем в 1995 г. – полноценную графическую операционную систему Windows 95. В последующие годы Microsoft постоянно разрабатывает новые версии операционной системы, изменяя ее номер, но оставляя базовое наименование Windows.

Операционная система: определение, функции.

Существует две группы определений операционной системы (ОС):

ОС – это набор программ, управляющих оборудованием;

ОС – это набор программ, управляющих другими программами.

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

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

Основные функции ОС:

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

загрузка программ в оперативную память и их выполнение;  стандартизованный доступ к периферийным устройствам;

управление оперативной памятью – распределение между процессами, организация виртуальной памяти;

управление доступом к данным на энергонезависимых носителях (жесткий диск, оптические диски и др.), организованным в той или иной файловой системе;  обеспечение пользовательского интерфейса;

сетевые операции, поддержка сетевых протоколов.

Дополнительные функции:

 параллельное или псевдопараллельное выполнение задач, т. е. многозадачность;

 эффективное распределение ресурсов вычислительной системы между процессами (задачами);

 разграничение доступа различных процессов к ресурсам;

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

 взаимодействие между процессами: обмен данными, взаимная синхронизация;

 защита самой системы, а также пользовательских данных и программ от действий пользователей или приложений (злонамеренных или по незнанию);

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

Цели и задачи операционной системы

Одной из основных задач операционной системы является предоставление пользователю удобного способа работы с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью. Логическая модель файловой системы в ОС семейства Windows материализуется в виде дерева папок (каталогов), выводимого на экран такими утилитами, как Windows Explorer, Windows Commander или Far Manager, и символьных составных имен файлов. Базовым элементом этой модели является файл, который, как и файловая система в целом, может характеризоваться и логической, и физической структурой. Дадим определение файловой системы. Файловая система – порядок, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов.

Основные функции любой файловой системы направлены на решение следующих задач:

программный интерфейс работы с файлами для приложений;

отображение логической модели файловой системы на физическую организацию хранилища данных;

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

содержание параметров файла, необходимых для его правильного взаимодействия с ядром системы, приложениями и другими объектами системы.

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

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

Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов. Файловая система связывает носитель информации, с одной стороны, и способ доступа к файлам – с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле и на каком физическом типе носителя: CD, жестком диске, флэш-памяти или другом – он записан. Все, что знает программа, – это имя файла, его размер и атрибуты. Эти данные она получает от файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе.

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

Диск – носитель информации, который может представлять собой физическое устройство или часть пространства носителя, называемого логическим диском. Он именуется одной буквой латинского алфавита с добавлением после нее знака «:» – двоеточия, именование происходит последовательным присвоением латинских букв по алфавиту.

Приведем пример именования дисков в ОС Windows:

A: и B: – накопитель на гибком магнитном диске (съемные дискеты);

C: и D: – накопитель на жестком магнитном диске (винчестер) и логический диск (таких дисков может быть и больше);

E: и F: – накопители на CD- и/или DVD-дисках (берется следующая буква за последней буквой жесткого/логического диска);

K: Z: – сетевые диски (для их именования могут использоваться любые незадействованные буквы).

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

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

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

Данные, с которыми мы работаем, различны, поэтому ОС использует разные средства для их обработки. Чтобы ОС правильно «понимала», что следует выполнить с разного вида данными, их разделяют на несколько типов.

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

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

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

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

Пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. В файловых системах NTFS и FATЗ2, входящих в состав операционной системы Windows, имя файла может содержать до 255 символов (буквы и цифры латинского и русского алфавита), кроме символов \ / : * ? " | < > и имен CON, NUL, PRN, AUX, COM19, LPT19.

Типы файлов и простые имена

Веранда. bmp Фотостудия. jpg

Хорошая песня. mp 3 Вальс. wma

Кино. mp 4 Ролик2. avi

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

Полное имя представляет собой цепочку, состоящую из имени диска, простых символьных имен всех папок (каталогов), через которую проходит путь от корня до данного файла и простого имени файла. Таким образом, полное имя является составным, в котором имена папок отделены друг от друга обратным слешэм «\», например: d:\папка1\папка2\пример1.txt.

В иерархической файловой системе между файлом и его полным именем имеется однозначное соответствие «один файл – одно полное имя».

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

Теперь дадим определение папки (каталога).

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

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

С появлением графических ОС появляется еще один вид файла – ярлык.

Ярлык – это файл, содержащий ссылку на объект, программу или команду, а также дополнительную информацию.

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

Файлы типа *.lnk и *.pif – это файлы ярлыков. Файлы типа *.lnk – это стандартные ярлыки, создаваемые операционной системой Windows. Существуют файлы типа *.pif – это также ярлыки, но к DOS-приложениям, в свойствах таких ярлыков, кроме стандартных, присутствуют и дополнительные настройки.

Иерархическая (древовидная) структура файловой системы.

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

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

Одноуровневая организация, когда все файлы входят в одну папку (рис. 1), является частным случаем иерархической структуры.

hello_html_1388d15f.jpg

Рис. 1. Одноуровневая файловая система

Граф, описывающий иерархию папок, может быть деревом или сетью. Папки образуют дерево, если файлу разрешено входить только в одну папку (рис. 2), и сеть, если файл может входить сразу в несколько папок (рис. 3).

hello_html_51977220.jpg

Рис. 2. Иерархическая многоуровневая файловая система

hello_html_2015e292.jpg

Рис. 3. Сетевая файловая система

Например, в Windows папки образуют древовидную структуру, а в Unix – сетевую. В древовидной структуре каждый файл является «листом». Папка самого верхнего уровня называется корневой папкой, или корнем (root).

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

Понятие «файл» включает не только хранимые им данные и имя, но и атрибуты. Атрибуты – это информация, описывающая свойства файла. Примеры возможных атрибутов файла:

тип файла (обычный файл, каталог, специальный файл и т. п.);

пароль для доступа к файлу;

информация о разрешенных операциях доступа к файлу;

время создания, последнего доступа и последнего изменения;

текущий размер файла;

признак «только для чтения»;

признак «скрытый файл»;  признак «системный файл»;

признак «архивный файл»;

признак «временный» (удалить после завершения процесса).

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

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

ОС Windows дает возможность пользователю работать с объектами файловой системы различными способами. Для этого используются программы- утилиты – менеджеры файлов. В состав ОС Windows входит программа Explorer, исполнимый файл которой имеет имя explorer.exe.

Базовые действия над объектами, создание, копирование, перемещение, переименование и удаление можно выполнять разными способами: с помощью падающего или контекстного меню, панелей инструментов, клавиатурных эквивалентов или мышью.

В заключение можно выделить следующее:

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

современные файловые системы имеют иерархическую структуру, упрощающую именование файлов и их поиск;

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

папка (каталог) – это особый тип файлов, которые содержат информацию следующего вида: имена и тип объектов, их размеры, дату и время создания или модификации и атрибуты (свойства);

ярлык – особый тип файла (*.lnk), содержащий ссылку, для быстрого обращения к объекту, т. е. его запуск.


Несколько дней назад в сеть просочился образ ранней версии Windows 11. Различные издательства провели тесты по производительности и пришли к неутешительному выводу: Windows 11 в среднем работает хуже, чем Windows 10. Но расстраиваться рано! Проблемы производительности могут быть связаны с «сыростью» слитого образа и нюансами совместимости с текущими программами. Так или иначе, 24 июня состоится официальная презентация нового поколения операционных систем Windows, которая, возможно, даст ответы на многие вопросы. Если сегодня у вас есть настроение для ностальгии, предлагаем вам окунуться в мир Windows: познакомиться с историей, как менялась ось и что у нее внутри.

История Windows



В начале 80 годов прошлого века компания IBM работала над персональным компьютером на базе процессора Intel 8088. С середины 70 годов компания Microsoft была основным поставщиком Basic для восьмибитных микрокомпьютеров. Когда IBM обратилась к Microsoft для лицензирования Basic для их нового компьютера IBM PC, Microsoft согласилась, а также посоветовала обратиться к компании Digital Research для лицензирования операционной системы CP/M. Но, получилось так, что глава Digital Research не нашел в своем графике времени для встречи для IBM, и IBM снова обратилась к Microsoft, теперь уже с просьбой решить вопрос операционной системы для IBM PC. Microsoft купила клон ОС CP/M у компании Seattle Computer Products и перенесла её на IBM PC. Итоговым названием получившейся ОС стало MS-DOS 1.0.


Первые продукты с названием «Windows» от Microsoft не были операционными системами. Это были графические среды для MS-DOS. На фоне успеха, в том числе и коммерческого, пользовательского интерфейса на Apple Lisa, компания решила реализовать графический интерфейс на IBM PC с MS-DOS. В отличии от относительно дешевых IBM PC, Apple Lisa стоили дорого (почти 10 тысяч долларов), и немногие покупатели могли позволить купить их. Microsoft решила занять нишу дешевых компьютеров с графическим интерфейсом. При этом низкая стоимость достигалась экономией на комплектующих и более низкая производительность, по сравнению с Lisa, избежать не получилось. Так, в 1985, 1987 и в 1990 выходят первые три версии Windows — 1.0, 2.0 и 3.0. Причем за первые шесть месяцев после релиза Windows 3.0 было продано более 1 миллиона экземпляров. Дальнейшее развитие Windows можно разделить на два направления — Windows на базе MS-DOS и Windows на базе NT.


Windows 1.01

Windows 9x

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


Windows NT

В целом, к концу 80-х годов в Microsoft появилось понимание о необходимости разработки операционной системы не на базе MS-DOS. Параллельно с разработкой софта, связанного с MS-DOS, Microsoft наняла команду инженеров из компании DEC для разработки новой 32-битной операционной системы. Главой группы стал Дэйв Катлер — один из главных разработчиков ОС VMS. Новая система была названа NT — от сокращения New Technology. Основной упор при разработке NT делался на безопасность и надежность системы, а также на совместимость с Windows на MS-DOS. Так получилось, что опыт при разработке VMS повлиял на NT и сходство между ними стало причиной спора между DEC и Microsoft. По итогу спор был решен во внесудебном порядке.


Дэйв Катлер

Первая система Windows называлась Windows NT 3.1 и была выпущена в 1993 году. Это была первая ОС от Microsoft. Индекс 3.1 был выбран для соответствия Windows 3.1 на MS-DOS. Эта версия не имела особого успеха. Для NT требовалось больше памяти, 32-разрядных приложений на рынке было мало, возникали проблемы с совместимостью драйвером. Достичь поставленных целей смогли в NT 3.5. А первым серьезным обновлением для NT стала версия 4.0 в 96 году. Теперь эта система была мощна, надежна и безопасна, а также обеспечивала тот же интерфейс, что и Windows 95 (которая к тому моменту была чрезвычайно популярной).


Windows NT 3.1

В 2000 году вышла новая версия Windows — Windows 2000. Она развивала идеи, заложенные в системы NT. Был добавлена технология Plug-and-Play, управление электропитанием и улучшен интерфейс пользователя.


Windows 2000

Успех Windows 2000 задал вектор развития для следующего поколения — Windows XP. В «хрюшке» Microsoft улучшила совместимость, интерфейс стал более дружелюбным. Стратегия Microsoft завоевывать аудиторию уже знакомыми системами дала плоды — за несколько лет Windows XP была установлена на сотнях миллионах ПК. Эпоха MS-DOS подошла к концу.


Следующий проект Microsoft пал жертвой собственных амбиций. Через пять лет после Windows XP, в 2006 году на свет вышла Windows Vista. В ней был переделан графический интерфейс, переработаны и добавлены функциональные возможности в плане безопасности. Была улучшена производительность, надежность.

Первоначальные планы Microsoft по поводу Vista были настолько обширны, что через несколько лет после начала разработки проект пришлось сильно ограничить. Vista включала в себе 70 миллионов строк кода, часть которого составлял «причесанный» код XP. Неудача Vista отчасти с тем, что она вышла не в то время. На 2006 год пришелся бум недорогих компьютеров, которые не могли обеспечить достаточную для Vista производительность.


Windows Vista

Проблемы Vista были учтены при разработке Windows 7. Microsoft уделила большее внимание тестированию и производительности новой системы. Windows 7 быстро вытеснила Vista, а затем и XP, став самой популярной версией Windows до появления Windows 10 (сейчас Windows 7 на втором месте по популярности).


Бум смартфонов в начале 2010-х подтолкнул Microsoft к созданию операционной системы, которую можно было бы развернуть на разных устройствах: на телефонах, планшетах, приставках и т. д. В результате этой работы мир узрел Windows 8. «Восьмерка» построена на модульном подходе MinWin для получения небольшого ядра ОС, которое можно было бы расширить на линейку других типов устройств. Но аудитория встретила холодно такой подход. Многие люди критиковали «смартфоноподобный» интерфейс на ПК, отсутствие кнопки пуск. Для решения многих проблем Microsoft выпустила обновление под названием Windows 8.1, которая, помимо исправления имеющихся ошибок, добавила новые функции.


И вот, к 2015 году Microsoft выпускает Windows 10. При разработке Microsoft продолжала развитие идеи единой системы для разных устройств. В «десятке» появилась голосовая помощница Кортана, вернули меню «Пуск», улучшена системная безопасность.


Технические аспекты

Чтобы осветить все технические аспекты и тонкости операционной системы Windows понадобится не менее 1000 страниц. Для особо любопытных советуем 7-е издание «Внутреннего устройства Windows« Марка Руссиновича, специалиста по внутреннему устройству Windows. Также можно почитать «Современные операционные системы« Эндрю Таненбаума и «Operating System Concepts«: в обеих книгах есть главы, посвященные Windows. Здесь же ограничимся рассмотрением инструментов взаимодействия приложений пользователя с операционной системой (Windows API) и архитектуры «оси».

Архитектура

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

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


Упрощенная схема архитектуры Windows

Вторая линия разделяет компоненты режима ядра и гипервизор (Hyper-V). Гипервизор перехватывает многие привилегированные операции, выполняемые ядром, и эмулирует их таким образом, чтобы позволить на одной и той же машине одновременно работать нескольким операционными системам. Гипервизор работает на том же уровне привилегий процессора (0), что и ядро. Но из-за использования специализированных команд процессора (VT-x у процессоров Intel, SVM у АMD) он может изолироваться от ядра с сохранением контроля над ним и приложениями. Поэтому некоторые иногда применяют термин «кольцо -1».

Четыре базовых типа процессов пользовательского режима:

  • Пользовательские процессы. Эти процессы относятся к одному из следующих типов: 32- или 64-разрядные приложения Windows (приложения Windows Apps, работающие на базе среды Windows Runtime в Windows 8 и выше, включаются в эту категорию), 16-разрядные приложения Windows 3.1, 16-разрядные приложения MS-DOS, 32- и 64-разрядные приложения POSIX. Заметим, что 16-разрядные приложения могут выполняться только в 32-разрядных версиях Windows, а приложения POSIX в Windows 8 уже не поддерживаются.
  • Процессы служб. В эту категорию входят процессы, являющиеся хостами для служб Windows (например, службы планировщика задач и диспетчер печати). Обычно к службам предъявляется требование независимости выполнения от входа пользователя. Многие серверные приложения Windows (например, Microsoft SQL Server и Microsoft Exchange Server) также включают компоненты, выполняемые как службы.
  • Системные процессы. Фиксированные процессы, такие как процесс входа или диспетчер сеансов, не являются службами Windows. Другими словами, они не запускаются диспетчером служб.
  • Серверные процессы подсистем среды. Такие процессы реализуют часть поддержки среды ОС, предоставляемой пользователю и программисту. Изначально в Windows NT было три подсистемы среды: Windows, POSIX и OS/2. Подсистема OS/2 включалась только до Windows 2000, подсистема POSIX в последний раз была включена в Windows XP.Ultimate- и Enterprise-выпуски клиента Windows 7. Все серверные версии Windows 2008 R2 включают поддержку расширенной подсистемы POSIX, называемой SUA (Subsystem for UNIX-based Applications). Сейчас подсистема SUA не поддерживается и уже не включается как необязательное часть в версии Windows (Windows 10 версии 1607 включает подсистему Windows для Linux — WSL, Windows Subsystem for Linux).

Компоненты режима ядра:

  • Исполнительная система. Она содержит базовые сервисные функции ОС: управление памятью, управление процессами и потоками, безопасность, ввод/вывод, сетевая поддержка и межпроцессные коммуникации.
  • Ядро Windows. Низкоуровневые функции ОС: планирование потоков, диспетчеризация прерываний и исключений и многопроцессорная синхронизация. Также ядро предоставляет набор функций и базовых объектов, которые используются исполнительной системой для реализации высокоуровневых конструкций.
  • Драйверы устройств. Сюда входят как драйверы физических устройств, преобразующие вызовы пользовательских функций ввода/вывода в конкретные запросы ввода/вывода к устройству, так и драйверы устройств, не относящихся к физическому оборудованию, например драйверы файловой системы или сетевые драйверы.
  • Слой абстрагирования оборудования (HAL). Прослойка кода, изолирующее ядро, драйверы устройств и прочий исполняемый код Windows от платформенно-зависимых различий в работе оборудования, например различий между системными платами.
  • Оконная и графическая система. Реализация функций графического интерфейса (GUI), также известных как функции GDI: работа с окнами, элементы пользовательского интерфейса и графический вывод.
  • Уровень гипервизора. Включает всего-навсего один компонент: сам гипервизор. В этой среде нет ни драйверов, ни других модулей. При этом сам гипервизор состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин) и внутрипроцессные коммуникации (IPC, Inter-Process Communication) и многие другие.
Имя файла Компоненты
Ntoskrnl.exe Исполнительная система и ядро
Hal.dll HAL
Win32k.sys Часть подсистемы Windows режима ядра (GUI)
Hvix64.exe (Intel), Hvax64.exe (AMD) Гипервизор
.sys в \SystemRoot\System32\Drivers Основные файлы драйверов: DirectX, Volume Manager, TCP/IP и поддержка ACPI
Ntdll.dll Внутренние вспомогательные функции и заглушки диспетчеризации системных сервисных функций
Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll Dll основных подсистем Windows

Windows API

Windows API (Application Programming Interface) — это программный интерфейс пользовательского режима для Windows. До появления 64-разрядной версии операционной системы программный интерфейс 32-разрядных версий Windows назывался Win32 API в отличие от исходного 16-разрядного Windows API (программный интерфейс для исходных 16-разрядных версий Windows). На данный момент термин Windows API или Win32 API относят как к 32-разрядным, так и к 64-разрядным версиям.

В «доисторические времена» Windows API состоял только из функций в стиле C. Выбор языка C был обусловлен тем, что написанный на нем код также мог использоваться из других языков. Он являлся достаточно низкоуровневым для предоставления сервиса ОС. Но огромное количество функций в сочетании с недостаточной последовательностью выбора имен и отсутствием логических группировок (вроде пространств имен C++) привели к тому, что в некоторых новых API используется другой механизм — модель COM.

WinRT

В Windows 8 появился новый API и исполнительная среда поддержки Windows Runtime (WinRT). WinRT состоит из платформенных сервисов, предназначенных для разработчиков приложений Windows Apps (приложения Windows Apps подходят для устройств, начиная от миниатюрных IoT-устройств до телефонов, планшетов, десктопных систем, ноутбуков и даже Xbox One и Microsoft HoloLens).

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

• Память. ОС управляет сплошным, или плоским (flat), виртуальным адресным пространством большого объема, перемещая данные между физической памятью и диском или иным накопительным устройством прозрачным для пользователя образом.

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

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

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

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

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

Microsoft Windows Win 32/Win64 API обеспечивает поддержку не только этих, но и множества других средств ОС, и делает их доступными в ряде версий Windows, некоторые из которых постепенно выходит из употребления, а некоторые поддерживает лишь то или иное подмножество полного API.

Обзор операционных систем и ядер

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

Книги по основам построения операционных систем

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

Книги о ядрах других операционных систем

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

11.3. Установка нескольких операционных систем с помощью виртуальной машины

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

Глава 9 Прошлое и настоящее сетевых операционных систем

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

Глава 38 Сосуществование операционных систем

Глава 38 Сосуществование операционных систем Как бы мы ни старались, а полностью жить в операционной системе Linux в современном мире не получается. Так сложилась жизнь, что множество программ написаны под операционные системы MS Windows или DOS. И зачастую по тем или иным

2.7.2. Установка других операционных систем после Linux

2.7.2. Установка других операционных систем после Linux При инсталляции MS-DOS и Windows 95/98 ее стандартный загрузчик независимо от вашего желания записывается в Master Boot Record (MBR), а признак активности в таблице разделов ставится на раздел MS-DOS (Windows 95/98). А стандартный загрузчик MS-DOS и Windows

2.4. Установка нескольких операционных систем

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

3 Контраст: сравнение философии Unix и других операционных систем

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адаме Способы создания операционных систем, как

3.2. Сравнение операционных систем

3.2. Сравнение операционных систем Логика выбора конструкции Unix становится более очевидной в сравнении с другими операционными системами. Ниже приводится только общий обзор конструкций19.На рис. 3.1. отражены генетические связи между рассматриваемыми операционными

3 Контраст: сравнение философии Unix и других операционных систем

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адамс Способы создания операционных систем, как

3.2. Сравнение операционных систем

3.2. Сравнение операционных систем Логика выбора конструкции Unix становится более очевидной в сравнении с другими операционными системами. Ниже приводится только общий обзор конструкций[23].На рис. 3.1. отражены генетические связи между рассматриваемыми операционными

Платформы для операционных систем

Платформы для операционных систем Платформы сервера Firebird включают следующие операционные системы, но не ограничиваются только ими.* Linux, FreeBSD и другие варианты ОС UNIX.* Платформы Microsoft Windows, поддерживающие сервисы: NT 4, Windows 2000 (сервер или рабочая станция), XP Professional и Server 2003.

Часть II Базовые возможности программных комплексов интерактивных систем

Часть II Базовые возможности программных комплексов интерактивных систем В части I были рассмотрены следующие вопросы:? обзор основных принципов работы ИД как интегрирующего элемента ИС;? общее и особенное наиболее популярных ИС;? основные шаги подготовки к работе

Исследование программных интерфейсов приложений операционных систем

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

Дыроверт операционных систем

Дыроверт операционных систем ОпСистема «Юних» всегда держалась провокационно на фоне войн операционных систем, подобно Русской Армии. Большинство людей знают только ее репутацию, и предположения о ее репутации, по типу как в мультфильме про Дильберта, смутны. Но все

Основными функциональными возможностями операционной системы WINDOWS являются:

Управление ресурсами базируется на следующем положении. Современные персональные компьютеры реализуют стандарт «Plug and Play» («Подключай и работай»), предполагающий автоматическое определение состава и назначения периферийных устройств, а также предоставление пользователю вариантов их настройки, в том числе оптимального. Это достигается за счет выбора из библиотеки соответствующих драйверов – программ, устанавливающих соответствие форматов представления информации в разных устройствах. При этом за пользователем сохраняется право настройки периферийных устройств под управлением команды: ПУСК / Настройка/Панель управления.

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

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

1) FAT (File Allocation Table),

2) NTFS (WINDOWS NT File System).

Среди систем FAT различают FAT16 и FAT32, где 16 и 32 – количество двоичных разрядов, отводимых для представления номеров кластеров. Чем выше разрядность, тем большее количество кластеров, в том числе меньшего размера, можно расположить на дисковом пространстве. Это, в свою очередь, позволяет снизить потери дискового пространства в связи с более плотным использованием последних кластеров, выделяемых для хранения каждого из файлов. Таблицы FAT32 рекомендуется использовать при организации файловой системы для жестких магнитных дисков, емкость памяти которых превышает 512Кбайт.

В настоящее время широко используются файловые системы NTFS, имеющие целый ряд преимуществ:

для обозначения имен файлов используются любые символы национальных алфавитов (65535),

каталог представляет собой бинарное дерево,

система относится к отказоустойчивым системам, обеспечивающим восстановление NTFS,

обеспечено сжатие файлов и каталогов,

обеспечено шифрование файлов и каталогов.

Так, например, для поиска одного файла из тысячи в файловой системе FAT осуществляется в среднем 500 сравнений, в системе NTFS – 12 сравнений.

Ниже приведена сравнительная характеристика рассмотренных файловых систем.

Читайте также: