Открыть сервис

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

Система разделения времени (англ. time-sharing system) — это метод организации вычислительного процесса, при котором ресурсы одной ЭВМ (центральный процессор, память, периферийные устройства) предоставляются нескольким пользователям или задачам в режиме квантования времени, создавая иллюзию одновременной и независимой работы каждого из них. В отличие от пакетной обработки, где задачи выполняются последовательно, система разделения времени обеспечивает интерактивное взаимодействие пользователя с компьютером в реальном времени, чередуя выполнение программ с высокой частотой переключения.

История

Предпосылки и ранние разработки

Идея разделения времени возникла в конце 1950-х годов, когда компьютеры были дорогими и маломощными, а доступ к ним имели только операторы. Первые концепции были предложены американским инженером Джоном Маккарти (John McCarthy) в 1959 году, который описал возможность «разделения времени» на основе квантования процессорного времени. В 1960 году Массачусетский технологический институт (MIT) начал проект CTSS (Compatible Time-Sharing System), который стал первой реализацией этой идеи. CTSS была запущена в 1961 году на компьютере IBM 709, а затем на IBM 7094, и поддерживала до 30 одновременных пользователей, работающих через телетайпы.

Развитие в 1960-х годах

В 1962 году в MIT стартовал проект MULTICS (Multiplexed Information and Computing Service), совместно с компаниями General Electric и Bell Labs. MULTICS была амбициозной системой, предназначенной для поддержки сотен пользователей, и внедрила многие концепции, ставшие стандартными: сегментированную память, динамическое связывание и защиту данных. Однако из-за сложности и задержек проект не был завершён в полном объёме, а Bell Labs вышла из него в 1969 году. Тем не менее, опыт MULTICS повлиял на создание операционной системы UNIX (1969–1970), которая изначально была разработана как система разделения времени для мини-компьютеров PDP-7 и PDP-11.

В СССР работы по системам разделения времени начались в 1960-х годах. В 1965 году в Институте точной механики и вычислительной техники (ИТМиВТ) под руководством академика С. А. Лебедева была создана система АСВТ-М (агрегатная система средств вычислительной техники), которая включала элементы разделения времени. В 1968 году на базе ЭВМ «Минск-32» была разработана система ОС ЕС ЭВМ (операционная система для Единой серии ЭВМ), которая в версии ОС ЕС 2.0 (1974 год) поддерживала режим разделения времени с использованием дисплейных станций.

Коммерциализация и массовое внедрение

В 1970-х годах системы разделения времени стали коммерчески доступными. Компания Digital Equipment Corporation (DEC) выпустила операционную систему RSTS/E (1970) для PDP-11, а затем VMS (1977) для VAX. В 1975 году компания IBM представила систему VM/370 (Virtual Machine/370), которая позволяла запускать несколько виртуальных машин, каждая со своей операционной системой, на одном мэйнфрейме. В 1979 году компания Microsoft (на тот момент — Micro-Soft) приобрела лицензию на UNIX у AT&T и разработала XENIX, которая использовалась на мини-компьютерах и микрокомпьютерах.

В 1980-х годах с распространением персональных компьютеров системы разделения времени уступили место однопользовательским ОС (MS-DOS, Mac OS), но остались востребованными в корпоративных и научных средах, где требовался многопользовательский доступ к мощным вычислительным ресурсам. В 1990-х годах с развитием интернета и облачных технологий концепция разделения времени возродилась в виде серверных ОС (Linux, FreeBSD, Windows Server) и систем виртуализации.

Принцип работы

Квантование времени

Основной механизм — квантование процессорного времени. Центральный процессор (ЦП) последовательно выделяет каждому пользователю или задаче небольшой фиксированный интервал времени (квант), обычно от 10 до 100 миллисекунд. После истечения кванта система прерывает выполнение текущей задачи, сохраняет её состояние (контекст) и переключается на следующую задачу. Благодаря высокой скорости переключения (десятки-сотни раз в секунду) пользователи не замечают задержек и воспринимают работу как непрерывную.

Планировщик задач

