Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 98

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 98 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 982020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Используется программный интерфейсNetBIOS и технология SMB (Server Message Blocks). Системы главным образомпредназначены для работы в составе рабочих групп, то есть для построения одно­ранговых вычислительных сетей, хотя операционные системы Windows 95 и Win­dows 98 допускают работу в составе домена в сетях клиент-сервер. Для этого ониимеют все необходимые программные модули и интерфейсные экранные формы.Однако, поскольку в случае их использования в корпоративных сетях существен­ным образом начинает страдать информационная безопасность, делать это не ре­комендуется.Организация многозадачностиОдним из наиболее актуальных вопросов, которые решает любая многозадачнаяоперационная система, в том числе и системы Windows 9x, состоит в организациипо возможности простого, но эффективного способа предоставления процессор­ного времени различным параллельно выполняющимся программам.

Другими сло­вами, речь идет о диспетчеризации задач.Мы уже знаем, что многозадачность, в общем случае, означает способность опера­ционной системы обеспечивать совместное использование процессора нескольки­ми программами. Большинство разработчиков операционных систем называютработающие программы задачами, поэтому задачей можно считать загруженнуюв память программу, которая что-то делает. В большинстве операционных систем,в том числе и в Windows NT, и в UNIX, выполнение приложения называется про­цессом.

Однако в уже упомянутых операционных системах Windows 3.x почти все­гда использовался термин «задача», и лишь изредка — «процесс». Имейте в виду,что в операционных системах Windows 9x используется исключительно термин«процесс», а понятие задачи было официально исключено из терминологии Win­dows. Вкладывая совершенно такой же смысл в слово «процесс», разработчикиMicrosoft тем самым попытались поставить операционные системы семействаWindows 9x как бы на один уровень с другими операционными системами, таки­ми, например, как Windows NT. В большей части документации по Windows 3.1мы можем обнаружить оба упомянутых слова.

Основная причина изменения тер­минологии — реализация мультизадачности при сохранении мультипрограммно­го режима работы. Другими словами, речь идет о поддержке в этих операционныхсистемах возможности многопоточного выполнения приложений. Поэтому поми­мо отхода от термина задача и использования термина процесс, мы должны отме­тить, что во всех этих операционных системах стал использоваться термин потоквыполнения, или тред (thread).Напомним, что поток выполнения — это одна из ветвей вычислительного процес­са.

Потоку выделяется процессорное время, этим занимается диспетчер задач опе­рационной системы, называемый планировщиком. Поток может быть создан лю­бым работающим под управлением Windows 9x 32-разрядным приложением иливиртуальным драйвером устройства. Поток имеет собственный стек и контекст370Глава 11, Операционные системы Windowsвыполнения (а именно содержимое рабочих регистров процессора).

Потоки ис­пользуют память совместно с процессом-родителем. Когда Windows 95/98 загру­жает приложение и создает необходимые ему структуры данных, система настраи­вает процесс в виде отдельного потока. Потоки могут использовать весь код иглобальные данные процесса-родителя.

Это означает, что создание нового потокатребует минимальных затрат памяти. Один процесс может породить множествопараллельно выполняющихся потоков. Многие приложения на протяжении всеговремени своей работы используют единственный поток, хотя могут (а многие таки делают) использовать еще несколько потоков для выполнения определенныхкратковременных операций в фоновом режиме, что позволяет либо увеличить ско­рость выполнения приложений, либо дать возможность пользователю выполнятьследующую операцию в своей программе, не дожидаясь завершения текущей опе­рации.Термин «задача» мы все же будем использовать и дальше, поскольку с точки зре­ния распределения процессорного времени требуется все то же: выполнять вычис­ления, то есть выполнять некий конкретный код с конкретными данными.В Windows 95/98 работа с потоками доступна только 32-разрядным приложениями виртуальным драйверам устройств.

Виртуальные машины MS DOS и старые16-разрядные приложения Windows не могут обращаться к функциям API, ко­торые поддерживают потоки. Каждая виртуальная машина MS DOS работает вотдельном потоке. Аналогично, каждое 16-разрядное приложения Windows присвоем исполнении образует процесс, который использует всего один поток, чтопозволяет обеспечить для старых приложений Windows модель кооперативноймногозадачности. Любое 32-разрядное приложение или виртуальный драйвер ус­тройства может создавать дополнительные потоки, a Windows 95/98 может орга­низовать диспетчеризацию всех этих потоков в соответствии с алгоритмами вы­теснения, что представляет собой еще один аспект многозадачности в Windows.Несмотря на то что все эти потоки могут представлять принципиально разные типыпрограмм, в системе они представлены в виде одинаковых структур данных.

