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

Вид материалаДокументы
Управление процессами
Свопинг и страничная подкачка
Типы файлов
Работа с файлами и каталогами
Подобный материал:
1   2   3   4   5
Часть функции ядра ОС переносит в режим пользователя – в режиме ядра реализуются самые необходимые функции – ядро называется микроядром (управление процессами, памятью, обеспечение взаимодействие клиентов и серверов). Клиенты – приложения и некоторые компоненты ОС, которые функционируют в режиме пользователя. !!! Минимизация числа процедур в режиме ядра. Windows NT обладает элементами микроядерной архитектуры.


Вопрос 28. Архитектура операционной системы MSDOS. Основные модули ОС.



Модули:
  • MSDOS.SYS модуль обработки прерываний. Взаимодействие м/у программами происходит посредством прерываний. Передается через процессора и области памяти.
  • IO.SYS взаимодействие с BIOS (базовой системой ввода-вывода). в этом модуле находятся те драйверы, которые загруж, вместе с компом. Резидентный.
  • COMMAND.COM – командый процессор, предназначенный для приемки команд с клавиатуры или командных файлов.

Состоит из:

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

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

CONFIG.SYS – спец.текстовый файл, содерж. инф-ию о доп. загруженных драйверах.


Вопрос 29. Операционная система MS DOS. Управление оперативной памятью.


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


3 уровня
  • {0-640 Кб} - стандартная память, доступна в реальном режиме работы процессора. [кусками по 64 Кб] для драйверов


Оставшаяся память называется доступной, делится на блоки разной длины, кратной 16 байтам.

Расширенная память – память старше 1 Мб. Зависит от версии (до 32 Мб). Еще называется EMS. Делится на страницы по 16 Кб, и просматривается через окно размером до 64 Кб, находя щегося в стандартной библиотеке.
  • {640-1024} зарезервировано под ОС
  • {1024-32 Мб} [окно 64 Кб, страницы по 16 Кб] только через окно. Extended memory specification. Драйвер-EMM


Управление памяти лишь условно в MSDOS. Фактически проги сами должны следить за использованием памяти. Каждый программе отводится соотв. блок памяти и с этим блоком ассоциирован с блоком управления памятью.

недостатки: любой процесс может получить доступ к любой области памяти.


Вопрос 30. Операционная система MSDOS Архитектура файловых систем FАТ.


В ФС FAT соотв. логич. диска, на котором ограничена эта система, делится на 2 области

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

- создается и инициализ. при форматировании. ФС создается, когда выполняется команда Format.

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

Номер цилиндра-> диск -> сегмент


можем создать логические диски

format – созд. файл систему

Файловая система имеет 2 области
  • Системная [загруз. сектор, зарезерв.сектор, таблица FAT, корневой каталог]
  • Обл. данных содержит файлы и каталоги, подчин-ые корневому

доступ: C:/folder1/folder2/file.exe

размер корневого каталога ограничен

вся область разбита на равные кластеры [несколько смеж сегментов] min 512 б.

файл – один или несколько кластеров, связ в список.

Адрес 1-ого кластера в FAT-таблице. На адрес 32 байта

имя в формате 11 байт: 8.3

VFAT – можно использовать длинные имена до 256 байт.


Вопрос 31. Архитектура операционной системы Windows 95/98. Основные компоненты.


Многоуровневая архитектура
  • Ядро
    • User’s interface управление I/O. Асинхронная модель. передача сообщ. в поток (w32 отдельные очереди сообщений; w16 – общая очередь)
    • GDI[graphic device interface] множество мелких функций
    • Kernel само ядро с библиотеками для 16/32 битной сист.
  • Реестр БД о конфигурации системы и подключенных программах( хранит информацию в виде структурно-древовидной формы)


Особенность:

- данные о конфигурации хранятся в 1 мосте.

- хранятся настройки для различн. пользователей.

- наличие спец. программного обеспечения

удаленный доступ к системе, что немаловажно
  • Manager of configuration хранит инфу об устройствах. ставит каждому устройству
    • IRQ прерывание
    • DMA канал прямого доступа
    • I/O порт ввода/вывода
  • Manager of Virt.Machine обл.памяти, которая выглядит для процесса как отдельный комп.( обеспечивает приложение и системные процессы необходимыми ресурсами)
    • Диспетчеризация
    • поддержка MS-DOS-приложений
    • распределение виртуальной памяти


Вопрос 32. Управление процессами в Windows 95/98. Мультапрограммирование.



Многозадачность:
  • Кооперативная [для приложений W16] процессор берет из одной очереди сообщения, обслуживает по одному, не успел за квант времени - ставит в эту же очередь.
  • Вытесняющая [32] процессор обслуживает сообщ. квант времени, если не успел – ставит его в другую очередь с более высоким приоритетом. получается многоочередная система.


Вопрос 33. Управление оперативной памятью в Windows 95/98.

В ОС используется страничная организация памяти (в соответствии с возможностями процессора Intel 80386 и более новых), страницы выделяются по требованию приложения. Система использует 32битную, “плоскую”, линейную модель памяти. Каждому приложению выделяется уникальное виртуальное адресное пространство размером в 4Гб. Верхние 2Гб адресного пространства используются ОС и приложением совместно, а нижние 2Гб принадлежат исключительно приложению. Это виртуальное адресное пространство разделено на равные блоки – страницы. Размер каждой страницы – 4096 байт (4Кб), выбор страниц такого размера обусловлен архитектурой микропроцессоров семейства Intel, которые имеют аппаратную поддержку страниц такого размера.

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

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

В среднем до 30% инструкций каждого приложения – это инструкции доступа к памяти, но преобразование виртуальных адресов в физические осуществляется программно, этим и объясняется довольно медленная работа ОС на казалось бы относительно быстрых микропроцессорах (Pentium 100, 133, 166, 200…). Но такая схема работы ОС вполне оправдана, так как система работает значительно устойчивее и надежнее.


Вопрос 34. Поддержка приложений в Windows 95/98.



Ядро ОС состоит из 3-х частей.

1) пользовательская
  1. интерфейс графического устройства (GDI)
  2. ядра

Каждая из этих компонент содержит пару DLL библиотек 32-х битную и 16-ти битную, которые обеспечивают работу соответственно 32 и 16 приложений.

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

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

Windows 95, 98 явл. Смесью 16 и 32 битного кода, хотя ОС явл. 16 битной.


Вопрос 35. Архитектура операционной системы WindowsNT. Подсистема среды и исполняющая система.



Компоненты разделены на 2 режима: пользовательский и ядро. В пользовательском режиме выполняются как приложения, так и компоненты ОС, которые выполняются в подсистеме.

Микроядерная архитектура – в привилегированном режиме остается лишь небольшое количество модулей, остальное предоставляется в пользовательском режиме. Можно выделить 3 уровня:
    1. Привилег.
    2. Компоненты ОС
    3. Приложения ОС

Основными уровнями NT явл:
    1. Уровень аппаратных абстракций – это слой программ, обеспечивающих ОС, который скрывает от остальных уровней особенности реализации аппаратных средств. Замена этого уровня позволяет реализовать эту ОС для различных процессоров.
    2. Ядро осуществляет диспетчеризацию нитей управления процессом. Эти нити определяются в контексте каждого процесса, т.к. каждый процесс состоит из нескольких нитей управления. Понятие «нить управления» аналогично понятию «поток управления» в Win95. Реализацию такого управления осуществляется на уровне API вызовов. Ядро выполняется полностью в привилегированном режиме, и неперемещаемого в памяти и невыгружаемым. Ядро может выполняться на всех процессорах в мультипроцессорной конфигурации.
    3. Диспетчер объекта ( для управления объектами). Для управления объектами определенного класса используются спец. диспетчеры( диспетчеры процессов)
    4. Диспетчеры процессов



Ядро + диспетчеры + мониторы = исполняющая система WinNT. Она взаимодействует с компонентами в пользовательском режиме с помощью интерфейса исполняющей системы. Компоненты исполняющей системы:
    1. диспетчер объектов
    2. диспетчер виртуальной памяти
    3. диспетчер процессов
    4. средство локальных процедур
    5. диспетчер ввода/вывода
    6. монитор безопасности


Вопрос 36. Управление процессами в WindowsNT. Мультипрограммирование.



Ядро + диспетчеры + мониторы = исполняющая система WinNT. Она взаимодействует с компонентами в пользовательском режиме с помощью интерфейса исполняющей системы. Компоненты исполняющей системы:
    1. диспетчер объектов
    2. диспетчер виртуальной памяти
    3. диспетчер процессов
    4. средство локальных процедур
    5. диспетчер ввода/вывода
    6. монитор безопасности


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


Вопрос 37. Управление оперативной памятью в WindowsNT.



