Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема- Моделювання роботи симетричного мультипроцесора UM з загальною шиною Виконав- ст

Работа добавлена на сайт samzan.net: 2016-03-05

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

Міністерство освіти і науки, молоді та спорту України

Кіровоградський національний технічний університет

Механіко-технологічний факультет

Кафедра програмного забезпечення

Дисципліна: «Обчислювальні системи»

Лабораторна робота №8

Тема: «Моделювання роботи симетричного мультипроцесора UMA з загальною шиною»

Виконав: ст. гр. КІ-09-2

Кірнус Л.Є.

Перевірив: викладач

Доренський О.П.

 

Кіровоград 2012


Розробити програму-емулятор роботи симетричного мультипроцесора
UMA з загальною шиною на засадах багатопроцесорності у системі.

Код програми:

using System;

using System.Windows.Forms;

using System.Threading;

using System.IO;

namespace UMA

{

public partial class Form1 : Form

 {

public string Path; // Змінна для створення по дескриптору текстових файлів

 public string Str_1, Str_2, Str_3, Str_4;

public int i,Mas;

public Random Rm = new Random(); // Змінна для генерації випадкових чисел

 StreamWriter Write; // Змінна для роботи з текстовими файлами (запис)

 public Form1()

{

InitializeComponent();

}

// ------------------------------------ Імітація процесів 

// Процес №1

public void Proc_1()

{

Thread Thread_1 = new Thread(Function_1); // Створення потоку

Thread_1.Start(); // Запуск потоку

Thread_1.Join(300); // Чекаємо доки потік, за допомогою функції Function_1, обробить дані

label1.Text = Str_1;

}

// Процес №2

public void Proc_2()

{

Thread Thread_2 = new Thread(Function_2); // Створення потоку

Thread_2.Start(); // Запуск потоку

Thread_2.Join(600); // Чекаємо доки потік, за допомогою функції Function_2, обробить дані

label2.Text = Str_2;

}

// Процес №3

public void Proc_3()

{

Thread Thread_3 = new Thread(Function_3); // Створення потоку

Thread_3.Start(); // Запуск потоку

Thread_3.Join(900); // Чекаємо доки потік, за допомогою функції Function_3, обробить дані

label3.Text = Str_3;

}

// Процес №4

public void Proc_4()

{

Thread Thread_4 = new Thread(Function_4); // Створення потоку

Thread_4.Start(); // Запуск потоку

Thread_4.Join(1200); // Чекаємо доки потік, за допомогою функції Function_4, обробить дані

label4.Text = Str_4;

}

// ------------------------------------ Потокові функції  

public void Function_1()

{

Str_1 = "#1 Stop!";

Path = @"CPU#1.txt"; // Створюємо текстовий файл CPU#1.txt

Write = File.CreateText(Path); // Відкриваємо його для запису даних

Write.WriteLine(Str_1); // Записуємо у нього значення змінної Str_1

Write.Close(); // Звершуємо роботу з текстовим файлом

}

public void Function_2()

{

Str_2 = "#2 Stop!";

Path = @"CPU#2.txt"; // Створюємо текстовий файл CPU#2.txt

Write = File.CreateText(Path); // Відкриваємо його для запису даних

Write.WriteLine(Str_2); // Записуємо у нього значення змінної Str_2

Write.Close(); // Звершуємо роботу з текстовим файлом

}

public void Function_3()

{

Str_3 = "#3 Stop!";

Path = @"CPU#3.txt"; // Створюємо текстовий файл CPU#3.txt

Write = File.CreateText(Path); // Відкриваємо його для запису даних

Write.WriteLine(Str_3); // Записуємо у нього значення змінної Str_3

Write.Close(); // Звершуємо роботу з текстовим файлом

}

public void Function_4()

{

Str_4 = "#4 Stop!";

Path = @"CPU#4.txt"; // Створюємо текстовий файл CPU#4.txt

Write = File.CreateText(Path); // Відкриваємо його для запису даних

Write.WriteLine(Str_4); // Записуємо у нього значення змінної Str_4

Write.Close(); // Звершуємо роботу з текстовим файлом

}

// ---------------------------------------------------------

private void Form1_Load(object sender, EventArgs e)

{

 

}

// --------------------- Кнопка "Блоку керування шиною" ------------------------

private void button1_Click(object sender, EventArgs e)

{

if (checkBox1.CheckState == CheckState.Checked) // Якщо, лінія запиту шини (BRQ) опитана

{

Mas = Rm.Next(0,2); // Генеруємо випадкові числа від "0" до "2"

 if (Mas == 0) // Яккщо "0" - запускаємо на виконання мультипроцесор UMA

 {

MessageBox.Show("Линия (BGT) свободна!", "System info");

 MessageBox.Show("Сигнал занятости на линии (SACK) отсутствует!", "System info");

 MessageBox.Show("Обработка данных...", "System info");

Proc_1(); // Обробка данных першим CPU

MessageBox.Show("Процесор №1 обработал данные!", "System info");

label1.Text = "Null";

Proc_2(); // Обробка данных другим CPU

MessageBox.Show("Процесор №2 обработал данные!", "System info");

label2.Text = "Null";

Proc_3(); // Обробка данных третім CPU

MessageBox.Show("Процесор №3 обработал данные!", "System info");

 label3.Text = "Null";

Proc_4(); // Обробка данных четвертим CPU

MessageBox.Show("Процесор №4 обработал данные!", "System info");

 label4.Text = "Null";

MessageBox.Show("Данные успешно обработаны!", "System info");

}

else

{

MessageBox.Show("Шина данных занята! Подождите...", "System info");

}

}

else

{

MessageBox.Show("Опросите линию запроса шины (BRQ)!", "System info");

 }

}

}

}




1. декабря понедельник 16
2. президент Федерации Комитета по физической культуре легкой атлетики СанктПете
3. вариантов Если он будет правильным команда получает жетон
4. Интеллектуальные технологии проектирования информационных систем. Методика проектирования программных продуктов в условиях наличия прототипа
5. БЕЛОРУССКАЯ ГОСУДАРСТВЕННАЯ СЕЛЬСКОХОЗЯЙСТВЕННАЯ АКАДЕМИЯ М
6. а nd fork; sld plte nd fork;knife; bred nd butter plte; butter knife; spoon; wter nd wine stemwre фужери; nd linens
7. Основные принципы внешней и внутренней коммуникации PR
8. На свойства информации влияют как свойства данных так и свойства методов её обработки
9. Тематика рефератов
10. О занятости населения в Российской Федерации с последующими дополнениями и изменениями сформулированы о
11. Уступчивость- ее происхождение и использование в техниках влияния
12. Теории собственности и форм предпринимательства- Собственность- понятие субъекты и объекты эконом
13. Тепловой и аэродинамический расчет парового котла ДКВР-4-13-250.html
14.  высокая концепция власти гипертрофия руководящего аппарата его проникновение во все поры жизни общес
15. 12 ~ 241113 Детская танцевальная студия Вторник Че
16. Серовский ’ п-п Участковый пункт полиции.html
17. Роторуа вулканический очаг с гейзерами, грязевыми и горячими источниками и разноцветными озерами
18. тема MS DOS 3.1. Команды DEL REN CD RD 4.html
19. МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПИЩЕВЫХ ПРОИЗВОДСТВ Кафедра Технология хлебопекарного и м.html
20. PHYWE фирмы HYWE Systems GmbH Co