Операционные системы

Автор работы: Пользователь скрыл имя, 25 Июня 2013 в 18:50, курсовая работа

Краткое описание

История развития операционных систем насчитывает много лет. Так как операционные системы появились и развивались в процессе конструирования компьютеров, то эти события исторически тесно связаны.

Вложенные файлы: 1 файл

курсовая.docx

— 39.06 Кб (Скачать файл)

http://edu.dvgups.ru/METDOC/ITS/STRPRO/ASY/METOD/UP/frame/1_3.htm

 

 

1.3. История создания  и развития операционных систем

История развития операционных систем насчитывает много лет. Так  как операционные системы появились  и развивались в процессе конструирования  компьютеров, то эти события исторически  тесно связаны.

Первый настоящий цифровой компьютер был изобретен английским математиком Чарльзом Бэббиджем (Charles Babbage, 1792–1871). Это была чисто механическая машина, так как технологии данного времени не были достаточно развиты для изготовления многих деталей и механизмов высокой точности. Первая аналитическая машина не имела операционной системы. Бэббидж понимал, что для успешного функционирования машины необходимо программное обеспечение, поэтому он пригласил Аду Лавлейс (Ada Lovelace), дочь знаменитого британского поэта Лорда Байрона, для совместной работы. Ада стала первым в мире программистом, и язык программирования Ada  был назван в ее честь.

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

В начальный период развития персональных компьютеров была создана  операционная система USCD p-system. Основу этой системы составляла П-машина –  программа, эмулирующая гипотетическую универсальную вычислительную машину. П-машина имитировала работу процессора, памяти и внешних устройств, выполняя специальные команды, называемые П-кодом. Программные компоненты П-системы (в  том числе компиляторы) были составлены на П-коде, прикладные программы также  компилировались в П-код. Главной  отличительной чертой системы была минимальная зависимость от особенностей аппаратуры ПЭВМ, что обеспечивало переносимость П-системы на различные  типы машин. Компактность П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно большие  программы на ПЭВМ, имеющих небольшую  оперативную память. Особенностью данной системы являлся преимущественно  интерпретационный режим исполнения прикладных программ, что приводило к интенсивному обмену информацией между оперативной памятью и внешними накопителями и существенно замедляло работу.

Развитие и поддержка  двух разных производственных линий  для больших и малых ЭВМ  для изготовителей были дороги и  неудобны. Многим покупателям изначально требовалась небольшая машина, но через некоторое время возникала  необходимость в более мощном компьютере. Корпорация IBM попыталась решить эти проблемы, выпустив серию программно-совместимых машин IBM/360, варьирующихся от компьютеров размером с IBM 1401 до машин, значительно более мощных, чем IBM 7094 для поддержки научных и коммерческих вычислений

Так как все машины имели  одинаковую структуру и набор  команд, то программы, написанные для  одного компьютера, могли работать на всех других. Таким образом, одно семейство машин могло удовлетворить  нужды всех покупателей. В последующие  годы корпорация IBM выпустила компьютеры, совместимые с 360-ми, серии: 370, 4300, 3080 и 3090.

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

Преимущество одного семейства  оказалось одновременно и его  слабостью. Программное обеспечение (включая операционную систему OS/360) должно было одинаково хорошо работать на всех моделях компьютеров: в небольших  системах (такие системы часто  заменяли 1401-е и применялись для  копирования перфокарт на магнитные  ленты) и на огромных системах (такие  системы, заменяли 7094-е и использовались для расчета прогноза погоды и  других сложных вычислений). Кроме  того, операционная система должна была поддерживать работу с разными  внешними устройствами и разным их количеством.

Для решения поставленной задачи была разработана операционная система OS/360, которая состояла из миллионов строк, написанных наАссемблере разными программистами, и содержала много ошибок. Часть ошибок в последующих версиях исправлялась, но вместо них появлялись новые. Несмотря на свои огромные размеры и недостатки, операционная система OS/360 и подобные ей операционные системы третьего поколения, созданные другими производителями компьютеров, удовлетворяли требованиям большинства клиентов.

С повышением производительности процессоров увеличилась сложность  задач, решаемых компьютерами. Повышению  эффективности использования процессорного  времени мешала низкая скорость работы механических устройств ввода-вывода (быстрый считыватель перфокарт  мог обработать 1200 перфокарт в  минуту, принтеры печатали до 600 строк  в минуту). Вместо непосредственного  чтения пакета заданий с перфокарт  в память стали использовать его  предварительную запись – сначала  на магнитную ленту, а затем и  на диск. Когда в процессе выполнения задания требовался ввод данных, они  стали читаться с диска. Точно  так же выходная информация сначала  копировалась в системный буфер  и записывалась на ленту или диск, а печаталась только после завершения задания. Вначале действительные операции ввода-вывода осуществлялись в режимеoff-line – при использовании других, более простых, отдельно стоящих компьютеров. В дальнейшем они стали выполняться на том же компьютере, который производил вычисления, т. е. в режиме on-line. Такой прием получил название spooling (Simultaneous Peripheral Operation On Line – совместная периферийная операция в интерактивном режиме) или подкачка-откачка данных. Введение техники спулинга в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.

Магнитные ленты  были устройствами последовательного  доступа, т. е. информация считывалась с них в том порядке, в каком была записана. Появление магнитного диска, для которого не важен порядок чтения информации – устройства прямого доступа, привело к дальнейшему развитию вычислительных систем. При обработке пакета заданий на магнитной ленте очередность запуска заданий определялась порядком их ввода. При обработке пакета заданий на магнитном диске появилась возможность выбора очередного выполняемого задания. Пакетные системы начали заниматься планированием заданий – задание стало выбираться в зависимости от наличия запрошенных ресурсов, срочности вычислений и др.

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

