Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС.docx
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
471.16 Кб
Скачать

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

для обеспечения многопользовательского режима в UNIX имеется:

  • Система разделения времени

  • Многотерминальная система

  • Единая структура задач

  • Древовидная файловая система и защита файлов и каталогов пользователя

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

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

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

Наиболее распространенным алгоритмом планирования в системах разделения времени является кольцевой режим (round robin). Основной смысл алгоритма состоит в том, что время процессора делится на кванты фиксированного размера, а процессы, готовые к выполнению, выстраиваются в кольцевую очередь. У этой очереди имеются два указателя - начала и конца. Когда процесс, выполняющийся на процессоре, исчерпывает свой квант процессорного времени, он снимается с процессора, ставится в конец очереди, а ресурсы процессора отдаются процессу, находящемуся в начале очереди. Если выполняющийся на процессоре процесс откладывается (например, по причине обмена с некоторым внешнем устройством) до того, как он исчерпает свой квант, то после повторной активизации он становится в конец очереди (не смог доработать - не вина системы). Это прекрасная схема разделения времени в случае, когда все процессы одновременно помещаются в оперативной памяти.

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

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

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

Учетные записи пользователей.

В системе UNIX есть понятие учетной записи пользователя. Каждому пользователю системы администратором назначается входное имя (login) и пароль (password). Пользователь может являться членом в одной или нескольких групп. Пользователю также назначается начальный или домашний каталог, который становится текущим после входа пользователя в систему. Каждому пользователю также может быть назначен свой SHELL -оболочка для обработки команд. Система проверяет входное имя и пароль, которые записаны в системном файле /etc/passwd. Если входное имя и пароль введены верно, то система определяет с какого терминала произведен запрос, запускает процесс этого терминала, назначает текущий домашний каталог пользователя. После чего выводит приглашение к работе.

Поддержка терминального входа.

Зарегистрированный в системе пользователь имеет возможность со своего терминала осуществить вход в систему на удаленном компьютере, после чего работать, используя ресурсы удаленного компьютера в соответствии со своими правами доступа. Для этого ОС UNIX существует команды telnet и rlogin (а также команды для комуникаций).

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

Механизмы:

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

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

Современные процессоры, как правило, поддерживают объединение адресного пространства в области переменного размера — сегменты и области фиксированного размера — страницы.

  • Для файлов механизм разграничение прав доступа.