Вслед­ствие этого диспетчер и остальной 32-разрядный системный код, использующийэти внутренние структуры данных, и удалось реализовать так, что разработчи­кам не понадобилось учитывать особенности преобразований 16-разрядного кодав 32-разрядный.Как известно, в основе диспетчеризации задач ныне уже почти всеми забытойWindows 3.x лежал принцип невытесняющей, или кооперативной, многозадачнос­ти (cooperative multitasking).

При работе в среде Windows 95/98 кооперативнаямногозадачность используется только для диспетчеризации старых 16-разрядныхприложений, в то время как работа приложений Win32 планируется в соответ­ствии с иным алгоритмом. Для 32-разрядных приложений система используетвытесняющую многозадачность (preemptive multitasking).Поддержкой многозадачности занимается планировщик (scheduler).

Он имеет делоглавным образом с временем и событиями. Процессу в Windows 95/98 выделяетсяквант времени, который определяет, как долго данный процесс может использо­вать процессор. По окончании кванта времени планировщик определяет, следуетОперационные системы Windows 9x371ли передать процессор в распоряжение другого процесса. В отличие от WindowsNT, Windows 95/98 не поддерживает мультипроцессорные системы, в которыхпланировщик может выделять процессам больше одного процессора.Решения, принимаемые планировщиком, определяются событиями.

Так, щелчокмыши является для планировщика событием. Это событие может привести к пе­редаче процессора в распоряжение процесса, «владеющего» окном, в котором про­изошел щелчок. Впрочем, планировщик может решить, что завершение передачиданных по сети заслуживает большего внимания, чем щелчок мыши, и тогда про­цессор будет передан в распоряжение процесса, обслуживающего сеть, а всем ос­тальным процессам придется подождать.Как мы знаем, при вытесняющем планировании только система может решать, в ка­ком порядке, как долго и какие задачи (в нашем случае — потоки) будут выпол­няться.

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

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

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

Служит для быстрого повышения приоритета. Обыч­но это делается для того, чтобы позволить потоку с низким приоритетом быстрозакончить работу с выделенным для монопольного использования ресурсом,который необходим потокам с высоким приоритетом. Windows 95/98 восста­навливает исходное значение унаследованного приоритета сразу же после удов­летворения конфликтного условия.372Глава 11. Операционные системы WindowsВ операционных системах семейства Windows 9x имеется два модуля для диспет­черизации потоков выполнения: основной планировщик (primary scheduler) отве­чает за вычисление приоритетов потоков; планировщик квантования (timeslicescheduler) занимается расчетами, необходимыми для выделения квантов времени.По сути дела, модуль квантования решает, какой процент доступного процессор­ного времени какому потоку выделить. Если некий поток не получает времени навыполнение, значит, он находится в состоянии ожидания выполнения (suspended)и не будет работать, пока ситуация не изменится.Основной планировщик просматривает все потоки выполнения и рассчитываетдля каждого из них приоритет выполнения (execution priority), который представ­ляет собой целое число, находящееся в пределах от 0 до 31.

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

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

Если некоторый поток не занимает весь выделенный ему квант процес­сорного времени, диспетчер передает процессор в распоряжение следующего по­тока с таким же приоритетом и позволяет тому использовать остаток данного квантавремени.Если в системе одновременно работают только 32-разрядные приложения, то бо­лее быструю реакцию системы и значительно менее конфликтный отклик программпользователю обеспечивает так называемое упреждающее планирование. Как из­вестно, в диалоговых системах используется событийное программирование, прикотором выполнение той или иной процедуры начинается после определенногособытия. Сама операционная система также функционирует по этому принципу.Управляющая (супервизорная) подсистема Windows 9x просматривает направля­емый ей подсистемой ввода-вывода поток сообщений, из которых она и узнает о но­вых событиях, таких, например, как щелчки мыши в одном из ее окон, запуск но­вых программ и т.

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

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

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