Целью этой работы является освоение новых блоков языка GPSS и построение модели сети с топологией «шина», отвечающей приведенным выше требованиям. Рассмотреть два случая работы файл сервера (когда он только принимает пакеты и когда он отвечает на них).
Теоретическая часть. Топология «общая шина» является частным случаем «звездной» топологии. Здесь в качестве центрального элемента выступает пассивный кабель, к которому по схеме «монтажного ИЛИ» подключается несколько компьютеров. Передаваемая информация распространяется по кабелю и доступна одновременно всем компьютерам, присоединенным к этому кабелю. Основными преимуществами такой топологии являются ее дешевизна и простота присоединения новых узлов к сети, а недостатками – низкая надежность (любой дефект кабеля парализует работу сети) и невысокая производительность (в каждый момент времени только один компьютер может передавать данные по сети, поэтому пропускная способность делится здесь между всеми узлами сети).
|
|
Практическая часть.
1. Рассмотреть более подробно следующие операторы языка GPSS: ASSIGN, FUNCTION, GATE, LOGIC, TEST.
2. В текстовом редакторе написать программный код, моделирующий работу сети в целом, когда файл – сервер только принимает пакеты. С учетом рассмотренных в предыдущем пункте операторов.
С помощью оператора ASSIGN можно задать значения для параметров каждого транзакта. У каждого транзакта будем выделять два параметра, отвечающие за адреса отправителя и получателя данного пакета. Если первый параметр можно задавать жестко при создании транзакта, то второй предлагается определять случайным образом, для чего можно использовать оператор FUNCTION.
ADR1 FUNCTION RN1,D3
0.3,2/0.6,3/1,4
АSSIGN 1,1
ASSIGN 2,FN$ADR1
В приведенном примере первый параметр транзакта задается жестко (он равен 1), второй параметр определяется из трех дискретных чисел (2,3,4) с заранее определенными вероятностями с помощью генератора случайных чисел.
Т.к. в топологии «общая шина» канал может одновременно использоваться только одним устройством, то необходимо проводить проверку на «занятость» канала. Для этих целей в работе предлагается использовать логический ключ, имеющий два состояния включен и выключен (что позволяет говорить о занятости канала). Для работы с логическими ключами используется оператор LOGIC.
GATE LR 1
LOGIC S 1
В приведенном примере оператор GATE блокирует входящие в него транзакты пока логический ключ с номером 1 включен (или канал занят), а оператор LOGIC устанавливает логический ключ с номером 1 в состояние включен.
Для того чтобы определить какой станции предназначается пакет предлагается использовать оператор TEST, например:
|
|
TEST E p1,1,m1
В приведенном примере оператор сравнивает значение первого параметра входящего в оператор транзакта с 1, если они равны, то выполняются следующие далее операторы, в противном случае происходит переход по метке m1 программы.
3.Промоделировать полученную программу в GPSSPC.EXE, убедиться в том, что программа написана верно, без синтаксических ошибок.
4. Если программа написана без ошибок, добиться необходимых значений задержек для всех устройств сети.
5. Получить файл отчета с использованием GPSSREPT.EXE.
6. Повторить пункты 2 – 5 для случая, когда файл сервер не только получает пакеты, но и отвечает на них.
7. Составить отчет по проделанной работе.