Мультипрограммный и мультизадачный режимы работы ос

Работа по теме: Операционные системы_лекции. Глава: 1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени. ВУЗ: ИвГУ.
article placeholder

2706 HbeT2

Добавил:

Upload

Опубликованный материал нарушает ваши авторские права? Сообщите нам.

Вуз:

Предмет:

Файл:

Операционные системы_лекции.doc

Скачиваний:

15

Добавлен:

28.09.2019

Размер:

1.71 Mб

Скачать

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

Мультипрограммным
режимом называется такой режим работы

операционной системы, в котором
одновременно выполняется

две и более
задачи, а процессор переключается с
решения

одной задачи на решения
других на время совершения

операций,
не требующих его участия

htmlconvd bFW0gO html 7bce6145b31af1f0

а)

б)

Рис. 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. Что
    такое разделение времени?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

3.2. Классификация ОС

Классификация ОС


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

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

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

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

Среди множества существующих вариантов реализации многозадачности можно выделить две группы:

1. Невытесняющая многозадачность (NetWare, Windows 3.x) – механизм планирования процессов целиком сосредоточен в ОС. В этом случае активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для того, чтобы та выбрала из очереди другой готовый к выполнению процесс.

2. Вытесняющая многозадачность (Windows NT, OS/2, Unix) – механизм планирования процессов распределен между системой и прикладными программами. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается ОС, а не самим активным процессом.

Рекомендуемые материалы

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

· системы пакетной обработки (например, EC, критерий – коэффициент загрузки процессора);

· системы разделения времени (Unix, VMS, критерий – удобство и эффективность работы пользователей при одновременном выполнении нескольких пользовательских приложений);

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

Информация о системах пакетной обработки и разделения времени приведена выше в п. 1.2. Как отмечено выше, основной особенностью ОСРВ является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Поток заданий в общем случае не является планомерным и не может регулироваться оператором (характер следования событий можно предсказать лишь в редких случаях), то есть задания поступают в непредсказуемые моменты времени и без всякой очередности. Лучшие характеристики по производительности для систем реального времени обеспечиваются однотерминальными ОСРВ. Средства организации мультитерминального режима всегда замедляют работу системы в целом, но расширяют функциональные возможности системы. Одной из наиболее известных ОСРВ для персональных компьютеров является ОС QNX [18].

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

«10 Операторы ввода и вывода» — тут тоже много полезного для Вас.

При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных) и многопользовательских (мультитерминальных) ОС. В мультитерминальных ОС с одной вычислительной системой одновременно могут работать несколько пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из них имеется собственная вычислительная система. Очевидно, что для организации мультитерминального доступа к вычислительной системе необходимо обеспечить мультипрограммный режим работы. В качестве одного из примеров мультитерминальных ОС для персональных компьютеров можно назвать Linux. Некая имитация мультитерминальных возможностей имеется и в системе Windows XP. В этой ОС каждый пользователь после регистрации (входа в систему) получает свою виртуальную машину. Если необходимо временно предоставить компьютер другому пользователю, вычислительные процессы первого можно не завершать, а просто для этого другого пользователя система создает новую виртуальную машину. В результате компьютер будет выполнять задачи и первого, и второго пользователя. Количество параллельно работающих виртуальных машин определяется имеющимися ресурсами. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.

Кроме того, если в ОС отсутствуют или присутствуют средства поддержки многопроцессорной обработки, они могут быть разделены на многопроцессорные и однопроцессорные. Как правило, функции мультипроцессирования имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1 фирмы Novell, однако, очевидно, их наличие усложняет алгоритмы управления ресурсами. В свою очередь, многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные OC и симметричные OC. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.

Следует отметить еще один признак, по которому разделяют ОС – организация работы с вычислительной сетью. По этому признаку выделяют сетевые ОС и распределенные ОС (следует отметить, что иногда в литературе такое разделение отсутствует). Сетевая ОС характеризуется тем, что наделена развитыми функциями работы с сетью, а также контроля доступа к файлам (систему прав доступа). К сетевым ОС относят как системы для рабочих мест (Novell for DOS, MS Windows, GNU/Linux), так серверные ОС (GNU/Linux, семейство BSD-систем, серверные версии MS Windows), а также специализированные ОС сетевого оборудования (Cisco IOS ) [19].

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

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

Improve Article

