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

  • автор:

Введение

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

Существует несколько схем классификации операционных систем. Ниже приведена классификация по некоторым признакам с точки зрения пользователя.

Реализация многозадачности

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

  • многозадачные (Unix, OS/2, Windows);
  • однозадачные (например, MS-DOS).

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

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

В некоторых ОС (Windows 3.11, например) пользовательская программа может монополизировать процессор, то есть работать в невытесняющем режиме. Как правило, в большинстве систем не подлежит вытеснению код собственно ОС. Ответственные программы, в частности задачи реального времени, также не вытесняются. Более подробно об этом рассказано в лекции, посвященной планированию работы процессора.

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

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

  • однопользовательские (MS-DOS, Windows 3.x);
  • многопользовательские (Windows NT, Unix).

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

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

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

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

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

Системы реального времени

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

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

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

Приведенная классификация ОС не является исчерпывающей. Более подробно особенности применения современных ОС рассмотрены в .

Заключение

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

Компьютер с нуля

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

Перейдем к рассмотрению классификации операционных систем

Операционные системы могут различаться:

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

1. Особенности реализации внутренних алгоритмов управления основными ресурсами компьютера

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

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

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

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

  1. однозадачные (например, MS-DOS, MSX) и
  2. многозадачные (OC EC,OS/2,UNIX, Windows 95/XP/7).

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

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

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

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

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

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

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

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

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

  1. не вытесняющая многозадачность (NetWare, Windows3.x);
  2. вытесняющая многозадачность (Windows NT, Unix).

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

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

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

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

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

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

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

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных.

Такие функции имеются в ОС:

  • Solaris 2.x фирмы Sun,
  • Open Server 3.x компании Santa Crus Operations,
  • FreeBSD (эти три операционные системы являются различными реализациями ОС Unix),
  • OS/2 фирмы IBM,
  • Windows NT фирмы Microsoft

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

  • асимметричные ОС;
  • симметричные ОС.

Асимметричная операционная система целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.

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

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

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

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

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

  • персональных компьютеров,
  • мини-компьютеров,
  • мейнфреймов,
  • кластеров и сетей ЭВМ

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

В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.

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

Аналогично обстоит дело и с другими функциями

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

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

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

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

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

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

Другие требования предъявляются к операционным системам кластеров.

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

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

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

Мобильные операционные системы

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

Наиболее ярким примером такой ОС является популярная система Unix.

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

3. Классификация операционных систем Особенности областей использования ОС

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

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

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

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

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

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

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

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

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

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

Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

Системы реального времени

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

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

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

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

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

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

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

Монолитное ядро

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

Микроядро

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

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

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, Unix, OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.

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

Характерными признаками распределенной организации ОС являются:

  • наличие единой справочной службы разделяемых ресурсов;
  • наличие единой службы времени;
  • использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по компьютерам;
  • применение многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети;
  • наличие других распределенных служб.

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

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

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

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

Многопользовательский режим в операционной системе Windows

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

Кроме того, в Windows достаточно качественно реализовали данную функцию, благодаря которой, на одной машине может работать сразу несколько учетных записей, то есть, не каждая по отдельности, а все разом. Например, один человек набирает текст в приложении Microsoft Office, и не закончив работу может просто переключить операционную систему на другую учетную запись, в которой другой пользователь будет играть в игру или смотреть видео, затем, человек может вернуться в свою УЗ, продолжая работу с места остановки.

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

Создание нескольких учетных записей

Во время установки операционной системы, пользователю предлагается ввести свое имя и наименование компьютера. Далее, система предложит установить пароль, это делать не обязательно (при желании, задать пароль можно и после установки Windows).

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

Кроме административной и только что созданной учетной записи, есть так называемая «Гостевая» учетная запись, которая, по сути, не отличается от созданного пользователем профиля. При желании, данной учетной записью можно пользоваться ровным счетом так же, как и любой другой. Кроме того, для любой учетной записи, можно предоставить права администратора, но делается это обычно из-под учетной записи «Администратор».

Чтобы создать новую учетную запись, необходимо кликнуть правой кнопкой мыши по ярлыку «Компьютер», после чего, выбрать пункт «Управление» и в появившемся окне перейти в подраздел «Локальные пользователи>Пользователи». Кликнув по свободной области, правой клавишей, можно выбрать пункт «Новый пользователь».

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

. Таким вот, незамысловатым способом, можно создать новую учетную запись.

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

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

Отключение текущей учетной записи и активация административного пользователя

Чтобы активировать учетную запись администратора, необходимо войти в то же меню «Управление компьютером» и кликнуть дважды по учетной записи «Администратор».

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

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

Чтобы административная УЗ загружалась автоматически, необходимо таким же образом, как включили, отключить все лишние профили. Когда останется один активный профиль, система автоматически будет загружаться на рабочий стол (при учете, что в профиле отключена проверка пароля).

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *