Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы_лекции.doc
Скачиваний:
47
Добавлен:
28.09.2019
Размер:
1.71 Mб
Скачать

1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени

Появление в архитектуре вычислительных систем контроллеров внешних устройств создало возможность разгрузки центрального процессора от операций ввода-вывода. В операционных системах ранних поколений на время операций ввода-вывода центральный процессор стал простаивать, что было непростительной расточительностью для дорогого устройства. Схема такой работы показана на рис. 1.7,а. Процесс развернут во времени t, серыми прямоугольниками показана работа центрального процессора, белыми – работа устройства ввода (или вывода). Буквами А и Б обозначены задачи. Как видно из рис. 1.7,а время ТИ выполнения обеих задач равно сумме длительностей задач, причём в течение длительных отрезков времени процессор будет простаивать.

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

а)

б)

Рис. 1.7. Монопрограммный (а) и мультипрограммный (б) режимы работы

На рис. 1.7,б показана работа операционной системы в мультипрограм­мном режиме. В этом режиме на время операций ввода-вывода процессор переключается с решения одной задачи на решение другой. В результате время выполнения задач несколько увеличивается, но общее время ТИ выполнения обеих задач уменьшается, т.е. производительность вычислительной системы увеличивается. Мультипрограммирование является синонимом слова "многопроцессность". При этом подразумевается обособление процессов друг от друга посредством выделения индивидуальных виртуальных адресных пространств в памяти и назначения других ресурсов.

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

Поскольку процессы могли содержать разные задачи, то появился многозадачный режим, а т.к. задачи могут принадлежать разным пользователям, то появился и многопользовательский режим. В мультизадачном режиме в противовес мультипрограммному режиму обеспечивается взаимодействие между вычислениями. Для подчёркивания этой разницы были введены термины "легковесные процессы" (thin), они же потоки выполнения, нити и треды (threads). Легковесными они называются потому, что процессору не требуется для их реализации организовывать полноценную виртуальную машину. Единственно, что имеют легковесные процессы своего, это процессорное время, всё остальное у связанных легковесных процессов общее. Наличие легковесных процессов позволило организовать много поточное выполнение задач.

Контрольные вопросы:

  1. Перечислите основные функции операционной системы?

  2. Что такое привилегированные и непривилегированные команды?

  3. Что такое модули операционной системы?

  4. Что такое ядро операционной системы?

  5. Что такое монолитное ядро?

  6. Нарисуйте и поясните структуру слоёной операционной системы?

  7. Что такое супервизор?

  8. Что такое микроядерная операционная система?

  9. Что такое BIOS, где она находится при старте вычислительной машины и где помещается во время её работы?

  10. Что такое переносимый и непереносимый модуль операционной системы?

  11. Что такое системный запрос?

  12. Что такое интерфейс прикладного программирования?

  13. Что такое операционная среда?

  14. В чём причина отказа работы программы пользователя при запуске её в другой операционной системе?

  15. Как обеспечить переносимость программ из одной операционной системы в другую?

  16. Что такое очередь, и как она работает?

  17. Как происходит адресация в стеке?

  18. Что такое стек, и как он работает?

  19. Можно ли прочитать данные, записанные в стек, после их считывания?

  20. Что такое машинная команда? Какова её структура (формат)?

  21. Что такое адресация? Какие существуют способы адресации?

  22. Что такое непосредственная адресация?

  23. Что такое прямая адресация?

  24. Что такое регистровая адресация?

  25. Что такое косвенная адресация?

  26. Каким образом процессор распознаёт способ адресации операндов в машинной команде?

  27. Что такое прерывание?

  28. Что такое состояние процесса вычислений? Где оно хранится?

  29. Что такое контекст программы?

  30. Что такое дескриптор программы, и какова его структура?

  31. Нарисуйте и поясните схему обслуживания прерывания в простых системах?

  32. Нарисуйте и поясните схему обслуживания прерывания в сложных системах?

  33. Чем отличаются схемы обслуживания прерывания в простых и сложных системах?

  34. Какова структура программы, обслуживающей прерывание?

  35. Что такое синхронные (внутренние), асинхронные (внешние) и программные (события) прерывания?

  36. Перечислите источники внешних прерываний.

  37. Перечислите источники внутренних прерываний.

  38. Что такое маскирование прерываний?

  39. Как решается вопрос о порядке обслуживания одновременно возникших запросов на прерывания?

  40. Что такое приоритет прерываний? Как можно изменить приоритет?

  41. Что такое режим прерываний? Как он устанавливается?

  42. Что такое дисциплина обслуживания прерывания? Для чего необходимо это понятие?

  43. Перечислите и поясните основные дисциплины обслуживания прерываний.

  44. Что такое дисциплина обслуживания прерываний с относительными приоритетами?

  45. Что такое дисциплина обслуживания прерываний с абсолютным приоритетом?

  46. Что такое дисциплина обслуживания прерываний LCFS (FIFO)?

  47. Расположите в порядке возрастания приоритета источники прерываний: системный таймер, внешние устройства, средства контроля процессора и программные прерывания.

  48. Расположите в порядке возрастания приоритета источники прерываний: сетевое оборудование, терминалы, магнитные диски.

  49. Что такое процесс? Приведите примеры.

  50. Дайте современное определение понятия "Задача".

  51. Что такое ресурс? Приведите примеры ресурсов.

  52. Что такое дескриптор процесса, и какова его структура?

  53. Нарисуйте и поясните диаграмму состояния процесса.

  54. Что такое делимые и неделимые ресурсы? Приведите примеры.

  55. Опишите три ситуации выделения ресурса задаче.

  56. Что такое одновременное и параллельное (попеременное) разделение ресурсов? Приведите примеры.

  57. В чём особенность оперативной памяти как разделяемого ресурса?

  58. Как разделяется внешняя память? В чём особенность разделения памяти как ресурса?

  59. Как решается вопрос разделения ресурсов с последовательным доступом?

  60. Опишите классификацию программных модулей как разделяемых и неразделяемых ресурсов.

  61. Что такое однократно используемые программные модули? Могут ли они быть разделяемыми ресурсами? Почему?

  62. Что такое непривилегированные программные модули? Могут ли они быть разделяемыми ресурсами? Почему?

  63. Что такое привилегированные программные модули? Могут ли они быть разделяемыми ресурсами?

  64. Почему привилегированные программные модули могут быть разделяемыми ресурсами?

  65. Что такое реентабельные программные модули? Могут ли они быть разделяемыми ресурсами?

  66. Почему реентабельные модули могут быть разделяемыми ресурсами?

  67. Что такое повторно входимые программные модули? Могут ли они быть разделяемыми ресурсами? Почему?

  68. Что такое мультипрограммный режим работы операционной системы? Поясните временной диаграммой.

  69. Почему в мультипрограммном режиме производительность вычислительной системы увеличивается? Поясните временной диаграммой.

  70. Верно ли утверждение "Т.к. в мультипрограммном режиме производительность вычислительной машины выше, то и время выполнения отдельных процессов в этом режиме меньше, чем в однопрограммном"?

  71. Что такое мультизадачный режим работы операционной системы?

  72. Что такое легковесные процессы?

  73. Что такое потоки выполнения?

  74. Что такое нити?

  75. Что такое треды?

  76. Что такое разделение времени?