Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Процессы и потоки windows и unix.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
170.78 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования «Магнитогорский государственный технический университет им. Г.И. Носова»

Кафедра вычислительной техники и прикладной математики

Курсовая работа

по дисциплине «Теория вычислительных процессов»

на тему «Процессы и потоки в ОС Windows и ОС Unix. Решение задачи об обедающих философах»

Выполнил:

студент группы АВ-10,

Подосокорский В.В.

Проверила:

к.т.н, доцент,

Кочержинская Ю.В.

Магнитогорск 2013

СодержаниеY

1 Теоретический вопрос «Процессы в ос Windows и ос Unix» 4

1.1 Процессы и потоки в ОС Windows 4

1.2 Процессы и потоки в ОС UNIX 7

1.3 Выводы по процессам и потокам ОС Windows и ОС Unix 9

2 Решение задачи «Об обедающих философах» 10

2.1 Постановка задачи 10

2.2 Построение сетевой модели задачи 11

2.3 Листинг процедур решения задачи 12

2.4 Результат выполнения программы решения задачи 15

3 Список использованных источников 17

1 Теоретический вопрос «Процессы в ос Windows и ос Unix» 4

1.1 Процессы и потоки в ОС Windows 4

1.1.1 Порождение процессов 4

1.1.2 Взаимодействие процессов 4

1.1.3 Завершение процессов 6

1.1.4 Потоки в операционных системах Windows 6

1.2 Процессы и потоки в ОС UNIX 7

1.2.1 Порождение процессов 7

1.2.2 Взаимодействие процессов 7

1.2.3 Завершение процессов 8

1.2.4 Потоки в операционных системах UNIX 8

1.3 Выводы по процессам и потокам ОС Windows и ОС Unix 9

2 Решение задачи «Об обедающих философах» 10

2.1 Постановка задачи 10

2.2 Построение сетевой модели задачи 11

2.3 Листинг процедур решения задачи 12

2.4 Результат выполнения программы решения задачи 15

3 Список использованных источников 17

  1. Теоретический вопрос «Процессы в ос Windows и ос Unix»

    1. Процессы и потоки в ос Windows

      1. Порождение процессов

В операционных системах семейства Windows процесс порождается функцией CreateProcess и в него загружается программа. У данной функции имеется 10 параметров – выполняемая программа, параметры командной строки, параметры безопасности, биты, управляющие наследованием открытых файлов, информация о приоритетах, спецификация окна и указатель на структуру, в которой вызывающей программе будет возвращена информация о только что созданном процессе. [4, С. 117]

В системах Windows после создания процесса родительский и дочерний процессы обладают своими собственными адресными пространствами. Изменения данных в адресном пространстве одного процесса не влияет на процессы в других адресных пространствах. [4, С. 117]

      1. Взаимодействие процессов

К взаимодействиям процессов относят:

Передачу информации от одного процесса другому, контроль над деятельностью процессов и согласование действий.

Передача информации может осуществляться при помощи каналов и сокетов.

Канал – псевдофайл, в который один процесс пишет, а другой считывает из него информацию. Схема взаимодействия каналами показана на рисунке 1. [1]

Рисунок 1 – Взаимодействие процессов каналами

Сокет  – поддерживаемый ядром механизмам, скрывающий особенности среды и позволяющий единообразно взаимодействовать процессам, как на одном компьютере, так и в сети. Схема взаимодействия сокетами показана на рисунке 2. [1]

Рисунок 2 – Взаимодействие процессов сокетами

К взаимодействию процессов относится также состояние состязания – ситуация когда несколько процессов считывают или записывают данные (в память или файл) одновременно. [4, С. 151]

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