Save Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Both Multi-programming and Multi-tasking are related to Operating Systems Concepts 

    CPU is a super fast device and keeping it occupied for a single task is never a good idea. Considering the huge differences between CPU speed and IO speed, many concepts like multiprogramming, multitasking, multithreading, etc have been introduced to make better CPU utilisation. 

    Multi programming:- 
    Multi-programming increases CPU utilisation by organising jobs (code and data) so that the CPU always has one to execute. The idea is to keep multiple jobs in main memory. If one job gets occupied with IO, CPU can be assigned to other job. 

    Multiprogramming

    Multi-tasking:- 
    Multi-tasking is a logical extension of multiprogramming. Multitasking is the ability of an OS to execute more than one task simultaneously on a CPU machine. These multiple tasks share common resources (like CPU and memory). In multi-tasking systems, the CPU executes multiple jobs by switching among them typically using a small time quantum, and the switches occur so quickly that the users feel like interact with each executing task at the same time. 

    Multitasking1

    Note: 1. A task in a multitasking system is not whole application program but it can refers to a “thread of execution” when one process is divided into sub-tasks. 

    2. Multitasking OS are time sharing systems.

    Difference between Multiprogramming and Multi-tasking 

    Sr.no  Multiprogramming  Multi-tasking 
    1.  It includes the single CPU to execute the program. It uses multiple tasks for the task allocation.
    2. Concept of Context Switching is used. Concept of Context Switching and Time Sharing is used.
    3. In multiprogrammed system, the operating system simply switches to, and executes, another job when current job needs to wait.  The processor is typically used in time sharing mode. Switching happens when either allowed time expires or where there other reason for current process needs to wait (example process needs to do IO).
    4. Multi-programming increases CPU utilization by organizing jobs . In multi-tasking also increases CPU utilization, it also increases responsiveness.
    5. The idea is to reduce the CPU idle time for as long as possible. The idea is to further extend the CPU Utilization concept by increasing responsiveness Time Sharing.
    6. It uses job scheduling algorithms so that more than one program can run at the same time. Time sharing mechanism is used so that multiple tasks can run at the same time.
    7. In community edition, personalized shopping experiences is not created. Promotions, personalized shopping experiences can be displayed in enterprise edition products.
    8. Execution of process takes more time. Execution of process takes less time.

    Most of the modern operating systems use Multitasking with more complex setup.
     

    Improve Article

    Save Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Both Multi-programming and Multi-tasking are related to Operating Systems Concepts 

    CPU is a super fast device and keeping it occupied for a single task is never a good idea. Considering the huge differences between CPU speed and IO speed, many concepts like multiprogramming, multitasking, multithreading, etc have been introduced to make better CPU utilisation. 

    Multi programming:- 
    Multi-programming increases CPU utilisation by organising jobs (code and data) so that the CPU always has one to execute. The idea is to keep multiple jobs in main memory. If one job gets occupied with IO, CPU can be assigned to other job. 

    Multiprogramming

    Multi-tasking:- 
    Multi-tasking is a logical extension of multiprogramming. Multitasking is the ability of an OS to execute more than one task simultaneously on a CPU machine. These multiple tasks share common resources (like CPU and memory). In multi-tasking systems, the CPU executes multiple jobs by switching among them typically using a small time quantum, and the switches occur so quickly that the users feel like interact with each executing task at the same time. 

    Multitasking1

    Note: 1. A task in a multitasking system is not whole application program but it can refers to a “thread of execution” when one process is divided into sub-tasks. 

    2. Multitasking OS are time sharing systems.

    Difference between Multiprogramming and Multi-tasking 

    Sr.no  Multiprogramming  Multi-tasking 
    1.  It includes the single CPU to execute the program. It uses multiple tasks for the task allocation.
    2. Concept of Context Switching is used. Concept of Context Switching and Time Sharing is used.
    3. In multiprogrammed system, the operating system simply switches to, and executes, another job when current job needs to wait.  The processor is typically used in time sharing mode. Switching happens when either allowed time expires or where there other reason for current process needs to wait (example process needs to do IO).
    4. Multi-programming increases CPU utilization by organizing jobs . In multi-tasking also increases CPU utilization, it also increases responsiveness.
    5. The idea is to reduce the CPU idle time for as long as possible. The idea is to further extend the CPU Utilization concept by increasing responsiveness Time Sharing.
    6. It uses job scheduling algorithms so that more than one program can run at the same time. Time sharing mechanism is used so that multiple tasks can run at the same time.
    7. In community edition, personalized shopping experiences is not created. Promotions, personalized shopping experiences can be displayed in enterprise edition products.
    8. Execution of process takes more time. Execution of process takes less time.

    Most of the modern operating systems use Multitasking with more complex setup.
     

    Понравилась статья? Поделить с друзьями:
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Мука рязань канищево время работы
  • Мультипрограммирование многопользовательский режим работы и режим разделения времени
  • Мука режим работы тольятти