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

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

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

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

Каждый раз при пе!реключении контекста, когда ресурсы процессора передаются другомупроцессу, соответственно изменяется значение переменной curproc, ко!торая теперь указывает на структуруактивного процесса.Вторая упомянутая структура — user, также называемаяили block,содержит дополнительные данные о процессе, которые требуются ядрутолько во время выполнения процесса (т.

е. когда процессор выполняетинструкции процесса в режиме ядра или задачи). В отличие от структурыадресованной указателем curproc, данные user размещаются(точнее, отображаются) в определенном месте виртуальной памяти ядра иадресуются переменной и. На рис. 3.2 показаны две основные структурыданных процесса и способы их адресации ядром UNIX.В u!area хранятся данные, которые используются многими подсистемамиядра и не только для управления процессом.

В частности, там содержитсяинформация об открытых файловых дескрипторах, диспозиция сигналов,статистика выполнения процесса, а также сохраненные значения регист!ров, когда выполнение процесса приостановлено. Очевидно, что процессне должен иметь возможности модифицировать эти данные произвольнымобразом, поэтому u!area защищена от доступа в режиме задачи.Как видно из рис. 3.2, u!area также содержит стек фиксированного разме!ра, — системный стек или стек ядра (kernel stack). При выполнении про!цесса в режиме ядра операционная система использует этот стек, а необычный стек процесса.Состояния процессаЖизненный цикл процесса может быть разбит на несколько состояний.Переход процесса из одного состояния в другое происходит в зависимостиот наступления тех или иных событий в системе.

На рис. 3.3 показаны со!стояния, в которых процесс может находиться с момента создания до за!вершения выполнения.www.books-shop.comГлава 3.процессамиРис. 3.2. Основные структуры данных процесса1. Процесс выполняется в режиме задачи. При этом процессором выпол!няются прикладные инструкции данного процесса.2. Процесс выполняется в режиме ядра.

