Информационные технологии. 2-е издание. Учебное пособие - Алексей Денисов
Шрифт:
Интервал:
Закладка:
В процессе развития большинство операционных систем модифицируются и совершенствуются в направлении исправления ошибок и включения новых возможностей. В целях сохранения преемственности новая модификация операционной системы не переименовывается, а приобретает название версии.
Операционные системы, подобно аппаратной части компьютеров, на пути своего развития прошли через ряд радикальных изменений, так называемых поколений. Для аппаратных средств смена поколений связана с принципиальными достижениями в области электронных компонентов: вначале вычислительные машины строились на электронных лампах (первое поколение ЭВМ), затем на транзисторах (второе поколение), интегральных микросхемах (третье поколение), а сейчас – по преимуществу на больших и сверхбольших интегральных схемах (четвертое поколение). Появление каждого из этих последовательных поколений аппаратных средств сопровождалось резким уменьшением стоимости, габаритов, потребляемой мощности и тепловыделения и столь же резким повышением быстродействия и объемов памяти компьютеров.
На одной и той же аппаратной платформе могут функционировать различные операционные системы, имеющие разную архитектуру и возможности. Однако при этом следует учитывать, что различные ОС представляют разную степень сервиса для программирования и работы с прикладными программами пользователей. Кроме того, для их работы необходимы различные ресурсы оперативной памяти.
Современные операционные системы можно классифицировать по различным признакам, представленным в табл. 2.1.
Таблица 2.1.
Классификация операционных систем
В целом функции, выполняемые операционными системами разных классов и видов, достаточно схожи и направлены на обеспечение поддержки работы прикладных программ, организацию их взаимодействия с устройствами, предоставление пользователям возможности работы в сетях, а также управление функционированием персонального компьютера. Поэтому при выборе операционной системы пользователь должен четко представлять, насколько та или иная ОС обеспечит ему решение его задач.
Чтобы выбрать ту или иную операционную систему, необходимо знать:
• на каких аппаратных платформах и с какой скоростью работает ОС;
• какое периферийное аппаратное обеспечение операционная система поддерживает;
• как полно удовлетворяет ОС потребности пользователя, т. е. каковы функции операционной системы;
• каков способ взаимодействия ОС с пользователем, т. е. насколько нагляден, удобен, понятен и привычен пользователю интерфейс;
• существуют ли информативные подсказки, встроенные справочники и т. д.;
• какова надежность системы, т. е. ее устойчивость к ошибкам пользователя, отказам оборудования и т. д.;
• какие возможности предоставляет операционная система для организации сетей;
• обеспечивает ли ОС совместимость с другими операционными системами;
• какие инструментальные средства имеет ОС для разработки прикладных программ;
• осуществляется ли в ОС поддержка различных национальных языков;
• какие известные пакеты прикладных программ можно использовать при работе с конкретной операционной системой;
• как осуществляется в ОС защита информации и самой операционной системы.
2.3. История развития операционных систем
В первых вычислительных машинах операционных систем не было. Пользователи имели полный доступ к машинному языку и все программы писали непосредственно в машинных кодах.
1-й этап (50-е гг. ХХ в.)
Считается, что первую операционную систему создала в начале 50-х гг. для своих компьютеров исследовательская лаборатория фирмы General Motors. Операционные системы 50-х гг. были разработаны с целью ускорения и упрощения перехода с задачи на задачу. До создания этих операционных систем много машинного времени терялось в промежутках между завершением выполнения одной задачи и вводом в решение следующей. Это было начало систем пакетной обработки, которые предусматривали объединение отдельных задач в группы, или пакеты. Запущенная в решение задача получала в свое полное распоряжение все ресурсы машины. После завершения каждой задачи управление ресурсами возвращалось операционной системе, которая обеспечивала ввод и запуск в решение следующей задачи.
Уже в первых операционных системах появилась концепция имен системных файлов как средства достижения определенной степени независимости программ от аппаратной части. Это дало пользователю возможность не задавать непосредственно в программе конкретные номера физических устройств, а указывать стандартный системный файл ввода как устройство, с которого считываются управляющие перфокарты, или стандартный системный файл вывода как устройство для распечатки результатов.
К концу 50-х гг. ведущие фирмы-изготовители компьютеров поставляли операционные системы со следующими характеристиками:
• пакетная обработка одного потока задач;
• наличие стандартных подпрограмм ввода-вывода, позволяющих пользователю не касаться деталей программирования процессов ввода и вывода на машинном языке;
• возможность автоматического перехода от программы к программе, позволяющая сократить накладные расходы на запуск новой задачи в решение;
• наличие средств восстановления после ошибок, обеспечивающих автоматическое восстановление машины в случае аварийного завершения очередной задачи и позволяющих запускать следующую задачу при минимальном вмешательстве оператора ЭВМ;
• наличие языков управления заданиями, предоставляющих пользователям возможность достаточно подробно описывать свои задания и ресурсы, требуемые для их выполнения.
В то время операционные системы использовались главным образом на крупных ЭВМ. Многие из малых машин общего назначения работали без операционной системы. Пользователи подобных малых машин, как правило, производили загрузку собственной системы управления вводом-выводом – небольшого пакета программ, управляющего осуществлением операций ввода-вывода.
2-й этап (60-е гг. ХХ в.)
В это время в технической базе вычислительных машин произошёл переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что открыло путь к появлению следующего поколения компьютеров. В этот период были реализованы практически все основные механизмы, присущие современным операционным системам:
• мультипрограммирование;
• поддержка многотерминального многопользовательского режима;
• виртуальная память;
• файловые системы,
• разграничение доступа;
• работа в сети.
Мультипрограммирование – способ организации вычислительного процесса, при котором в памяти компьютера находится одновременно несколько программ, попеременно выполняющихся на одном процессоре.
Революционным событием данного этапа явилась промышленная реализация мультипрограммирования. В условиях резко возросших возможностей компьютера по обработке и хранению данных выполнение только одной программы в каждый момент времени оказалось крайне неэффективным. Решением стало мультипрограммирование. Это усовершенствование значительно улучшило эффективность вычислительной системы. Мультипрограммирование было реализовано в двух вариантах:
• в системах пакетной обработки;
• в системах разделения времени.
Мультипрограммные системы пакетной обработки так же, как и их однопрограммные предшественники, имели своей целью обеспечение максимальной загрузки аппаратной части компьютера, однако решали эту задачу более эффективно. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода-вывода (как это происходило при последовательном выполнении программ в системах ранней пакетной обработки), а переключался на другую готовую к выполнению программу. В результате достигалась сбалансированная загрузка всех устройств электронно-вычислительной машины, следовательно, увеличивалось число задач, решаемых в единицу времени.
Мультипрограммные системы разделения времени были рассчитаны на многотерминальные системы, когда каждый пользователь работает за своим терминалом. Вариант мультипрограммирования, применяемый в системах разделения времени, был нацелен на создание для каждого отдельного пользователя иллюзии единоличного владения вычислительной машиной за счёт периодического выделения каждой программе своей доли процессорного времени.
Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. При этом не только оператор, но и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие операционные системы получили название систем удалённого ввода заданий. Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей – модемных соединений телефонных сетей или выделенных каналов. Для поддержания удалённой работы терминалов в операционных системах появились специальные программные модули, реализующие различные (в то время, как правило, нестандартные) протоколы связи. Такие вычислительные системы с удалёнными терминалами, сохраняя централизованный характер обработки данных, в какой-то степени являлись прообразом современных сетей, а соответствующее системное программное обеспечение – прообразом сетевых операционных систем.