Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции3_4.docx
Скачиваний:
2
Добавлен:
17.07.2019
Размер:
64.32 Кб
Скачать

Inode – эта команда устанвливает право на чтение и запись всех пользователей. Если буква d – для данной группы, и – для данного пользователя.

Структура каталога в целях совместимости разности версий – фиксирована. В корневом каталоге после инсталляции присутствуют bin-каталог для исполняемых файлов общего назначения. В нем размещаются оболочки командной строки, общие команды управления файлами и их архивация.

Boot – содержит файл образа ядра из которого загружается система.

/etc – каталог для конфигурационных файлов общего пользования

/home – доменне каталоги пользователей со всеми их програмамми, личными конфигурационными файлами

/lib – каталог для общесистемных библиотек

/mnt – каталог для мониторинга сменных накопителей или временно подключенных файловых систем.

/proc – виртуальный файл для чтения информации

/sbin ­ двоичные файлы для системного администрирования

/tmp – временные файлы(автоматически очищаются через период времени или при перезагрузке)

/usr – каталог программного предназанчения для пользователя, со всеми компонентами

/log – каталог для изменяющихся файлов – системных, почтовых.

/opt – для опциональных компонентов.

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

Лекция 4

Архитектура компьютерной системы Windows NT

Использована концепция микроядра. Согласно концепции ОС розделена на несколько подсистем, каждая из которых выполняетотдельный наборсервисных функций. Каждый из наборов реализован в пользовательском режиме, при этом выполняется цикл и проверки запросов от клиента на одну из сервисных функций. Каждый из наборов реализован в пользовательском режиме, при этом выполняется цикл и проверки запросов от клиента на одну из сервисных функций. В качестве компонентов может быть другой компонент ОС или другая программа (прикладная). Клиент запрашивает сервис, посылая определенное сообщение на сервер. Ядро ОС, работая в привелегированном режиме доставляет сообщение клиента необходимому сервису, сервис выполняет необходимую операцию, а ядро возвращает результаты операции клиенту с помощью другого сообщения. Структурно Windows NT состоит из двух крупных частей, которые работают в режиме пользователя, а второй в режиме ядра. Та часть, которая работает в режиме ядра и содержит компоненты управления виртуальной памятью объектами вводом-выводом файловой системы взаимодействием процессора, частично системой безопасности – называется наполнительной частью NT-executive.

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

  • Системные службы

  • NT Executive

  • Менеджер клиентов

  • Менеджер процессов

  • Менеджер безопасности

  • Менеджер виртуальной памяти

  • Менеджер КЭШа

  • Менеджер plug and play

  • Менеджер энергопотребления

  • Менеджер конфигурации

  • Менеджер локального вызова процедур

  • Менеджер ввода-вывода

  • Менеджер Graphic device interface

  • Файловая система

Ядро Драйвер

Уровень аппаратной абстракции

Аппаратное средство

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

Функции

  • Выделяет память для объектов

  • Присоединяет объекту дескриптор безопасности (определяет право доступа и использование объекта)

  • Создает и управляет структурой каталога объекта в котором хранятся имена объектов

  • Создает дескриптор объекта и возвращает его к процессу, который вызывает данный объект.

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

  1. Управление виртуальным адресным пространством

  2. Разделение памяти между процессами

  3. Защита виртуальной памяти одного процессора от других процессов

Механизмы защиты памяти:

  1. Каждый механизм имеет собственное адресное пространство. Доступ к другим процессам запрещен на аппаратном уровне.

  2. Наличие режимов ядра и пользователя. Потоки имеют доступ к системным данным - в режиме ядра. В режиме пользователя это запрещено.

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

  4. Защита памяти с использованием объектно-ориентированного подхода

Монитор ссылок безопасности проверяет разрешен ли доступ процессов к какому-либо объекту при каждом открытии процесса указателя на строку памяти.

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

Менеджер plug and play – в случаях обнаружения нового устройства при загрузке системы или при подключении устройства через систему USB данный менеджер получает сообщение нового устройства и устанавливает соответствующие драйвера.

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

Менеджер конфигураций – отслеживает состояние реестра, добавляет новее и ищет необходимые ключи.

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

Менеджер ввода-вывода – включает менеджер ввода-вывода, который предоставляет средства для выполнения операции не зависящей от устройств.

Файловые системы – NT драйвер, который выполняет файл – ориентированные запросы на ввод-вывод и преобразует их в вызовы обычных устройств.

GDI – управляет графическим изображение поступающим на монитор, или принтер. Не зависит от типа мониторов и принтеров. Исполняется на нижних уровнях представленных ядром.