При этом процессором выпол!няются системные инструкции ядра операционной системы от именипроцесса.www.books-shop.comОсновы управления процессом3. Процесс не выполняется, но готов к запуску, как только планировщиквыберет его (состояниеПроцесс находится в очереди на вы!полнение и обладает всеми необходимыми ему ресурсами, кроме вы!числительных.4. Процесс находится в состоянии сна (asleep), ожидая недоступного вданный момент ресурса, например завершения операции вво!да/вывода.5.

Процесс возвращается из режима ядра в режим задачи, но ядро пре!рывает его и производит переключение контекста для запуска болеевысокоприоритетного процесса.6. Процесс только что создан вызовом fork(2) и находится в переходномсостоянии: он существует, но не готов к запуску и не находится в со!стоянии сна.7. Процесс выполнил системный вызов exit(2) и перешел в состояниезомби (zombie, defunct).

Как такового процесса не существует, но ос!таются записи, содержащие код возврата и временную статистику еговыполнения, доступную для родительского процесса. Это состояниеявляется конечным в жизненном цикле процесса.Рис. 3.3. Состояния процессаНеобходимо отметить, что не все процессы проходят через все множествосостояний, приведенных выше.www.books-shop.comГлава 3.управления процессамиПроцесс начинает свой жизненный путь с состояния 6, когда родитель!ский процесс выполняет системныйfork(2). После того как созданиепроцесса полностью завершено, процесс завершает "дочернюю часть" вы!зоваи переходит в состояние 3 готовности к запуску, ожидая своейочереди на выполнение.

Когда планировщик выбирает процесс для вы!полнения, он переходит в состояние 1 и выполняется в режиме задачи.Выполнение в режиме задачи завершается в результате системного вызоваили прерывания, и процесс переходит режим ядра, в котором выполня!ется код системного вызова или прерывания. После этого процесс опятьможет вернуться в режим задачи. Однако во время выполнения системноговызова в режиме ядра процессу может понадобиться недоступный в дан!ный момент ресурс. Для ожидания доступа к такому ресурсу, процесс вы!зывает функцию ядра sleep () и переходит в состояние сна (4). При этомпроцесс добровольно освобождает вычислительные ресурсы, которые пре!доставляются следующему наиболее приоритетному процессу. Когда ре!сурс становится доступным, ядро "пробуждает процесс", используя функ!цию wakeupпомещаетв очередь на выполнение, и процесс перехо!дит в состояние "готов кПри предоставлении процессу вычислительных ресурсов происходит пере!ключение контекста (context switch), в результате которого сохраняется об!раз, или контекст, текущего процесса, и управление передается новому.Переключение контекста может произойти, например, если процесс пе!решел в состояние сна, или если в состоянии готовности к запуску нахо!дится процесс с более высоким приоритетом, чем текущий.

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

Дальнейшее состояние процесса зависит от его предысто!рии: если процесс был только что создан или был прерван, возвращаясь врежим задачи, он немедленно переходит в этот режим. Если процесс начи!нает выполнение после состояния сна, он продолжает выполняться в режи!ме ядра, завершая системный вызов. Заметим, что такой процесс можетбыть прерван после завершения системного вызова в момент перехода изрежима ядра в режим задачи, если в очереди существует более высокопри!оритетный процесс.В UNIXопределены дополнительные состояния процесса, в пер!вую очередь связанные с системой управления заданиями и взаимодейст!www.books-shop.comПринципы управлениявием процесса с терминалом. Процесс может быть переведен в состояние"остановлен" с помощью сигналов останова SIGSTOP, S I G T T I N илиS I G T T O U .

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

Выход из этих со!стояний осуществляется сигналом продолжения SIGCONT, при этом из со!стояния "остановлен" процесс переходит в состояние "готов к запуску", адля процесса, остановленного в состоянии сна, следующим пунктом на!значения является продолжение "сна". Описанные возможности полностьюреализованы и в SVR4.Наконец, процесс выполняет системный вызов exit(2) и заканчивает своевыполнение. Процесс может быть также завершен вследствие получениясигнала. В обоих случаях ядро освобождает ресурсы,процессу, за исключением кода возврата и статистики его выполнения, ипереводит процесс в состояние "зомби".

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

Оперативная память, или основная память, илипамять с произвольным доступом (Random Access Memory, RAM) являетсядостаточно дорогостоящим ресурсом. Время доступа к оперативной памятисоставляет всего несколько циклов процессора, поэтому работа с данными,находящимся в памяти, обеспечивает максимальную производительность.К сожалению, данный ресурс, как правило, ограничен. В большей степениэто справедливо для многозадачной операционной системы общего назна!чения, каковой является UNIX.

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

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

Часть операций про!изводится аппаратно устройствомуправленияпамятью(MemoryManagement Unit, MMU) процессора под управлением операционной сис!темы, чем достигается требуемое быстродействие.Примитивное управление памятью значительно уменьшает функциональ!ность операционной системы. Такие системы, как правило, позволяютзагрузить в заранее определенное место в оперативной памяти единствен!ную задачу и передать ей управление. При этом задача получает в своераспоряжение все ресурсы компьютера (разделяя их, разумеется, с опера!ционной системой), а адреса, используемые задачей, являются физически!ми адресами оперативной памяти.

Такой способ запуска и выполненияодной программы безусловно является наиболее быстрым и включает ми!нимальные накладные расходы.Этот подход часто используется в специализированных микропроцессор!ных системах, однако практически неприменим в операционных системахобщего назначения, какой является UNIX. Можно сформулировать рядвозможностей, которые должна обеспечивать подсистема управления па!мятью современной многозадачной операционной системы:Выполнение задач, размер которых превышает размер оперативнойпамяти.П Выполнение частично загруженных в память задач для минимизациивремени их запуска.Размещение нескольких задач в памяти одновременно для повыше!ния эффективности использования процессора.П Размещение задачи в произвольном месте оперативной памяти.П Размещение задачи в нескольких различных частях оперативной па!мяти.П Совместное использование несколькими задачами одних и тех жеобластей памяти.

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

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

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

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