Варианты заданий для выполнения расчетно-графической работы по дисциплине «Операционные системы»

Страницы работы

Содержание работы

Задание на расчетно-графическую работу по дисциплине «Операционные системы»

(кафедра ССОД, 2008г.)

  1. Разработать программу, соответствующую индивидуальному варианту задания, в виде Win32 - приложения  ИСР Borland C++ Builder 6.
  2.  Срок сдачи РГР: не позднее 16 недели.
  3. Пояснительная записка должна содержать:
    1. Титульный лист с указанием варианта РГР.
    2. Формулировку задания.
    3. Пояснения к разработанной программе (описание алгоритма работы программы; структурная схема алгоритма; назначение функций, классов, методов, потоков, объектов синхронизации и т.д.; содержание информации, вводимой с клавиатуры/из файлов и выводимой на экран /в файлы,  вид  окон экранных форм).
    4. Листинг программы с комментариями.
    5. Вид экранных форм.
    6. Список литературы.

4.   При защите  предъявить  работающую программу и полный набор исходных

      файлов (на flash или CD) .

                 Варианты заданий для выполнения РГР

1.  Реализовать  кольцевую очередь  сообщений от родительского процесса

     дочернему процессу.

     Каждое сообщение представляет собой структуру, содержащую номер 

     сообщения, текстовую строку сообщения длиной до 30 символов и время

     отправки сообщения. Длина кольца   - 10 структур. Размещение очереди - в

     отображаемой памяти. Запись и чтение сообщений - асинхронные. Ввод текста

     сообщения - с клавиатуры. Вывод - в окно дочернего процесса.

2.  Реализовать  кольцевую очередь  сообщений между двумя потоками одного

     процесса.

     Каждое сообщение представляет собой структуру, содержащую

     номер    сообщения, текстовую строку сообщения длиной до 30 символов и

     время   отправки сообщения. Длина кольца   - 10 структур. Размещение

     очереди - в  памяти процесса. Запись и чтение сообщений - асинхронные, ввод

     текста   сообщения - с клавиатуры, вывод сообщения вторичным потоком - в

     окно главной формы процесса.

3.  Реализовать  программу с возможностью запуска ограниченного числа

    дочерних  процессов.  Количество разрешенных и запущенных копий

    динамически отображается на форме.

4.  Написать программу игры в «Крестики и нолики». Размер игрового поля 3х3

     клеток. Партнером выступает  второй поток процесса. Объект синхронизации

     - по выбору разработчика.  

                                                     P.S. Пример реализация игры в виде Web-приложения

                                                                       приведен в [6],  стр.46-54   

5.  Реализовать периодический вывод баннер-сообщения на экран основной

     формы.  Ввод текстов сообщений - в окне основной формы. Место вывода и

     вид сообщения - по выбору разработчика. Сохранение   сообщений, выбор

     сообщения  по случайному закону и показ его на экране  выполняет

     вторичный поток процесса. Интервал смены сообщения -

     регулируемый (5 - 30 Сек).

6.  Реализовать периодический вывод баннер-сообщения на экран основной

     формы.  Тексты сообщений предварительно заносятся в текстовый файл,

     который читается дочерним процессом.  Выбор сообщения  - по случайному

     закону,  передача его текста родительскому процессу  - через отображаемую

     память. Место вывода и  вид сообщения - по выбору разработчика.

     Синхронизация доступа к памяти - мьютексы или события.

7.  Смоделировать работу бензозаправочной колонки,  имеющей 2 независимых

      заправочных шланга-пистолета с одинаковой маркой бензина. Программа

      должна отображать:

                          -  количество заправляющихся автомашин;

                          -  количество машин, ожидающих заправки;

                          -  приблизительное время ожидания в очереди.

      Каждая автомашина моделируется отдельным потоком процесса.    Объект

      синхронизации – семафор.

8.   Смоделировать работу продавцов-кассиров магазина самообслуживания.

 Число рабочих мест задается пользователем в диапазоне 1 – 6 кассиров.   

 Количество покупателей в зале отбора товара увеличивается генератором

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

 формируется случайным образом при его заходе в зал.

 Работа каждой кассы моделируется отдельным потоком. Время, необходимое  

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

       Программа  должна динамически отображать:

                          -  количество покупателей в зале отбора товара;

                          -  количество покупателей в каждой кассовой очереди;

                          -  состояние кассира (занят-свободен);

       Объекты  синхронизации – семафоры.

9.  Составить программу для ввода текста с клавиатуры. Вторичный поток

     процесса должен автоматически каждую минуту сохранять введенный текст в

     файл с заданным именем. На время записи файла ввод текста должен

     блокироваться.

10.  При движении автомобиля изменяется число оборотов коленчатого вала

       двигателя, которое не должно превышать некоторого порогового значения.

       Написать программу моделирования изменения числа оборотов по

       некоторому закону (например, кусочно-линейному) в диапазоне

        0-4000 об/мин. Вторичный поток программы должен отслеживать текущее

       значение и ограничивать его  на заданном уровне (например, на уровне 3000

       об/ мин). Объект синхронизации потоков выбрать самостоятельно.

11.  ГЭС имеет 4 гидрогенератора  и снабжает электроэнергией 3 объекта.

       Мощность, потребляемая каждым объектом, меняется в течение

       суток относительно некоторого среднего значения  по синусоидальному

       закону. Мощности гидрогенераторов фиксированы:

                              Ргг1 = 100 МВт

                              Ргг2 = 100 МВт

                              Ргг3 = 120 МВт

                              Ргг4 = 120 МВт

       Мощность, потребляемая объектами (МВт):

                             Р1   = 100 + 20*Sin(pi/2*(h/6 - 1))    

                             Р2   = 180 + 50*Sin(pi/2*(h/6 - 1))    

                             Р3   =  90  + 20*Sin(pi/2*(h/6 - 1))    

       где   h - текущий час в течение суток (0 - 24).

      Написать программу, моделирующую работу энергосистемы. Временной         

       масштаб моделирования 1 : 3600 (1 Сек соответствует 1 часу).

       Моделирование  потребления электроэнергии каждым объектом выполняется           

       в отдельном  потоке. Первичный поток процесса получает данные от каждого

Похожие материалы

Информация о работе