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

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

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

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

д. Такое уведомлениеотправляется процессу в виде сигнала.Если процесс установил таймер, ему будет от!правлен сигнал, когда значение таймера станетравным нулю.Доставка и обработка сигналаДля каждого сигнала в системе определена обработка по умолчанию, ко!торую выполняет ядро, если процесс не указал другого действия. В общемслучае существуют пять возможных действий: завершить выполнение про!цесса (с созданием образа core и без), игнорировать сигнал, остановитьпроцесс и продолжить процесс (справедливо для остановленного процесса,для остальных сигнал игнорируется), наиболее употребительным из кото!рых является первое.www.books-shop.comСигналы239Как уже обсуждалось в главе 2, процесс может изменить действие поумолчанию, либо зарегистрировав собственный обработчик сигнала, либоуказав, что сигнал следует игнорировать.

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

На системах с высо!кой загрузкой это может привести к существенным задержкам между от!правлением и доставкой сигнала, т. к. процесс не получит сигнал, пока небудет выбран планировщиком, и ему не будут предоставлены вычисли!тельные ресурсы. Этот вопрос был затронут при разговоре о точности тай!меров, которые может использовать процесс.Доставка сигнала происходит после того, как ядро от имени процесса вы!зывает системную процедурукоторая проверяет, существуют лиожидающие доставки сигналы, адресованные данному процессу. Функцияissigвызывается ядром в трех случаях:1. Непосредственно перед возвращением из режима ядра в режим задачипосле обработки системного вызова или прерывания.2.

Непосредственно перед переходом процесса в состояние сна с приори!тетом, допускающим прерывание сигналом.3. Сразу же после пробуждения после сна с приоритетом, допускающимпрерывание сигналом.Если процедура() обнаруживает ожидающие доставки сигналы, яд!ро вызывает функцию доставки сигнала, которая выполняет действия поумолчанию или вызывает специальную функциюзапускаю!щую обработчик сигнала, зарегистрированный процессом. Функциявозвращает процесс в режим задачи, передает управление об!работчику сигнала, а затем восстанавливает контекст процесса для про!должения прерванного сигналом выполнения.Рассмотрим типичные ситуации, связанные с отправлением и доставкойсигналов. Допустим, пользователь, работая за терминалом, нажимает кла!прерывания (<Del> или <Ctrl>+<C> для большинства систем).

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

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

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

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

ОднакоВ BSD UNIX были введено понятие перезапускаемых системных вызовов. Суть этого меха!низма заключается в том, что прерванный сигналом системный вызов автоматически по!вторяется после обработки сигнала,аварийного завершения с ошибкой EINTR. До!пускается отключение этой возможности для конкретных сигналов.www.books-shop.comпроцессамиот одиночного изолированного процесса мало пользы. Сама концепцияUNIX заключается в модульности, т.

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

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

Количество взаимодей!ствующих процессов может быть больше двух. При совместном ис!пользовании ресурсов процессам может понадобиться некоторыйпротокол взаимодействия для сохранения целостности данных и ис!ключения конфликтов при доступе к ним.О Извещения. Процесс может известить другой процесс или группупроцессов о наступлении некоторого события. Это может понадо!биться, например, для синхронизации выполнения нескольких про!цессов.Очевидно, что решать данную задачу средствами самих процессов неэффек!тивно, а в рамках многозадачной системы — опасно и потому невозможно.Таким образом, сама операционная система должна обеспечить механизмымежпроцессного взаимодействияCommunication,К средствам межпроцессного взаимодействия, присутствующим во всехверсиях UNIX, можно отнести:П сигналыП каналыFIFO (именованные каналы)П сообщения (очереди сообщений)П семафорыП разделяемую памятьПоследние три типа IPC обычно обобщенно называют System VВо многих версиях UNIX есть еще одно средство IPC —впервыепредложенные в BSD UNIX (им посвящен отдельный раздел главы).www.books-shop.com242Глава 3.управления процессамиСигналы изначально были предложены как средство уведомления обошибках, но могут использоваться и для элементарногонапример, длясинхронизации процессов или для передачи простейших команд от одногопроцесса кОднако использование сигналов в качестве средстваограничено из!за того, что сигналы очень ресурсоемки.

Отправка сиг!нала требует выполнения системного вызова, а его доставка — прерыванияпроцесса!получателя и интенсивных операций со стеком процесса для вы!зова функции обработки и продолжения его нормального выполнения.При этом сигналы слабо информативны и их число весьма ограничено.Поэтому сразу переходим к следующему механизму — каналам.КаналыВспомните синтаксис организации программных каналов при работе в ко!мандной строке shell:cat m y f i l e]При этом (стандартный) вывод программыкоторая выводит содер!жимое файла myfile, передается на (стандартный) ввод программыкоторая, в свою очередь подсчитывает количество строк, слов и символов.В результате мы получим что!то вроде:12 45 260что будет означать количество строк, слов и символов в файле myfile.Таким образом, два процесса обменялись данными.

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

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

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

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