
- •Курсовая работа
- •1 Теоретический вопрос «Процессы в ос Windows и ос Unix» 4
- •2 Решение задачи «Об обедающих философах» 10
- •3 Список использованных источников 17
- •1 Теоретический вопрос «Процессы в ос Windows и ос Unix» 4
- •2 Решение задачи «Об обедающих философах» 10
- •3 Список использованных источников 17
- •Теоретический вопрос «Процессы в ос Windows и ос Unix»
- •Процессы и потоки в ос Windows
- •Порождение процессов
- •Взаимодействие процессов
- •Завершение процессов
- •Потоки в операционных системах Windows
- •Процессы и потоки в ос unix
- •Порождение процессов
- •Взаимодействие процессов
- •Завершение процессов
- •Потоки в операционных системах unix
- •Выводы по процессам и потокам ос Windows и ос Unix
- •Решение задачи «Об обедающих философах»
- •Постановка задачи
- •Построение сетевой модели задачи
- •Листинг процедур решения задачи
- •Результат выполнения программы решения задачи
- •Список использованных источников
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования «Магнитогорский государственный технический университет им. Г.И. Носова»
Кафедра вычислительной техники и прикладной математики
Курсовая работа
по дисциплине «Теория вычислительных процессов»
на тему «Процессы и потоки в ОС 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
Теоретический вопрос «Процессы в ос Windows и ос Unix»
Процессы и потоки в ос Windows
Порождение процессов
В операционных системах семейства Windows процесс порождается функцией CreateProcess и в него загружается программа. У данной функции имеется 10 параметров – выполняемая программа, параметры командной строки, параметры безопасности, биты, управляющие наследованием открытых файлов, информация о приоритетах, спецификация окна и указатель на структуру, в которой вызывающей программе будет возвращена информация о только что созданном процессе. [4, С. 117]
В системах Windows после создания процесса родительский и дочерний процессы обладают своими собственными адресными пространствами. Изменения данных в адресном пространстве одного процесса не влияет на процессы в других адресных пространствах. [4, С. 117]
Взаимодействие процессов
К взаимодействиям процессов относят:
Передачу информации от одного процесса другому, контроль над деятельностью процессов и согласование действий.
Передача информации может осуществляться при помощи каналов и сокетов.
Канал – псевдофайл, в который один процесс пишет, а другой считывает из него информацию. Схема взаимодействия каналами показана на рисунке 1. [1]
Рисунок 1 – Взаимодействие процессов каналами
Сокет – поддерживаемый ядром механизмам, скрывающий особенности среды и позволяющий единообразно взаимодействовать процессам, как на одном компьютере, так и в сети. Схема взаимодействия сокетами показана на рисунке 2. [1]
Рисунок 2 – Взаимодействие процессов сокетами
К взаимодействию процессов относится также состояние состязания – ситуация когда несколько процессов считывают или записывают данные (в память или файл) одновременно. [4, С. 151]
Для того чтобы не возникало состязательных ситуаций, используют способ взаимного исключения – некий способ обеспечивающий правило, при котором если общие данные или файл используются одним процессом, возможность их использования другими процессами исключено. Та часть программы, в которой используется доступ к общей памяти, называется критической областью или критической секцией.