Главная » Просмотр файлов » Операционные системы 2011

Операционные системы 2011 (1114689), страница 30

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

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

Модель ОС с разделением времени (модификация). Заблокированныйпроцесс может быть откачан (свопирован) на внешний носитель, а наосвободившееся место может быть подкачен процесс с внешнего носителя,который был откачен ранее, либо взят новый.1012.1.2 Типы процессовДо данного момента мы рассматривали процессы как некоторые субъекты ОС,которые владеют ресурсами и являются объектами планирования.

На самом деле, внутрипроцесса может быть не один объект планирования, а два и более (т.е. в одном процессеможет быть две и более нити, или потока). При этом мы как бы вводим ещё один уровеньопределения процесса (Рис. 81). Процесс (или полновесный процесс) – является объектомпланирования и выполняется внутри защищённой области памяти. Альтернативойявляются т.н.

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

При этом планированиюподвергается каждая нить, т.е. планировщик может осуществлять переключение с нити нанить.Основная причина использования многонитевой организации – это минимизациянакладных расходов. Мультипроцессирование внутри полновесного процесса получаетсяочень эффективным, благодаря уменьшению количества смен контекстов.а.нитьнитьнитьпроцесснитьнитьпроцессб.Рис. 81. Типы процессов: однонитевая (а) и многонитевая (б) организациипроцессов.Также отметим, что многонитевые процессы хорошо ложатся на современныемногопроцессорные системы (например, SMP-системы), т.е.

в некоторых случаях притакой организации повышается эффективность системы.Кроме того, механизм нитевой организации позволяет осуществлятьвзаимодействие нитей в рамках одного процесса, причем адресное пространство,посредством которого они взаимодействуют, остается защищенным от других процессов всистеме.Соответственно, перед операционной системой, помимо управления полновеснымипроцессами, планирования и выделения им ресурсов, возникает задача управлениянитями.Тогда определение процесса можно обобщить – понятие «процесса» включает всебя следующее:исполняемый код;собственное адресное пространство, представляющее собой множествовиртуальных адресов, которые может использовать процесс;ресурсы системы, которые назначены процессу операционной системой;хотя бы одну выполняемую нить.102В заключение отметим, что многие современные операционные системы (каксемейства Unix, так и Windows-системы, и др.) обеспечивают работу с нитями.2.1.3 Контекст процессаРассмотрим теперь, какая поддержка операционной системы необходима дляфункционирования процессов.

Здесь в первую очередь следует обратить внимание напонятие контекста процесса. Под контекстом процесса будем понимать совокупностьданных, характеризующих актуальное состояние процесса. Обычно контекст процессасостоит из трёх компонент:пользовательская составляющая — это текущее состояние программы (т.е.совокупность машинных команд и данных, размещённых в ОЗУ и характеризующихвыполнение данного процесса);аппаратная составляющая – отражает актуальное состояние центральногопроцессора в момент выполнения данного процесса (т.е. это актуальное состояниерегистров, настроек процессора и т.д.);системная составляющая – это структуры данных операционной системы,содержащие характеристики процесса. Эти структуры данных содержат информациюидентификационного характера (PID процесса, PID «родителя» и т.д.); информацию осодержимом регистров (РОН, индексные регистры, флаги и т.д.); а такжеинформацию, необходимую для управления процессом (состояние процесса,приоритет и т.д.).

Отметим, что системная составляющая процесса содержит копиюаппаратной составляющей, если процесс остановлен.Таким образом, когда процесс выполняется на процессоре, то актуальна аппаратнаясоставляющая, когда процесс отложен — актуальна системная составляющая.2.2Реализация процессов в ОС Unix2.2.1 Процесс ОС UnixМеханизм управления и взаимодействия процессов в ОС Unix послужил во многомосновой для развития операционных систем в целом, и логического блока управленияпроцессами в частности. Во многом организация управления процессами в ОС Unixявляется эталонной, поэтому мы рассмотрим ее теперь более детально.С точки зрения понимания термина процесса в ОС Unix, данное понятие можноопределить двояко.

С одной стороны, процесс можно определить как объект,зарегистрированный в таблице процессов операционной системы. Таблица процессов –одна из специальных системных таблиц, которая является программной таблицей. Второеопределение объявляет процессом объект, порожденный системным вызовом fork().

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

Размер этой таблицы является параметромнастройки ОС, и, соответственно, количество процессов в системе является системнымресурсом. Таблица процессов обеспечивает уникальное именование процессов: онаустроена позиционным образом, т.е. именование процесса осуществляется посредствомномера записи таблицы, соответствующей данному процессу (нумерация строится от нулядо некоторого фиксированного значения).

Этот номер записи называетсяидентификатором процесса (PID — Process Identifier). Как только что отмечалось, двепервые записи таблицы предопределены и используются для системных нужд. Каждая103запись таблицы процессов (Рис. 82) имеет ссылку на контекст процесса, которыйструктурно состоит из пользовательской, системной и аппаратной составляющих.Пользовательская (программная) составляющая — это тело процесса.

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

Также впользовательскую составляющую входит сегмент данных, включающий областьстатических данных процесса (в т.ч. статические переменные), область разделяемойпамяти (т.е. область памяти, которая может принадлежать двум и более процессамодновременно), а также область стека. На стеке в системе реализуется передачафактических параметров функциям, реализуются автоматические и регистровыепеременные, а также в этой области организуется динамическая память (т.н. куча).Таблица процессовКонтекст процессаПользовательский(тело процесса)адресное пространствопроцессаPIDАппаратныйСистемныйадресное пространство ядраРис. 82. Таблица процессов в ОС Unix.В ОС Unix реализована такая возможность, как разделение сегмента кода(Рис. 83).

Эта возможность предназначена для оптимизации использования ОП. Допустим,в системе работает несколько (пусть 100) пользователей, каждый из которых помимопрочего работает с одним и тем же текстовым редактором. Таким образом, в системеобрабатываются 100 копий текстового редактора. Ставится вопрос о необходимостидержать в ОЗУ все сегменты кода для этих 100 процессов.

Для оптимизации подобныхситуаций в ОС Unix используется указанный механизм разделения сегмента кода. Тогдакаждый обрабатываемый в системе процесс текстового редактора в пользовательскойсоставляющей хранит ссылку на единственную копию сегмента кода редактора, а сегментданных у каждого из процессов свой. Соответственно, в приведенном примере в памятибудут находиться один сегмент кода и 100 сегментов данных. Но рассмотренныймеханизм может иметь место в ОС только в том случае, когда сегмент кода нельзяизменить: он закрыт на запись.104Сегментданных 1Сегмент кодатекстовогоредактораСегментданных 2Процесс1Процесс2…Сегментданных NПроцессNРис.

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

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

Список файлов лекций

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