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




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

Часть II. реализация процессов.


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

4Реализация процессов в ОС UNIX

4.1Понятие процесса в UNIX.


Выше уже говорилось, что в каждой конкретной ОС существует свое системно-ориентированное определение понятия процесса. В ОС UNIX процесс можно определить, с одной стороны, как единицу управления и потребления ресурсов, с другой стороны – как объект, зарегистрированный в таблице процессов ядра UNIX. Каждому процессу в UNIX сопоставлено некое уникальное целое число, называемое идентификатором процессаPID. Это число находится в диапазоне от нуля до некоторого предельного номера, характеризующего максимально возможное количество одновременно существующих процессов в данной ОС. Некоторые значения идентификаторов являются зарезервированными и назначаются специальным процессам ОС, например, процесс с PID=0 ассоциируется с работой ядра ОС, а процесс с PID=1 – это процесс init, работа которого будет подробно рассмотрена ниже.

4.1.1Контекст процесса.


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

С точки зрения логической структуры контекст процесса в UNIX состоит из:

  • пользовательской составляющей или тела процесса (иногда используется термин «пользовательский контекст»)

  • аппаратной составляющей (иногда используется термин «аппаратный контекст»)

  • системной составляющей ОС UNIX (иногда называемой «системным контекстом» или «контекстом системного уровня»)

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

Рассмотрим подробнее каждую из составляющих контекста процесса.



Рис. 6 Контекст процесса

4.1.2Тело процесса.


Тело процесса состоит из сегмента кода и сегмента данных3.

Сегмент кода содержит машинные команды и неизменяемые константы соответствующей процессу программы. Данные в этом сегменте не подлежат изменению.

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

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



Рис. 7 Разделение сегмента кода разными экземплярами программы

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

4.1.3Аппаратный контекст.


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

4.1.4Системный контекст.


В системной составляющей контекста процесса содержатся различные атрибуты процесса, такие как:

  • идентификатор родительского процесса

  • текущее состояние процесса

  • приоритет процесса

  • реальный и эффективный идентификатор пользователя-владельца

  • реальный и эффективный идентификатор группы, к которой принадлежит владелец

  • список областей памяти

  • таблица открытых файлов процесса

  • диспозиция сигналов, т.е. информация о том, какая реакция установлена на тот или иной сигнал

  • информация о сигналах, ожидающих доставки в данный процесс

  • сохраненные значения аппаратной составляющей (когда выполнение процесса приостановлено)

Поясним сказанное выше.

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



Рис. 8 Формирование контекста процесса.
1   2   3   4   5   6   7   8   9   10   ...   30

Похожие:

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


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

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