Функции NT ядра:

  • Планирование процессов

  • Обработка прерываний и исключающих ситуаций

  • Синхронизация процессов

  • Восстановление системы после сбоев

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

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

Windows использует 2 уровня

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

Защищенные подсистемы работают в режиме пользователя и сздаются в WinNT при загрузке системы. Среди защищенных подсистем существуют т.н. подсистемы окружения, реализующие интерфейсы окружения (приложений). Наиболее важной подсистемой является подсистема, которая обеспечивает доступ приложений к 32-битной WinAPI. Он обеспечивает взаимодействие с пользователем и обладает вводом-выводом. Поддерживается подсист. Posix.

Типы Windows-приложений:

Исполняемые программы для Виндоус разделяются на 2 основных типа: консольные и графические.

При запуске консольного приложения запускается текстовое окно. Можно использовать ф-ии WriteConsole() и ReadConsole(). При запуске из другого консольного приложения запускается еще одно окно, программе выделяется текущая консоль до завершения работы в консоли.

В графическом приложении для вывода команд и инфы открываются окна.

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

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

Одной из основ идеологии Виндоус является меню.

Иконки и элементы меню записываются в файл ресурсов:

*.RS – текстовый файл, *.RES –бинарный файл.

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

Объекты в WIN 32

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

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

1)Поддержки воспринимаемых человеком имен системных ресурсов;

2)Разделение ресурсов и даннх между программами;

3)Защита ресурсов от несанкционированного доступа.

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

Основные виды объекта:

  1. файл;

  2. процесс – один из объектов, создаваемых и управляемых менеджером объектов. Объект имеет заголовок, который инициализирует менеджер объектов;

  3. поток –выполняемая единица, которая располагается в адресном пространстве процесса и использует выделяемые ему ресурсы.

  4. нить

Менеджер процессов определяет атрибуты ,хранимые в теле объекта «процесс» и обеспечивает сервис для изменения и восстановления этих атрибутов.

Атрибуты:

  1. идентификатор процесса;

  2. Токен доступа – обеспечение безопасности

  3. Базовый приоритет – основа для использования приоритета потока внутри данного процесса

  4. Процессорная совместимость – список процессоров, на которых может выполнятся процесс

  5. Квоты – предельное значение – максимальное количество страничной и нестраничной системной памяти ,дискового пространства, процессорного времени, которые доступны для использования этим процессом.

  6. Время выполнения – значение времени, за которое выполняются процессы.

Управляющий менеджер объектов имеет такие атрибуты:

  1. Идентификатора потока – уникальное значение, которое идентифицирует поток при его обращении к серверу;

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

  3. Динамический приоритет – значение приоритета потока в конкретный момент времени

  4. Базовый приоритет – нижнее значение дин. приоритете потока

  5. Процессорная совместимость потока – перечень типов процессоров, на которых данный поток может выполнятся

  6. Время выполнения потока – время выполнения потока в режиме потока и в режиме ядра за время существования потока

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

  8. Счетчик приостановок – текущее количество приостановок выполнения поток.

В последних версиях ОС NT появилось понятие нити (fiber)

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

Каждая нить – объект(поток) в данный момент времени.

Лекция №6

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

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

Процессы пользователя отправляют запросы системным процессам

Системные процессы не могут использовать другие системные процессы.

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

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

Существует 4 типа процессов, которые выполняются в режиме пользователя:

  1. Постоянные процессы – автоматически запускаются на выполнение после загрузки системы (управляются сеансом регистрации). Такие процессы не запускаются подсистемой управления службами.

  2. Процессы-службы – особенный вид приложения, выполняющий свою работу для других приложения. Запускается при загрузке ОС.

  3. Пользовательские процессы (приложения) – обычные приложения, выполняются для решения конкретных задач. Могут быть 4 типов – Win32, MSDOS, WIN 3.1, POSIX.

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

Состояния пользовательских процессов:

  1. пассивное – находится в памяти, но не готов к выполнению

  2. готовность – готов к выполнению и ожидает кванта времени процессора

  3. выполнение – выделен квант времени процессора

  4. ожидание – выполнение процесса прервано в связи с ожиданием необходимых ему ресурсов (завершение операции ввода-вывода и т.д.)

Диаграмма состояния процесса:

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

Если исполняемый процесс запросил ресурс ввода-вывода, то он переводится в состояние ожидания и находится в этом состоянии до завершения запрошенной операции. В это время потоку кванты времени не выделяются.

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