Главная » Просмотр файлов » Ю. Вахалия - UNIX изнутри (2003)

Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 15

Файл №1114670 Ю. Вахалия - UNIX изнутри (2003) (Ю. Вахалия - UNIX изнутри (2003)) 15 страницаЮ. Вахалия - UNIX изнутри (2003) (1114670) страница 152019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 15)

+ Управляющая информация. Ядро использует для поддержки управляющей информации о процессе лве основные структуры данных; область ц и структуру ргос. Каждый процесс также обладает собственным стеком ядра и картами трансляции адресов. + Полномочия. Включают в себя идентификаторы пользователя и группы, ассоциируемые с данным процессом (которые будут описаны в разделе 2.3.3).

+ Переменные окружения. Это набор строк в форме: перененная=значение Переменные окружения наследуются от родительского процесса. Во многих вариантах 1Л~1Х такие строки хранятся в вершине стека. Стандартные пользовательские библиотеки имеют функции лля добавления, удаления или изменения переменных, а также лля возврата ее значения. При запуске новой программы вызывающий процесс может сообщить функции ехес о том, что переменные окружения должны остаться «родительскими» или вместо этого предложить новый набор переменных.

+ Аппаратный контекст. Включает содержимое регистров общего назначения, а также набора специальных системных регистров. Системные регистры содержат: Программный счетчик (ргодгаш соцпгег, РС). Хранит адрес следующей выполняемой инструкции'. Указатель стека (згас1с ро1пгег, 3Р). Содержит адрес верхнего элемента стека'.

Слово состояния процессора (ргосезьог згагцз туогс1, Ро'гйг). Содержит несколько битов с информацией о состоянии системы, в том числе о текущем и предыдущем режимах выполнения, текущем и предыдущем уровнях приоритетов прерываний, а также биты переполнения и переноса. ' Обозначение характерно для машин РОР и процессоров АЖУРНА, в архитектуре 1псе! зту роль играет регистр (Е)1Р— указатель команд,!пэггпсноп рошгег.

Обозначения эр и Рэйг в ней сохранились. В дальнейшем мы будем чаше пользоваться вторым термином. — Прим. ред. з Или нижнего, для машин, в которых стек растет вниз. Также на некоторых системах указатель стека может содержать адрес, по которому будет занесен следуюнгий помешаем ы й в стек элемент. 68 Глава 2. Ядро и процессы Регистры управления памятью, в которых отображаются таблицы трансляции адресов процесса, Регистры сопроцессора (Е)оаГ1пя ро1пГ цп11, ЕРП). Машинные регистры содержат аппаратный контекст текущего выполняемого процесса. Когда происходит переключение контекста, эти регистры сохраняются в специальном разделе области ц текущего процесса, который называется блоком управления прог(ессом (ргосезз сон!го! Ыос)с, РСВ).

Ядро выбирает следующий процесс для выполнения и загружает его аппаратный контекст из блока РСВ. 2.3.3. Полномочия пользователя Каждый пользователь системы имеет свой уникальный номер, называемый идентификатором пользователя (пзег 1Р, или ШР).

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

Все перечисленные атрибуты получили единое название полномочий. Система различает привилегированного пользователя, называемого супер- пользователем (зпрегпзег), который обычно входит в систему под именем гоо1. Этот пользователь имеет П1Р, равный О, и С1Р, равный 1. Он обладает многими полномочиями, недоступными обычным пользователям. Он может иметь доступ к чужим файлам независимо от установок их защиты, а также выполнять ряд привилегированных системных вызовов (например, ткпод, используемый для создания специальных файлов устройств). Многие современные системы 1ЛЧ1Х, такие как БЧК4.1/Е8, поддерживают расширенные механизмы заигиты )8). В этих системах поддержка суперпользователя заменена разделением привилегий при проведении различных операций.

