Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы Рудина.doc
Скачиваний:
26
Добавлен:
20.09.2019
Размер:
604.67 Кб
Скачать

33. Механизмы ограждения данных. Механизмы виртуализации.

 

Служат для ограничения доступа к данным не на основе политики, а на принципе наименьшего доступа(???)

ОД:

1) физическое (внедрение механизмов виртуальной памяти)

2) програмно-аппаратный метод:

            а) криптографический механизм

            б) некриптографический механизм (“песочница”, “МТ”, “эмуляторы”, “виртуальные машины”)

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

Виртуальные ресурсы:

1) пасивные (оперативка, жестак, канал)

2) активные (процессоры, виртуализ самих себя)

 

Монитор виртуальных машин (МВМ, VMM), его характеризуют:

1) представляет собой систему эквивалентную реальной

2) программы, запускаемые под виртуалкой в худшем случае немного проигрывают в скорости

3) полностью контролирует ресурсы

В 1974году Голдберг придумал Formal Requirements for Virtualizable Third Genereation Architectures.

 

Формальная модель машины. (bullshit)

Машина S=(E,M,P,R)

E-исполнимая память размера q.

M – режим процессора = {S(супервизор),U(юзер)}

R – регистр релакации (wtf?! = для организации виртуальной памяти)

R=(l,b) l – база, b – абсолютный размер доступной виртуальной памяти

if(a+l>q) then trap

elseif a>=b then trap

else use E[a+l]

P – программа счетчик (адрес относительного регистра релокации, указывающий на следующую исполнимую инструкцию)

S – состояние работающей машины

(M,P,R) – програмный статус программы (PSW= program status word)

PSW хрантися  в E[0] – текущее псв, E[1] – для нового псв

E,M,P,R ограничены; С- множество состояний

i(инструкция):C->C,S0

i(S0)=S1

i(E1,M1,P1,R1)=(E2,M2,P2,R2)

 

Ловушка:

i(E1,M1,P1,R1)=(E2,M2,P2,R2), где

E2[j]= E1[j], 1<j<q

E2[0]=(M1,P1,R1)

(M2,P2,R2)=E2[1]

 

Т: Инструкция наз привелегированной <=> для любых S1(e,s,p,r) и S2(e,u,p,r)

i(S1),i(S2) не попадает в ловушку использования памяти

i(S1)-не попадает, i(S2) – попадает

 

i чувствительна по управлению, если существует состояние S1=(e1,m1,p1,r1) и S2, что

i (S1) не попадает в ловушку по памяти r1!=r2 и/или m1!=m2

 

r=(l,b), x –целое: r'=r+x=(l+x,b)

 

E/R-часть памяти доступная, в связи с некоторым состоянием регистра релокации.

S=(E/R,M,P,R)=>E/r+x=от l+x до l+b+x.

 

Т: Инструкция чувствительна по поведению, если существует целое x и состояние S1=(e/r,m1,p,r) и S2=(e/(r+x),m2,p,r+x), где

i(S1)= (e1/r,m1,p1,r)               i(S2)= (e2/r+x,m2,p2,r+x)

и не попадает в ловушку по памяти

34. Свойства монитора виртуальных машин.

Монитор виртуальных машин (МВМ, VMM), его характеризуют:

1) представляет собой систему эквивалентную реальной

2) программы, запускаемые под виртуалкой в худшем случае немного проигрывают в скорости

3) полностью контролирует ресурсы

 

1.  D (диспетчер) – точка входа (1й адрес)

2. A - менеджер ресурсов, распределение выполняется диспетчером

3. Интерпритатор ловушек i(S1)=S2, то ij(S1)=S3, ij…k(S1)=Sk

если Vi- последняя инструкция, то множество интерпретируемых инструкций – {Vi}

CP=(D,A,{Vi}) //в режиме супервизора

Видимо свойста, которыми должен обладать:

1) эффективность

2) контроль ресурсов (для обычной программы невозможно получить ресурсы в обход менеджера)

3) Эквивалентность

(-):доступность ресурсов, обращение к ресурсам

 

О: МВМ – любая управляющая программа, отвечающая этим 3м свойстам

О: ВМ – окружение любой программы, запущенной в окружении МВМ

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

Сv (виртуальный режим) – множество состояний монитора, загруженных в память

Cr (реальный режим) – остальные состояния.

Vmmap – карта виртуальной машины.

 

f:Cr->Cv, ei (инструкция) - однозначный гомоморфизм. f(ei(Si))=ei’(f(Si))

Рисуем изоморфизм множеств Cr и Cv с элементами Si… Это и является свойством эквивалентности.

Л1: Непривилегированные инструкции, запущенные на виртуальной машине удовлетворяют свойству эквивалентности.

Д-во: надо доказать, что S’=f(S):

S=(e/r,m,p,r) S’=(e’/r’,m’,p’,r’) e/r~e’/r’ (по опр f)

p’~p i(S)=i(S’) все.

 

Л2: Чувствительные инструкции тож самое. Доказательство (E/R не меняется при попадании в ловушку, P, R, M сохраняются монитором)

 

Л3: Для данного набора инструкций, отвечающего свойству эквивалентности любая последовательность инструкций тоже удовлетворяет эквивалентности.

Доказательство по индукции.