Главная » Просмотр файлов » А. Робачевский - Операционная система UNIX

А. Робачевский - Операционная система UNIX (1114671), страница 36

Файл №1114671 А. Робачевский - Операционная система UNIX (А. Робачевский - Операционная система UNIX) 36 страницаА. Робачевский - Операционная система UNIX (1114671) страница 362019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В случае, если поль!зователь ввел встроенную команду интерпретатора, он выполняет командусобственными силами. В противном случае shell порождает дочерний про!цесс, который с помощью вызова execve(2) запускает указанную програм!му. В это время родительский процесс выполняет системный вызови приостанавливает свое выполнение до завершения работы программы,после чего на экран вновь выводится приглашение.ЗаключениеИзначально система UNIX создавалась как среда разработки программ.

Хотясегодня UNIX применяется во многих областях, не связанных с разработкойпрограммного обеспечения, эта операционная система по!прежнему пользу!ется большой популярностью среди программистов. В этой главе рассмотре!ны уже известные подсистемы операционной системы с точки зрения ихпрограммного интерфейса. В первую очередь — это интерфейс системныхвызовов, определяющий базовые услуги, предоставляемые ядром системыприкладным процессам. При обсуждении вопросов, связанных с програм!мированием в UNIX были проиллюстрированы отдельные положения фраг!ментами программ, написанными на языке С — стандартном языке U N I X ,на котором написаны ядро и основные утилиты системы.www.books-shop.comуправленияпроцессамиСердцем операционной системы UNIX является подсистема управленияпроцессами.

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

Возможностьтерминального или сетевого доступа к системе, различные сервисы, тра!диционные для UNIX, — система печати, удаленные архивы FTP, элек!тронная почта и система телеконференций (news) — все это результат вы!полнения определенных процессов.В этой главе рассматриваются вопросы: что такое процесс в представленииоперационной системы, каковы связанные с ним структуры данных, по!зволяющие UNIX осуществлять управление процессом, а также описыва!ется жизненный цикл процесса — от его создания до прекращения выпол!нения.Процессы в UNIX неотъемлемо связаны с двумя важнейшими ресурсамисистемы — процессором (или процессорами) и оперативной памятью. Какправило, этих ресурсов никогда не бывает "много", и в операционной сис!теме происходит активная конкурентная борьба за Цраво обладания про!цессором и памятью.

Мы рассмотрим принципы организации и управле!ния памятью, т. к. даже при самом умеренном объеме физической памятиадресное пространство процесса составляет несколько гигабайт! Мы такжеподробно остановимся на том, как операционная система планирует вы!полнение процессов — ведь в каждый момент времени в однопроцессор!ной системе UNIX можетне более одного процесса.

U N I Xявляется многозадачной системой общего назначения, поэтому задачасправедливого распределения этого ресурса между задачами различногокласса и с различными требованиями является нетривиальной.www.books-shop.comГлава 3.управления процессамиМы познакомимся с тем, как создаются новые процессы и запускаютсяновые программы (из предыдущих глав вы помните, что это не одно и тоже). По существу процесс является "рамкой", в которую необходимо вста!вить "картину" или "фотографию" — некоторую прикладную программу. Вэтой главе рассматриваются важные этапы жизни процесса, такие как сони пробуждение, переключение контекста, связанного со сменой задачи, изавершение его выполнения.Последние разделы главы посвящены взаимодействию между процессами.Хотя основной задачей операционной системы является изоляция отдель!ного процесса от остальных, время от времени процессам все же требуетсяобмениваться данными.

Для этого UNIX предлагает широкий спектрсредств — от элементарного механизма сигналов до сложных подсистеммежпроцессного взаимодействия —UNIX System V и сокетов BSD.Основы управления процессомУже говорилось, что процесс UNIX представляет собой исполняемый об!раз программы, включающий отображение в памяти исполняемого файла,полученного в результате компиляции, стек, код и данные библиотек, атакже ряд структур данных ядра, необходимых для управления процессом.На рис.

