Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Ответы на экзаменационные вопросы по ОС - файл 1.doc


Ответы на экзаменационные вопросы по ОС
скачать (335.5 kb.)

Доступные файлы (1):

1.doc336kb.25.11.2011 12:15скачать

содержание
Загрузка...

1.doc

  1   2   3   4
Реклама MarketGid:
Загрузка...
1. Понятие операционной системы.

2. Классификация операционных систем. Поддержка многозадачности.

3. Классификация операционных систем. Поддержка многопользовательского режима.

4. Классификация операционных систем. Особенности аппаратных платформ.

5. Классификация операционных систем. Особенности областей применения.

6. Управление процессами. Понятие процесса. Состояния процесса

7. Контекст, дескриптор процесса

8. Алгоритм планирование процесса

9. Вытесняющая и невытесняющая многозадачность

10. Многонитивость

11. Линейная и сегментная адресация

^ 12. SWAPing и страничный обен

13. Файловая система. Понятие файловой системы, каталогов, файла.

14. Типы файлов

15. Атрибуты файла

16. Права доступа

17. Управление внешними устройствами. Классы внешних устройств

^ 18. Разделяемые и выделенные устройства

19. Программное взаимодействие с внешними устройствами

20. Свойства ПО управления внешними устройствами.

21. Управление вводом выводом

22. Программные уровни ввода вывода

^ 23. Управление режимоим энергопотреблением

24. Сигналы

25. Каналы

26. Разделяемые области памяти

27. Семафоры

28. Сообщения

29. Гнезда

30. Межпроцессное взаимодействие

^ 31. Способы обмена данными между приложениями

32. Механизмы управления Windows приложениями

33. Файловая система ЭВМ, ее назначение

34. Физическая и логическая организация файла.

35. Управление вводом-выводом.

36. Особенности сетевых ОС

^ 37. Вызов удаленных процедур

38. Распределенные файловые системы

39. Мультипроцессорная обработка

40. Распределение памяти

41. Компьютерные вирусы и защита от них

42. Безопасность ОС

43. Аудит и учет в ОС

^ 44. Авторизация пользователей в ОС

45. Типы адресов

46. Переносимость ОС

47. Синхронизация и взаимодействие процессов

48. Приоритеты в вычислит. сист.

49. Диспетчеризация процессов

^ 50. Контекст и дескриптор процесса

51. Алгоритмы планирования процессов

1. Понятие операционной системы.

Первое:

Обеспечение пользователю – программисту удобств посредствам расширенной машины.

ОС скрывает от программиста все реалии аппвратуры и предоставляет ему возможность простого и удобного просмотра указанных файлов, чтения и записи.

ОС берет на себя работу по обработке прерываний, управлению таймером и ОП. Так, некий абстрактный ПК гораздо проще в управлении, чем реальный ПК.

ОС предоставляет пользователю некую виртуальную машину, с которой легче работать.

Второе:

ОС как система управления ресурсами. ОС берет на себя управление всеми ресурсами ПК так, чтобы обеспечить максимальную эффективность их использования

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

Получается, что каждая ОС состоит как минимум из трех обяза­тельных частей.

Первая — ядро, командный интерпретатор, «переводчик» с про­граммного языка на «железный», язык машинных кодов.

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

И, наконец, третья часть — удобная оболочка, с которой общается пользователь — интерфейс. Своего рода красивая обертка, в которую упаковано скучное и не интересное для пользователя ядро.

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

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

ОС как расширенная машина

Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.

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

ОС как система управления ресурсами

Идея о том, что ОС прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:

  • планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

  • отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов - какое количество ресурса уже распределено, а какое свободно.

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

По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:

  • однозадачные (например, MS-DOS, MSX) и

  • многозадачные (OC EC, OS/2, UNIX, Windows 95).

Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.

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

По числу одновременно работающих пользователей ОС делятся на:

  • однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

  • многопользовательские (UNIX, Windows NT).

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
4. Классификация операционных систем. Особенности аппаратных платформ.

На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.

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

Сетевая ОС имеет в своем составе средства передачи сообщений между компьютерами по линиям связи, которые совершенно не нужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат специальные программные компоненты, реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.

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

Другие требования предъявляются к операционным системам кластеров. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе UNIX-машин.

Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, специально разработанные таким образом, чтобы они могли быть легко перенесены с компьютера одного типа на компьютер другого типа, так называемые мобильные ОС. Наиболее ярким примером такой ОС является популярная система UNIX. В этих системах аппаратно-зависимые места тщательно локализованы, так что при переносе системы на новую платформу переписываются только они. Средством, облегчающем перенос остальной части ОС, является написание ее на машинно-независимом языке, например, на С, который и был разработан для программирования операционных систем.
5. Классификация операционных систем. Особенности областей применения.

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

  • системы пакетной обработки (например, OC EC),

  • системы разделения времени (UNIX, VMS),

  • системы реального времени (QNX, RT/11).

Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.

