Лекция: Сегментный способ организации виртуальной памяти (ОС)

Естественным способом разбиения программы на части является её разбиение на логические фрагменты — сегменты. Обычно сегментом является модуль или совокупность прогных модулей. Логическое обращение к элементам программы будет означать указание имени сегмента, и смещения относительно его начала. Каждый сегмент, размещенный в памяти, имеет информационную структуру – дескриптор сегмента. Операционная с-ма строит для каждого выполняемого процесса таблицу дескрипторов сегмента и при размещении каждого из сегментов в ОЗУ или внешней памяти в дескрипторе отмечается его текущее местоположение. Для этого используется бит присутствия. В поле «Адрес» диспетчер памяти записывает адрес физической памяти, с которого начинается сегмент, а в поле «Длина сегмента» его размер в байтах. Это поле используется для того, чтобы избежать наложения сегментов друг на друга и для того, чтобы контролировать, не обращается ли подзадача за пределы текущего сегмента (если это так то генерируется прерывание). Если сегмент находится во внешней памяти, то поля адреса и длины используются для указания адреса сегмента в координатах внешней памяти. В дескрипторе сегмента также содержатся Д о его типе (код или Д), права доступа, отметка об обращениях к сегменту. При передаче управления следующей задаче операционная с-ма заносит в соответствующий регистр микропроцессора адрес таблицы дескрипторов сегментов этой задачи. Сама таблица дескрипторов сегмента также является сегментом Д-х, которые обрабатываются диспетчером памяти.

4. Перечислите основные стратегии тестирования и решаемые ими задачи. Какие известные вам методы реализуют каждую из стратегий? Какие общие особенности имеют методы каждой стратегии? (ТП)

Стратегия белого ящика: проверка пути каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается. Методы: 1. Покрытия операторов (выполнение каждого оператора программы хотя бы один раз). 2. Покрытия решений (должно быть написано достаточное число тестов, такое, что каждое направление перехода должно быть реализовано по крайней мере один раз). 3. Покрытия условий (записывается число тестов, достаточное для того, чтобы все возможные результаты каждого условия в решении выполнялись по крайней мере один раз). 4. Критерий решений (все результаты каждого решения выполнялись по крайней мере один раз и, кроме того, каждой точке входа передавалось управление по крайней мере один раз). 5. Комбинаторного покрытия условий (создание такого числа тестов, чтобы все возможные комбинации результатов условия в каждом решении выполнялись по крайней мере один раз). Стратегия черного ящика: проверить соответствует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание.

Методы: 1. эквивалентного разбиения– два этапа: 1). Выделение классов эквивалентности – выделяют правильные и неправильные классы, по следующим правилам: 1. если входное условие описывает область значений, то определяется 1 правильный класс эквивалентности и 2 неправильных; 2. если входное условие описывает число значений, то определяется 1 правильный класс эквивалентности и 2 неправильных; 3. если входное условие описывает множество входных значений, то определяются правильные классы эквивалентности для каждого значения и 1 неправильный; 4. если входное условие описывает ситуацию “должно быть”, то определяется 1 правильный класс эквивалентности и 1 неправильный; 5. если есть основания считать, что различные элементы класса эквивалентности воспринимаются программой неодинаково, то данный класс эквивалентности разбивается на меньшие классы эквивалентности. 2). построение теста: — назначение каждому классу эквивалентности уникального номера; — проектирование новых тестов, каждый из которых покрывает как можно большее число непокрытых правильных классов эквивалентности, пока все правильные классы эквивалентности не будут покрыты тестами; — запись тестов, каждый из которых покрывает один и только один из непокрытых неправильных классов эквивалентности. Каждый неправильный класс эквивалентности должен быть покрыт индивидуальным тестом.

5. Что такое объем данных и как он измеряется? (Инф)

Для измерения информации вводятся два параметра: количество информации I и объем данных . Объем данных Vд. в сообщение измеряется количеством символов (разрядов) в этом сообщение. В различных системах счисления один разряд имеет различный вес и соответственно меняется единица измерения данных:

— в двоичной системе счисления единица измерения — бит (bit-binary digit-двоичный разряд);

— в десятичной системе счисления единица измерения – дит (десятичный разряд).

Пример. Сообщение в двоичной системе 10111011 имеет объем данных Vg=8 бит; сообщение в десятичной системе 275903 имеет объем данных 6 дит.

Количество информации I невозможно определить без рассмотрения понятия неопределенности состояния системы (энтропии системы). Количество информации в сообщении определяется тем, насколько уменьшится мера неопределенности после получения сообщения:

Ib(a) = H(b)-H(a), где H(a) — энтропия, может рассматриваться как мера недостающей информации.

Количество информации H(x) при наблюдении случайной величины x€X={x1,x2,…xn}с распределением вероятностей p={p1,p2,…,pn} задается формулой Шеннона:

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

При равномерном распределении p1=p2=…=pn=1/N количество информации задается формулой Хартли: Справедливы следующие соотношения: 1) 0≤H(x)≤log2N; 2) N=2, p1=p2=0.5, h(x)=1; 3) H(x,h)=H(x)+H(h), если x и h — независимы

Билет №36

еще рефераты
Еще работы по информатике