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

7.1. Программа p1

а) Выделение памяти под N1 свободных блоков (для всех вариантов и контрольного примера N1=50). Каждый свободный блок занимает 34 байта:

- 2 байта под адрес предыдущего блока в списке блоков (первое адресное поле связки очереди);

- 2 байта под адрес следующего блока в списке блоков (второе адресное поле связки очереди);

- 30 байт под пакеты установления и сброса соединения (Запрос Вызова, Вызов Принят и др.);

Очистить память, занятую свободными блоками.

б) Установление адресов связки в N1 свободных блоках:

- выделить память под характеристику очереди свободных блоков Нсвоб с начальным адресом АНсвоб. Установить поля характеристики Нсвоб (рис.1).

АНсвоб

А(1)

А(N1)

N1

Рис.1. Характеристика Нсвоб

Здесь

А(1) – адрес начала массива первого свободного блока в очереди Освоб

А(N1) – адрес начала массива последнего свободного блока в очереди Освоб.

Под массивом блока будем понимать блок (пакет, кадр, ячейка и др.) с адресными полями связки очереди.

_- установить адресные поля связки первого (рис. 2, а) и N1 – го (рис. 2, б) свободного блока в очереди Освоб.

А(1)

0

А(N1)

а)

А(N1)

А(N1) -1

0

б)

Рис. 2. Формат массивов первого (а) и последнего (б) свободного блока в очереди Освоб.

- установить адреса связки массивов всех свободных блоков, кроме первого и последнего

FOR i=2, 3 …. (N1-1) DO

Запись в первое адресное поле массива i-го блока адрес начала массива i-1 блока списка очереди;

Запись во второе адресное поле массива i-го блока адрес начала массива i+1 блока списка очереди.

i=i+1

D:=D+1

GO TO DISP7

7.2. Программа p2

Запишем в центральный процессор N3 пакетов “Запрос Bызова” ”, поступивших с канального процессора j=5 (т.е. КПР=5), в первые массивы очереди свободных блоков Освоб. В контрольном примере N3=3.

На рис. 3 показано формат полей массива пакета с начальным адресом A(i) “Запрос Bызова” (ЗВ), размещенного в Освоб.

Число байт

2

2

30

Начальный адрес A(i)

Первое адресное поле

Второе адресное поле

“Запрос Bызова” – логический канальный номер LCN 12 бит (биты <1- 8> 1 байта и биты <5-8> 2 байта), идентификатор пакета – 4 бита 1011 (биты <1- 4> 2 байта), адрес вызываемого – 14 (1+3+10) байт, адрес вызывающего – 14 (1+3+10) байт

Рис. 3. Формат полей пакета “Запрос Bызова” в массиве свободного блока очереди Освоб.

Примечание: биты <5-8> 2 байта LCN являются младшими.

Установим значение полей этих пакетов “Запрос Bызова” .

Значения LCN этих пакетов запишем в виде следующего одномерного массива - LCN (i) = 179, 195, 201. Здесь i- номер пакета ЗВ.

FOR i= 1,2…..N3 DO

Записать в поле пакета “ЗВ” с начальным адресом массива A(i): биты <1-8> 1 байта и биты <5-8> 2 байта:= LCN(i), биты <1- 4> 2 байта:= 1011; в каждые 14 байт с начиная с третьего записать значение i (адрес вызывающего абонента), в каждые 14 байт с начиная с 17-го записать значение i+1 (адрес вызываемого абонента),

END

В результате в N3 пакетах “ Запрос Bызова ”, находящиеся в Освоб с начальными адресами массивов A(1), A(2), A(3), записаны соответственно следующие логические канальные номера LCN=179, 195 и 201.

Перенести массивы этих N3 пакетов из Освоб в очередь массивов принятых пакетов ОЗВпм (5) с канального процессора j=5, т.е. КПР=5.

Откорректировать очередь свободных блоков Освоб. , создать ОЗВпм (5) и характеристики Нсвоб. , НЗВпм (5). На рис. 4 приведена характеристика этой очереди Нсвоб. Корректировка и создание очередей здесь не показана.

АНсвоб.

А(N3+1)

А(N1)

N1- N3

Рис.4. Характеристика Нсвоб.

На рис. 5 приведена характеристика очереди НЗВпм (5).

АНЗВпм (5)

А(1)

А(N3)

N3

Рис.5. Характеристика НЗВпм (5)

D:=D+1

GO TO DISP7