Алгоритмы и механизмы синхронизации процессов в операционных системах

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Министерство образования и науки Российской Федерации

ФГБОУ ВПО Челябинский государственный педагогический университет

 

КАФЕДРА ИНФОРМАТИКИ И МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ

 

 

Квалификационная работа

 

Алгоритмы и механизмы синхронизации процессов в операционных системах

 

И.о. зав. кафедрой

………….. / Рузаков А.А./

…. ………..…… 2012 г.

Руководитель:

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

…………… / Рузаков А.А./

…. ………….…….…. 2012 г.

Автор работы:

студент группы 591

Попков Данила Игоревич

Работа защищена с оценкой

 

…. ……………….. 2012 г.

 

 

Челябинск, 2012

Оглавление

 

Введение2

Глава 1. Теоретические основы синхронизации процессов6

.1 Назначение операционной системы6

.2 Понятие процесса и потока7

.3 Свойства процессов и потоков7

.4 Определение процесса и потока11

.5 Создание процессов и потоков12

.6 Эффективность концепции потоков для параллельных вычислений15

.7 Необходимость синхронизации и гонки17

.8 Проблема взаимного исключения20

.9 Требования к алгоритмам синхронизации23

.10 Алгоритмы синхронизации24

.10.1 Запрет прерываний24

.10.2 Переменная-замок25

.10.3 Алгоритм Петерсона25

.10.4 Алгоритм булочной (Bakery algorithm)27

.11 Взаимное исключение на примере монитора29

.12 Взаимное исключение на примере семафора32

.13 Семафоры в Windows35

Выводы по главе 139

Глава 2. Элективный курс Процессы в операционной системе Windows40

.1 Методика изучения элективного курса40

.2 Программная поддержка элективного курса Процессы в ОС Windows65

.3 Апробация результатов исследования в средней школе69

Выводы по главе 270

Заключение71

Список литературы72

Приложение73

ВВЕДЕНИЕ

операционная система windows элективный курс

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

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

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

Объект исследования: алгоритмы и механизмы синхронизации.

Предмет исследования: процесс изучения взаимодействия процессов в курсе информатики средней школы.

В соответствии с целью работы были поставлены следующие задачи:

.Определить разницу между понятиями процесс и поток.

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

.Разработать и адаптировать школьный элективный курс по изучению процессов в операционной системе Windows в школе для 10-11 классов.

.Разработать программно-методическую поддержку элективного курса в виде электронного пособия Процессы в ОС Windows.

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

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

Научная новизна работы состоит в том, что:

.Рассмотрены основные алгоритмы и механизмы синхронизации, такие как алгоритм Петерсона, алгоритм булочной, монитор и семафор.

2.Создана программная поддержка, позволяющая осуществить эффективное изучение данной темы в школе.

.Разработан элективный курс Процессы в операционной системе Windows и программно-методическая поддержка к нему.

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

 

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СИНХРОНИЗАЦИИ ПРОЦЕССОВ

 

.1 Назначение операционной системы

 

Физическими или аппаратными ресурсами компьютера называются физические устройства, из которых состоит компьютер. К таким устройствам относятся центральный процессор, оперативная память, внешняя память, шины передачи данных и различные устройства ввода-вывода информации. Логическими или информационными ресурсами компьютера называются данные и программы, которые хран