Управление квантами осуществляется планировщиком задач (scheduler), который определяет порядок выполнения задач на основе алгоритмов:

  • Round Robin (циклический алгоритм) — задачи выполняются по очереди с равными квантами;
  • Приоритетное планирование — задачи с более высоким приоритетом получают больше квантов или выполняются вне очереди;
  • Многоуровневая очередь — задачи группируются по классам (например, интерактивные и фоновые), каждый класс имеет свой алгоритм.

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

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

Ввод-вывод и терминалы

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

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

По типу аппаратного обеспечения

  • Мэйнфреймовые системы — работают на больших универсальных ЭВМ (IBM System/360, ЕС ЭВМ), поддерживают сотни и тысячи пользователей;
  • Мини-компьютерные системы — на базе PDP-11, VAX, HP 3000, рассчитаны на десятки пользователей;
  • Серверные системы — на базе UNIX-подобных ОС (Linux, Solaris) или Windows Server, обслуживают локальные сети и интернет-сервисы.

По способу организации

  • Централизованные — все вычисления выполняются на одном компьютере, пользователи подключаются через терминалы;
  • Распределённые — ресурсы нескольких компьютеров объединяются в кластер или облачную платформу, разделение времени реализуется на уровне гипервизора или планировщика задач.

Применение

Образование и научные исследования

В 1960–1980-х годах системы разделения времени широко использовались в университетах и научно-исследовательских институтах. Например, система CTSS в MIT позволяла студентам и преподавателям одновременно работать с программами, редактировать тексты и проводить вычисления. В СССР аналогичные системы применялись в МГУ, ИТМиВТ и других организациях для обучения программированию и моделирования физических процессов.

Банковское дело и финансы

В 1970-х годах банки начали использовать системы разделения времени для обработки транзакций в реальном времени. Например, система IBM CICS (Customer Information Control System) работала под управлением VM/370 и обеспечивала одновременный доступ сотен кассиров к базам данных счетов.

Промышленность и управление

Системы разделения времени применялись для автоматизации производственных процессов, управления запасами и планирования ресурсов. В СССР на базе ЕС ЭВМ и ОС ЕС 2.0 были созданы автоматизированные системы управления (АСУ) для заводов и предприятий, например, АСУ «Квант» на заводе «Электросила» (Ленинград).

Интернет и облачные сервисы

Современные веб-серверы (Apache, Nginx) и облачные платформы (AWS, Google Cloud, Яндекс.Облако) используют принципы разделения времени для обслуживания миллионов пользователей. Каждый запрос обрабатывается как отдельная задача, а планировщик ОС распределяет процессорное время между ними.

Преимущества и недостатки

Преимущества

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

Недостатки

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

Влияние на развитие вычислительной техники

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

Интересные факты

  • Первая коммерческая система разделения времени Dartmouth Time-Sharing System (DTSS) была запущена в 1964 году в Дартмутском колледже и использовала язык BASIC, разработанный специально для обучения программированию.
  • В 1965 году компания General Electric выпустила систему GE-645, которая поддерживала до 300 одновременных пользователей и использовалась в проекте MULTICS.
  • В СССР в 1970-х годах на базе ЭВМ «БЭСМ-6» была создана система ДИСПАК (диалоговая система планирования и анализа), которая обеспечивала разделение времени для 16 пользователей.
  • Современные системы разделения времени лежат в основе контейнеризации (Docker, Kubernetes), где каждый контейнер получает кванты процессорного времени, изолированные от других.

Источники

  • McCarthy, J. (1959). «Time-Sharing Computer Systems». MIT Computation Center.
  • Corbato, F. J., et al. (1962). «An Experimental Time-Sharing System». AFIPS Conference Proceedings.
  • Лебедев, С. А. (1967). «Электронные вычислительные машины». Издательство «Наука».
  • Tanenbaum, A. S. (2001). «Modern Operating Systems». Prentice Hall.
  • Ritchie, D. M., Thompson, K. (1974). «The UNIX Time-Sharing System». Communications of the ACM.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →