Мультипрограммирование в системах разделения времени — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Мультипрограммирование в системах разделения времени

2017-11-16 449
Мультипрограммирование в системах разделения времени 0.00 из 5.00 0 оценок
Заказать работу

8. Мультипрограммирование в системах реального времени

9. Требования к современным ОС.

10. Основные виды ресурсов. Основные задачи ОС при управлении ресурсами.

11. Виды архитектур ОС, преимущества и недостатки.

12. Архитектура ОС с монолитным ядром. Особенности, преимущества и недостатки.

13. Многослойная структура ОС,

14. Архитектура ОС с микроядром. Особенности, преимущества и недостатки.

15. Аппаратная зависимость и переносимость ОС.

16. Многозадачность. Понятие, способы реализации.

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

18. Дескрипторы и контексты процессов.

19. Проблемы синхронизации процессов. Способы синхронизации.

20. Тупики, способы борьбы с ними.

21. Управление процессами и потоками в многозадачных ОС.

22. Планирование и диспетчеризация процессов и потоков в многозадачных ОС.

23. Управление памятью и виртуализация адресного пространства в многозадачных ОС.

24. Память и отображения, виртуальное адресное пространство.

25. Распределение статическими и динамическими разделами.

26. Сегментная, страничная и сегментно-страничная организация памяти.

27. Свопинг, виртуальная память.

28. Кэш-память.

29. Задачи ОС по управлению файлами и устройствами.

30. Многослойная модель подсистемы ввода-вывода.

31. Файловые системы. Организация. Разновидности. Особенности.

32. Синтаксис команды MS DOS. Соглашения об имени файла, именах устройств, пути.

33. Командные файлы MS DOS.

34. Разновидности команд MS DOS. Переназначение, конвейеризация.

35. Архитектура Windows 95/98. Установка и загрузка системы.

36. Архитектура Windows NT.


Назначение и функции ОС.

Операционная система – это

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

Операционные системы играет 2 основные роли:

1. Операционная система, как виртуальная (расширенная) машина.

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

2. Операционная система, как система управления ресурсами.

Ресурсы делятся на аппаратные (процессор, основная память, таймеры, диски, принтер и т.д.) и программные или виртуальные ресурсы (файлы, наборы данных, область памяти, регистры процессоров и т.д.). Ресурсы распределяются между процессами.

Процесс– это программа в стадии выполнения. Процесс состоит из потоков. Управление ресурсами необходимо для повышения эффективности выполнения процесса.

Ф -ии и задачи по управлению ресурсами.

1) Планирование ресурсов – определение какому процессу, когда, в каком количестве следует выделить данный ресурс.

2) Удовлетворение запросов на ресурсы.

3) Отслеживание состояний и учет используемого ресурса – поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена.

4) Разрешение конфликтов между процессами.


2. Функциональные компоненты ОС.

1. Управление процессами

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

Процессы делятся на 2 группы:

1. Системные процессы (порожденные ОС для выполнения своих функций),.

2. Пользовательские (по инициативе пользователя или их приложения).

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

Дескриптор – это идентификатор процесса.

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

2) Изоляция (защита) выделенных ресурсов.

3) Синхронизация ожидания процессов.

4) Взаимодействие процессов.

5) Функция планирования ресурсов (адрес пространства памяти).

6) Переключение процессов (из режима ожидания в активный и наоборот).

7) Уничтожение ресурсов.

2. Управление памятью

1) Распределение имеющейся памяти между всеми процессами.

2) Загрузка кодов и данных процессов в отведенной области памяти.

3) Поддержка виртуальных адресных пространств памяти.

4) Защита области памяти каждого процесса.

3. Управление файлами и внешними устройствами

Файл – это простая, не структурированная последовательность байтов, имеющих символьное имя.

Управление файлами:

1) Поддержка файловой системы.

2) Поддержка интерфейсов для работы с накопительными и внешними устройствами (дрова).

3) функции по работе с файлами (создание, удаление, чтение, изменение).

4) Обеспечение совместного доступа, защита, контроль доступа.

Управление внешними устройствами (УВВ):

1) Определение программного интерфейса для обращения к устройству (виртуальное устройство).

2) Распределение и инициализация устройств.

3) Обработка запросов к устройствам.

4. Защита данных и администрирование

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

Средства защиты данных:

1) Аутентификация – управление входом пользователя в систему.

идентификация + аутентификация

имя подтверждение (пароль и т.д.)

2) Управление правами пользователя и процессов.

3) Протоколирование и аутентификация доступа к ресурсам.

4) Защита ОС от прикладных процессов (код ОС, данные, аппаратные устройства).

5. Интерфейс прикладного программирования (API).

Предоставление возможностей ОС программисту:

1) Обработка обращений прикладных программ.

2) Передача параметров вызовов и результаты их обработки.

6. Пользовательский интерфейс

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

2 вида интерфейса:

1) командный (текстовой),

2) графический (GUI).


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

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

Особенности алгоритмов управления ресурсами

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

Поддержка многозадачности.

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

  • однозадачные (например, 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).

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

Поддержка многонитевости.

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

Многопроцессорная обработка.

Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

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

Сетевые и несетевые ОС.

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

Особенности аппаратных платформ

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

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

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

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

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

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

Особенности областей использования

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

  • системы пакетной обработки (например, OC EC),
  • системы разделения времени (UNIX, VMS),
  • системы реального времени (QNX, RT/11).

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

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

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

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

 


История развития ОС.

1) середина 40 – середина 50 гг. (45 - 55)

Разработчики = операторы + программисты

ОС нет.

2) 55 – 65 гг.

Появление первых пакетных систем обработки данных.

Функции ОС выполнялись операторами: из имеющейся программ оператор выбирал те из них, которые по разному использованию ресурсов ЭВМ.

Первые программные реализации систем пакетной обработки (программа-монитор) имеют свои функции управления вычислительными процессами. Для этого используется язык управления заданиями JCL.

3) 65 – 75 гг.

Этап интегральных схем.

Появление специального механизма интегрирования схем:

- Мультипрограммирование

- Мультипроцессирование

- Поддержка многотерминального, многопользовательского режима

- Виртуальная память

- Файловая система

- Разграничения доступа

- Сетевой режим

Мультипрограммирование – это организация вычислительного процесса, когда в памяти компьютера одновременно находится несколько программ попеременно выполняемые на 1-м процессоре.

Реализовано в 2-х вариантах:

1 – Системно-пакетная обработка,

2 – Система разделения времени.

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

Системно-пакетная обработка + Система разделения времени = система удаленного ввода заданий.

Реализация мультипрограммирования потребовало важных архитектурных изменений.

2 режима работы процессора:

· Привилегированный (защищенный),

· Пользовательский.

Мультипроцессор – выполнение программ несколькими процессорами одновременно.

4) 75 – 85 гг.

Распространение мини ЭВМ и их архитектура была упрощена.

Большая интеграция сетевых технологий Операционной Системы (TCP/IP).

5) 85 – конец 90-х гг.

Появление персональных компьютеров.

Эволюция ОС проходит те же этапы, что и для вышеупомянутых.

6) конец 90-х до сегодня.

- Все Операционные Системы являются сетевыми

- Максимальная поддержка работы с Интернет

- Появление корпоративных Операционных Систем

- Встроенные средства обеспечения безопасности

- Многоплатформенность

- Повышение удобства работы человека с компьютером

 

Эволюция ОС

 


5. Основные принципы построения ОС.

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

К таким базовым концепциям относятся:

  • Способы построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
  • Построение Операционной Системы на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризованность системы, состоящей из набора хорошо определенных объектов.
  • Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
  • Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.

 



Поделиться с друзьями:

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.07 с.