Известно, что программы для выполнения – и, следовательно, файлы операционной системы – должны находиться в оперативной памяти (ОЗУ). Однако сразу после включения компьютера в ОЗУ нет никаких программ. Выход из этой ситуации состоит в последовательной, поэтапной загрузке операционный системы в оперативную память.
1. Первый этап загрузки ОС.
В ПЗУ компьютера содержатся программы тестирования блоков компьютера и первого этапа загрузки операционной системы – BIOS (базовая система ввода–вывода). Они начинают выполняться с первым импульсом тока при включении компьютера.
На этом этапе процессор обращается к диску и проверяет наличие на определенном месте программы–загрузчика. Если эта программа обнаружена, то она считывается в ОЗУ и ей передается управление.
2. Второй этап загрузки ОС.
Программа–загрузчик, в свою очередь, ищет на диске базовый модуль операционной системы, переписывает его в оперативную память и передает ему управление.
3. Третий этап загрузки ОС.
В состав базового модуля входит основной загрузчик, который ищет остальные модули ОС и считывает их в ОЗУ.
После окончания загрузки ОС управление передается командному процессору и на экране появляется приглашение системы к вводу команд пользователя.
В оперативной памяти во время работы компьютера обязательно должны находиться базовый модуль операционной системы и программы, обеспечивающие ввод и выполнение команд пользователя. Следовательно, нет необходимости загружать в оперативную память все файлы операционной системы одновременно. Драйверы и утилиты могут подгружаться в ОЗУ по мере необходимости, что позволяет уменьшать обязательный объем оперативной памяти, отводимый под системное программное обеспечение.
|
Эволюция ОС
Первый период (1945–1955)
Известно, что компьютер был изобретен английским математиком Чарльзом Бэбиджем в конце восемнадцатого века. Его «аналитическая машина» так и не смогла по настоящему заработать, потому что технологии того времени не удовлетворяли требованиям по изготовлению деталей точной механики, которые были необходимы для вычислительной техники. Известно также, что этот компьютер не имел операционной системы.
Некоторый прогресс в создании цифровых вычислительных машин произошел после Второй мировой войны. В середине 40–х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно–исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких–либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Не было никакого другого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм.
Второй период (1955 – 1965)
С середины 50–х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов (транзисторов). Компьютеры второго поколения стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационщиков и разработчиков вычислительных машин.
|
В эти годы появились первые алгоритмические языки, а, следовательно, и первые системные программы – компиляторы. Стоимость процессорного времени возросла, что потребовало уменьшения непроизводительных затрат времени между запусками программ. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.
Третий период (1965 – 1980)
Следующий важный период развития вычислительных машин относится к 1965–1980 годам. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что дало гораздо большие возможности новому, третьему поколению компьютеров.
|
Для этого периода характерно также создание семейств программно–совместимых машин. Первым семейством программно–совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Построенное в начале 60–х годов это семейство значительно превосходило машины второго поколения по критерию цена/производительность. Вскоре идея программно–совместимых машин стала общепризнанной.
Программная совместимость требовала и совместимости операционных систем. Такие операционные системы должны были бы работать и на больших, и на малых вычислительных системах, с большим и с малым количеством разнообразной периферии, в коммерческой области и в области научных исследований. Операционные системы, построенные с намерением удовлетворить всем этим противоречивым требованиям, оказались чрезвычайно сложными «монстрами». Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. В каждой новой версии операционной системы исправлялись одни ошибки и вносились другие.
Однако, несмотря на необозримые размеры и множество проблем, OS/360 и другие ей подобные операционные системы машин третьего поколения действительно удовлетворяли большинству требований потребителей. Важнейшим достижением ОС данного поколения явилась реализация мультипрограммирования. Мультипрограммирование это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода–вывода, процессор не простаивает, как это происходило при последовательном выполнении программ (однопрограммный режим), а выполняет другую программу (многопрограммный режим). При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом.
Другое нововведение – спулинг (spooling). Спулинг в то время определялся как способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.
Наряду с мультипрограммной реализацией систем пакетной обработки появился новый тип ОС – системы разделения времени. Вариант мультипрограммирования, применяемый в системах разделения времени, нацелен на создание для каждого отдельного пользователя иллюзии единоличного использования вычислительной машины.