Очень доброжелательный и компетентный автор. Всегда был на связи, все разъяснил, предоставил несколько вариантов программы. Рекомендую.
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Введение
В наш век современных информационных технологий (здесь и далее по тексту ИТ), уже многие пользователи достаточно грамотно применяют на работе и дома различные операционные системы. Они знают, что если соединить между собой следующие так называемые комплектующие, то получится неплохой персональный компьютер. Который в свою очередь является все же сложной системой. Управляемой некем, то а чем то – и это Операционная система (здесь и далее по тексту ОС). ОС управляет пользовательскими приложениями, различными ресурсами, периферийными устройствами и другими возможностями, в зависимости от того какого типа ОС является.
В данной курсовой работе будет рассмотрена ОС Linux, как именно происходит Реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex().
Актуальность данной темы подтверждается во – первых ее новизной. Во-вторых, популярность операционной системы Linux становится все больше. Это обосновывается на ее защищенности от вирусов, а также наибольшим удобством в части администрирования.
Цель курсовой работы - специальная форма самостоятельной работы, выполняемая по рабочему плану, является научным исследованием, направленным на решение теоритических и практических задач.
Часть 1 Исследование механизмов синхронизации в Операционных системах
Синхронизации
Потоки могут вести обмен самыми разными способами, в том числе при помощи каналов, именованных каналов, почтовых слотов, сокетов, вызовов удаленных процедур, совместно используемых файлов.
Процессы также могут использовать разные типы объектов синхронизации. Точно так же, как Windows Vista предоставляет множество механизмов для межпроцессного обмена, она представляет также и множество механизмов синхронизации (включая семафоры, мьютексы, критические области и события). Все эти механизмы работают с потоками (а не процессами), так что когда поток блокируется на семафоре, то другие потоки этого процесса могут продолжать выполнение.[2]
Так например разумный подход, установившийся с годами, заключается в создании многоуровневых систем. У операционной системы UNIX (прародитель Linux )также есть многоуровневая структура, но уровни в них в большей степени представляют собой описания системы, чем фактический руководящий принцип, использованный при ее построении.
Процесс – это объединение нескольких потоков. А объединяет эти потоки единое виртуальное адресное пространство. В этом пространстве размещаются код и данные приложения (обычно это один exe- и несколько dll-модулей). Именно единство этого пространства и делает обмен данными между потоками приложения предельно простым. Наоборот, адресные пространства различных процессов независимы и отделены друг от друга (хотя, используя проекции файла в память (memory mapped file), можно создать область памяти, которая будет доступна совместно нескольким процессам). Другими словами, один и тот же виртуальный адрес в разных процессах соответствует разным физическим адресам. Поэтому по одному и тому же виртуальному адресу в разных процессах могут находиться совершенно разные данные, при этом модификация данных в одном процессе никак не отразится на данных в другом. В первую очередь это сделано для повышения надежности всей системы, чтобы ошибка в одном приложении не могла привести к порче данных, принадлежащих другому. Таким образом, процесс – это несколько потоков (как минимум один) плюс единое виртуальное адресное пространство.
Поскольку все потоки процесса работают в едином адресном пространстве, обмен данными между ними крайне прост, однако при этом требуется согласовывать их работу над совместными данными. Собственно, под термином «синхронизация», как правило, имеют в виду именно согласование работы потоков, принадлежащих одному процессу. Этому и будут посвящены следующие части данной статьи. Хотя некоторые из описанных далее приемов можно использовать и для синхронизации потоков принадлежащих разным процессам, в основном согласование их работы связано с «механизмами взаимосвязи процессов» (inter-process communications, IPC). Действительно, трудно представить ситуацию, когда нам потребовалось бы согласовывать движение потоков без необходимости обмена данными между ними. А для этого, если потоки работают в разных адресных пространствах, требуются специальные механизмы, носящие обобщенное название IPC (проекции файлов в память – один из них).
Оглавление
Используемые сокращения 3
Введение 3
Часть 1 Исследование механизмов синхронизации в Операционных системах 4
Часть 2 Реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex() 16
Заключение 20
Список использованных источников 21
Приложения 22
Заключение
В данной курсовой работе было проведено исследование по тому как происходит реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex(). Для выяснения этого влияния использовалась виртуальная машина WMVare, операционная система Linux RedHat.
Нужно также учесть, что данный вызов применяется Начальная поддержка футексов была встроена в Linux 2.5.7, но с другой семантикой, отличающейся от описанной выше. Данная семантика доступна, начиная с ядер Linux 2.5.4
Список использованных источников
1. О.Бунин Разработка высоконагруженных систем. 2011
2. Э . Таненбаум Современные операционные системы. Питер – 2010.
Интернет ресурсы
3. http://www.kurzenkov.com
4. http://www.codenet.ru
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Введение
В наш век современных информационных технологий (здесь и далее по тексту ИТ), уже многие пользователи достаточно грамотно применяют на работе и дома различные операционные системы. Они знают, что если соединить между собой следующие так называемые комплектующие, то получится неплохой персональный компьютер. Который в свою очередь является все же сложной системой. Управляемой некем, то а чем то – и это Операционная система (здесь и далее по тексту ОС). ОС управляет пользовательскими приложениями, различными ресурсами, периферийными устройствами и другими возможностями, в зависимости от того какого типа ОС является.
В данной курсовой работе будет рассмотрена ОС Linux, как именно происходит Реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex().
Актуальность данной темы подтверждается во – первых ее новизной. Во-вторых, популярность операционной системы Linux становится все больше. Это обосновывается на ее защищенности от вирусов, а также наибольшим удобством в части администрирования.
Цель курсовой работы - специальная форма самостоятельной работы, выполняемая по рабочему плану, является научным исследованием, направленным на решение теоритических и практических задач.
Часть 1 Исследование механизмов синхронизации в Операционных системах
Синхронизации
Потоки могут вести обмен самыми разными способами, в том числе при помощи каналов, именованных каналов, почтовых слотов, сокетов, вызовов удаленных процедур, совместно используемых файлов.
Процессы также могут использовать разные типы объектов синхронизации. Точно так же, как Windows Vista предоставляет множество механизмов для межпроцессного обмена, она представляет также и множество механизмов синхронизации (включая семафоры, мьютексы, критические области и события). Все эти механизмы работают с потоками (а не процессами), так что когда поток блокируется на семафоре, то другие потоки этого процесса могут продолжать выполнение.[2]
Так например разумный подход, установившийся с годами, заключается в создании многоуровневых систем. У операционной системы UNIX (прародитель Linux )также есть многоуровневая структура, но уровни в них в большей степени представляют собой описания системы, чем фактический руководящий принцип, использованный при ее построении.
Процесс – это объединение нескольких потоков. А объединяет эти потоки единое виртуальное адресное пространство. В этом пространстве размещаются код и данные приложения (обычно это один exe- и несколько dll-модулей). Именно единство этого пространства и делает обмен данными между потоками приложения предельно простым. Наоборот, адресные пространства различных процессов независимы и отделены друг от друга (хотя, используя проекции файла в память (memory mapped file), можно создать область памяти, которая будет доступна совместно нескольким процессам). Другими словами, один и тот же виртуальный адрес в разных процессах соответствует разным физическим адресам. Поэтому по одному и тому же виртуальному адресу в разных процессах могут находиться совершенно разные данные, при этом модификация данных в одном процессе никак не отразится на данных в другом. В первую очередь это сделано для повышения надежности всей системы, чтобы ошибка в одном приложении не могла привести к порче данных, принадлежащих другому. Таким образом, процесс – это несколько потоков (как минимум один) плюс единое виртуальное адресное пространство.
Поскольку все потоки процесса работают в едином адресном пространстве, обмен данными между ними крайне прост, однако при этом требуется согласовывать их работу над совместными данными. Собственно, под термином «синхронизация», как правило, имеют в виду именно согласование работы потоков, принадлежащих одному процессу. Этому и будут посвящены следующие части данной статьи. Хотя некоторые из описанных далее приемов можно использовать и для синхронизации потоков принадлежащих разным процессам, в основном согласование их работы связано с «механизмами взаимосвязи процессов» (inter-process communications, IPC). Действительно, трудно представить ситуацию, когда нам потребовалось бы согласовывать движение потоков без необходимости обмена данными между ними. А для этого, если потоки работают в разных адресных пространствах, требуются специальные механизмы, носящие обобщенное название IPC (проекции файлов в память – один из них).
Оглавление
Используемые сокращения 3
Введение 3
Часть 1 Исследование механизмов синхронизации в Операционных системах 4
Часть 2 Реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex() 16
Заключение 20
Список использованных источников 21
Приложения 22
Заключение
В данной курсовой работе было проведено исследование по тому как происходит реализация быстрых механизмов синхронизации в пространстве пользователя на примере системного вызова futex(). Для выяснения этого влияния использовалась виртуальная машина WMVare, операционная система Linux RedHat.
Нужно также учесть, что данный вызов применяется Начальная поддержка футексов была встроена в Linux 2.5.7, но с другой семантикой, отличающейся от описанной выше. Данная семантика доступна, начиная с ядер Linux 2.5.4
Список использованных источников
1. О.Бунин Разработка высоконагруженных систем. 2011
2. Э . Таненбаум Современные операционные системы. Питер – 2010.
Интернет ресурсы
3. http://www.kurzenkov.com
4. http://www.codenet.ru
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
660 ₽ | Цена | от 500 ₽ |
Не подошла эта работа?
В нашей базе 150506 Курсовых работ — поможем найти подходящую