Контрольная работа: Категории планирования

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Описание программы

ВАРИАНТ 3. МОДЕЛЬ ОБСЛУЖИВАНИЯ ПРОЦЕССОВ С АБСОЛЮТНЫМИ ПРИОРИТТЕТАМИ ОБСЛУЖИВАНИЯ И ЗАДАННЫМ КВАНТОМ ВРЕМЕНИ.

В теоретической части работы следует написать о планировании вычислительных заданий, процессов и потоков, а в практической - написать программу, реализующую описанную далее модель вычислений.

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

Исходные данные:

-величина кванта времени (Tкв = 1);

поток заявок на выполнение процессов (имя заявки (name), время поступления (t0), приоритет (Pr), время исполнения(T)).

Программа:.cs

using System;System.Collections.Generic;System.Linq;System.Windows.Forms;WindowsFormsApplication1

{

static class Program

{

/// <summary>

/// Главная точка входа для приложения.

/// </summary>

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);.Run(new Form1());

}

}

}

Form1.cs

using System;System.Collections.Generic;System.IO;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;WindowsFormsApplication1

{partial class Form1 : Form

{Form1()

{();

}void Form1_Load(object sender, EventArgs e)

{

}void button1_Click(object sender, EventArgs e)

{.Clear();

//Считывание из файлаa = new StreamReader(@"d:\Kursovaya.txt");line;[,] tabl = new string[5, 4];(int i = 0; i < 5; i++)

{= a.ReadLine();[] koord = line.Split(',');(int j = 0; j < 4; j++)

{[i, j] = koord[j];

}

}

//Вывод в richTextBox1(int i = 0; i < 5; i++)

{.AppendText(" ");(int j = 0; j < 4; j++)

{.AppendText(tabl[i, j] + " ");

}.AppendText("\n\n");

}

//.Text = tabl[0, 0];.Text = tabl[1, 0];.Text = tabl[2, 0];.Text = tabl[3, 0];.Text = tabl[4, 0];.Visible = true;.Width = 660;.Height = 336;

}void Form1_Paint_1(object sender, PaintEventArgs e)

{g = e.Graphics;xc = 320; yc = 279;

//определение начала новой системы координат.TranslateTransform(xc, yc);

//вычерчивание осей координат

g.DrawLine(new Pen(Color.Yellow, 5.0f),

this.Width, 0, this.Width, 0);.DrawLine(new Pen(Color.Yellow, 5.0f),

, -this.Height, 0, this.Height);

//Шкалирование(int i = 0; i < 315; i+=15)

{(i % 25 != 0)

{.DrawLine(new Pen(Color.Yellow, 1.5f), i, 5, i, -279);

}

{.DrawLine(new Pen(Color.Yellow, 3f), i, 10, i, -279);

}

}

//Описание значений цветов для процессов.DrawLine(new Pen(Color.Green, 3f), -157, -30, -127, -30);

g.DrawLine(new Pen(Color.Red, 3f), -157, -43, -127, -43);.DrawLine(new Pen(Color.Black, 3f), -157, -57, -127, -57);

//График(label1.Visible == true)

{(int i = 0; i > -200; i -= 40)

{(i == 0)

{.DrawLine(new Pen(Color.Red, 3f), 15, -45 + i, 150, -45 + i);.DrawLine(new Pen(Color.Black, 3f), 150, -45 + i, 180, -45 + i);.DrawLine(new Pen(Color.Black, 3f), -5, -45 + i, 15, -45 + i);

}(i == -40)

{.DrawLine(new Pen(Color.Green, 3f), -5, -45 + i, 15, -45 + i);.DrawLine(new Pen(Color.Black, 3f), 15, -45 + i, 45, -45 + i);

}(i == -80)

{.DrawLine(new Pen(Color.Green, 3f), -5, -45 + i, 30, -45 + i);.DrawLine(new Pen(Color.Red, 3f), 30, -45 + i, 45, -45 + i);.DrawLine(new Pen(Color.Black, 3f), 45, -45 + i, 60, -45 + i);.DrawLine(new Pen(Color.Red, 3f), 60, -45 + i, 105, -45 + i);.DrawLine(new Pen(Color.Black, 3f), 105, -45 + i, 150, -45 + i);

}(i == -120)

{.DrawLine(new Pen(Color.Green, 3f), -5, -45 + i, 45, -45 + i);.DrawLine(new Pen(Color.Red, 3f), 45, -45 + i, 60, -45 + i);.DrawLine(new Pen(Color.Black, 3f), 60, -45 + i, 75, -45 + i);

}(i == -160)

}

}

}

}void richTextBox1_TextChanged(object sender, EventArgs e)

{

}void label9_Click(object sender, EventArgs e)

{

}

}

}

Принтскрин ввода данных

Принтскрин выполненной программы

Список используемой литературы

1. Назаров С.В., Широков А.И. Многопользовательские операционные системы. - М.: Изд. дом МИСиС, 2010. 194 стр.

. Таненбаум Э. Современные операционные системы. Изд-е 4. СПб.: Питер, 2010.

. Гордеев А.В. Операционные системы: Учебник для вузов. 2-е изд. - СПб.: Питер, 2007. - 416 с.: ил.

Источник: https://www.bibliofond.ru/detail.aspx?id=784832