41753

Организация управления ЭВМ

Лабораторная работа

Информатика, кибернетика и программирование

Область стека зарезервированная для системных программ устанавливается в БУП а адрес возврата записывается в стек. Наконец инициализируется область стека пользователя записью туда стартового адреса и номера карты памяти содержащей коды программы. Модуль 1 PROCEDURE иницпроцесспольз адресбуп стартовыйадрес приоритет адрес объем карта кодсобытня картапрограммы объемданных бл данных картадаин встатьвочередь очередьвсехпроцессов адресбуп приоритет ■ приоритет[адресбуп] SET системныйфлагпроцесса ТО...

Русский

2013-10-25

120.47 KB

2 чел.

ЛАБОРАТОРНАЯ РАБОТА № 3

Организация управления ЭВМ

Задача 1.

Инициализация процесса пользователя. Действия, необходимые для инициализации блока управления процессом, показаны в модуле 1. На первом шаге БУП помещается в ОЧЕРЕДЬ-ВСЕХ-ПРОЦЕССОВ. Эта очередь содержит список всех процессов в системе. Единый список всех процессов необходим, так как процесс может передвигаться по различным очередям и ошибка в системе может привести к его исчезновению. СИСТЕМНЫИ-ФЛАГ-ПРОЦЕССА в приоритетном слове устанавливается в нуль, указывая отсутствие активных событий. Также устанавливается в нуль текущий номер карты процесса. Область стека, зарезервированная для системных программ, устанавливается в БУП, а адрес возврата записывается в стек.

Затем БДП инициализируется данными, относящимися к порождающему процессу. В БДП помещаются код события и идентификатор процесса-прародителя. Если имеется блок данных, то он перезаписывается из пространства процесса-прародителя в БДП. Наконец, инициализируется область стека пользователя записью туда стартового адреса и номера карты памяти, содержащей коды программы.

Модуль 1

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

данных, карта-даин"

встать-в-очередь (очередь-всех-процессов, адрес-буп) приоритет -*■ приоритет[адрес-буп]

SET системный-флаг-процесса ТО приоритет[адрес-буп] j CLEAR активные-события[адрес-буп]

CLEAR завершенные-события[адрес-буп] CLEAR цепь-событий[адрес-буп]

CLEAR номер-карты[адрес-буп] /

address (оспл[адрес-буп]) успр[адрес-буп]

address (выход-из-ОС) -*■ оспл[адрес-буп]

проц -*■ идентификатор-процесса[адрес-буп]

код-события код-события[адрес-буп]

объем-данных ->- количество-блоков-данных[адрес-буп]

скопировать-из-простр-польз (карта-данных,

блок-данных, данные-процесса[адрес-буп], объем-даиных) address (yen — 3) -*■ временн-ук-стека

address (пространство-стека) -»- граница-усп[временн-ук-стека]

address (пауза) -*■ функция[временн-ук-стека] address (стартовый-адрес) ->- возврат [временн-ук-стека]

карта-программы -*■ карта[времен-ук-стека] ENDPROC

Задача 2.

Удаление процесса. Обычно в операционной системе имеется набор возможностей для завершения работы процесса. Процесс может завершиться благополучно по окончании выполняемой задачи или неблагополучно вследствие ошибки. Он также может быть остановлен другим процессом. Процессы могут быть удалены директивно, указанием их идентификатора. Возможно удаление всех процессов в данной приоритетной группе. Можно также предоставить процессу уничтожить самого себя. При уничтожении процесса он должен быть удален из всех системных очередей. Также должны быть освобождены и возвращены в соответствующие пулы все занимаемые им ресурсы.

Решение.

Операция УНИЧТОЖИТЬ позволяет процессу удалить себя самому. Логика удаления приведена в модуле 2. На первом этапе процесс переводится в состояние ожидания и ждет завершения всех внешних системных запросов. Затем процесс удаляется из ОЧЕРЕДИ-ВСЕХ-ПРО-ЦЕССОВ и счетчик процессов пользователя уменьшается на единицу. Если процесс является последним пользовательским процессом в системе, то система, обращаясь к программе ВОЗВРАТ, переводится в холостое состояние. В противном случае ресурсы на КВВ, БУП и БДП освобождаются и возвращаются в соответствующие пулы. Формат запроса имеет вид

Модуль 2

PROCEDURE уничтожить запрос (ждать-рес)

выбрать-из-очереди(очередь-всех-процессов) DECREMENT счетчики-процессов-пользователя IF ириоритет[проц]<0 THEN

IF счетчик-процессов-пользователя=О THEN

система (возврат, 0, адрес-буп) ENDIF ' ENDIF

освободить(карта-вв-выв-рес, бдп-карта-вв-выв[проц]) освободить (бдп-рес, бдп[проц]) освободить (бдп-рес, проц) планировщик ( ) ENDPROC

В многопроцесных системах процесс-прародитель обычно создает ряд процессов, работающих параллельно. После окончания работы каждый из таких процессов может либо удалить сам себя командой УНИЧТОЖИТЬ, либо быть удаленным процессом-прародителем. Прародитель может уничтожить созданный им процесс по различным причинам. Команда УДАЛИТЬ позволяет одному процессу уничтожить другой. Формат запроса имеет вид

СИСТЕМА (УДАЛИТЬ, КОД-ОБЫТИЯ, ИДЕНТИФИКД'. ТОР-ПРОЦЕССА),

где КОД-СОБЫТИЯ используется для информирования главного процесса о том, когда был удален второстепенный процесс; ИДЕНТИФИКАТОР-ПРОЦЕССА – идентификатор удаляемого процесса.

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

      

3. Последовательная шина USB. Режимы передачи данных.

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

Архитектура USB допускает четыре базовых типа передачи данных:

Управляющие посылки (Control Transfers), используемые для конфигурирования во время подключения и в процессе работы для управления устройствами. Протокол обеспечивает гарантированную доставку данных. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой.

Сплошные передачи (Bulk Data Transfers) сравнительно больших пакетов без жестких требований ко времени доставки. Передачи занимают всю свободную полосу про– пускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи.

Прерывания (Interrupt) – короткие (до 64 байт на полной скорости, до 8 байт на низкой) передачи типа вводимых символов или координат. Прерывания имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1–255 мс для полной скорости и 10–255 мс – для низкой.

Изохронные передачи (Isochronous Transfers) – непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины и имеющие заданную задержку доставки. В случае обнаружения ошибки изохронные данные передаются без повтора – недействительные пакеты игнорируются. Пример – цифровая передача голоса. Пропускная способность определяется требованиями к качеству передачи, а задержка доставки может быть критичной, например, при реализации телеконференций.

Полоса пропускания шины делится между всеми установленными каналами. Выделенная полоса закрепляется за каналом, и если установление нового канала требует такой полосы, которая не вписывается в уже существующее распределение, запрос на выделение канала отвергается.

Архитектура USВ предусматривает внутреннюю буферизацию всех устройств, причем чем большей полосы пропускания требует устройство, тем больше должен быть его буфер. USB должна обеспечивать обмен с такой скоростью, чтобы задержка данных в устройстве, вызванная буферизацией, не превышала нескольких миллисекунд.

Изохронные передачи классифицируются по способу синхронизации конечных точек – источников или получателей данных – с системой: различают асинхронный, синхронный и адаптивный классы устройств, каждому из которых соответствует свой тип канала USB.

4. Чипсет. Его назначение. Диаграмма чипсета.

Основой любой материнской платы является набор ключевых микросхем, также называемый набором логики или чипсетом. Разработкой таких наборов занимаются несколько крупнейших мировых компаний: Intel, NVIDIA, AMD, VIA, SIS. То, какой чипсет положен в основу материнской платы, определяет, какой процессор, какую оперативную память и в каком объёме можно установить, сколько устройств можно подключить и как быстро всё это будет работать.

Диаграмма чипсета NVIDIA nForce 680i SLI

Чипсет состоит из интегральных микросхем, называемых мостами. Чаще всего встречаются двухкомпонентные чипсеты, состоящие из северного и южного мостов. Своё "географическое" название они получили потому, что если материнскую плату поставить на ребро в том положении, в котором она устанавливается в системный блок, то северный мост будет выше южного, как бы "на север от него". Кроме того, если представить материнскую плату как блок-схему, то северный мост будет выше южного.

8. Нарисовать схему взаимодействия компонентов \USB.


 

А также другие работы, которые могут Вас заинтересовать

18363. Цикл внутри цикла 273 KB
  11 урок Цикл внутри цикла. Рассмотрим поэтапное решение а выведем на экран ряд чисел 6 штук через пробел. Обратите внимание на вывод нс после кц тем самым курсор переводится на следующую строку. опечатка в примере надо
18364. Рекуррентное соотношение 184 KB
  12 урок. Рекуррентное соотношение. Рекуррентным называется соотношение при котором очередной элемент последовательности выражается через предыдущий или предыдущие. Вычислить n элемент последовательности n задается с клавиатуры : 235917 где ...
18365. Цикл «Пока» 109 KB
  13 урок цикл Пока Общий вид цикла пока: нц пока условие тело_цикла кц При выполнении цикла пока КУМИР циклически повторяет следующие действия: Проверяет записанное после служебного слова пока условие. Если условие не соблюдается то выполнение цикла...
18366. Массивы - заполнение и простые действия 63 KB
  14 урок. Массивы 1 урокзаполнение и простые действия. Массивы описываются следующим образом: цел таб а[1:50] вещ таб а[1:50] Заполнение массива из 5 чисел внутри алгоритма и нахождение среднего арифметического этих...
18367. Массивы. Обработка элементов 222.5 KB
  15 урок. Массивы. Обработка элементов. Дан массив из 10 элементов вывести их на экран и рассчитать квадратный корень из nэлемента n11 вводится с клавиатуры. Дан массив целых чисел выяснить является ли nэлемент n11 вводится с
18368. Массивы - поиск по условию 662 KB
  16 урок. Массивы поиск по условию. Дан массив из 20 элементовцелых. Вывести на экран первоначальное состояниет.е. сами элементы затем только нечетные и их кво. Дан массив из 10 элементов. Вывести на экран сам массив и номера вхо
18369. Массивы - изменение исходного массива 236 KB
  18 урок. Массивы изменение исходного массива. Массив из 5 элементов. Поменять местами 3 и 5 элементы. Часть а. Массив из 6 элементов. Часть б. Массив из 6 элементов. Удалить из массива 3 элемент. Т.е. 456 элеме
18370. Двумерный массив 353.5 KB
  19 урок. Двумерный массив. 1 урок Двумерный массив задается : цел таб а[1:n11:n2] Массив из целых чисел 4Х4 заполняется генератором случайных чисел. Вывести сначала все элементы построчно на экран и 3 элемент в 1 . Составить программу для вы...
18371. Литерные величины 439 KB
  20 урок. Литерные величины. Команды обработки литерныхтекстовых величин: а:=длинб результатом является число символов в текстовой переменной. Вырезка а[3:5] например: дает вырезку с 3 символа по пятый. Взятие символа а[3] выводит 3 символ