3.1 схематически представлены компоненты, необходимые длясоздания и выполнения процесса.Процесс во время выполнения использует различные системные ресурсы —память, процессор, услуги файловой подсистемы и подсистемы вво!да/вывода. Операционная система UNIX обеспечивает иллюзию одновре!менного выполнения нескольких процессов, эффективно распределяя сис!темные ресурсы между активными процессами и не позволяя в то же времяни одному из них монополизировать использование этих ресурсов.Новорожденная операционная система UNIX обеспечивала выполнениевсего двух процессов, по одному на каждый подключенный к PDP!7 тер!минал. Спустя год, на той же PDP!7 число процессов заметно увеличи!лось, появился системный вызов fork(2).

В Первой редакции UNIX поя!вился вызов ехес(2), но операционная система по!прежнему позволяларазмещать в памяти только один процесс в каждый момент времени. По!сле реализации аппаратной подсистемы управления памятью наоперационная система была модифицирована, что позволило загружать впамять сразу несколько процессов, уменьшая тем самым время на сохра!нение образа процесса во вторичной памяти (на диске) и считывание его,когда процесс продолжал выполнение. Однако до 1972 года UNIX нельзябыло назвать действительно многозадачной системой, т. к. операции вво!да/вывода оставались синхронными, и другие процессы не могли выпол!няться, пока их "коллега" не завершал операцию ввода/выводаwww.books-shop.comОсновы управления процессомдостаточно продолжительную). Истинная многозадачность появиласьтолько после того, как код UNIX был переписан на языке С в 1973 году.

Стех пор основы управления процессами практически не изменились.Рис. 3.1. Инфраструктура процесса операционной системы UNIXВыполнение процесса может происходить в двух режимах — в режиме ядра(kernel mode) или в режиме задачи (user mode). В режиме задачи процессвыполняет инструкции прикладной программы, допустимые на неприви!легированном уровне защиты процессора. При этом процессу недоступнысистемные структуры данных. Когда процессу требуется получение каких!либо услуг ядра, он делает системный вызов, который выполняет инструк!ции ядра, находящиеся на привилегированном уровне. Несмотря на то чтовыполняются инструкции ядра, это происходит от имени процесса, сде!лавшего системный вызов.

Выполнение процесса при этом переходит врежим ядра. Таким образом ядро системы защищает собственное адресноепространство от доступа прикладного процесса, который может нарушитьцелостность структур данных ядра и привести к разрушению операцион!ной системы. Более того, часть процессорных инструкций, например, из!менение регистров, связанных с управлениеммогут быть выпол!нены только в режиме ядра.Соответственно и образ процесса состоит из двух частей: данных режимаядра и режима задачи. Образ процесса в режиме задачи состоит из сегмен!Ⱦɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRSɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕɈɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭpiracy@books-shop.comГлава 3.

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

Вообще говоря, в режиме ядрапроцесс имеет доступ к любой области памяти.Структуры данных процессаКаждый процесс представлен в системе двумя основными структурамиданных —и user, описанными, соответственно, в файлах<sys/proc.h> иСодержимое и формат этих структур различ!ны для разных версий UNIX.

В табл. 3.1 приведены некоторые поляструктурыв SCO UNIX, позволяющие проиллюстрировать информа!цию, необходимую ядру, для управления процессом.ТаблицаcharСостояние процесса (выполнение, приостановлен,сон и т. д.)Текущий приоритет процессаФлаги, определяющие дополнительную инфор%мацию о состоянии процессаcharunsigned intu n s i g n e d shortu n s i g n e d shortp suidintshortshortshortsigset tintUID процессапроцессаИдентификатор сеансаИдентификатор группы процессов (равен иден%тификатору лидера группы)Идентификатор процесса (PID)Идентификатор родительского процессаp_pgrpunsignedtime tp sizeptСигналы, ожидающие доставкиРазмер адресного пространства процесса в страницахВремя выполнения в режиме задачиВремя выполнения в режиме ядраcaddr tpУказатель на LDT процессаs t r u c t pregion*p_regionСписок областей памяти процессаshortunsigned intСтруктура[]Код возврата, передаваемый родительскому процессуМассив записей таблицы страниц для u%areawww.books-shop.comОсновы управления процессомВ любой момент времени данные структурдля всех процессов долж!ны присутствовать в памяти, хотя остальные структуры данных, включаяобраз процесса, могут быть перемещены во вторичную память, — областьсвопинга.

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

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

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

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

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