Многопользовательская система
Многопользовательская система — это особая конфигурация компьютера, позволяющая одновременному использованию несколькими пользователями, каждый из которых работает со своим собственным монитором, клавиатурой, мышью, а при необходимости — и собственной звуковой картой.
Введение
В стандартной конфигурации настольного персонального компьютера — 1 процессор, 1 монитор, 1 клавиатура, 1 мышь, только один пользователь может работать с ПК целиком, что делает использование системы малоэффективным — большую часть времени ресурсы остаются неиспользованными. В многопользовательской конфигурации несколько пользователей могут одновременно работать с одним центральным процессором, тем самым эффективней используя вычислительные ресурсы системы.
Возможность такой работы обусловлена постоянно растущей производительностью аппаратного обеспечения — как процессоров, так и оперативной памяти — а также оптимизацией использования ресурсов на уровне операционных систем, что особенно актуально для многопользовательских систем семейства GNU/Linux.
Например, если пользователь ограничивается работой только с веб-браузером, набирает текст в текстовом процессоре, работает с электронной таблицей либо с бухгалтерской, складской или иной деловой программой — большая часть вычислительной мощности остаётся невостребованной. В многопользовательском режиме услуги разделяются между несколькими людьми, каждый из которых использует те ресурсы, которые в классической схеме бы простаивали.
Одним из основных преимуществ мультитерминальной архитектуры является стоимость: нет необходимости приобретать отдельные материнские платы, процессоры, оперативную память, жёсткие диски, корпуса, стабилизаторы напряжения и прочие комплектующие для каждого пользователя. Достаточно одного достаточно мощного центрального процессора и соответствующего набора «монитор-клавиатура-мышь», ведь быстрая современная машина обычно стоит гораздо дешевле, чем несколько более медленных.
К числу недостатков относится возможность перегрузки: если один из пользователей или процессов активно загружает систему (например, требования 3D-игр или ресурсоёмких вычислений), у других пользователей могут возникнуть задержки и снижение производительности. Решить эту проблему можно подбором адекватной конфигурации и оптимальным управлением ресурсами со стороны операционной системы.
История
В 1970-х годах было широко распространено подключение многочисленных терминалов, в том числе графических, к одному центральному компьютеру, что позволяло работать в режиме разделения времени.
Современное многопользовательское использование графической среды X11 впервые было реализовано в 1999 году бразильским инженером Мигелом Фрейтасом на базе GNU/Linux и X11, тогда под поддержкой XFree86[1]. Фрейтас создал патч к X-серверу, позволивший запускать несколько инстанций X одновременно и фиксировать события мыши и клавиатуры по отдельным устройствам для каждого пользователя. Этот принцип и получил название многопользовательской системы.
В дальнейшем, в 2003 году появилось ещё несколько решений, включавших подходы через evdev и faketty[2].[3] Это требовало изменения ядра Linux и позволяло независимую работу нескольких пользователей на одной машине. Проект Linux Console Project[4] предложил идею независимых консолей, клавиатур и мышей, реализованную в виде патча "Backstreet Ruby"[5]. Этот патч переносил дерево ядра Ruby на Linux 2.4, цель заключалась в обеспечении полноценной независимости ввода, консоли и фреймбуфера для одновременной работы нескольких пользователей, однако проект не был завершён.
В 2005 году команда C3SL — Научный центр вычислительной техники и свободного ПО при Федеральном университете Параны, создала решение на основе вложенных X-серверов, таких как Xnest и Xephyr[6]. При этом для каждой станции создавался вложенный сервер X с эксклюзивным набором клавиатуры и мыши, а на хост-машине запускался основной сервер X, например, Xorg. Такая модель стала самой распространённой из-за стабильности. В 2008 году группа C3SL выпустила Multiseat Display Manager (MDM)[7] для облегчения установки и настройки многопользовательской системы, а также подготовила LiveCD[8] для тестирования.
Преимущества и недостатки
Среди преимуществ мультитерминальных конфигураций выделяют:
- Экономия пространства (один компьютер на несколько пользователей).
- Снижение затрат на оборудование и электроэнергию (до 80 %).
- Сокращение расходов на лицензии для программного обеспечения.
- Более эффективное использование вычислительных ресурсов.
- Меньше расходов на обслуживание.
Недостатки:
- Более высокие требования к аппаратному обеспечению.
- Возможный дискомфорт в рабочей среде.
- При поломке ПК всё рабочее место становится недоступным для всех пользователей.
Применение
Многопользовательские компьютеры применяются там, где несколько человек работают рядом: в компьютерных классах, интернет-кафе, офисных «кубиках», сервисных отделах и т. п. Типовые области:
- Школы.
- Университеты.
- Офисы.
- Интернет-кафе.
- Библиотеки.
- Больницы.
- Домашнее использование.
Требования
Нужно подобрать компьютер с производительной материнской платой, мощным процессором и достаточным объёмом памяти (64 ГБ и более — в зависимости от количества рабочих мест).
Для каждого пользователя требуется отдельный монитор, клавиатура и мышь. Например, чтобы создать четырёхместную систему, нужны четыре монитора, четыре клавиатуры и четыре мыши.
Для подключения нескольких мониторов — используются видеокарты с несколькими выходами, либо устанавливаются дополнительные видеокарты PCIe. Для подключения клавиатур и мышей — используются USB и USB-хабы, поскольку подавляющее большинство компьютеров имеет всего один разъём PS/2 для каждого из устройств.
Итак, кратко:
- Компьютер с производительной материнской платой, мощным процессором и большим объёмом памяти.
- Жёсткий диск.
- Несколько видеокарт PCI/AGP/PCIe.
- Несколько клавиатур PS/2 или USB.
- Несколько мышей PS/2 или USB.
- При необходимости — несколько звуковых карт.
- Подходящая операционная система с поддержкой многопользовательского режима.
Реализация
В настоящее время существует множество способов организации мультитерминальных систем, и появляются новые решения. Единого «лучшего» варианта нет, однако некоторые методы обладают определёнными преимуществами над другими.
GNU/Linux
Компания Userful Corporation разработала комплекс Userful MultiSeat Linux, позволяющий до десяти пользователям одновременно работать на одном компьютере. Решение поддерживает большинство видеокарт и USB-мультиустройств, совместимо с Edubuntu и другими дистрибутивами GNU/Linux, а также содержит свободные образовательные приложения[9].
В системах на базе UNIX-подобных операционных систем, как GNU/Linux, взаимодействие пользователя обеспечивается через X Window System. Эта архитектура построена по принципу клиент-сервер, где клиент запрашивает отображение графики, а сервер получает сигналы от устройств ввода-вывода — клавиатуры и мыши. Сервер X характеризует ресурсы индивидуально для каждой сессии — каждая из которых принадлежит отдельному пользователю. Посему система должна предоставлять отдельный экран для каждого пользователя.
Наиболее современная реализация X-сервера — Xorg — не поддерживает непосредственно одновременную работу нескольких экранов под разными пользовательскими сессиями на одном компьютере. Ввод с клавиатуры реализуется через виртуальные консоли — virtual terminal, VT, которые наследуют принципы мэйнфреймов и реализуются программно в виде симуляции телетайпа (TTY) через serial port. Ядро Linux поддерживает несколько виртуальных консолей, однако только одна из них может принимать события с клавиатуры в каждый момент. Если подключено больше одной клавиатуры, события будут перенаправлены активной консоли, что ограничивает возможность одновременной работы независимых серверов X даже при наличии нескольких видеокарт.
Для решения этой проблемы были предложены следующие методы (в хронологическом порядке):
- Мультитерминальная система с ruby (патч ядра).
- Мультитерминальная система с evdev (протокол).
- Мультитерминальная система с faketty (модуль ядра).
- Мультитерминальная система с Xnest.
- Мультитерминальная система с Xephyr (усовершенствование предыдущего).
На практике чаще всего применяются faketty и Xephyr. Решение Xephyr не зависит от аппаратной платформы, а faketty совместим только с рядом видеочипов, прежде всего NVIDIA и SiS.
Также возможна реализация на базе ZeroClient-терминалов в дистрибутиве MAX Madrid Linux 6.0 Multiseat, где используются пакеты max-multiseat и max-multiseat-storage для простой настройки мультисистем на совместимых ZeroClient.
Windows
Для операционных систем Windows — Windows 2000, Windows XP, Windows Vista, Windows 7 — существует ряд коммерческих программ для организации многопользовательского режима для двух и более рабочих мест. Среди них: ASTER, BeTwin, SoftXpand.
Примеры внедрения
Крупнейшая в мире многопользовательская компьютерная система
В феврале 2009 года Министерство образования Бразилии объявило о внедрении более 350 000 рабочих мест на базе Linux более чем в 45 000 школах по стране. Реализацией занимались канадская компания Userful Corporation и её технический партнер ThinNetworks[11].
Проект Paraná Digital
Ряд внедрений мультитерминальных решений реализован в рамках Paraná Digital Project, где создаётся лабораторная инфраструктура на 2000 государственных школ. Проект рассчитан на более 1,5 млн. пользователей и включает 40 000 терминалов. Компьютерные классы оснащаются четырёхголовыми мультитерминалами под Debian. Расходы на оборудование оказались вполовину меньше традиционных, программное обеспечение — бесплатное. Разработчиком выступает Центр вычислительных исследований и свободного ПО (C3SL). Проект находится в процессе реализации, преимуществами мультитерминальных систем уже пользуются многие учреждения.
Исследование Университета штата Мичиган в Танзании
С 2008 года студенты факультетов электротехники и вычислительной техники Университет штата Мичиган внедряют мультитерминальные системы с доступом в Интернет в школах Mto wa Mbu, Танзания. Цель — изучить влияние компьютерных систем с выходом в Интернет в образовательных организациях с ограниченными технологическими ресурсами, например, без книг. Компьютеры работают под управлением Ubuntu 8.04 (32-бит) с использованием Multiseat Display Manager с открытым исходным кодом, созданного C3SL. Исследование может быть использовано для демонстрации влияния недорогих компьютерных решений на обучение в странах третьего мира. Проект поддерживается Джорджем и Вики Роками, а также компанией Dow Chemical Company[12][13].
Примечательные внедрения
- В феврале 2009 года Userful объявила о крупнейшем в мире внедрении виртуализации рабочих столов — 356 800 рабочих мест в бразильских школах. Этот проект коммерчески реализован на Linux[14].
- NComputing предоставила 180 000 рабочих мест для учащихся начальных школ Северной Македонии[15].
MAX Madrid Linux и институты инновационных технологий Мадридского сообщества
С начала 2010/2011 учебного года в столичном регионе Мадрида внедряются новые Институты инновационных технологий, где реализуется принцип «один компьютер на ученика» благодаря настольным ПК с 19-дюймовыми мониторами и специфической мебелью для переоснащения традиционного класса в технологичный. Для этого используется система MAX Madrid Linux 6.0, с пакетом для поддержки ZeroClient в многопользовательской схеме.
Для каждой станции реализуется поддержка звука и индивидуального USB благодаря специфичному ZeroClient-оборудованию, создавая эффект полноценного собственного компьютера для каждого учащегося.
Примечания
- ↑ multiuser. cambuca.ldhs.cetuc.puc-rio.br. Дата обращения: 19 июня 2024. Архивировано 9 сентября 2025 года.
- ↑ faketty (англ.). aivils.lv (2009). Дата обращения: 19 июня 2024. Архивировано 11 мая 2009 года.
- ↑ XFree Local Multi-User HOWTO. The Linux Documentation Project. Дата обращения: 19 июня 2024. Архивировано 9 сентября 2025 года.
- ↑ Linux Console. sourceforge.net. Дата обращения: 19 июня 2024.
- ↑ Backstreet Ruby. ltn.lv (2009). Дата обращения: 19 июня 2024. Архивировано 20 февраля 2012 года.
- ↑ Multiterminal com Xephyr. wiki.c3sl.ufpr.br. Дата обращения: 19 июня 2024. Архивировано 3 февраля 2009 года.
- ↑ Копия архива. wiki.c3sl.ufpr.br. Дата обращения: 19 июня 2024. Архивировано 2 декабря 2008 года.
- ↑ Multiterminal live-cd from C3SL/UFPR for tests. wiki.c3sl.ufpr.br. Дата обращения: 19 июня 2024. Архивировано 3 февраля 2009 года.
- ↑ Userful MultiSeat Linux (исп.). Userful. Дата обращения: 19 июня 2024. Архивировано 30 ноября 2011 года.
- ↑ Open-sense Solutions. open-sense.com. Дата обращения: 19 июня 2024.
- ↑ Копия архива, The Inquirer España. Архивировано 26 июля 2010. Дата обращения: 19 июня 2024.
- ↑ ECE 480 Team 3 — Project Overview. msu.edu. Дата обращения: 19 июня 2024. Архивировано 25 июля 2010 года.
- ↑ ECE 480 Team 4 — Project Overview. msu.edu. Дата обращения: 19 июня 2024.
- ↑ Userful and ThinNetworks today announce that they have been selected to supply 356,800 virtualized desktops to schools in all of Brazil's 5,560 municipalities. Userful.com. Дата обращения: 19 июня 2024. Архивировано 22 февраля 2009 года.
- ↑ All Macedonian students to use Linux desktops. desktoplinux.com. Дата обращения: 19 июня 2024. Архивировано 20 декабря 2008 года.
Ссылки
- Multiseat X Under X11R6.9/7.0 (блог Криса Тайлера)
- Dual-seat X при использовании одной двухголовой видеокарты (Xephyr и решения Xgl)
- Четыре способа сборки мультитерминальной системы
- Шестиголовая/шестиместная система на Linux
- openUserful
- MAX Madrid Linux, версия 6 Multiseat
- Несколько локальных пользователей XFree под Linux
- Инструкции по dual-head для Linux
- Трёхпользовательская система под Linux