Здесь так же как и в ОС Win98 каждому процессу предоставляется 4Гб виртуальной памяти, но все системные модули находятся в своих собственных адресных пространствах, и доступ к ним прикладных процессов не возможен. Прикладным процессам выделяется 2Гб локального адресного пространства.

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

///

ОП работает в страничном режиме со swapping’ом. Размер страницы [frame] 4 Кб. Всего виртуальной памяти предоставляется для каждого процесс – 4 Гб. Каждый поток имеет доступ ко всем 4 Гб.

Область swapping’а может быть как постоянной так и переменной


Нижние 2Гб для приложения. Верхние – для системы. Они общаются через .dll сообщения


Вопрос 38. Обьектная модель WindowsNT. Менеджер объектов.



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

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

///

Объект =
  • тип данных
  • тип объекта
  • атрибуты
  • список возможных действий


Менеджер Объектов нужен для унификации хранения и именования объектов.

Объектно-ориентированные ОС
  • с поддержкой объектов
  • ! сделанные на объектах [сис.прог]


Вопрос 39. Взаимодействие между приложениями и подсистемами среды в WindowsNT.



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

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

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

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

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

////

взаимодействие либо через
  • сообщения [безопасно]
  • память [быстро]


LPC [local process calling]


когда приложение обращается к API – интерфейсу, то сообщение .dll, которое оно генерирует идет НЕ «в открытую», а через заглушки [stub]. Заглушка генерирует правильное API – обращение со всеми параметрами и отправляет его win32 процессору. Он отрабатывает сообщение и пересылает его обратно.


Вопрос 40. Структура системы и ядро ОС Unix



Unix – самая старая ОС (70-е гг.), изначально написана на Ассемблере, затем на Си.

Основные черты:
  1. Код системы на C.
  2. Открытость и переносимость системы.
  3. Многопользовательская и многозадачная система – каждый пользователь обладает собственной виртуальной машиной. Поддерживается круговое квантование с многоуровневой обратной связью с использованием динамических приоритетов, которые назначается на основании некоторых факторов.
  4. Модульный пользовательский интерфейс (администрирование, управление файлами и др.) Shell.
  5. Графический интерфейс пользователя (GUI - Graphic User Interface) XWindow.
  6. Единая легкообслуживаемая иерархическая файловая система (единый корень).
  7. Доступ
  8. Наличие большого числа приложений: коммерческих и shareware.


Структура системы.

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



    1. Интерфейс системного вызова обеспечивает процессам обращение к сервисам ядра.
    2. Модули символьного и блочного ввода и вывода используются для реализации файловой системы и доступа к устройствам.
    3. Буферный кэш отвечает за увеличение скорости.
    4. Файловая подсистема управляет иерархическим пространством имён файлов, каталогов и устройств ввода/вывода.
    5. Модуль управления процессами отвечает за создание и планирование процессов и поддержку средств взаимодействия.
    6. Модуль правления памятью поддерживает виртуальную память ОС.

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

Модули выполняются без вытеснения.


Типы процессов в Unix.
  1. системные (могут выполняться как в режиме ядра, так и в режиме пользователя)
  • диспетчеры буферного кэша, страничного замещения, свопинга, памяти ядра
  • процесс инициализации init()
  1. прикладные процессы:
  • интерактивные – монопольно владеют терминалом
  • фоновые процессы (демоны)
  • процессы реального времени – требуют гарантированного времени обслуживания


Атрибуты процессов.
  1. Идентификатор процесса
  2. Идентификатор родительского процесса
  3. Относительный приоритет ( может быть присвоен при рождении)
  4. Приоритет выполнения ( динамический, информация в процессе выполнения)
  5. Терминальная линия (терминал, связанный с данным процессом и др.)
  6. Идентификатор пользователя (реальный и эффективный). Определяет права доступа к ресурсам


Вопрос 41. Управление процессами в ОС Unix. Граф состояния процесса. .



Типы процессов в Unix.
  1. системные (могут выполняться как в режиме ядра, так и в режиме пользователя)
  • диспетчеры буферного кэша, страничного замещения, свопинга, памяти ядра
  • процесс инициализации init()
  1. прикладные процессы:
  • интерактивные – монопольно владеют терминалом
  • фоновые процессы (демоны)
  • процессы реального времени – требуют гарантированного времени обслуживания