–   реализация защитных механизмов – программы не должны иметь самостоятельного доступа к распределению ресурсов, это привело к появлению привилегированных и непривилегированных режимов;

–   реализация механизма прерываний – внешние прерывания оповещают операционную систему о происхождении асинхронного события, например, завершения операции ввода-вывода; внутренние прерывания (исключительные ситуации) возникают, когда при выполнении программы появляются ситуации, требующие вмешательства операционной системы (например, деление на ноль; попытка нарушения защиты);

–   развитие параллелизма в архитектуре – прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.

В организации мультипрограммирования важная роль отводилась операционной системе, которая стала отвечать за выполнение следующих операций:

·  организацию интерфейса между прикладной программой и операционной системой при помощи системных вызовов;

·  планирование использования процессора (организация очереди из заданий в памяти потребовала выделения процессора одному из заданий);

·  сохранение контекста для обеспечения правильного продолжения вычислений (переключение с одного задания на другое требует сохранения содержимого регистров и структур данных, необходимых для выполнения задания);

·  упорядочение процессов размещения, замещения и выборки информации из памяти (управление памятью);

·  организацию хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей;

·  обеспечение программ средствами коммуникации для возможного санкционированного обмена данными;

·  снабжение системы средствами синхронизации, которые необходимы для корректного обмена данными и разрешения конфликтных ситуаций, возникающих при работе с различными ресурсами.

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

Самым важным достижением  этого периода явилась многозадачность – управление разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства. Другим достижением операционных систем третьего поколения стала способность считывать задание с перфокарт на диск – спулинг. Когда текущее задание заканчивалось, операционная система загружала новое задание с диска в освободившийся раздел памяти и запускала его. Спулинг стали использовать так же для выдачи полученных данных. С появлением подкачки данных стали не нужны 1401-е, так как исчезли многократные переносы с магнитных лент.

Хотя операционные системы  третьего поколения могли использоваться для больших научных вычислений и справлялись с крупными коммерческими  обработками данных, они, по существу, представляли собой разновидности систем пакетной обработки, в которых временной промежуток между передачей задания и возвращением результатов часто составлял несколько часов. Желание сократить время ожидания ответа привело к разработке режима разделения времени – варианту многозадачности, при котором у каждого пользователя есть свой диалоговый терминал.

Логическим расширением  систем мультипрограммирования стали системы разделения времени (time-sharing). В них процессор переключался между задачами не только на время операций ввода-вывода, но и по прошествии определенного времени. Эти переключения происходили так часто, что пользователи могли взаимодействовать со своими программами во время их выполнения, т. е. интерактивно. В результате появилась возможность одновременной работы нескольких пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти. Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске и фрагмент, который необходимо в данный момент выполнять, может быть загружен в оперативную память, а ненужный – выкачан обратно на диск. Это было реализовано с помощьюмеханизма виртуальной памяти. Основным достоинством такого механизма явилось создание иллюзии неограниченной оперативной памяти ЭВМ.

В системах разделения времени  пользователь получил возможность  эффективно производить отладку  программы в интерактивном режиме и записывать информацию на диск, не используя перфокарты, непосредственно с клавиатуры. Появление on-line-файлов привело к необходимости разработки развитых файловых систем.

Первая серьезная система  с режимом разделения времени CTSS (Compatible Time Sharing System – совместимая система разделения времени) была разработана в Массачусетском технологическом институте на специально переделанном компьютере IBM 7094. Однако режим разделения времени не стал популярным до тех пор, пока не получили широкое распространение необходимые технические средства защиты.

После успеха системы CTSS Массачусетский технологический институт, система исследовательских лабораторий Bell Labs и корпорация General Electric (главный изготовитель компьютеров) начали разработку машины, которая должна была поддерживать сотни одновременно работающих пользователей в режиме разделения времени – MULTICS (MULTiplexed Information and Computing Service – мультиплексная информационная и вычислительная служба). Приблизительно 80 систем MULTICS было установлено в университетах и в больших компаниях. Так, компании General Motors, Ford и Управление национальной безопасности США оставили свои системы MULTICS только в конце 90-х гг. ХХ в., проработав на них более 30 лет. Существовало много причин, по которым система MULTICS не получила широкого распространения. Одной из них было то, что система написана на языке PL/I, компилятор которого появился лишь спустя несколько лет. Несмотря на неудачу с точки зрения коммерции, система MULTICSзначительно повлияла на развитие последующих операционных систем.

Еще одним важным моментом данного времени был большой  рост количества мини-компьютеров, начиная  с выпуска машин класса PDP-1корпорацией DEC в 1961 г., которые обладали очень маленькой оперативной памятью, но стоили дешево и поэтому пользовались большим спросом. Некоторые виды работ они выполняли с такой же скоростью, что и IBM 7094. Это дало толчок к появлению новой индустрии мини-компьютеров. Кен Томпсон (Ken Thompson), один из специалистов по компьютерам в Bell Labs, работавший над проектом MULTICS, решил для мини-компьютераPDP-7 написать усеченную однопользовательскую версию операционной системы MULTICS, которая позже развилась в операционную системуUNIX.

Впоследствии появилось  очень много версий операционной системы UNIX. Чтобы стало возможным писать программы, работающие в любойUNIX-системе, Институт инженеров по электротехнике и электронике IEEE разработал стандарт системы UNIX, называемый POSIX, который теперь поддерживает большинство версий UNIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать совместимые системы UNIX. Некоторые другие операционные системы теперь тоже поддерживают интерфейс POSIX. В 1987 г. Кен Томпсон создал маленький клон системы UNIX для образовательных целей – MINIX. Функционально система MINIX очень похожа на UNIX, включая поддержку стандарта POSIX.

Информация о работе Операционные системы