
- •1, Этапы развития спо.
- •3. Назначение и функции ос.
- •4. Классификация ос.
- •5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.
- •6. Методы реализации многозадачного режима. Многопотоковость.
- •8. Физические и виртуальные ресурсы. Задачи распределения ресурсов.
- •9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации.
- •10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики.
- •11. Сравнение реализации взаимодействующих процессов и многопотокового приложения.
- •12. Средства взаимод-вия процессов в Unix.
- •13.Организация памяти вычислительной системы. Задачи управления оперативной
- •14.Методы статического распределения памяти, динамическое управление памятью.
- •15.Принципы организации виртуальной памяти.
- •16.Страничная и сегментная организация виртуальной памяти. Схемы преобразования адресов.
- •17.Сегментный уровень виртуальной памяти в процессорах Intel x86.
- •18.Сpедства защиты памяти в процессорах Intel x86.
- •19.Механизм шлюзов. Передача управления через Call Gate и Task Gate.
- •20.Прерывания в защищенном режиме работы процессора. Interrupt Gate и Trap Gate.
- •21.Модели сегментации памяти в 32-pазpядных пpоцессоpах. Страничный уровень виртуальной памяти.
- •33.Процесс форматирования. Доступ к диску на физическом уровне.
- •34.Логическая структура диска в ms-dos.
- •35.Файловая система ms-dos. Командные и программные средства управления файлами.
- •36.Сравнительная характеристика файловой системы dos fat и высокопроизводительных файловых систем ntfs, hpfs.
- •37.Система прерываний в реальном режиме процессора. Управление прерываниями в ms-dos.
- •38.Управление программами в ms-dos. Схема создания резидентных программ.
- •39.Системный программный интерфейс bios. Системная область данных bios.
- •40.Системный программный интерфейс dos.
18.Сpедства защиты памяти в процессорах Intel x86.
Есть 2 уровня защиты:
1. Защита локального адресного пространства.
Активная задача м. обращаться к общему адресному простр-ву через глобальную таблицу и к своему локальному адресному пр-ву через LDT. На локальном уровне контролируется размер сегмента – генерируется прерыв-е по защите памяти.
2. Защита по уровню привелегий.
0 – ядро ОС – самый привелигиров
1,2 – IOPL
3 – прикл.
IOPL – команда м. вып-ть вв/выв в порты
Для контроля доступа исп-ся след. коды:
DPL – уровень привилегий дескриптора(нах-ся в байте доступа дескриптора)
CPL – текущий уровень привилегий. Уровень привилегий сегмента кода пр-мы, выполняемый в данный момент, Нах-ся в рег-ре cs.
CPL меняется при передачи упр-я кодовому сегменту с другим уровнем привилегий. Причем CPL м.б. больше DPL, если сегмент явл-ся конформным. Комформный сегмент вып-ся на уровне привилегированности, вызывающей процедуры.
RPL – уровень запрашиваемых привилегий. Это код из соответствующего сегментного р-ра.
Если RPL>CPL, то он замещает CPL. Когда более привилегиров. пр-ма принимает селектор из менее привилегиров., то RPLвызывает доступ к памяти с меньшим уровнем привилегированности.
EPL = max (RPL = CPL)
Если операнд нах-ся в стеке RPL и CPL совпадают
Правила защиты.
1. Правило текущей привилегии.
Адресуемый домен процесса меняется при изменении его CPL.
2. Правило сегмента стека.
Сегмент стека д. иметь тот же уровень привилегий, что и выполняемый сегмент команд. Для каждого уровня привилег. строится свой сегмент стека.
3. Правило прямой передачи упр-ния.
Прямая передача упр-я разрешена, если:DPL
1. DPL вызываемого сегм. >= CPL
2. Когда вызыв-ся конформный сегмент и DPL < CPL. при этом вызов возможен всегда, но при вып-нии кода DPL заменяется на CPL.
4.Правило доступа к данным.
DPL >= CPL
5. Правило контроля потока.
Обращение процедуры с более высок. привилегиров-тью вып-ся через шлюз вызова, что обеспечивает защиту сегм-тов ком-д.
19.Механизм шлюзов. Передача управления через Call Gate и Task Gate.
В защищенном режиме есть 4 типа шлюзов:
1.Call Gate(шлюз вызова).
2.Interrupt Gate(шлюз прерыв-я)
3.Trap Gate(шлюз – исключения(шлюз – ловушки))
4.Task Gate(шлюз задачи)
Схема работы шлюза вызова.
Вызыв-я прогр-ма
Шлюз вызова – особый эл-т(тип) таблицы дескрипторов, содержит Вирт. адрес, указ-щий на друг. дескриптор сегмента, кот. нах-ся базовый адрес вызываемого сегмента в памяти. Шлюз гарантирует, что передача управления будет направлена в точку входа в пр-му. Шлюзы м.б. организованны и в глоб. дескрипторной табл.(GDT), и в локальной дескр. табл. (LDT). Шлюзы формируются ОП. DPL в дескрипторе шлюза опр-ет из каких уровней м. исп-ть данный шлюз, DPL дескрипт. сегм. опр-ет возможность вызова кода.
DPL
шлюза >= EPL
DPL кодовый сегм. <= CPL(для ком. call)
=
CPL(для
ком. jmp)
При вызове кода с друг. уровнем привилегий возник. проблема передачи параметров м/д различными стеками (На кажд уровне есть свой сегмент стека)
Селекторы сегментовстека храняться в контексте задачи в сегменте TSS, если Вызыв-ся пр-ма с друг. уровнем привилегии, то из текущего стека в стек уровня вызываемого сегмента копируется столько 32-х разрядных слов, сколько указано в спец. поле счетчика слов дескриптора шлюза.
Обработка прер-ний в контексте другой задачи.
Task Gate приводит в действие мех-м переключения задачи. Для упр-я процессами ОС исп-ет инф-ю стр-ру, кот-я наз-ся дескриптором проц-ра.
Аппаратная поддержка этого мех-ма сост-ит в том, что проц-р обеспечивает работу с наиболее важной системно – независимой частью инф-ции. Такая инф-ция запис-ся в сегмент сохранения задачи (TSS) – Task State Segment.
TSS – хранит контекст задачи, необходимой для восст-я прерванной прог-мы.
Формат сегмента TSS.
Для описания доступа к возможности доступа задачи к портам в/в проц-р в защищ. режиме исп-ет карту битовых полей.
В р-ре флагов задается уровень IOPL, для вып-я команд ввода – вывода (in, out) код прогр-мы д. иметь уровень привилегий не ниже, чем IOPL.
Проц-р получает доступ к TSS.
Рег-р задачи TR содержит селектор дескриптора TSS в глобальноц дескр-ной таблице GDT.
Вызов задачи м.б. выполнен 2-мя способами:
1) непосредственный вызов (через ком. call)
2) косвенный через шлюз задачи.
1.
Вып-ся ком. call, селектор к-рый указ-ет на дескриптор сегмента типа TSS. В TSS текущей задачей сохраняется значение р-ров проц-ра. На текущий TSS указ-ся рег-р TR проц-ра. В TR загружается селектор нового TSS. Из нового TSS в рег-р LDTR заносится значение селектора таблици LDT. Восстанавливаются значения р-ров пр-ра из соответствующих полей нового TSS. Устанавливается бит Next Task. В поле селектора возврата заносится селектор сегм. TSS снимаемой задачи. Новое значение CS и IP продолжают новую задачу. Вызов возможен, если вызывающий код обладает не меньшим уровнем привилегий, чем вызываемая задача.
2.
Task Gate отлич-ся от шлюзов-ловушек и прерыв-ний тем, что в нем вместо селектора кода указ-ся селектор TSS. Обработка такого пре-ния осущ-ся под контролем отдельной внешней задачи. Т.к. меняется LDT, то меняется и вирт. адресн. пространство (ВАП). Уровень привилегий новой задачи задается полем RPL в сегментном р-ре CS, к-рый загружается из нового TSS.