Введение

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

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

Обработка партий

Самые ранние компьютеры были чрезвычайно дорогими устройствами и очень медленными по сравнению с последующими моделями. Машины обычно предназначались для выполнения конкретного набора задач и управлялись с помощью панелей управления, где оператор вручную вводил небольшие программы, переключая тумблеры для загрузки и запуска серии программ. Выполнение этих программ могло занимать часы. С увеличением скорости компьютеров время выполнения сокращалось, и вскоре стало проблемой время, необходимое для запуска следующей программы. Новые программные средства и методики пакетной обработки, включая пакетные операционные системы, такие как IBSYS (1960), уменьшили эти "простои", ставя программы в очередь на выполнение. Программисты использовали относительно недорогие перфораторы карт или устройства для записи на бумажные ленты для написания своих программ "в автономном режиме". Программы передавались операторской группе, которая планировала их запуск. Результаты (обычно в виде распечаток) возвращались программисту. Весь процесс мог занять несколько дней, в течение которых программист мог даже не увидеть компьютер. Студенты Стэнфордского университета сняли короткометражный фильм, юмористически критикующий эту ситуацию. Альтернатива – предоставление пользователю возможности напрямую управлять компьютером – обычно была слишком дорогой. Это объяснялось тем, что пользователи могли тратить много времени на ввод кода, в то время как компьютер простаивал. Такая ситуация ограничивала интерактивную разработку организациями, которые могли позволить себе тратить вычислительные ресурсы: в основном крупными университетами.

Разделение времени

Утверждается, что концепция была впервые описана Робертом Доддом в письме, написанном им в 1949 году, хотя он и не использовал термин "разделение времени". Позже Джон Бэкус также описал эту концепцию, но не использовал этот термин, на летней сессии 1954 года в МТИ. Боб Бемер использовал термин "разделение времени" в своей статье 1957 года "Как рассматривать компьютер", опубликованной в журнале Automatic Control Magazine, и, как сообщается, в том же году использовал этот термин в своей презентации. В статье, опубликованной в декабре 1958 года, В. Ф. Бауэр писал: "Компьютеры будут одновременно обрабатывать несколько задач. Организации будут устанавливать оборудование для ввода-вывода данных на своей территории и приобретать время на компьютере примерно так же, как обычный дом покупает электроэнергию и воду у коммунальных служб". Кристофер Стречи, ставший первым профессором вычислительной техники Оксфордского университета, подал заявку на патент на "разделение времени" в феврале 1959 года. Он представил доклад "Разделение времени в больших и быстрых компьютерах" на первой конференции ЮНЕСКО по обработке информации в Париже в июне того же года, где он передал эту концепцию Дж. К. Р. Ликлайдеру. В 1963 году Вычислительный центр МТИ признал этот доклад "первой работой о компьютерах с разделением времени". Значение термина "разделение времени" со временем изменилось по сравнению с его первоначальным использованием. С 1949 по 1960 год "разделение времени" использовалось для обозначения многопрограммности без множественных пользовательских сеансов. Первая интерактивная система разделения времени общего назначения, пригодная для разработки программного обеспечения, Compatible Time Sharing System (CTSS), была инициирована Джоном Маккарти в МТИ, который в 1959 году написал соответствующую записку. Фернандо Корбато возглавил разработку системы, прототип которой был создан и протестирован к ноябрю 1961 года. Филип М. Морз договорился с IBM о предоставлении серии их мейнфрейм-компьютеров, начиная с IBM 704, а затем линейки продуктов IBM 709, включая IBM 7090 и IBM 7094. МТИ мог использовать компьютеры IBM только восемь часов в день; еще восемь часов были доступны для других колледжей и университетов; IBM могла использовать свои компьютеры в течение оставшихся восьми часов, хотя и с некоторыми исключениями. В 1963 году вторая установка CTSS была развернута на IBM 7094, приобретенном МТИ на средства ARPA. Она использовалась для поддержки разработки Multics в рамках проекта MAC. Система разделения времени Дартмутского колледжа (DTSS) начала работу в марте 1964 года.

Разработка

