Вычислительные и операционные системы
Суть и характеристика основных режимов работы, дисциплин и режимов обслуживания заявок в вычислительных системах. Классификация и виды интерфейсов операционных систем. Основные классы прерываний и понятие виртуальности. Алгоритмы выбора величины кванта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 19.04.2011 |
Размер файла | 30,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Дать определение и характеристику основных режимов работы, дисциплин и режимов обслуживания заявок в вычислительных системах
Порядок представления в прикладной программе определяется режимом обработки данных, реализованных в ОС. Различают однопрограммные и мультипрограммные режимы обработки данных.
К однопрограммным относятся режим непосредственного доступа и пакетный программный режим.
К мультипрограммным относятся пакетный мультипрограммный режим и режим разделения времени.
В режиме непосредственного доступа наличие ОС необязательно. «Минусы»: аппаратура и программы ЭВМ используются неэффективно; большие затраты времени на управление машиной; предъявляются высокие требования к подготовке пользователя.
Пакетный однопрограммный (несколько заданий в 1 пакете) : ОС последовательно считывает задания и осуществляет выполнение действий для этого задания. После завершения одного задания, ОС активизирует следующее. После завершения обработки пакета, ОС начинает обрабатывать следующий пакет. «Плюсы»: высокая пропускная способность; отсутствие специальных требований к аппаратуре ЭВМ; реализация на любой ЭВМ. «Минусы»: необходима ОС; пользователь фактически отделен от ЭВМ и решаемой задачи; последовательный порядок выполнения заданий пакета не позволяет увеличить загрузку оборудования ВС.
Пакетный мультипрограммный режим: задания, принадлежащие разным пакетам выполняются параллельно. Первым начинает выполняться первое задание первого пакета. По мере освобождения ресурсов ОС начинает выполняться задания других пакетов в порядке их следования в пакетах. ПМР обеспечивает наивысшую пропускную способность ВС, что достигается при наличии в ЭВМ: автономно управляемых внешних устройств; развитой системы прерываний; средств защиты памяти от взаимного влияния программ. «Минусы»: пользователь устраняется из системы.
Режим разделения времени: предоставление каждой задаче ресурсов ЭВМ на время (квант), по истечении кванта программа свертывается ОС, развертывается следующая по очереди программа или подключается следующий терминал.
Порядок обслуживания заданий в ОС с мультипрограммным режимом обслуживания, реализующих соответственные режимы (РРВ и ПМР) определяются принятыми в них режимами и дисциплинами обслуживания.
Режим обслуживания - правило отбора заявок на обслуживание. Виды РО:
- одиночный отбор заявок;
- групповой отбор (вся очередь заявок одного типа);
- смешанный отбор (для одних - одиночный, для других - групповой).
Дисциплины обслуживания - правила отбора задач и заявок на обслуживание при заданном режиме обслуживания. Для каждого режима обслуживания могут быть применены дисциплины обслуживания:
- бесприоритетное;
- обслуживание с приоритетом ;
- обслуживание по расписанию.
Разновидности бесприоритетного:
1). Обслуживание в порядке поступления (FIFO);
2). Обслуживание в обратном порядке (LIFO);
3). Обслуживание в случайном порядке;
Все задачи имеют равное право на обслуживание.
Разновидности обслуживания с приоритетом:
1). С относительным приоритетом (когда приоритет задачи влияет только на ее место в очереди);
2). С абсолютным приоритетом (высокоприоритетная задача получает преимущество не только перед заявками, находящимися в очереди, но и перед задачей, получающей обслуживание);
3). С динамическим приоритетом (значения приоритетов могут изменяться - расти по мере их нахождения в очереди, обеспечивая тем самым первоочередное обслуживание задач, долго находящихся в очереди).
При приоритетном обслуживании считается, что задачи некоторого типа имеют преимущество перед другими на их обслуживание ОС.
Обслуживание по расписанию обеспечивает заданный пользователем порядок обработки заданий, независимо от их очередности поступления в ОС. Применяется, когда результат выполнения 1 задачи является входными данными для другой.
2. Привести классификацию ОС
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по основным признакам.
Особенности алгоритмов управления ресурсами. От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95).
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов - процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами - подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенаправление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных.
3. Перечислить виды интерфейсов ОС. Дать описание интерфейса командной строки и WIMP
Интерфейс - правила взаимодействия ОС с пользователем, а так же соседних уровней в сети ЭВМ. От интерфейса зависит технология общения человека с компьютером.
Классификация интерфейсов:
- командный (человек передает команды компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в пакетной технологии и технологии командной строки);
- WIMP - Window Image Menu Pointer (диалог с пользователем ведется с помощью графических образов (меню, окна); команды машине даются опосредованно, через графический интерфейс);
- SILK - Speech Image Language Knowledge (приближен к человеческому общению; идет общение человека с компьютером; компьютер находит команды, анализируя речь и выделяя ключевые слова; этот вид интерфейса требователен к аппаратуре и применяется для военных целей);
- общественный (основан на семантических сетях; сеть, которая может себя анализировать).
Командный интерфейс - однопользовательская ОС, пакетная и диалоговая технологии.
WIMP - многопроцессорная ОС, диалоговая технология.
SILK - одно- и многопользовательская ОС, сетевая и диалоговая технологии.
WIMP
Особенности:
1. Вся работа с файлами и т.п. в окнах;
2. Все файлы, устройства представляются в виде иконок;
3. Все действия с объектами осуществляются с помощью меню - это основной элемент управления;
4. Широкое использование манипуляторов для указания на объекты.
Требования к аппаратуре:
- цветной дисплей;
- манипулятор.
Программы, ориентированные на этот тип интерфейса, предъявляют высокие требования к аппаратному обеспечению. «+»: наиболее прост и интуитивно понятен, является стандартом.
4. Дать определение понятия процесса. Взаимосвязь задачи и процесса
Процесс - система действий, реализующих определенную функцию в ВС и оформляется так, что управляемая программа ВС может перераспределить ресурсы этой системы в целях обеспечения мультипрограммирования.
Задача - в режиме мультипрограммирования или мультипроцессорной обработки - одна или более последовательных команд, обрабатываемая управляемой программой как элемент работы, которая выполняется ЭВМ.
Все задачи, реализованные в ВС запуском не менее 1 процесса. Задача - один или несколько процессов, обеспечиваемых достижением поставленных пользователями целей.
5. Дать определение понятия прерывания. Основные классы прерываний
Прерывания представляют собой механизм позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния возникающие при работе процессора. Прерывания - это принудительная передача управления от выполняющейся программы к системе, а через неё к соответствующей программе обработки прерываний, происходящая при определенном событии. Основная цель введения прерываний - реализация асинхронного режима работы и распараллеливания работы отдельных устройств вычислительного комплекса. Механизм прерываний реализуется аппаратно-программными средствами.
Структуры систем прерываний могут быть самыми различными, но все они имеют общую особенность - прерывание непременно ведет за собой изменение порядка выполнения команд процессором. Механизм обработки прерываний включает в себя следующие элементы:
1. Установление факта прерывания (прием и идентификация сигнала на прерывание).
2. Запоминание состояния прерванного процесса (состояние процесса определяется значением счетчика команд, содержимым регистра процессора, спецификацией режима: пользовательский или привилегированный)
3. Управление аппаратно передается программе обработки прерывания. В этом случае, в счетчик команд заносится начальный адрес подпрограммы обработки прерывания, а в соответствующие регистры из слова состояния.
4. Сохранение информации прерванной программе, которую не удалось спасти с помощью действий аппаратуры.
5. Обработка прерывания. Работа может быть выполнена той же подпрограммой, которой было передано управление на 3-ем шаге, но в ОС чаще всего эта обработка реализуется путем вызова соотв. подпрограммы.
6. восстановление информации относящейся к прерванному процессу.
7. Возврат в прерванную программу.
Первые 3 шага реализуются аппаратными средствами, а остальные - программно.
Главные функции механизма прерывания:
1. Распознавание или классификация прерывания.
2. Передача управления обработчику прерывания.
3. Корректное возвращение к прерванной программе
Переход от прерванной программе к обработчику и обратно должен производится как можно быстрее. Одним из быстрых методов является использование таблицы сод. перечень всех допустимых для компьютера прерываний и адреса соотв. обработчиков. Для корректного возвращения к прерванной программе, перед передачей управления обработчику, содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке.
Внешние, внутренние и программные прерывания.
Прерывания возникающие при работе выч. системы можно разделить на внешние и внутренние. Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса. Пример - прерывание от таймера, прерывание от внешних устройств, прерывание по вводу/выводу, прерывание по нарушению питания, прерывание с пульта оператора, прерывание от другого процессора или другой ОС.
Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями. Например: при нарушении адресации (когда указан запрещенный или несуществующий адрес) либо обращение к отсутствующему сегменту или странице при организации виртуальной памяти; при наличии в поле кода операции незадействованной 2ичной комбинации; при делении на 0; при переполнении или исчезновения порядка; при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.
Программные прерывания. Эти прерывания происходят по соответствующей команде прерывания т. е. по этой команде процессор осуществляет те же действия, что и при обычных внутренних прерываниях. Данный механизм был специально введен для того, чтобы переключение на системные программные модули происходило не просто как переход на подпрограмму, а точно таким же образом как и в обычных прерываниях. Этим обеспечивается автоматическое переключения процессора в привилегированный режим с возможностью исполнения любых команд. Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре, при этом возникать они могут одновременно. Выбор одного из них для обработки осуществляется на основе приоритета, приписанных к каждому типу прерывания. Учет приоритета прерывания может быть встроен в технические средства, а также определяться ОС.
6. Дать определение понятия виртуальности. Виртуальная машина
Виртуальность ОС взаимодействует с ресурсами не прямо, а опосредованно.
Виртуальный ресурс ВС - это такой ресурс, который реально может либо не существовать либо не существовать в ВС, либо существовать с худшими, чем необходимо процессу обработки данных свойствами и формируемые управляющей программой ВС в виде модели ресурса с требуемыми потребительскими свойствами с использованием реально существующих ресурсов ВС.
Наиболее законченное естественное проявление виртуальности - виртуальная машина. Любая ОС создает у пользователя определенное представление ВС и ее ресурсах, т.е. формирует у пользователя видимость виртуальной машины.
Восприятие характеристик виртуальной машины различаются пользователями неоднозначно. Виртуальная машина, предоставляемая пользователю воспринимает архитектуру реальной машины, однако архитектурные элементы этого представления выступают с новыми, чаще всего улучшенными качествами.
Чем больше машина, реализуемая средствами ОС на базе конкретной аппаратной части приближена к идеальной по характеристикам машине, чем больше ее архитектурно - логические характеристики отличаются от реально существующих, тем больше уровень виртуальности, получаемой пользователем виртуальной машины.
Концепция виртуальной машины имеет широкое применение при проектировании и реализации ОС, позволяя наиболее рационально представить структуру системы в виде определенного набора планировщиков и распределителей ресурсов системы.
7. Дать определение понятия ресурса. Какие ресурсы являются эластичными и воспроизводимыми
Одна ил задач ОС: обеспечение эффективного и бесконфликтного распределения ресурсов ВС между программами.
Ресурс ВС - средство ВС, которое выделяется процессу обработки данных на определенный интервал времени.
Основные ресурсы ВС: процессоры; области основной памяти; наборы данных; периферийные устройства; программы.
Физический ресурс, который допускает размножение и расширение свойств называется эластичным.
Если при распределении системы некоторого ресурса допускается многократное воспроизведение действий, запрос выделения, использования, освобождения, то такие ресурсы называются воспроизводимыми.
8. Охарактеризуйте понятие «ядро ОС»
Понятие ядра ОС непосредственно вытекает из принципов построения ОС, конкретно - из принципа избирательности. Принцип функциональной избирательности предусматривает выделение некоторого множества важных модулей, которые должны быть постоянно в "горячем" режиме для обеспечения эффективного управления вычислительным процессом. Этот выделенный набор модулей называют ядром ОС. При формировании состава ядра ОС ищут компромисс между двумя разноречивыми требованиями: в состав ядра должны войти наиболее часто используемые модули; объем памяти, занимаемый ядром ОС, должен быть как можно меньше. Программы ядра ОС постоянно находятся в оперативной памяти ЭВМ и называются резидентными. Программы ОС, подгружаемые в ОЗУ по мере необходимости из внешней памяти, называются транзитными.
9. Охарактеризуйте понятие «микроядро ОС»
Ядро любой современной ОС представляет собой набор очень большого количества функций, с запутанными взаимосвязями и очень расплывчатыми границами между основными подсистемами. В результате любая модификация организованной таким образом системы дается тяжело и приводит к появлению в новых версиях большого количества ошибок. Кроме того, не во всех инсталляциях нужны все компоненты ядра, а при монолитном его построении удаление ненужных функций затруднено. Недостатки, присущие операционным системам с большим монолитным ядром (а это, в первую очередь, различные версии Unix), породили интерес к системам, построенным на основе микроядра.
Микроядерный подход заключается в том, что базовые функции ядра оформляются в виде отдельной небольшой компоненты, выполняемой в привилегированном режиме, а остальные функции ОС выполняются в пользовательском режиме с использованием примитивов микроядра. Ввиду больших потенциальных преимуществ, которые сулит этот подход, можно предположить, что в ближайшее время большинство новых операционных систем будет строиться на основе микроядра.
Наиболее известными реализациями этого подхода являются микроядра Mach и Chorus.
Основной сложностью использования микроядерного подхода на практике является замедление скорости выполнения системных вызовов при передаче сообщений через микроядро по сравнению с классическим подходом. Микроядро по определению содержит базовые механизмы, имеющиеся внутри любой операционной системы, поэтому знакомство с этими механизмами в чистом виде полезно и для изучения любой конкретной ОС. Микроядра лицензируются и используются как готовый программный продукт в качестве основы для построения коммерческой сетевой операционной системы. Сейчас имеется несколько коммерческих реализаций операционных систем на основе, например, микроядра Mach (NextStep фирмы Next, Unix BSD, OSF/1 v.1.3).
10. Состав алгоритмов внутреннего планирования
Важнейшим фактором, влияющим на эффективность вычислительных систем, являются потери времени на организацию мультизадачного режима, поэтому в состав алгоритмов внутреннего планирования входят:
? алгоритм управления количеством процессов в рабочей смеси;
? алгоритм планирования очередности выбора задач для исполнения их на ЦП;
? алгоритмы выбора величины кванта времени, в течение которого процесс, получивший ЦП, может использовать его.
Особой функцией, возлагаемой на внутреннее планирование, является синхронизация параллельных процессов, протекающих в системе.
11. Алгоритм управлением количеством процессов в рабочей смеси
Управление служит для повышения производительности системы на основе рационального использования аппаратуры ЭВМ. Для режима вытесняющей мультизадачности количество процессов, одновременно допускаемых в систему, представляет собой объем рабочей смеси N. Выбор значения N осуществляется с учетом величины кванта и длительности цикла. Введем следующие обозначения: qi - величина кванта процессорного времени, отводимого i-му процессу; Ti -длительность одного цикла обработки для i-го процесса; Tз i , Tв i - длительность перемещения i-го процесса из ОЗУ в ВЗУ и обратно при его вытеснении и восстановлении; Tc i - затраты времени ОС на организацию работы i-го процесса.
Тогда имеем:
N
Тц i = Тз i + Tв i + qi + Tc i , T = ? (Tз i + Tв i + Tc i + qi ) .
i =1
Если Tз i = Tв i = Tп ; Tc i = Tc ; qi = q, i = 1, ..., N, то
T = (2Tп + q + Tc) N; N = T / (2Tп + q + Tc ) . (3.1)
Нетрудно рассчитать также эффективность загрузки центрального процессора на одном цикле для одного процесса: полезное время процессора - qi ; непроизводительные затраты времени - Тн i = Тз i + Tп i + Tc i ; показатель загрузки процессора полезной работой
qi
зi = . (3.2)
Tн i + qi
Для всех N процессов получим:
N N Q 1
Q = ? qi ; Tн = ? (Tн i + Tп i + Tc i ) ; з = = . (3.3)
i =1 i =1 Tн + Q 1 + в
где в = Tн / Q - относительная величина потерь времени на переключение между процессами.
Увеличение количества задач, одновременно решаемых системой, связанное с увеличением значения N (выражение (3.1)), можно осуществить четырьмя методами: увеличением общей длительности интервала цикла Т; уменьшением затрат времени ОС на организацию мультипрограммирования Тс ; уменьшением затрат времени на перемещение процессов из ОЗУ в ВЗУ и обратно при их вытеснении и восстановлении Тз и Тв ; сокращением длительности квантов времени, отводимых для выполнения процессов q.
Сокращение длительности квантов времени qi , отводимых для выполнения процессов, автоматически вызывает увеличение длительности нахождения процессов в системе (см. выражение (3.3.)), из-за чего этот способ имеет ограниченное применение.
Наиболее продуктивными являются методы, приводящие к сокращению затрат времени операционной системы Тс и, в особенности, затрат времени на перемещение процессов из ОЗУ в ВЗУ и обратно при их вытеснении и восстановлении.
Уменьшение значения Тс достигается путем создания эффективных системных программ, имеющих наименьшую длину программного кода и наивысшую скорость выполнения своих функций.
В современных вычислительных системах применяются все перечисленные способы увеличения эффективности обработки задач.
12. Алгоритмы выбора очерёдности обработки
вычислительный виртуальность интерфейс операционный
Планирование очередности обработки осуществляется на основе очереди процессов, находящихся в состоянии готовности. Все эти процессы в мультипрограммных системах конкурируют между собой, прежде всего, из-за времени центрального процессора. В течение кванта времени, выделенного процессу, возможно наступление одного или нескольких событий: выполнение процесса завершено; процесс перешел в состояние ожидания; центральный процессор потребовался для обслуживания процесса с более высоким приоритетом; завершился выделенный процессу квант времени; произошла ошибка в системе.
Решение о порядке выбора процессов из очереди осуществляется в соответствии с реализованными в ОС алгоритмами планирования очередности обработки. В настоящее время наиболее известными являются:
* алгоритм циклической обработки;
* алгоритм очередей с обратной связью;
* алгоритм выбора по характеру использования предыдущего кванта;
* алгоритм выбора с приоритетом по характеру блокировки.
Практически все алгоритмы планирования очередности обработки имеют эвристический характер.
Сигналом к началу работы этих алгоритмов служат указанные выше события, наступившие в системе:
* если предшествующий процесс закончился, то выполняются действия по его выводу из системы:
* если предшествующий процесс перешел в состояние ожидания, то он перемещается в очередь блокированных процессов;
* если предшествующий процесс прерван операционной системой из-за того, что ЦП потребовался для обслуживания другого процесса с более высоким приоритетом, то прерванный процесс помещается в очередь прерванных процессов;
* если предшествующий процесс исчерпал выделенный ему квант времени, то он поступает в очередь готовых процессов;
* если алгоритм планирования активизирован из-за какого-либо другого события, то выполняются действия согласно реакции на ошибочную ситуацию, возникшую в системе.
Логика работы всех алгоритмов планирования очередности обработки практически совпадает.
Различаются они лишь реализациями блоков "Выбор длины кванта" и "Выбор очередного процесса".
Рассмотрим алгоритмы реализации блока "выбор очередного процесса".
Алгоритм циклической обработки процессов не использует никакой информации о приоритетах обрабатываемых процессов. Все процессы, находящиеся в очереди, упорядочиваются по времени их поступления. Стоящий первым в очереди процесс получает квант времени q центрального процессора. Существует много разновидностей алгоритмов циклической обработки, которые называют также алгоритмами круговорота процессов, например, круговорот со смещением и эгоистический круговорот.
Алгоритм очередей с обратной связью организует некоторое количество М очередей, каждая из которых обслуживается в порядке поступления. Новый процесс, поступивший в систему, попадает в очередь № 1. После окончания использования очередного кванта времени процесс переходит из очереди с номером m в очередь с номером m + 1.Алгоритм выбора по характеру использования предыдущего кванта различает два типа состояния готовности процессов: низкоприоритетная и высокоприоритетная готовность.
Если процесс полностью использовал предыдущий выделенный квант времени ЦП, то ему присваивается состояние "Низкоприоритетная готовность". Если процесс использовал не весь выделенный квант времени ЦП из-за перехода в состояние ожидание по вводу-выводу, то ему присваивается состояние "Высокоприоритетная готовность". На обслуживание сначала выбираются процессы, находящиеся в состоянии высокоприоритетной готовности, а затем, если их нет, процессы, находящиеся в состоянии "Низкоприоритетная готовность".
13. Алгоритмы выбора величины кванта
Выбор величины кванта является принципиально необходимым в режиме разделения времени. Процедура квантования выполняется каждый раз, когда ОС выбирает процесс из рабочей смеси и активизирует его. В настоящее время наиболее распространенными являются:
? алгоритм равномерного квантования;
? алгоритм квантования по приоритету процесса;
? алгоритм минимизации количества переключений между процессами.
Алгоритм равномерного квантования - самый простой из упомянутых выше алгоритмов. В соответствии с этим алгоритмом каждому процессу, находящемуся в рабочей смеси, выделяется квант времени, длительность которого может изменяться на отрезке времени существования процесса в системе. Длительности квантов времени всех процессов равны между собой
Алгоритм квантования по приоритету процесса осуществляет регулирование длительности кванта qi для i-го процесса в зависимости от его текущего приоритета pi . Функциональная зависимость qi = qi (pi) может иметь любой допустимый вид и должна иметь следующие основные свойства: монотонность, положительная определенность, ограниченность.
Алгоритм квантования с минимизацией количества переключений заключается в том, что активизируемый процесс занимает не только свой квант, но и остатки квантов процессов, перешедших к этому моменту времени в состояние ожидания.
На практике применяют также различные сочетания описанных алгоритмов.
14. Дать определение понятий параллельных процессов, критического ресурса, критического участка
Рабочая смесь ОС представляет собой совокупность параллельных процессов. Двумя параллельными процессами называются процессы, которые выполняются одновременно.
Два параллельных процесса называются независимыми, если они оба работают без передачи информации друг другу. Два параллельных процесса называются связанными, если информация между ними передается. Связанные процессы называются синхронными, если имеет место согласование скоростей развития обоих процессов, а асинхронными - когда скорости протекания процессов не регулируются.
В синхронизации нуждаются все процессы в мультипрограммной системе, т.к. даже несвязанные процессы используют общие логические и физические ресурсы компьютера.
Ресурс системы называется критическим, если он допускает доступ к себе только одного процесса единовременно. Каждый процесс, обращающийся к критическим ресурсам должен исключить возможность обращения к этим ресурсам от других процессов (на время использования).
Критическим участком называется часть программного кода процесса, в котором процесс обращается к критическому ресурсу. Когда некоторый процесс находится на критическом участке, другие процессы могут продолжать свое выполнение, но не заходя на свой критический участок.
15. Что такое «примитивы взаимоисключений»
Примитивы взаимоисключений - программные конструкции, обеспечивающие реализацию принципа взаимоисключений для параллельных процессов.
В обобщенном виде существует два вида примитивов:
1. Вход взаимоисключения.
Фиксирует захват критической области данным процессом.
2. Выход взаимоисключения.
Процесс сообщает об освобождении им критического ресурса.
На программную реализацию примитивов накладываются следующие ограничения:
1.Задача должна быть решена программным способом на машине без особых аппаратных средств.
2.Не должно быть предположений о скоростях асинхронных процессов.
3.Процессы вне критических участков не препятствуют выполнению других процессов.
4.Не должно быть бесконечно откладываемого момента входа
Алгоритм Деккера-Дейкстры:
int ProcessNum=1; // номер процесса для доступа к ресурсу
bool IsTakenByProc1 = false; // ресурс занят процессом 1
bool IsTakenByProc2 = false; // ресурс занят процессом 2
void Process1()
{
while(true)
{
IsTakenByProc1 = true; // процесс 1 пытается занять ресурс
/* цикл ожидания доступа к ресурсу */
while(IsTakenByProc2)
{
if(ProcessNum==2)
{
IsTakenByProc1 = false;
// повторять, пока ресурс занят процессом 2
while ( ProcessNum == 2 );
IsTakenByProc1 = true;
}
}
//Использование критического ресурса
ProcessNum = 2;
IsTakenByProc1 = false;
}
}
void Process2()
{
while(true)
{
IsTakenByProc2 = true; // процесс 2 пытается занять ресурс
/* цикл ожидания доступа к ресурсу */
while (IsTakenByProc1)
{
if(ProcessNum)
{
IsTakenByProc2 = false;
// повторять, пока ресурс используется процессом 1
while ( ProcessNum == 1 );
IsTakenByProc2 = true;
}
}
//Использование общего ресурса
ProcessNum = 1;
IsTakenByProc2 = false;
}
}
int main()
{
_CreateThread(&Process_1);
_CreateThread(&Process_2);
while(true);
}
Реализация с использованием аппаратных средств.
Для использования такой программы требуется наличие специальных инструкций процессора, например команды "testandset a,b", которая читает значение из b, копирует в a и устанавливает b=true.
При использовании этой инструкции приведенный выше алгоритм значительно упрощается - во-первых пропадает надобность в глобальных переменных IsTakenByProc1 и IsTakenByProc2, а во вторых конструкция
if(ProcessNum)
{
IsTakenByProc2 = false;
while ( ProcessNum == 1 );
IsTakenByProc2 = true;
}
из Process_1() и аналогичная ей из Process2() заменяется на конструкцию
bool IsTakenByProc2 = true;
if(ProcessNum)
while(IsTakenByProc2)
_testandset(IsTakenByProc2,ProcessNum)
//Использование общего ресурса
Размещено на Allbest.ru
Подобные документы
Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы.
курсовая работа [46,8 K], добавлен 18.06.2009Принципы организации и особенности обработки прерываний на основе контроллера 8259A. Общая характеристика аппаратных средств системы прерываний PIC (Programmable Interrupt Controller). История разработки и порядок работы с технологией Plag and Play.
курсовая работа [305,1 K], добавлен 29.07.2010Вычислительные системы и программное обеспечение как важнейшие разделы информатики, условия перехода общества в информационную стадию развития. Развитие вычислительных систем и персональных компьютеров. Операционные системы и системы программирования.
реферат [906,9 K], добавлен 18.01.2011Особенности современного этапа развития операционных систем. Назначение операционных систем, их основные типы. Операционные системы мини-компьютеров. Принцип работы матричного принтера, проектирование и воспроизведение произвольных символов для них.
курсовая работа [258,2 K], добавлен 23.06.2011Основные виды программного обеспечения: системное (операционные, сервисные и диагностические системы, инструментальные средства) и прикладное (текстовые, табличные, математические процессоры, графические редакторы). Классификация операционных систем.
презентация [282,5 K], добавлен 13.08.2013Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.
реферат [22,8 K], добавлен 11.05.2011Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Назначение, классификация, состав и назначение компонентов операционных систем. Разработка сложных информационных систем, комплексов программ и отдельных приложений. Характеристика операционных систем Windows, Linux, Android, Solaris, Symbian OS и Mac OS.
курсовая работа [2,1 M], добавлен 19.11.2014Понятие и функции операционных систем, их классификация и структура, принципы работы. Виды операционных систем и их краткая характеристика: DOS, Window-95. Достоинства и недостатки Microsoft Windows XP. Создание локальных сетей. Глобальная сеть Internet.
контрольная работа [35,5 K], добавлен 26.06.2014Понятие операционных систем, их классификация и разновидности, отличительные признаки и основные свойства. Содержание операционных систем, порядок взаимодействия и назначение их компонентов. Организация дискового пространства. Описание современных ОС.
контрольная работа [42,4 K], добавлен 07.11.2009