Атрибуты процессов.
  1. Идентификатор процесса
  2. Идентификатор родительского процесса
  3. Относительный приоритет (может быть присвоен при рождении)
  4. Приоритет выполнения
  5. Терминальная линия (терминал, связанный с данным процессом и др.)
  6. Идентификатор пользователя (реальный и эффективный). Определяет права доступа к ресурсам


Каждый процесс работает в собственном виртуальном адресном пространстве.

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

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


Системная таблица процессов

Для управления процессами Unix создает следующие таблицы:
  • системную таблицу процессов, ее элементами являются дескрипторы выполняющихся процессов
  • таблица USER – таблица контекста процесса.

Системные вызовы управления процессами.(Создание)

Порождение процессов в Unix происходит с помощью специального системного вызова fork () следующим образом – при создании нового процесса строится образ процесса, являющегося точной копией образа, породившего процесс. Сегмент данных и сегмент стека копируется на новое место, а сегмент стека копируется, только если он не является разделяемым. После выполнения системного вызова fork() вып. с одного и того же места. С помощью системного вызова execve загружается код потомка. Если необходимо синхронизировать окончание выполнения кода родителя и кода потомка, то используются системные вызовы exit и wait.




Управление процессами
  1. Создание процессов - с помощью специального системного вызова fork(). При создании процесса строится образ порождённого процесса, который является точной копией породившего процесса, сегменты данных и стека копируются на новое место, а сегмент текста копируется, если он неразделимый. Если код содержит дочерний процесс, вызывается системный вызов execvi()


  1. Создание процессов при инициализации системы. Создаётся структура данных ресурсов системы, монтируется файловая система, создаётся процесс «процесс-0» (который превращается в swapper после создания init()), порождающий процессы для каждой терминальной линии с помощью fork(), после – wait().


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

96-127 – процессы реального времени

66-95 – процессы в режиме ядра (недопускающие и допускающие прерывания)

0-65 – процессы в пользовательском режиме


Диаграмма (граф) состояний




Вопрос 42. Управление оперативной памятью в ОС Unix.



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

Разделено на 2 части:
      1. Резидентно располагается ядро UNIX. Для каждого процесса адрес ядра один и тот же. При выполнении процесса в пользовательском режиме диспетчер памяти блокирует доступ к ядру.
      2. Пользовательская часть. Состоит из трёх сегментов:
        • сегмент текста (сегмент программного кода) – защищен от записи, поэтому этот код может разделяться многими процессами
        • сегмент данных
        • сегмент стека – локальные для каждого процесса.

Данные и стек приватны/уникальны для каждого процесса и логически непрерывны.


Код проц. защищен от записи, значит, может быть разделяем несколькими процессами.

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


Свопинг и страничная подкачка

Свопинг – процедура полного переноса процесса из основной памяти на жест диск. Существует специальный свопер процессов. Процесс свопер удаляет процессы заблокированные из оперативной памяти и помещает другие процессы. В современной версии используется свопинг страниц (в старых свопинг процессов).


Вопрос 43. Логическая организация файловых систем ОС Unix.
Логическая организация.


Иерархическая структура с единым корнем, все файловые системы включаются с помощью mount в эту структуру.

Файл – неструктурированный байтовый поток с произвольным доступом.


Типы файлов
  1. Обычный (регулярный). Последовательность байтов интерпретирующих производительность прикладных программ.
  2. Каталоги (директории). Содержат имена файлов и указатели на метаданные файлов, индексных узлов (i-node).
  3. Специальные файлы устройств. Предназначены для доступа к устройствам и взаимодействия между процессами (именованные каналы, предназначенные для связи между процессами, файлы для косвенной адресации, семантических ссылок, файлы для организации взаимодействия между файлами (socket)). Это механизмы межпроцессорного взаимодействия (?).


Доступ обеспечивается как к файлам. К ним относятся: именованные каналы, предназначенные для связи между процессами, файлы для организации семантических ссылок, файлы для организации взаимодействия между файлами (socket) и link (для косвенной адресации). Это механизмы межпроцессорного взаимодействия.


Работа с файлами и каталогами

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

Для каждого файла определены владельцы. Различают три категории пользователей:
  1. Создатели
  2. Члены группы (группа файлов)
  3. Остальные пользователи

Определены классы доступа к файлам:
  1. для владельца-пользователя
  2. для членов группы владельца файла
  3. Для остальных, кроме суперпользователя.

Для каждого класса созданы права доступа.


Жёсткие и символические ссылки



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


Вопрос 44 Физическая организация файловых систем ОС Unix.