^ Системы разделения времени призваны исправить основной недостаток систем пакетной обработки - изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

^ Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.

Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть - в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
^ 6 Управление процессами. Понятие процесса. Состояния процесса
Процесс – программа запущенная в данный момент. Процесс может иметь несколько состояний

  • Выполнение – программа выполняется, происходит выделение памяти

  • Ожидание – в это состояние процесс переходит из-за ожидания ввода вывода, необходимости в задержке (ожидания сигнала или определенного времени). При многозадачности переключение процессов происходит постоянно.

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

  • Состояние сна – частный случай состояния ожидания

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

^ Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.

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


^ 7 Контекст, дескриптор процесса
Действия, осуществляемые после запуска процесса:

А) Выделение памяти под данные, код и стек

Б) Создание структуры связанной с процессом – дескриптора (адрес памяти процесса, где начинается сегмент и права доступа ко внешним устройствам, файловой системе)

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

  • состояние процесса

  • правах вводв вывода

  • x86 порах I/O + дополнительное пространство памяти (256 ячеек по 1 байту) Можно не обращаться к порту.

  • состояние регистра (при прерывании процесса значения всех регистров сохраняются, чтобы восстановить после возбновления процесса)

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

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

Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.

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

Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит:

  1. создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;

  2. включить дескриптор нового процесса в очередь готовых процессов;

  3. загрузить кодовый сегмент процесса в оперативную память или в область свопинга.

На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: 1) создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2) включить дескриптор нового процесса в очередь готовых процессов; 3) загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
^ 8 Алгоритм планирование процесса
Планирование процесса включает в себя следующие задачи:

Программно: определение момента времени когда необходимо переключить процесс, выбор процесса из очереди готовых процессов

Аппаратно: переключение контекста предыдущего и следующего процесса

Таймер посылает прерывание, которое обрабатывается ОС. По этому прерыванию ОС переключает процессы.
Методы переключения процессов:

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

  • приоритет – степень превелегированности процесса по отношению к ресурсам системы. Чем выше приоритет, тем больше у процесса шансов быть запущенным и работать дольше других.

Примечание: современные опеационные системы комбинируют эти два способа.

Планирование процессов включает в себя решение следующих задач:

  1. определение момента времени для смены выполняемого процесса;

  2. выбор процесса на выполнение из очереди готовых процессов;

  3. переключение контекстов "старого" и "нового" процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.

Алгоритмы планирования процессов, основанные на квантовании, и алгоритмы, основанные на приоритетах.

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

  • процесс завершился и покинул систему,

  • произошла ошибка,

  • процесс перешел в состояние ОЖИДАНИЕ,

  • исчерпан квант процессорного времени, отведенный данному процессу.

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

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

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

Задачи: определение момента времени переключения процессов, выбор процесса на выполнение из очереди готовых процессов, переключение контекстов предыдущего и следующего процессов. Первые две задачи решаются программными средствами, а третья – аппаратными. Два способа выбора процесса для перекл.: квантование времени и приоритеты. При первом способе каждому процессу назначается обинак. пром. времени, при исчерпании к.происходит перекл.процесса. Перекл.может наступить раньше, если процесс самостоят.перейдет в режим ожид. или если произошла ошибка. Приоритет – число, характеризующее степень привилегированности процесса по отношению к ресурсам сист. В совр ОС эти способы комбинируются: 1)чем больше приоритет, тем больше квантов выделяется за один раз, 2) при квантовании на равные пром.врем.перекл.происходит чаще на процессы с большей степенью привилегированности.
^ 9 Вытесняющая и невытесняющая многозадачность
При вытесняющей многозадачности управление ядру возвращается по таймеру. Все процессы практически равны по времени исполнения и постоянно переключаются по таймеру, либо в ожидании взаимодействия с внешним устройством.

Преимущества:

  • упрощение приложений – не нужно заботится о многозадачности.

  • процессу не нужно регулировать процесс переключения процессов

  • упрощенное паралельное выполнение процессов

  • можно запускать много задач

Недостаток – задача не может контролировать промежуток своей работыи врямя отключения
При невытесняющей многозадачности процесс сам возвращает управление ядру. Один процесс являющийся главным работает занимая все процессорное время и возвращает управление по своему усмотрению, иногда по таймеру. Либо если ожидает взаимодействия с внешним устройством. Также процессы могут передавать управление между собой

Преимущества:

  • система сосредоточена над выполнением одной задачи

  • ядро ОС упрощено

Недостаток – приложение более сложное (должно уметь возвращать управление ОС, выполнять более одной задачи в единицу времени)

Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

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

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

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

Существенным преимуществом non-preemptive систем является более высокая скорость переключения с задачи на задачу.

Однако почти во всех современных операционных системах, ориентированных на высокопроизводительное выполнение приложений, реализована вытесняющая многозадачность.
Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare, Windows 3.x) и вытесняющая многозадачность (Windows NT, OS/2, UNIX). Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой (таймер), а не самим активным процессом.
  1   2   3   4



Скачать файл (335.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru