|
Эволюция вычислительных системСтр 1 из 18Следующая ⇒ Аппаратные средства и программное обеспечение эволюционировали совместно, оказывая взаимное влияние друг на друга. Появление новых технических возможностей приводило к прорыву в области создания удобных, эффективных и безопасных программ, а новые идеи в программной области стимулировали поиски новых технических решений. Именно эти критерии: удобство, эффективность и безопасность - играли роль факторов естественного отбора при эволюции вычислительных систем. Первый период (1945-1955). Ламповые машины. Операционные систем отсутствовали. В середине 40-х были созданы первые ламповые вычислительные устройства, и появился принцип программы, хранимой в памяти машины (John Von Neumann, июнь 1945г). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Программы непосредственно взаимодействовали с аппаратным обеспечением компьютера; программирование осуществлялось исключительно на машинном языке. Операционные систем отсутствовали. Все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления, состоящего из сигнальных ламп, тумблеров, некоторого устройства для ввода данных и принтера. Программы, машинные коды и данные загружались через устройство ввода (например, с перфокарт). Если из-за ошибки происходил останов программы, о возникновении сбойной ситуации свидетельствовали аварийные сигнальные лампы. Чтобы определить причину ошибки, программист должен был проверить состояние регистров процессора и основной памяти. Если программа успешно завершала свою работу, ее выходные данные распечатывались на принтере. Такая схема работы имела две основные проблемы: ¨ на большинстве машин нужно было предварительно заказать машинное время, записавшись в специальный график. Обычно пользователь мог заказать время, кратное некоторому периоду, например, получасу. Записавшись на 1 час, он мог закончить работу за 45 минут, что приводило к простою компьютера. С другой стороны, если пользователь не укладывался в отведенное время, он должен был прекращать работу, прежде чем его задача завершит выполнение; ¨ для запуска каждой программы нужно было затратить значительное время на подготовку ее к выполнению (загрузить в память компьютера саму программу и данные для ее работы на перфокартах или магнитных лентах), а в случае возникновения ошибки после ее исправления начинать весь процесс заново. Такой режим работы получил название – последовательная обработка данных. Второй период (1955 - 1965). Компьютеры на основе транзисторов. Пакетные операционные системы С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов. Компьютеры второго поколения стали более надежными, теперь они смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационников и разработчиков вычислительных машин. Появились первые алгоритмические языки и первые системные программы - компиляторы. Стоимость процессорного времени возросла, что потребовало уменьшения непроизводительных затрат времени между запусками программ. Чтобы повысить эффективность работы была предложена концепция пакетной обработки. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. Первая пакетная ОС была разработана в середине 50-х годов в компании General Motors для машин IBM 701. Впоследствии эта концепция была усовершенствована и внедрена в других компаниях для других машин. Первые системы пакетной обработки, которые просто автоматизировали запуск одной программы за другой и тем самым увеличивали коэффициент загрузки процессора. Изменяется сам процесс прогона программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает требуемые для нее ресурсы. Такая колода получает название задания. Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно большое) время. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями (job control language – JCL), с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Третий период (1965 - 1980). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Вычислительная техника становится более надежной и дешевой. Растет сложность и количество задач, решаемых компьютерами. Повышается производительность процессоров. Процессору часто приходилось простаивать даже при выполнении задач под управлением пакетной операционной системы. Это связано с тем, что устройства ввода-вывода работают намного медленнее, чем процессор. Некоторое время процессор исполняет команды, затем, дойдя до команды, предусматривающей ввод-вывод информации, он останавливается и ждет, пока эта команда будет выполнена. Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения заданию требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а реально печатается только после завершения задания. Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line) или «подкачки-откачки данных». Спулинг в то время определялся как способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало появления аппарата прерываний для извещения процессора об окончании этих операций. При обработке пакета заданий на магнитной ленте (устройства последовательного доступа) очередность запуска заданий определялась порядком их ввода. При обработке пакета заданий на магнитном диске (устройства прямого доступа) появляется возможность выбора очередного выполняемого задания. Пакетные системы начинают заниматься планированием заданий: в зависимости от наличия запрошенных ресурсов, срочности вычислений и т.д. на выполнение выбирается то или иное задание. Дальнейшее повышение эффективности использования процессора было связано с идей мультипрограммирования. Мультипрограммирование - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы. При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом, и не должна влиять на выполнение другой программы. Операционные системы, в которых был реализован такой режим работы, появились в 70-х годах и получили название многозадачных пакетных систем. Многозадачные пакетные системы значительно сложнее простых пакетных систем. Для того чтобы можно было обрабатывать несколько заданий одновременно, они должны находиться в основной памяти, а для этого требуется система управления памятью, и система защиты памяти (чтобы одновременно выполняемые программы не могли помешать друг другу). Кроме того, необходимо продумать механизм переключения между заданиями (здесь появляются такие понятия как таймер, привилегированные команды, прерывания). Если к работе готовы несколько заданий, необходимо решить какое из них следует запустить, т.е. необходим некоторый алгоритм планирования. Мультипрограммные пакетные системы дают окружение, в котором различные системные ресурсы (например, процессор, память, периферийные устройства) используются эффективно. И все же пользователь не мог непосредственно взаимодействовать с заданием и должен был предусмотреть с помощью управляющих карт все возможные ситуации. Отладка программ по-прежнему занимала много времени и требовала изучения многостраничных распечаток содержимого памяти и регистров или использования отладочной печати. Появление электроннолучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы. Логическим расширением систем мультипрограммирования стали time-sharing системы или системы разделения времени. В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто по истечению определенного интервала времени. Эти переключения происходят столь часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В системе разделения времени несколько пользователей одновременно получают доступ к системе с помощью терминалов, а ОС чередует исполнение программ каждого пользователя через малые промежутки времени. Т.о. если нужно одновременно обслужить пользователей, каждому из них предоставляется лишь часть процессорного времени, не считая затрат на работу самой ОС. Однако принимая во внимание относительно медленную реакцию человека, время отклика компьютера будет сравнимо со временем реакции пользователя. Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске и необходимый для ее дальнейшего выполнения кусок может быть легко загружен в оперативную память, а ненужный выкачан обратно на диск. Это реализуется с помощью механизма виртуальной памяти. Основным достоинством такого механизма является создание иллюзии неограниченной оперативной памяти ЭВМ. В системах разделения времени пользователь получил возможность легко и эффективно вести отладку своей программы в интерактивном режиме, записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line файлов привело к необходимости разработки развитых файловых систем. Как пакетная обработка, так и режим разделения времени используют многозадачность. Основные отличия этих двух режимов перечислены в табл.1.
Табл.1. Основные отличия режимов «пакетная многозадачность» и «разделение времени» До начала этого периода вычислительные комплексы были, как правило, несовместимы. Каждый имел свою собственную специальную операционную систему, свою систему команд и т.д. В результате программу, успешно работающую на одном типе машин, необходимо было полностью переписать и заново отладить для другого типа компьютеров. В начале третьего периода появилась идея создания семейств программно-совместимых машин, работающих под управлением одной и той же операционной системы. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Построенное в начале 60-х годов это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ней последовала линия компьютеров PDP, несовместимых с линией IBM. Наибольшее распространение получила ЭВМ PDP-11. Четвертый период (1980-настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы. Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т.п.). Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения. Однако рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем. В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем. В сетевых операционных системах пользователи, при необходимости воспользоваться ресурсами другого сетевого компьютера, должны знать о его наличии и уметь это сделать. Каждая машина в сети работает под управлением своей локальной операционной системы, отличающейся от операционной системы автономного компьютера наличием дополнительных средств (программной поддержкой для сетевых интерфейсных устройств и доступа к удаленным ресурсам), но эти дополнения существенно не меняют структуру операционной системы. Распределенная система, напротив, внешне выглядит как обычная автономная система. Пользователь не знает и не должен знать, где его файлы хранятся на локальной или удаленной машине, и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем. В дальнейшем автономные операционные системы мы будем называть классическими операционными системами. Просмотрев этапы развития вычислительных систем, можно выделить пять основных функций, которые выполняли классические операционные системы в процессе своей эволюции: Планирование заданий и использования процессора. Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|