Хотя задачи и нити достаточно адекватно обеспечивают интерфейс выполнения программ системы Mach, они не в полной мере описывают процесс UNIX. Процесс обеспечивает некоторые свойства, которые не отражены в Mach, такие как полномочия пользователя, дескрипторы открытых файлов, обработчики сигналов и группы процессов.
Также может иметь смысл заглянуть на сайт old-stone.ru, ведь именно там можно узнать много нового на тему http://old-stone.ru/stairs.html. Тема гранитные ступени может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт old-stone.ru, и тема гранитные ступени начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема гранитные ступени очень подробно представлена на сайте old-stone.ru. Трудно найти более детальное освещение темы гранитные ступени чем это сделано на сайте old-stone.ru. Спасибо сайту old-stone.ru за такое доскональное преподнесение темы гранитные ступени.
Более того, для предотвращения изменения традиционного интерфейса UNIX был осуществлен перенос кода уровня, обеспечивающего совместимость Mach 2.5 с 4.3BSD, который, в свою очередь, был перенесен из оригинальной реализации 4.3BSD. Точно так же был произведен перенос многих драйверов устройств из системы Digital ULTRIX, также основанной на ОС BSD. Перенесенный код делает множественные ссылки на структуры ргос и user также для обеспечения совместимости.
Применение оригинального варианта структур ргос и user является причиной возникновения двух проблем. Во-первых, некоторая информация из этих структур уже отражена в структурах task и thread. Во-вторых, они не могут адекватно представлять многонитевые процессы. Например, традиционная область и содержит блок управления процессом, который хранит контекст регистров процесса. В случае многонитевости каждая нить обладает собственным контекстом регистров. Следовательно, обе структуры должны быть существенно изменены.
Область и заменена двумя объектами: единой структурой utask, которая используется задачей целиком, и по одной структуре uthread выделено для каждой нити задачи. Новые структуры не занимают фиксированное адресное пространство процесса и не участвуют в его свопинге.
Структура utask содержит следующую информацию:
♦ указатели на объекты vnode текущего и корневого каталогов;
♦ указатель на структуру ргос;
3.8. Digital UNIX 133
♦ массив обработчиков сигналов и других полей, относящихся к сигналам;
♦ таблицу дескрипторов открытых файлов;
♦ маску создания файлов, используемую по умолчанию (cmask);
4- данные об использовании ресурсов, квотах и информацию профиля.
Если одна из нитей открывает файл, то его дескриптор может быть использован совместно всеми нитями задачи. Также все нити будут иметь один и тот же текущий рабочий каталог. Структура uthread описывает ресурсы, относящиеся к каждой нити процесса UNIX, и содержит следующую информацию:
♦ указатель на сохраненные регистры прикладного уровня;
♦ поля для просматриваемых путей;
4- текущие и ожидающие сигналы;
4 обработчики сигналов, определенные для данной нити.
Опубликовал katy
July 03 2015 15:58:04 ·
1 Комментариев ·
2802 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Oleg27 October 23 2023 15:10:07
Нашел для игры отличное казино 1xBet и могу сказать что там можно заработать. В казино есть современные игровые автоматы и можно получить отличные бонусы, так что рекомендую вам заходить и играть.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.