Эволюция Windows. Как менялась самая популярная операционная система
Сегодня вечером компания Microsoft официально представит новую версию Windows. В преддверии этого события IT.TUT.BY вспоминает, как развивалась линейка ОС от Microsoft и каким компьютером необходимо было обладать, чтобы на нем без проблем работала свежая операционная система.
Windows 1.0
Первая версия ОС от Microsoft вышла в конце 1985 года и требовала для запуска наличия MS-DOS v.2.0, процессора Intel 8088 256 килобайт оперативной памяти, графического адептера CGA/Hercules/EGA (16 цветов при разрешении экрана 640х350 пикселей) и занимала пять 5,25-дюймовых дискет.
Windows 2.0
Два года спустя, осенью 1987-го, компания представила новую версию ОС, получившую название Windows 2.0. В ней пользователи могли накладывать окна приложений друг на друга, а операционная система начала более рационально использовать доступную память. Однако за новые возможности обладателям PC пришлось заплатить возросшими системными требованиями. Windows 2.0 просила уже 512 килобайт оперативной памяти, а с версии 2.11 ОС требовала обязательного наличия жесткого диска.
Windows 3.Х
Третья версия ОС от Microsoft начала уверенно заявлять свои права на доминирующее положение в мире операционных систем. Переработанный графический интерфейс, поддержка VGA-стандарта видео (18-битные цвета в палитре, наличие 256-цветных режимов и возможность получить 16 цветов в разрешении 650х480 пикселей). Все это требовало от пользователей компьютера с процессором не ниже Intel 80286 (необходимого также для запуска шутера Wolfenstein 3D), 1 мегабайта оперативной памяти (640 килобайт основной и 256 КБ расширенной) и целых 6,5 мегабайта дискового пространства (рекомендовалось 9 МБ).
Отдельно в стороне стояла бизнес-версия операционной системы Windows NT 3.1, требовавшая процессор не ниже Intel 80386, 12 мегабайт оперативной и 90 мегабайт постоянной памяти.
Windows 95
Если в 1995 году вы были обладателем Intel 80386, 4 мегабайт оперативной памяти и на жестком диске завалялось лишних 120 мегабайт, то, установив Windows 95, можно было стать свидетелем появления легендарной кнопки «Пуск». Помимо этого, в новой ОС компания представила стандарт Intel Plug and Play (упрощение поиска и настройки оборудования). Хотя большинство пользователей называли его «plug and pray» — подключи и молись. В обновлении системы под названием Windows 95 OSR 2 появилась поддержка файловой системы FAT32 и встроенный Internet Explorer 3.
Windows NT 4.0
Эта версия сетевой ОС Microsoft Windows NT получила интерфейс в стиле Windows 95 и просила для установки Intel 80486/25 , 12 МБ оперативной памяти и 124 МБ на жестком диске.
Windows 98
Наверное, благодаря Windows 98 в обиходе любителей IT появилось большинство шуток про «синий экран смерти». Помимо юмора для одних пользователей и проклятий для других, ОС подарила улучшенную поддержку USB и новые системные требования. Для Windows 98 пользователям понадобился процессор не слабее Intel 80486DX2, 16 мегабайт оперативной памяти (рекомендовалось 24 МБ) и 500 мегабайт на жестком диске.
Windows 2000
Пришедшая на замену NT операционная система полюбилась не только системным администраторам, но и обычным пользователям. Автор статьи до сих пор сохранил приятные воспоминания о стабильности работы и отсутствии постоянной необходимости переустанавливать эту ОС. По системным требованиям «двухтысячная» просила процессор не ниже Pentium 133, 32 (а лучше 64) мегабайта оперативной памяти и 700 (желательно 2000) мегабайт на жестком диске.
Windows 2000 Server/Advanced Server в отличие от обычной версии не запускалась на машинах с объемом оперативной памяти менее 256 мегабайт.
Windows ME
Новая ОС, получившая гордое имя Millennium, была выпущена 24 сентября 2000 года и требовала компьютер с процессором не ниже Pentium 150, 32 мегабайта оперативной и 320 мегабайт постоянной памяти. Именно эта версия операционной системы получила наибольшее количество негативных отзывов со стороны пользователей. Из-за такой реакции Windows ME просуществовала чуть больше года, уступив место Windows XP.
Windows XP
Первая операционная система от Microsoft, расставшаяся с MS-DOS и поставлявшаяся в 32- и 64-битных изданиях, требовала процессор Pentium 233, 64 мегабайта оперативной памяти и минимум 1,5 ГБ на жестком диске. Уже прошло более 10 лет со дня релиза, однако именно эта ОС до сих пор стоит у многих PC-пользователей.
Windows Vista
Если нас попросят охарактеризовать эту операционную систему одним словом, то наиболее верным станет – прожорливая. Процессор с частотой не менее 1 ГГц, 1 ГБ оперативной памяти, 15 гигабайт на жестком диске и видеокарта с поддержкой нового прозрачного интерфейса Windows Aero. Спорная Vista запомнилась многим пользователям скандалом с тормозами в работе на компьютерах, помеченных логотипом «Vista-capable» и проблемами при запуске самого технологичного на то время шутера Crysis. Разработчики искусственно заблокировали режим настроек Very High. Данную опцию можно было выбрать только обладателям Windows Vista, получившим поддержку библиотеки DirectX 10. Однако в дальнейшем пользователи выяснили, что различия в этой игре под DX9 и DX10 минимальны и сделаны для маркетингового продвижения новой ОС от Microsoft.
Windows 7
Первая операционная система от Microsoft, выпущенная со старыми системными требованиями (аналогичны Windows Vista). В целом, «семерка» стала логическим продолжением Vista, при этом пользователи получили более стабильную и быструю работу ОС.
Windows 8
В Windows 8 на смену привычному оформлению пришел Metro-интерфейс, система тапов-плиток и улучшенное по сравнению с «семеркой» быстродействие. Однако за эти плюсы пришлось расплачиваться, и пользователей вынудили расстаться с кнопкой «Пуск». Системные требования новой ОС остались прежними – процессор с частотой 1ГГц, 1 гигабайт оперативной памяти (2 гигабайта для 64-разрядной системы) и 16 ГБ на жестком диске (20 ГБ для 64-разрядной).
На этот раз мнения пользователей разделились – привыкшие к XP требовали от Microsoft вернуться к «теплому, ламповому» виду ОС, любители нововведений же, наоборот, приветствовали инициативу Microsoft.
По последним данным, в новой Windows 9 компания вернет старый добрый «Пуск», но при этом не забудет и о плитках. Совсем скоро мы об этом узнаем наверняка.
Краткая история операционных систем
История развития операционных систем насчитывает уже много лет.
Первое поколение (1945–1955): электронные лампы.
Первый настоящий цифровой компьютер был чисто механической машиной без ОС.
Второе поколение (1955–1965): транзисторы и системы пакетной обработки
В основном программы для них составлялись на языке Фортран и ассемблере, а типичными ОС были FMS (Fortran Monitor System) и IBSYS.
Третье поколение (1965–1980): интегральные схемы и многозадачность
Появилась OS/36/, примерно на два или три порядка превышающая по объему FMS. Самым важным достижением явилась многозадачность (разбиение памяти на несколько частей). Система MULTICS не получила распространения, но оказала влияние на последующие ОС.
Был разработан стандарт системы UNIX, названный POSIX, который в настоящее время поддерживается большинством версий UNIX. В 1987 году Таненбаум выпустил в образовательных целях небольшой клон системы UNIX — MINIX.
Четвертое поколение (с 1980 года по наши дни): персональные компьютеры
Следующий период эволюции операционных систем связан с появлением БИС — больших интегральных схем. Появилась DOS (дисковая операционная система). Видоизмененная система была переименована в MS-DOS (MicroSoft Disk Operating System). CP/M, MS-DOS и другие операционные системы для первых микрокомпьютеров полностью основывались на командах, вводимых пользователем с клавиатуры. С 1985 по 1995 год Windows была просто графической оболочкой, работавшей поверх MS-DOS. Однако в 1995 году была выпущена самостоятельная версия Windows — Windows 95. В 1998 году была выпущена слегка модифицированная версия этой системы, получившая название Windows 98. Другой операционной системой Microsoft была Windows NT (NT означает New Technology — новая технология). Она представляла собой полноценную 32-разрядную систему. В 2001 году была выпущена слегка обновленная версия Windows 2000, названная Windows XP. Эта версия выпускалась намного дольше, по существу заменяя все предыдущие версии Windows. Тем не менее выпуск новых версий продолжался. После Windows 2000 серверная включала Windows Server 2003 и Windows 2008. Затем в январе 2007 года Microsoft выпустила окончательную версию преемника Windows XP под названием Vista. Microsoft надеялась, что она полностью заменит Windows XP, но этого так и не произошло. С появлением Windows 7, новой и менее требовательной к ресурсам операционной системы, многие решили вообще пропустить Vista. Менее чем за три недели Windows 7 получила большую долю рынка, чем Vista за семь месяцев. В 2012 году Microsoft выпустила ее преемника — Windows 8. Но пока проникновение ее на рынок идет намного медленнее по сравнению с Windows 7. Другим основным конкурентом в мире персональных компьютеров является ОС UNIX (и различные производные от этой системы). UNIX имеет более сильные позиции на сетевых и промышленных серверах, также она находит все более широкое распространение и на настольных компьютерах, ноутбуках, планшет- ных компьютерах и смартфонах. Ее производные нашли широкое применение на мобильных устройствах, которые работают под управлением iOS 7 или Android. Хотя многие пользователи UNIX, особенно опытные программисты, отдают пред- почтение интерфейсу на основе командной строки, практически все UNIX-системы поддерживают систему управления окнами X Window System (или X11)
Пятое поколение (с 1990 года по наши дни): мобильные компьютеры
В первое десятилетие после своего появления большинство смартфонов работало под управлением Symbian OS. Но долю рынка Symbian начали отбирать другие операционные системы, например RIM Blackberry OS и Apple iOS. Доля рынка популярность Symbian упала.
Компьютер с нуля
Эволюция операционных систем
Рассматривая эволюцию операционных систем мы будем рассматривать, в первую очередь, историю развития вычислительных систем, потому что компьютерное железо(Hardware) и программное обеспечение (Software) эволюционировали совместно, оказывая взаимное влияние друг на друга.
Эволюция операционных систем
Появление новых технических возможностей приводило к прорыву в области создания удобных, эффективных и безопасных программ, а свежие идеи в программной области стимулировали поиски новых технических решений. Именно эти критерии – удобство, эффективность и безопасность – играли роль факторов естественного отбора при эволюции вычислительных систем.
Выделяется четыре периода развития вычислительной техники и операционных систем, рассмотрим их более подробно.
1. Первый период (1945–1955 гг.)
Ламповые машины. Операционных систем нет
Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств). Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.).
В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. За пультом мог находиться только один пользователь.
Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей. Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины.
В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.
Существенная часть времени уходила на подготовку запуска программы, а сами программы выполнялись строго последовательно. Такой режим работы называется последовательной обработкой данных .
В целом первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования.
2. Второй период (1955 г.–начало 60-х)
Компьютеры на основе транзисторов. Пакетные операционные системы
С середины 50-х годов начался следующий период в эволюции вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов. Применение транзисторов вместо часто перегоравших электронных ламп привело к повышению надежности компьютеров. Теперь машины могут непрерывно работать достаточно долго, чтобы на них можно было возложить выполнение практически важных задач. Снижается потребление вычислительными машинами электроэнергии, совершенствуются системы охлаждения. Размеры компьютеров уменьшились. Снизилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование ЭВМ коммерческими фирмами.
Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появляются первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упрощается процесс программирования. Пропадает необходимость взваливать на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.
Большая электронно-счетная машина БЭСМ-6
Изменяется сам процесс прогона программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает необходимые ресурсы. Такая колода получает название задания . Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно продолжительное) время.
Смена запрошенных ресурсов вызывает приостановку выполнения программ, в результате процессор часто простаивает. Для повышения эффективности использования компьютера задания с похожими ресурсами начинают собирать вместе, создавая пакет заданий.
Появляются первые системы пакетной обработки , которые просто автоматизируют запуск одной программы из пакета за другой и тем самым увеличивают коэффициент загрузки процессора.
При реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине.
Системы пакетной обработки стали прообразом современных операционных систем, они были первыми системными программами, предназначенными для управления вычислительным процессом
3. Третий период (начало 60-х – 1980 г.)
Компьютеры на основе интегральных микросхем. Первые многозадачные ОС
Следующий важный период развития вычислительных машин относится к началу 60-х – 1980 г. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам . Вычислительная техника становится более надежной и дешевой. Растет сложность и количество задач, решаемых компьютерами. Повышается производительность процессоров.
Повышению эффективности использования процессорного времени мешает низкая скорость работы механических устройств ввода-вывода (быстрый считыватель перфокарт мог обработать 1200 перфокарт в минуту, принтеры печатали до 600 строк в минуту). Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а печатается только после завершения задания.
Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line ) или подкачки-откачки данных. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.
Магнитные ленты были устройствами последовательного доступа, то есть информация считывалась с них в том порядке, в каком была записана. Появление магнитного диска, для которого не важен порядок чтения информации, то есть устройства прямого доступа, привело к дальнейшему развитию вычислительных систем. При обработке пакета заданий на магнитной ленте очередность запуска заданий определялась порядком их ввода. При обработке пакета заданий на магнитном диске появилась возможность выбора очередного выполняемого задания. Пакетные системы начинают заниматься планированием заданий: в зависимости от наличия запрошенных ресурсов, срочности вычислений и т.д. на счет выбирается то или иное задание.
Дальнейшее повышение эффективности использования процессора было достигнуто с помощью мультипрограммирования . Идея мультипрограммирования заключается в следующем: пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы.
Эта идея напоминает поведение преподавателя и студентов на экзамене. Пока один студент (программа) обдумывает ответ на вопрос (операция ввода-вывода), преподаватель (процессор) выслушивает ответ другого студента (вычисления). Естественно, такая ситуация требует наличия в комнате нескольких студентов. Точно так же мультипрограммирование требует наличия в памяти нескольких программ одновременно. При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом, и не должна влиять на выполнение другой программы. (Студенты сидят за отдельными столами и не подсказывают друг другу.)
Появление мультипрограммирования требует настоящей революции в строении вычислительной системы. Особую роль здесь играет аппаратная поддержка (многие аппаратные новшества появились еще на предыдущем этапе эволюции), наиболее существенные особенности которой перечислены ниже.
- Реализация защитных механизмов .
Программы не должны иметь самостоятельного доступа к распределению ресурсов, что приводит к появлению привилегированных и непривилегированных команд. Привилегированные команды, например команды ввода-вывода, могут исполняться только операционной системой. Говорят, что она работает в привилегированном режиме. Переход управления от прикладной программы к ОС сопровождается контролируемой сменой режима. Кроме того, это защита памяти, позволяющая изолировать конкурирующие пользовательские программы друг от друга, а ОС – от программ пользователей. - Наличие прерываний.
Внешниепрерывания оповещают ОС о том, что произошло асинхронное событие, например завершилась операция ввода-вывода.
Внутренние прерывания (сейчас их принято называть исключительными ситуациями) возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС, например деление на ноль или попытка нарушения защиты. - Развитие параллелизма в архитектуре .
Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.
Не менее важна в организации мультипрограммирования роль операционной системы . Она отвечает за следующие операции.
- Организация интерфейса между прикладной программой и ОС при помощи системных вызовов.
- Организация очереди из заданий в памяти и выделение процессора одному из заданий потребовало планирования использования процессора.
- Переключение с одного задания на другое требует сохранения содержимого регистров и структур данных, необходимых для выполнения задания, иначе говоря, контекста для обеспечения правильного продолжения вычислений.
- Поскольку память является ограниченным ресурсом, нужны стратегии управления памятью, то есть требуется упорядочить процессы размещения, замещения и выборки информации из памяти.
- Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.
- Поскольку программам может потребоваться произвести санкционированный обмен данными, необходимо их обеспечить средствами коммуникации.
- Для корректного обмена данными необходимо разрешать конфликтные ситуации, возникающие при работе с различными ресурсами и предусмотреть координацию программами своих действий, т.е. снабдить систему средствами синхронизации.
Мультипрограммные системы обеспечили возможность более эффективного использования системных ресурсов (например, процессора, памяти, периферийных устройств), но они еще долго оставались пакетными. Пользователь не мог непосредственно взаимодействовать с заданием и должен был предусмотреть с помощью управляющих карт все возможные ситуации. Отладка программ по-прежнему занимала много времени и требовала изучения многостраничных распечаток содержимого памяти и регистров или использования отладочной печати.
Появление электронно-лучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы.
Логическим расширением систем мультипрограммирования стали time-sharing системы, или системы разделения времени . В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного времени. Эти переключения происходят так часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В результате появляется возможность одновременной работы нескольких пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти.
Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске, и фрагмент, который необходимо в данный момент выполнять, может быть загружен в оперативную память, а ненужный – выкачан обратно на диск. Это реализуется с помощью механизма виртуальной памяти . Основным достоинством такого механизма является создание иллюзии неограниченной оперативной памяти ЭВМ.
В системах разделения времени пользователь получил возможность эффективно производить отладку программы в интерактивном режиме и записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line-файлов привело к необходимости разработки развитых файловых систем.
Параллельно внутренней эволюции вычислительных систем происходила и внешняя их эволюция. До начала этого периода вычислительные комплексы были, как правило, несовместимы. Каждый имел собственную операционную систему, свою систему команд и т. д. В результате программу, успешно работающую на одном типе машин, необходимо было полностью переписывать и заново отлаживать для выполнения на компьютерах другого типа. В начале третьего периода появилась идея создания семейств программно совместимых машин, работающих под управлением одной и той же операционной системы.
Первым семейством программно совместимых компьютеров, построенных на интегральных микросхемах, стала серия машин IBM/360. Разработанное в начале 60-х годов, это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ним последовала линия компьютеров PDP, несовместимых с линией IBM, и лучшей моделью в ней стала PDP-11.
Сила «одной семьи» была одновременно и ее слабостью. Широкие возможности этой концепции (наличие всех моделей: от мини-компьютеров до гигантских машин; обилие разнообразной периферии; различное окружение; различные пользователи) порождали сложную и громоздкую операционную систему. Миллионы строчек Ассемблера, написанные тысячами программистов, содержали множество ошибок, что вызывало непрерывный поток публикаций о них и попыток исправления.
Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.
4. Четвертый период (с 1980 г. по настоящее время)
Персональные компьютеры. Классические, сетевые и распределенные системы
Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС) . В эти годы произошло резкое возрастание степени интеграции и снижение стоимости микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров.
Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т. п.).
Компьютеры стали использоваться не только специалистами, что потребовало разработки «дружественного» программного обеспечения.
Однако рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.
В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.
В сетевых операционных системах пользователи могут получить доступ к ресурсам другого сетевого компьютера, только они должны знать об их наличии и уметь это сделать. Каждая машина в сети работает под управлением своей локальной операционной системы, отличающейся от операционной системы автономного компьютера наличием дополнительных средств (программной поддержкой для сетевых интерфейсных устройств и доступа к удаленным ресурсам), но эти дополнения не меняют структуру операционной системы.
Распределенная система , напротив, внешне выглядит как обычная автономная система. Пользователь не знает и не должен знать, где его файлы хранятся – на локальной или удаленной машине – и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем.
В дальнейшем автономные операционные системы мы будем называть классическими операционными системами.
Просмотрев этапы развития вычислительных систем, мы можем выделить шесть основных функций , которые выполняли классические операционные системы в процессе эволюции:
- Планирование заданий и использования процессора.
- Обеспечение программ средствами коммуникации и синхронизации.
- Управление памятью.
- Управление файловой системой.
- Управление вводом-выводом.
- Обеспечение безопасности
Каждая из приведенных функций обычно реализована в виде подсистемы, являющейся структурным компонентом ОС. В каждой операционной системе эти функции, конечно, реализовывались по-своему, в различном объеме. Они не были изначально придуманы как составные части операционных систем, а появились в процессе развития, по мере того как вычислительные системы становились все более удобными, эффективными и безопасными.
Эволюция вычислительных систем, созданных человеком, пошла по такому пути, но никто еще не доказал, что это единственно возможный путь их развития. Операционные системы существуют потому, что на данный момент их существование – это разумный способ использования вычислительных систем. Рассмотрение общих принципов и алгоритмов реализации их функций и составляет содержание большей части нашего курса, в котором будут последовательно описаны перечисленные подсистемы.
В обобщении темы «Эволюция операционных систем» предлагается краткая таблица, в которой указаны основные вехи развития вычислительной техники и операционных систем.
Период | Развитие ОС |
до 1955 г. | В XIX веке Чарльз Бэбидж предложил идею компьютера. Но технологии того времени не могли обеспечить изготовление деталей точной механики, которые были необходимы для этой машины. И его «аналитическая машина» так и не смогла заработать.В середине 40-х гг. XX в. появились ламповые вычислительные устройства. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач. Программирование таких вычислительных машин осуществлялось исключительно на машинном языке, и все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм, не было. |
1955 – 1965 гг. | Появление новой технической базы – полупроводниковых элементов. Компьютеры второго поколения стали более надежными, теперь они смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. В эти годы появились первые алгоритмические языки, и первые системные программы – компиляторы. Стоимость процессорного времени возросла, что потребовало уменьшения непроизводительных затрат времени между запусками программ. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программ за другой, и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. |
1965 – начало 70-х гг. | В технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Программная совместимость требовала и совместимости операционных систем. Такие операционные системы должны были работать на больших и малых вычислительных системах с различными периферийными устройствами, и обеспечивать применение вычислительной системы в коммерческой области и в области научных исследований. ОС, удовлетворяющие всем требованиям, были громоздкими, сложными, они содержали множество ошибок, вызывающих нескончаемый поток исправлений. Примером такой ОС может служить OS/360 (фирма IBM).В этот период были реализованы почти все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, разграничение доступа, работа в сети.Мультипрограммирование – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Мультипрограммирование было реализовано в системах пакетной обработки и в системах разделения времени. Для возможности работы с компьютером большого числа пользователей были разработаны многотерминальные системы, когда каждый пользователь работает за своим терминалом. Многотерминальный режим использовался и в системах разделения времени, и в системах пакетной обработки. При этом и пользователи, и оператор могли формировать свои задания и управлять их выполнением со своего терминала. В режиме мультипрограммирования каждая программа загружается в свой участок оперативной памяти, называемый разделом. Другое нововведение в машинах третьего поколения – спулинг (spooling) – способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел. В это время ОС стали неотъемлемой частью компьютеров, взявшей на себя большую часть действий по организации вычислительного процесса. |
70-е – 1980 гг. | В начале 70-х гг. появились первые прототипы сетевых операционных систем, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными электрическими связями. К середине 70-х гг. получили большое распространение миникомпьютеры: Nova, PDP-11, HP. Их архитектура стала значительно проще, что упростило и операционные системы. ОС миникомпьютеров стали делать специализированными, например, только для управления в реальном времени (RT11 для PDP-11) или только для поддержания режима разделения времени. Эти операционные системы не были многопользовательскими. |
1980 – 90-е гг. | Этот период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. Функционально они ничем не отличались от миникомпьютеров типа PDP-11, но цена у них была существенно ниже. Что позволило иметь собственный компьютер практически каждому человеку, а не отделу или институту. Компьютеры стали использоваться неспециалистами, что потребовало «дружественности» от программного обеспечения. На рынке операционных систем в эти годы доминировали две системы: MS-DOS и Unix. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486.Мультипрограммная многопользовательская ОС Unix использовалась, в основном, на «неинтеловских» компьютерах, особенно построенных на базе высокопроизводительных RISC-процессоров. Все десятилетие происходило усовершенствование этой ОС, в результате чего стали появляться ее новые разновидности: SunOS, HP-UX, Irix, AIX.Значительное распространение персональных компьютеров послужило катализатором для бурного роста локальных сетей. Ещё одной важной разработкой этого десятилетия стало появление стека протоколов TCP/IP, становление Интернета, стандартизация технологий локальных сетей, и более интенсивное развитие сетевых операционных систем (OS-Net фирмы Nowell, OS/2 фирм Microsoft и IBM). |
Современный этап развития ОС | В 90-е годы почти все ОС становятся сетевыми, способными работать с разнородными клиентами и серверами, поддерживают средства работы с Интернетом. Появляются специализированные сетевые ОС, предназначенные исключительно для выполнения коммуникационных задач, например, система IOS фирмы Cisco Systems работающая в маршрутизаторах. Особое место уделяется корпоративным ОС, им отводится основная роль в развитии ОС в ближайшем будущем. Такая ОС должна устойчиво работать в крупных сетях больших предприятий. Для корпоративных систем характерна высокая степень масштабируемости, поддержка сетевой работы, развитые средства обеспечения безопасности, способность работать в гетерогенной среде. К корпоративным ОС в настоящее время относят Windows 2000, Windows NT, различные Unix-системы. |
Эволюция операционных систем состоит из следующих этапов:
- Последовательное выполнение заданий
- Простая пакетная обработка
- Мультипрограммирование в пакетных системах
- Разделение времени
- Современные ОС
Первая фаза развития ОС
Время ЭВМ дороже времени человека
- Один пользователь в один момент времени работает напрямую с консолью
- Первые «ОС» — общие библиотеки вв/выв
- Простой монитор пакетной обработки – убрать пользователя от компьютера. ОС – программа для загрузки и исполнения пользовательских заданий и сохранения результатов
- Каналы данных, прерывания, одновременное выполнение операций вв/выв и вычислений
- Защита памяти позволяет реализовывать многозадачность: несколько пользователей используют одну систему
- ОС должна управлять взаимодействием, параллельностью
- К середине 60х ОС становятся большими и сложными
- Область ОС становится важной дисциплиной со своими принципами
Вторая фаза развития ОС
Время человека дороже времени ЭВМ
- Интерактивное разделение времени: удобные файловые системы, проблемы с временем ответа
- Персональные компьютеры: они дешевые, поэтому каждый терминал – ПК
- Сеть позволяет организовать общий доступ и взаимодействие между машинами
- Встроенные устройства: компьютеры помещаются в сотовые телефоны, стерео проигрыватели, телевизоры и пр.
- Насколько там нужны сложные алгоритмы разделения времени.
Настоящее и будущее ОС
Будущее в научном развитии ОС
- Очень маленькие ОС (для мобильных устройств)
- Очень большие ОС (центр обработки данных, облачные вычисления)
Характеристики текущих ОС
- Огромные миллионы строк исходного кода, 100-1000 человеко-лет разработки
- Сложные: асинхронные, зависимые от аппаратного обеспечения, ориентированные на высокую производительность
- Плохо понимаемые
Направление исследований
Постоянно возникают новые направления исследований
- Встраиваемые системы (iPоd – плеер компании Apple потребовал разработки собственной унифицированной ОС)
- Системы сенсоров (очень низкое энергопотребление, жесткие требования в памяти)
- Одноранговые сети
- Беспроводные сети
- Маштабируемые системы, кластерные системы
Старые проблемы требуют новых подходов к решению
- Эволюция смартфонов повторяет эволюцию ПК, которая повторяла эволюцию миникомпьютеров, а они в свою очередь минифреймов