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

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

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

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

Рассмотренную нами схему ил­люстрирует рис. 1.4.Как мы видим из рисунка, здесь отсутствует возврат в прерванную ранее програм­му непосредственно из самой подпрограммы обработки прерывания. Для прямого24Глава 1. Основные понятиявозврата достаточно адрес возврата сохранить в стеке, что и делает аппаратурапроцессора. При этом стек легко обеспечивает возможность возврата в случае вло­женных прерываний, поскольку он всегда реализует дисциплину LCFS.Супервизор прерыванийИсполняемаяпрограмма1Выполнение кодаподпрограммыобработки прерыванияОтключениепрерываний, сохранениеконтекста прерваннойпрограммы в еедескрипторе,установкарежима работы системыпрерываний(маскирование)Эта подпрограммауже не заботитсяо сохраненииконтекста прерванногопроцессаОпределение адресапрограммного модуля,обслуживающего запросна прерывание,и передача управленияна негоДиспетчер задачВыбор готовойк выполнениюзадачи (на основепринятой дисциплиныобслуживания)Восстановлениеконтекста задачи,установка прежнегорежима работысистемы прерыванийи передачауправленияэтой задачеРис.

1.4. Обработка прерывания при участии супервизоров ОСОднако если бы контекст вычислительных процессов сохранялся просто в стеке,как это обычно реализуется аппаратурой, а не в специальных структурах данных,называемых дескрипторами, о чем будет подробно изложено чуть позже, то у насне было бы возможности гибко подходить к выбору той задачи, которой нужнопередать процессор после завершения работы подпрограммы обработки прерыва­ния. Естественно, что это только общий принцип. В конкретных процессорах и вконкретных операционных системах могут существовать некоторые отступленияот рассмотренной схемы и/или дополнения. Например, в современных процессо­рах часто имеются специальные аппаратные возможности для сохранения контек­ста прерываемого вычислительного процесса непосредственно в его дескрипторе,то есть дескриптор процесса (по крайней мере его часть) становится структуройданных, которую поддерживает аппаратура.Для полного понимания принципов создания и механизмов реализации рассмат­риваемых далее современных операционных систем необходимо знать архитекту­ру и, в частности, особенности системы прерывания персональных компьютеров.Этот вопрос более подробно рассмотрен в главе 4, посвященной архитектуре мик­ропроцессоров i80x86.Понятия вычислительного процессаи ресурсаПонятие последовательного1 вычислительного процесса, или просто процесса,является одним из основных при рассмотрении операционных систем.

Как поня­тие процесс является определенным видом абстракции, и мы будем придерживатьсяследующего неформального определения, приведенного в [47]. Последовательныйпроцесс, иногда называемый задачей2 (task), — это отдельная программа с ее дан­ными, выполняющаяся на последовательном процессоре. Напомним, что подпоследовательным мы понимаем такой процессор, в котором текущая командавыполняется после завершения предыдущей. В современных процессорах мы стал­киваемся с ситуациями, когда возможно параллельное выполнение несколькихкоманд. Это делается для повышения скорости вычислений. В этих процессорахпараллелизм достигается двумя основными способами — организацией конвейер­ного механизма выполнения команды и созданием нескольких конвейеров.

Одна­ко в подобных процессорах аппаратными решениями обязательно достигается ло­гическая последовательность в выполнении команд, предусмотренная программой.Необходимость этого объясняется в главе 7, посвященной организации параллель­ных вычислительных процессов.Концепция процесса предполагает два аспекта: во-первых, он является носителемданных и, во-вторых, он собственно и выполняет операции, связанные с обработ­кой этих данных.В качестве примеров процессов (задач) можно назвать прикладные программыпользователей, утилиты и другие системные обрабатывающие программы. Про­цессом может быть редактирование какого-либо текста, трансляция исходной про­граммы, ее компоновка, исполнение. Причем трансляция какой-нибудь исходнойпрограммы является одним процессом, а трансляция следующей исходной про­граммы — другим процессом, поскольку транслятор как объединение программ­ных модулей здесь выступает как одна и та же программа, но данные, которые онобрабатывает, являются разными.Слово «последовательный» в большинстве случаев опускается.

Считается, что речь идет о вычисле­ниях, осуществляемых на обычных «последовательных» процессорах, которые выполняют командуза командой, а не параллельно несколько команд за один такт." концепции, которая получила наибольшее распространение в 70-е годы, задача — это совокуп­ность связанных между собой и образующих единое целое программных модулей и данных, требую­щая ресурсов вычислительной системы для своей реализации. В последующие годы задачей сталиназывать единицу работы, для выполнения которой предоставляется центральный процессор.

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

1.5).Рис. 1.5. Классификация ресурсовПри разработке первых систем ресурсами считались процессорное время, память,каналы ввода-вывода и периферийные устройства [22, 53]. Однако очень скоропонятие ресурса стало гораздо более универсальным и общим. Различного родапрограммные и информационные ресурсы также могут быть определены для сис­темы как объекты, которые могут разделяться и распределяться и доступ к кото­рым необходимо соответствующим образом контролировать.

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

Поскольку эти первые вычислительныесистемы были построены в соответствии с принципами, изложенными в извест­ной работе Яноша Джона фон Неймана, все подсистемы и устройства компьютерауправлялись исключительно центральным процессором. Центральный процессоросуществлял и выполнение вычислений, и управление операциями ввода-выводаданных. Соответственно, пока осуществлялся обмен данными между оперативнойпамятью и внешними устройствами, процессор не мог выполнять вычисления.27Понятия вычислительного процесса и ресурсаВведение в состав вычислительной машины специальных контроллеров позволи­ло совместить во времени (распараллелить) операции вывода полученных данныхи последующие вычисления на центральном процессоре. Однако все равно процес­сор продолжал часто и долго простаивать, дожидаясь завершения очередной опера­ции ввода-вывода.

Поэтому было предложено организовать так называемый муль­типрограммный, или мультизадачный, режим работы вычислительной системы.Мультипрограммирование,многопользовательский режим работыи режим разделения времениВкратце суть мультипрограммного режима работы заключается в том, что покаодна программа (один вычислительный процесс, как мы теперь говорим) ожидаетзавершения очередной операции ввода-вывода, другая программа (а точнее, дру­гая задача) может быть поставлена на решение (рис. 1.6).

Это позволяет более полноиспользовать имеющиеся ресурсы (например, центральный процессор начинаетменьше простаивать, как это видно из рисунка) и уменьшить общее (суммарное)время, необходимое для решения некоторого множества задач.CPU• '•-;•\Задача ВЗадач а АВвCPU''-•Задача А--|CPUЗадача В•*••Рис. 1.6.

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

Изэтого же рисунка видно, что время выполнения каждого процесса в общем случаебольше, чем если бы мы выполняли каждый из них как единственный.При мультипрограммировании повышается пропускная способность системы, ноотдельный процесс никогда не может быть выполнен быстрее, чем если бы он вы­полнялся в однопрограммном режиме (всякое разделение ресурсов замедляет ра­боту одного из участников за счет дополнительных затрат времени на ожиданиеосвобождения ресурса).Мультипрограммирование стало применяться все чаще и шире в 60-х годах XX ве­ка, когда крупные компании получили, наконец, возможность приобретать в соб­ственность вычислительную технику и использовать ее для решения своих задач.До этого времени вычислительная техника была доступна, прежде всего, для воен­ных целей и решения отдельных задач общегосударственного масштаба.

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

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

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