Каждый процесс обладает двумя идентификаторами пользователя— реальным (геа!) и действительным (е11есг(че)'. После того как пользователь входит в систему, программа входа в систему выставляет обеим парам ШР и С1Р значения, определенные в базе паролей (то есть в файле /егс/раззггд или в некоем распределенном механизме, например службе !чгз корпорации Вцп М1сгозузгещз). Когда процесс создается при помощи 1огк, потомок наследует полномочия от своего прародителя.

Эффективный П1Р и эффективный СП) влияют на создание файлов и доступ к ним. Во время создания файла ядро устанавливает ему атрибуты владельца файла как эффективные !)!Р и СП) процесса, из которого был сделан вызов на создание файла. Во время доступа процесса к файлу ядро использует ' Есть саге третий — сохраненный (гачева). — Прин. рад. 2.3. Определение процесса 69 эффективные идентификаторы процесса для определения, имеет ли он право обращаться к этому файлу (подробнее см. раздел 8.2). Реальный ШР и реальный С11Э идентифицируют владельца процесса и влияют на право отправки сигналов. Процесс, не имеющий привилегий суперпользователя, может передавать сигналы другому процессу только в том случае, если реальный или эффективный ШР отправителя совпадает с реальным ШР получателя.

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

Точно так же, если программа установлена в реллгме з81И, ядро изменяет С1Р вызываемого процесса. Система 111ч1Х предлагает описанную возможность с целью предоставления специальных прав пользователям для определенных целей. Классическим примером такого подхода является программа раээад, позволяющая пользователям изменять свои пароли. Этой программе необходимо записать результат в базу данных паролей, которая обычно недоступна пользователям для прямых изменений (с целью защиты от модификаций записей других пользователей).

Таким образом, владельцем разэвд является суперпользователь, но программа имеет установленный бит Я)1Р. Это дает возможность обычному пользователю получить привилегии суперпользователя на время и в рамках выполнения программы раээад. Пользователь также может настраивать свои полномочия при помощи системных вызовов эе1ц1о и эе1д1о. Суперпользователю позволено при помощи этих вызовов изменять как реальные, так и эффективные идентификаторы ШР и С1Р. Обычные пользователи могут обращаться к этим вызовам только для изменения своих эффективных идентификаторов ШР или С1Р на реальные. Существуют некоторые различия в интерпретации полномочий в ОС Бузсещ Ъ' и ВЯР 1)Х1Х.

В системе 5'1гКЗ поддерживаются хранимые (эагес1) ШР и С1Р, которые имеют значения эффективных ШР и С1Р перед вызовом ехес. Системные вызовы эегц14 и ьетд14 могут восстановить эффективные идентификаторы из хранимых значений. Хотя в системе 4.3В8Р не поддерживается описанная возможность, пользователь ОС может войти в состав дополнительных групп (используя вызов зегдгоцрз). В то время как файлы, созданные пользователем, принадлежат его основной группе, он может иметь доступ к файлам, принадлежащим к его как основной, так и дополнительной группе (в зависимости от установок прав доступа к файлам для членов группы владельца).

В ОС 8УК4 встроены все перечисленные возможности. Система поддерживает дополнительные группы, а также поддерживает хранимые идентификаторы ШР и С1Р через вызов ехес. 70 Глава 2. Ядро и процессы 2.3.4. Область о и структура ргос Управляющая информация о процессе поддерживается с помощью двух структур данных, имеющихся у каждого процесса: области а и структуры ргос, В различных реализациях 111ч11Х ядро имеет массив фиксированного размера, состоящий из структур рсос и называемый таблицей процессов. Размер этого массива зависит от максимального количества процессов, которые одновременно могут быть запущены в системе. Современные варианты 111ь11Х, такие как БЪ'К4, поддерживают динамическое размещение структур ргос, но массив указателей на них также имеет фиксированный размер. Так как структура ртос находится в системном пространстве, она всегда видна ядру в любой момент времени, даже когда процесс не выполняется.

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

Различия в особенностях доступа обусловлены особенностями информации, хранящейся в структуре ртос и области ц. Область ц содержит данные, необходимые только в период выполнения процесса. Структура ртос включает в себя такую информацию, которая может потребоваться даже в том случае, если процесс не выполняется. Основные поля области ц перечислены ниже: + блок управления процессом используется для хранения аппаратного контекста в то время, когда процесс не выполняется; + указатель на структуру ртос для этого процесса; + реальные и эффективные 1Л1) и С11)'; + входные аргументы и возвращаемые значения (или коды ошибок) от текущего системного вызова; + обработчики сигналов и информация, связанная с ними (см.

Характеристики

Тип файла
PDF-файл
Размер
8,36 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее