Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Имитационное моделирование как метод исследования вычислительных систем

Предмет: 
Тип роботи: 
Контрольна робота
К-сть сторінок: 
40
Мова: 
Русский
Оцінка: 

временем обслуживания параметр Р2 не задается. При описании одноканальных устройств параметр СН должен отсутствовать в наборе параметров.

Описания устройств, входящих в состав сетевой модели, сводятся в таблицу, являющуюся исходным документом для подготовки данных. Примером описания устройств является табл. 10.2. В таблице приведен пример описания одноканальных устройств CPU, LINE и СН2 с различными дисциплинами и законами обслуживания. Неиспользованные позиции в таблице оставляют свободными.
Память. Память используется в сетевой модели для имитации обслуживания заявок в запоминающих устройствах различных типов: оперативной памяти, памяти на магнитных дисках и лентах и т. д. Память характеризуется емкостью, выраженной в определенных единицах измерения: байтах, килобайтах, словах, страницах и т. д. В пределах указанной емкости память может предоставляться заявкам любыми частями (сегментами). Условное графическое обозначение элементов памяти показано на рис. 10.3, б. На элемент памяти могут поступать заявки от любого числа элементов сети, т. е. элемент памяти может иметь любое число входов. Потоки заявок, поступающие на элемент памяти от других элементов сети, объединяются.
Для задания элемента памяти необходимо указать емкость памяти, дисциплину обслуживания заявок и длины сегментов, которые должны выделяться заявкам каждого типа. Дисциплина обслуживания, единая для заявок всех типов, указывается символическим именем дисциплины. При назначении дисциплины обслуживания можно использовать только те из них, которые не допускают прерываний. Запросы заявок к памяти определяются законом распределения длин запрашиваемых сегментов для заявок каждого типа. Закон задается указанием символического имени распределения и значений его числовых характеристик.
Память описывается следующим набором параметров: NAME, V, SD, TYPE, GIST, Р1, Р2, где NAME — символическое имя элемента памяти; V — объем памяти; SD — символическое имя дисциплины обслуживания; TYPE — тип заявки: GIST — символическое имя закона распределения длин сегментов для заявок каждого типа; Р1 и Р2 — числовые характеристики распределения длин сегментов. Параметры TYPE, GIST, P1, Р2 могут повторяться в списке требуемое число раз в соответствии с числом типов заявок, поступающих на описываемый элемент сети. Параметр Р2 закона распределения длин сегментов может отсутствовать.
 
Реализация элемента памяти в среде MATLAB
 
function M=memory(u)
global nnn;
Old=str2num(get_param(strcat(getfullname(u(5)),'/Old'),'Value'));
if u(10)==nnn
if (u(6)+u(7)+u(8)+u(9)~=0)
for i=1:Old
N1=str2num(get_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value'))
if ((N1(1)==u(6))&(N1(2)==u(7))&(N1(3)==u(8))&(N1(4)==u(9)))
set_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value','[0 0 0 0]')
break
end
end
end
end
if (u(1)+u(2)+u(3)+u(4)~=0)
for i=1:Old
N=str2num(get_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value'));
if N==[0 0 0 0] 
set_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value',strcat('[',num2str([u(1) u(2) u(3) u(4)]),']'))
break
end
end
end
max=-1;
index=0;
for i=1:Old
NN=str2num(get_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value'))
if NN(3)>max 
max=NN(3)
index=i
end
end
NN=str2num(get_param(strcat(getfullname(u(5)),'/Constant',num2str(index)),'Value'));
M=NN;
set_param(strcat(getfullname(u(5)),'/ConMF'),'Value','0')
for i=1:Old
OldK=str2num(get_param(strcat(getfullname(u(5)),'/Constant',num2str(i)),'Value'))
if OldK==[0 0 0 0]
set_param(strcat(getfullname(u(5)),'/ConMF'),'Value','1')
break
end
end
return
 
Элементы освобождения памяти. Особенность элементов памяти в том, что время обслуживания заявок в памяти явным образом не устанавливается. Предполагается, что поступившая на вход памяти заявка занимает память или поступает в очередь в соответствии с дисциплиной обслуживания и с учетом имеющегося свободного объема памяти. Если заявка принимается на обслуживание, т. е. ей предоставляется требуемый объем памяти, то она с выхода памяти поступает в сеть и продолжает движение. Выделенный заявке сегмент памяти остается занятым при любых перемещениях заявки в сети после выхода из памяти.
Для имитации действий по освобождению памяти в набор элементов сетей вводятся элементы освобождения памяти. При прохождении заявки через элемент освобождения памяти, расположенный в некоторой точке маршрута заявки, сегмент памяти, ранее выделенный заявке, освобождается. При этом предполагается, что память всегда освобождается полным сегментом. Условное обозначение элементов освобождения памяти показано, на рис. 10.3, в. Описание элементов освобождения памяти задается следующим набором параметров: NAME1, NAME2, TYPE, где NAME1 — символическое имя элемента освобождения памяти; NAME2 — символическое имя памяти, которая должна быть освобождена; TYPE — тип заявки, освобождающей память. Параметр TYPE может повторяться требуемое число раз в соответствии с числом типов заявок, которые должны освобождать память при прохождении через элемент освобождения памяти. Прохождение через элемент освобождения памяти заявки, тип которой не указан в описании элемента, не вызывает каких-либо изменений в состоянии сети.
Описания элементов памяти и элементов освобождения памяти сводятся в таблицы, служащие исходными документами для программы моделирования. Таблица 1 пример таблицы описания элементов памяти. В таблице описываются элементы памяти CORE, MD1 и BUF1 с различными дисциплинами обслуживания заявок.
 
Таблица 1
Имя элемента освобождения памяти Имя элемента памяти Тип заявки, освобождающей память
 
Реализация элемента освобождения памяти в среде MATLAB
 
function M=mem_cl(u)
global mmm;
set_param(strcat(getfullname(u(5)),'/Constant'),'Value',strcat('[',num2str([u(1) u(2) u(3) u(4) mmm]),']'))
M=[0 0 0 0]
return
 
Маршруты заявок. Для описания маршрутов прохождения заявок используются элементы, называемые узлами. В сетевой модели узлы имитируют управляющие процедуры, реализованные в моделируемой ВС как аппаратурными, так и программными средствами. Узлы — элементы логического характера. Прохождение заявки через узел не рассматривается как обслуживание и предполагается, что заявки проходят через узлы мгновенно. Исключение составляют узлы синхронизирующего типа, при прохождении через которые заявки могут задерживаться
Фото Капча