Помощь в написании студенческих работ
Антистрессовый сервис

Требования к функционалу

РефератПомощь в написанииУзнать стоимостьмоей работы

Макрос TASK используется для описания задачи (примерно так же, как описываются функции в языке С). Он имеет следующий синтаксис: Используется при управлении ресурсами с помощью P/V-семафоров. Запрещено освобождать семафор, который ранее не был захвачен. Сервис производит очистку признаков событий (в маске установленных событий задачи) в соответствии с параметром mask. Используется при управлении… Читать ещё >

Требования к функционалу (реферат, курсовая, диплом, контрольная)

Типы данных При именовании типов используются следующая договорённость: имя типа должно начинаться с префикса «T». Типы, применяемые в ОСРВ, перечислены в таблице 1.

Таблица 1: Типы данных.

Тип.

Описание.

TTask.

Идентификатор задачи.

TSemaphore.

Семафор

TEventMask.

Маска событий.

Макрос TASK.

Макрос TASK используется для описания задачи (примерно так же, как описываются функции в языке С). Он имеет следующий синтаксис:

TASK (TaskID, TaskParam).

// Тело задачи.

TerminateTask ();

Здесь TaskID — любой корректный идентификатор языка С, а TaskParam — - параметр задачи, на основании которого принимается решение о приоритете задачи. Задача с идентификатором TaskID должна быть предварительно объявлена с использованием макроса DeclareTask. Удобство такого подхода заключается в том, что в дальнейшем задачу можно активизировать с использованием того же идентификатора TaskID, например:

DeclareTask (task1);

DeclareTask (task2);

TASK (task1).

{ActivateTask (task2);

TerminateTask ();}.

Управление задачами.

DeclareTask.

Синтаксис.

DeclareTask (TaskID).

Параметры.

TaskID — идентификатор задачи, удовлетворяющий стандартным требованиям языка С.

Описание.

Осуществляет регистрацию задачи в системе (назначение подобно объявлению глобальных функций в языке С). Должен вызываться ДО использования задачи в коде пользовательского приложения.

Особенности.

;

ActivateTask.

Синтаксис.

void ActivateTask (TTask task).

Параметры.

task — идентификатор задачи, подлежащей активизации.

Описание.

Переводит задачу из состояния suspended в состояние ready.

Особенности.

Не допускается одновременное присутствие двух активных копий одной задачи.

TerminateTask.

Синтаксис.

void TerminateTask (void).

Параметры.

;

Описание.

Завершает выполнение текущей задачи, переводя её из состояния running в состояние suspended. При этом освобождаются все системные ресурсы, занятые задачей.

Особенности.

Вызов этого сервиса всегда является последней инструкцией, которую выполняет задача.

Запрещается вызывать TerminateTask из критической секции задачи.

Завершение задачи без обращения к этому сервису также категорически запрещается.

Управление ресурсами.

InitPVS.

Синтаксис.

void InitPVS (TSemaphore S).

Параметры.

S — семафор

Описание.

Инициализация семафора. Используется для задания начального состояния семафора (с каким ресурсом связан семафор, ресурс свободен). Должен вызываться до использования ресурса, связанного с семафором, в коде пользовательского приложения.

Особенности.

Используется при управлении ресурсами с помощью P/V-семафоров.

P.

Синтаксис.

void P (TSemaphore S).

Параметры.

S — семафор

Описание.

Захват семафора. Вызов этого сервиса отмечает вход в критическую секцию. Выход из этой критической секции всегда должен осуществляться вызовом сервиса V.

Особенности.

Используется при управлении ресурсами с помощью P/V-семафоров. Вызов TerminateTask из критической секции не допускается.

Запрещён также вложенный захват одного и того же ресурса.

V.

Синтаксис.

void V (TSemaphore S).

Параметры.

S — семафор

Описание.

Освобождение семафора. Вызов этого сервиса отмечает выход из критической секции и должен сопровождаться предварительным вызовом сервиса P.

Особенности.

Используется при управлении ресурсами с помощью P/V-семафоров. Запрещено освобождать семафор, который ранее не был захвачен.

Управление событиями.

DeclareEvent.

Синтаксис.

DeclareEvent (EventID).

Параметры.

EventID — идентификатор события, удовлетворяющий стандартным требованиям языка С.

Описание.

Осуществляет регистрацию события в системе (назначение подобно объявлению глобальных функций в языке С). Должен вызываться ДО использования идентификатора события в коде пользовательского приложения.

Особенности.

;

SetEvent.

Синтаксис.

void SetEvent (TTask task, TЕventMask mask).

Параметры.

task — идентификатор задачи, для которой надо установить одно или более событий.

mask — маска, согласно которой будут установлены события для задачи task.

Описание.

Устанавливает для задачи task события, задаваемые маской mask. При вызове данного сервиса задача task будет переведена в готовое состояние, если она ждала, хотя бы одного из событий, заданных маской mask.

Особенности.

Любые события, не заданные в маске, останутся неизменны.

GetEvent.

Синтаксис.

void GetEvent (TTask task, TЕventMask* event).

Параметры.

task — задача, чья маска событий должна быть возвращена.

event — указатель на область памяти, куда будут помещены выходные данные.

Описание.

Возвращает текущее состояние маски установленных событий для задачи task (но не событий, которые задача ждет).

Особенности.

;

WaitEvent.

Синтаксис.

void WaitEvent (TЕventMask mask).

Параметры.

mask — маска ожидаемых задачей событий.

Описание.

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

Особенности.

Данный сервис может быть вызван только задачами, владеющими заданными в маске событиями.

ClearEvent.

Синтаксис.

Void ClearEvent (TЕventMask mask).

Параметры.

mask — маска очищаемых событий задачи.

Описание.

Сервис производит очистку признаков событий (в маске установленных событий задачи) в соответствии с параметром mask.

Особенности.

Данный сервис может быть вызван только задачами, владеющими событиями.

Управление операционной системой.

StartOS.

Синтаксис.

void StartOS (TTask task).

Параметры.

task — задача, которую необходимо назначить на выполнение после инициализации системы.

Описание.

Осуществляет необходимую инициализацию и запускает ОС на выполнение.

Особенности.

Вызов этого сервиса возможен только «извне» ОС, то есть когда она ещё не начала свою работу.

Возврат из этой сервиса осуществляется только после вызова ShutdownOS из задачи, обработчика прерывания или внутренней функции ОС.

ShutdownOS.

Синтаксис.

void ShutdownOS (void).

Параметры.

;

Описание.

Используется для немедленного завершения работы системы.

Особенности.

;

Показать весь текст
Заполнить форму текущей работой