Скачиваний:
57
Добавлен:
06.02.2016
Размер:
524.8 Кб
Скачать

Int Next_top; /* Номер следующего узла */

forward

{

modbeg("Лок.ВС / UNIX-V", 1,MOD_TIME,(long)time(NULL),

none,5,none,none,2 );

ag("Вспом. транзакт",9,none,none,0.0,zero,zero,10);

supply(MEMORY,add,MAX_RAM);

/*Максимально возможный объем памяти */

supply(IO_BUFFERS,add,MAX_BUFFERS);

/*Максимальное число буферов */

network(dummy,dummy)

{

top(1):queue("Очередь к CPU",none,2);

place;

top(2):switch(PROCESS_STATUS)

{

case HDD: /* Процесс создан и работает */

if (rundum()>0.8 && HDD_ACCESS)

Next_top=8;

/* Управление возвращается пользователю */

else

Next_top=3; /* Очередная операция I/O */

break;

case BUFF: /* Отвести процессу буферы I/O */

Next_top=7;

break;

case RAM: /* Создать процесс */

Next_top=5;

break;

}

serv("CPU",1,none,unif,0.1,0.1,zero,Next_top);

if (Next_top==8)

{

clcode

HDD_ACCESS=0; /* Доступ к HDD прекращен*/

detach(MEMORY,RAM_AMOUNT);

/* Освободить память */

detach(IO_BUFFERS,BUF_AMOUNT);

/* Освободить буферы */

}

place;

top(3):HDD_ACCESS=1; /*Получение доступа к HDD */

queue("Очередь к HDD", none,4);

place;

top(4):serv("HDD",1,none,beta,0.05,0.1,0.15,1 );

place;

top(5):RAM_AMOUNT=1+rundum()*(MAX_RAM-1);

PROCESS_STATUS=BUFF; /* Запросить буферы I/O */

attach("Выделить RAM",RAM_AMOUNT,prty,6);

place;

top(6):manage("Диспетчер ресурсов",1);

place;

top(7):BUF_AMOUNT=1+rundum()*(MAX_BUFFERS-1);

PROCESS_STATUS=HDD; /* Начать операции I-O */

attach("Выделить буферы I/O",BUF_AMOUNT,prty,6);

place;

top(8):PROCESS_STATUS=RAM; /* Создание процесса */

serv("Терминалы п-лей",USERS,none,

norm,10.0,2.5,zero,1);

place;

/* Схема зарядки */

top(10):creat("Генерация п-лей",none,USERS,copy,8,11);

place;

top(11):term("Выключение Ag 9");

cheg(9,none,none,MOD_TIME,zero,zero,11);

place;

fault(123);

}

modend("Unix5.rep", 1, 13, page );

return 0;

}

Результаты моделирования

*---------------------------------------------------------------------------------------------*

| НАЗВАНИЕ МОДЕЛИ: Лок.ВС / UNIX-V |

| ВРЕМЯ МОДЕЛИРОВАНИЯ: 28800.00 Лист: 1 |

|---------------------------------------------------------------------------------------------|

| | | | |Загруз-| | 2 | | | | |

| No | Наименование | Тип |Точ-| ка, %=| M [t] | C [t] |Счeтчик|Кол.|Оcт.|Состояние узла|

|узла| узла | узла | ка |Путь,км| среднее | вариация| входов|кан.| тр.| в этот момент|

|---------------------------------------------------------------------------------------------|

| | | | | | | | | | | |

| 1 Очередь к CPU queue - - 0.05 2.34 205831 1 0 открыт |

| 2 CPU serv - %= 71.3 0.10 0.33 205831 1 1 открыт |

| 3 Очередь к HDD queue - - 0.01 10.55 128517 1 0 открыт |

| 4 HDD serv - %= 44.6 0.10 0.04 128517 1 1 открыт |

| 5 Выделить RAM attach - %= 73.8 42.33 51.75 25799 1 41 9 S

| 2495 D

| 6 Диспет.ресурсов manage - - 0.00 1.00 51516 1 0 открыт |

| 7 Выделить буферы attach - %= 55.5 0.38 7.37 25758 1 0 1 S

| 0 D

| 8 Терминалы п-лей serv - %= 17.9 10.01 0.06 25806 50 7 открыт |

| 9 Вспом. транзакт ag - - 0.00 1.00 2 1 1 открыт |

| 10 Генерация п-лей creat - - 0.00 1.00 50 1 0 открыт |

| 11 Выключение Ag 9 term - - 0.00 1.00 2 0 1 закрыт |

| | | | | | | | | | | |

*---------------------------------------------------------------------------------------------*

Анализ результатов моделирования

За период моделирования к OS UNIX поступило 25799 запросов на создание процесса ввода-вывода (счетчик входов узла 5). Каждый пользователь послал в среднем по 500 запросов и 7 пользователей на момент окончания моделирования обдумывают очередной запрос. В среднем польлзователи потратили на обдумывание запросов 18 % времени работы с ЛВС.

25 758 процессов было обеспечено ресурсами (счетчик входов узла 7 показывает число процессов, получивших ресурс, так как все транзакты покинули узел). 41 запрос ожидает выделения ресурса RAM. Было совершено 128 516 операций ввода-вывода и одна операция осталась незаконченной. Было произведено 205831 обращений к процессору, и на момент окончания моделирования процессор находился в состоянии работы. Всего процессор находился в состоянии работы 71 % времени работы ЛВС, операции ввода-вывода заняли 42 % времени. Среднее время ожидания доступа к процессору составило 0.05 секунды, среднее время ожидания операции ввода-вывода - 0.01 секунды.

Средняя загруженность ресурса RAM составляет 73 %. На момент окончания моделирования остаток ресурса RAM составляет 9 Мбайт, а стоящие в очереди процессы требуют в общей сложности 2495 Мбайт памяти. Средняя загруженость ресурса буферов I/O составляет 55 %. На момент окончания моделирования свободен один буфер, и потребности в ресурсе нет. Среднее время ожидания выделения RAM составляет 42 секунды, буферов - 0.38 секунды. Различия в результатах связаны с тем, что процесс вначале требует выделения RAM, а затем - буферов ввода-вывода.

Соседние файлы в папке Лабораторные_занятия