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

В системах реального времени применяются разнообразные планировшики задач. Одним из первых был использован планировщих round robin, достоинством которого является детерминированность, а недостатком - небходимость специальной подготовки каждой задачи для выполнения работы с использованием данного планировщика. Для СРВ подготовка задачи заключается в возможности прерывания ее работы через четко определенные промежутки времени, возврат управления планировщику и возможность возобновления прерванной работы при последующем обращении.

Задание

  1. Используя любой объектно-ориентированный язык программирования создать класс, предназначенный для детерминированной сортировки массива вставками и возможностью применения в СРВ при использовании планировщика round robin.

    Пример-заготовка для freepascal:

    const MaxCount=10000;
    type  
     PArray=array[1..MaxCount] of integer;
     TSort=class
      private 
       {внутренние поля}
      public
       constructor Create(PA:PArray; Count:integer);
        // PA - массив, который будет отсортирован
        // Count - количество элементов в массиве
       function Sort(time:longint):boolean;
        // функция сортировки. Начинает или продолжает сортировку 
        // массива. 
        //  time - максимальное время работы функции
        //  возвр. значение - true, если сортировка завершена, false - если время вышло
      end; 
    
    Проверить работоспособность экземпляров класса.