В конце 1960-х и 1970-х годов компьютерные терминалы подключались к большим институциональным мейнфрейм-компьютерам (централизованным вычислительным системам), которые во многих реализациях последовательно опрашивали терминалы, чтобы проверить, доступны ли дополнительные данные или запрошено ли действие пользователем. Более поздние технологии межсоединений работали на основе прерываний, и некоторые из них использовали параллельные технологии передачи данных, такие как стандарт IEEE 488. Как правило, компьютерные терминалы использовались в учебных заведениях в тех же местах, где сегодня располагаются настольные или персональные компьютеры. На заре развития персональных компьютеров многие из них фактически использовались в качестве особо продвинутых терминалов для систем разделения времени. Создатели DTSS в 1968 году писали, что "любое среднее время отклика, превышающее 10 секунд, разрушает иллюзию наличия собственного компьютера". В свою очередь, пользователи систем разделения времени считали, что их терминал и есть компьютер. Это был эффективный способ совместного использования вычислительных ресурсов большого компьютера. DTSS поддерживала более 100 одновременных пользователей. Хотя более 1000 из 19 503 заданий, выполненных системой в "особенно загруженный день", требовали 10 секунд или более времени работы на компьютере, DTSS справлялась с ними, поскольку 78% заданий требовали одну секунду или меньше времени работы на компьютере. Около 75% из 3197 пользователей использовали свой терминал в течение 30 минут или меньше, за это время они использовали менее четырех секунд вычислительного времени. Симулятор футбола, одна из первых игр для мейнфреймов, разработанная для DTSS, требовала менее двух секунд вычислительного времени для 15 минут игрового времени. С появлением микрокомпьютеров в начале 1980-х годов разделение времени потеряло свою значимость, поскольку отдельные микропроцессоры стали достаточно дешевыми, чтобы один человек мог иметь в своем распоряжении все время процессора исключительно для своих нужд, даже в режиме простоя. Однако Интернет возродил общую концепцию разделения времени. Дорогие корпоративные серверные фермы, стоимостью в миллионы, могут обслуживать тысячи клиентов, совместно использующих одни и те же ресурсы. Как и в случае с ранними последовательными терминалами, веб-сайты работают в основном короткими периодами активности, за которыми следуют периоды бездействия. Эта неравномерность позволяет обслуживать множество клиентов одновременно, обычно без ощутимых задержек в связи, если только серверы не перегружены.

Поднимается и падает

В 1975 году исполняющий обязанности президента Prime Computer Бен Ф. Робелен заявил акционерам, что "наибольшим рынком конечных пользователей в настоящее время является совместное использование вычислительного времени". Для DEC, некоторое время второй по величине компьютерной компании (после IBM), это также было верно: их PDP 10 и IBM 360/67 широко использовались коммерческими сервисами таймшеринга, такими как CompuServe, On Line Systems, Inc. (OLS), Rapidata и Time Sharing Ltd. Появление персональных компьютеров ознаменовало начало спада популярности совместного использования вычислительного времени. Экономическая ситуация сложилась таким образом, что вычислительное время перестало быть дорогим ресурсом, которым необходимо было делиться, и стало настолько дешевым, что компьютеры могли простаивать длительное время, чтобы быть доступными по требованию.

Rapidata как пример

Хотя многие службы совместного использования времени просто закрылись, Rapidata удержалась на плаву и стала частью National Data Corporation. В 1982 году она все еще вызывала достаточный интерес, чтобы стать темой "Руководства для пользователей по статистическим программам: система совместного доступа ко времени Rapidata". Даже когда выручка упала на 66%, а National Data впоследствии столкнулась с собственными трудностями, предпринимались попытки сохранить этот бизнес.

Великобритания

Time Sharing Limited (TSL, 1969–1974) была запущена на системах DEC. ПЕРТ был одним из её популярных продуктов/услуг. В 1974 году TSL была приобретена компанией ADP. OLS Computer Services (UK) Limited (1975–1980) использовала системы HP и DEC.

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

Начиная с 1964 года, операционная система Multics разрабатывалась как вычислительный сервис, по аналогии с электро- или телефонными сетями. В 1970-х годах первоначальный гипертекстовый репозиторий "Xanadu" Теда Нельсона задумывался как подобный сервис.

Безопасность

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