Алгоритмы и механизмы синхронизации процессов в операционных системах
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Министерство образования и науки Российской Федерации
ФГБОУ ВПО Челябинский государственный педагогический университет
КАФЕДРА ИНФОРМАТИКИ И МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ
Квалификационная работа
Алгоритмы и механизмы синхронизации процессов в операционных системах
И.о. зав. кафедрой
………….. / Рузаков А.А./
…. ………..…… 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 Назначение операционной системы
Физическими или аппаратными ресурсами компьютера называются физические устройства, из которых состоит компьютер. К таким устройствам относятся центральный процессор, оперативная память, внешняя память, шины передачи данных и различные устройства ввода-вывода информации. Логическими или информационными ресурсами компьютера называются данные и программы, которые хран