Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А.




Скачать 2.01 Mb.
Название Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А.
страница 2/30
Дата публикации 13.06.2014
Размер 2.01 Mb.
Тип Документы
literature-edu.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   ...   30

Часть I. Теоретические основы.

1ВВЕДЕНИЕ.


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

Любая операционная система оперирует некоторыми сущностями (понятиями), которые во многом характеризуют свойства этой операционной системы. К таким сущностям могут относиться понятия – задача, процесс, объект, файл, набор данных и т.д.. Одним из важнейших таких понятий является понятие процесса. В общем случае процесс можно определить как совокупность данных и машинных команд, исполняющуюся в рамках ВС и обладающую правами на владение некоторым набором ресурсов. Эти права могут носить эксклюзивный характер, когда ресурс принадлежит только одному процессу, либо ресурс может одновременно принадлежать нескольким процессам – в этом случае ресурс называется разделяемым.

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

  • обеспечение жизненного цикла процессов (порождение, выполнение и уничтожение процессов);

  • распределение ресурсов ВС;

  • синхронизацию процессов;

  • организацию межпроцессного взаимодействия.

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


Нетрудно найти целый ряд “синонимов” понятия типа “процесс” – процесс, нить, задача, задание или программа, причем в различных ОС могут присутствовать только часть понятий из этого набора, и их интерпретация во многом будет зависеть от конкретной вычислительной среды, где они используются. Таким образом, разные операционные системы оперируют с разными понятиями относительно базовой сущности, с которой работает ОС . Более того эти понятия могут переплетаться, т.е. задача может состоять из нескольких процессов, а процесс имеет многонитевую структуру.

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

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

2.1Некоторые типы процессов.

2.1.1 «Полновесные процессы»


Существует понятие «полновесные процессы» - это процессы, выполняющиеся внутри защищенных участков памяти операционной системы, то есть имеющие собственные виртуальные адресные пространства для статических и динамических данных. Для «полновесных процессов» можно сказать, что операционная система поддерживает их обособленность: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы - файлы, окна, семафоры и т.д. Такая обособленность нужна для того, чтобы защитить один процесс от другого, поскольку они, совместно используя все ресурсы ВС, конкурируют с друг другом. В общем случае процессы принадлежат разным пользователям, разделяющим один компьютер, и ОС берет на себя все функции, связанные с распределением ресурсов между конкурирующими процессами. В операционных системах управление такими процессами тесно связанно с управлением и защитой памяти, поэтому переключение процессора с выполнения одного процесса на выполнение другого является достаточно дорогой операцией по времени.

2.1.2«Легковесные процессы»


Наряду с «полновесными процессами» существуют и «легковесные процессы», они же нити, которые в той или иной степени присутствуют в различных операционных системах. При мультипрограммировании повышается пропускная способность системы, но отдельный процесс никогда не может быть выполнен быстрее, чем если бы он выполнялся в однопрограммном режиме. Однако задача, решаемая в рамках одного процесса, может обладать внутренним параллелизмом, который позволяет ускорить ее выполнение. Например, в ходе выполнения задачи происходит обращение к внешнему устройству, и на время этой операции можно не блокировать полностью выполнение процесса, а продолжить вычисления по другой "ветви" процесса. Для этих целей современные ОС предлагают использовать механизм многонитевой обработки (multithreading). При этом вводится новое понятие "нить" (thread). Нити, относящиеся к одному процессу, не настолько изолированы друг от друга, как процессы в традиционной многозадачной системе, между ними легко организовать тесное взаимодействие. Нити, или «легковесные процессы», во многих отношениях схожи с процессами. Каждая нить выполняется строго последовательно и имеет свой собственный программный счетчик и стек. Нити, как и процессы, могут, например, порождать нити-потомки, могут переходить из состояния в состояние. Подобно традиционным процессам (то есть процессам, состоящим из одной нити), нити могут находится в одном из следующих состояний: ВЫПОЛНЕНИЕ, ОЖИДАНИЕ и ГОТОВНОСТЬ. Пока одна нить заблокирована, другая нить того же процесса может выполняться. Нити разделяют процессор так, как это делают процессы, в соответствии с различными вариантами планирования.

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

Итак, нити имеют собственные: программный счетчик, стек, регистры, нити-потомки, состояние. В то же время все нити одного процесса разделяют: адресное пространство, глобальные переменные, открытые файлы, таймеры, статистическую информацию.

В рамках одной ОС понятия полновесного и легковесного процесса (нити) могут как взаимозаменяться (например, в случае ОС с однонитевой организацией процесса, когда каждый процесс может иметь лишь одну исполняемую нить), так и дополнять друг друга (в случае многонитевой организации процесса, когда каждый процесс представляет собой совокупность исполняемых нитей).

Обобщая сказанное, отметим, что понятие процесса в любой ОС включает в себя:

  • исполняемый код;

  • собственное виртуальное адресное пространство;

  • совокупность ресурсов, выделенных данному процессу операционной системой;

  • хотя бы одну исполняемую нить.
1   2   3   4   5   6   7   8   9   ...   30

Похожие:

Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Фгбоу впо московский государственный университет
Московский государственный университет им. М. В. Ломоносова, биологический факультет, кафедра энтомологии
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Культивируемые микроорганизмы из пищеварительного тракта дождевых червей
Факультет почвоведения, Московский государственный университет имени М. В. Ломоносова, 119991, Москва, гсп-1, Ленинские горы, мгу...
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Дипломную работу Студента Богданова Дмитрия Игоревича
Вычислительной Математики и Кибернетики Московского Государственного Университета им. М. В. Ломоносова
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Дипломную работу Студента Студеникина Романа Валерьевича
Вычислительной Математики и Кибернетики Московского Государственного Университета им. М. В. Ломоносова
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Факультет вычислительной математики и кибернетики Лаборатория вычислительных комплексов
«Разработка и исследование эффективности алгоритма формирования содержимого учебных курсов»
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Статьи (жирным шрифтом)
Московский государственный университет имени М. В. Ломоносова, физический факультет, кафедра общей физики. Россия,119991, Москва,...
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Московский Государственный Университет им. М. В. Ломоносова Механико-математический...
Рисунок Графики каналов R,G,B для строки изображения поля с разметкой. Пики соответствуют линиям разметки. При построении таких графиков...
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Априорные оценки точности разностных схем для задачи движения вязкого слабосжимаемого газа
К. А. Жуков, А. В. Попов Московский Государственный Университет имени М. В. Ломоносова
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Резюме валерия Манилла
Российская Федерация, Москва, гсп-1, Ленинские горы, Московский государственный университет имени М. В. Ломоносова 119991, Главное...
Московский Государственный Университет им. М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. icon Российской Федерации Министерство Российской Федерации по атомной...
Книга предназначена для студентов, специализирующихся в областях, связанных с информационной безопасностью, а также для преподавателей...
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции