История развития операционных систем - ABCD42.RU

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

Краткая история операционных систем

История развития операционных систем насчитывает уже много лет.

Первое поколение (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 упала.

Эволюция операционных систем или как это было и как будет

Здравствуйте, Хабралюди!
Не многие знают и не многие помнят, с чего началась история компьютерного софта — операционные системы. Именно эту тему и выбрал школьник для своей МАН-овской работы (МАН — малая академия наук). Звучит оно так — эволюция операционных систем. Сразу скажу, что более 90% из Тырнета, но откопано далеко не в первых 2-х страницах поиска в Гугле.

Вступление

Компьютерные технологии в последнее время сделали значительный скачок вперед, и скоро невозможно будет представить наши жизни без помощи компьютера. Но без операционной системы компьютер — лишь набор микросхем. Именно на базе операционной системы работают все программы, которые мы используем, именно от ОС в первую очередь будет зависеть скорость и производительность нашего труда на компьютере.

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

Первая ОС

GM-НАА была первой операционной системой для компьютеров. Она была создана в 1955 году Робертом Патриком с General Motors и Оуэном Моком с North American Aviation. Она была основана на системном мониторе и работала на больших машинах. Основная функция GM-НАА — автоматическое выполнение новой программы, когда старая программа завершилась.

Возникновение Плато

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

Возникновение UNIX

Первая система UNIX была разработана в 1969 году в подразделении Bell Labs компании AT & T. С тех пор было создано большое количество различных UNIX-систем.Некоторые отличительные признаки UNIX-систем включают в себя:
1) Использование текстовых файлов для настройки и управления системой;
2) Широкое применение утилит, запускаемых в командной строке;
3) Взаимодействие с пользователем посредством виртуального устройства — терминала;
4) Представление физических и виртуальных устройств как файлов.
Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС. Эта операционная система популяризирует идею иерархической файловой системы с произвольной глубиной вложенности.

Linux

Linux была создана в 1991 году Линусом Торвальдсом, финским студентом. Тот факт, что Линус сразу после создания ОС выложил исходный код своей ОС в Интернет, был решающим в дальнейшей судьбе Linux. Хотя в 1991 году Интернет еще не был так широко распространен, как в наши дни, зато пользовались им в основном люди, которые имеют достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных отзывов с предложением помочь в разработке, на что Линус ответил согласием, и уже через полгода к разработке присоединились сотни, потом сотни тысяч добровольных помощников.В силу того, что исходные коды Linux распространяются свободно и общедоступно, к развитию системы с самого начала подключилось большое число независимых разработчиков.

MS-DOS

MS-DOS — коммерческая операционная система фирмы Microsoft для IBM PC-совместимых персональных компьютеров. MS-DOS работает в режиме реального времени процессора x86. Обеспечивается единовременное выполнение только одной программы. MS-DOS была спроектирована так, чтобы пользователи могли легко заменить встроенный интерпретатор посторонними интерпретаторами командной строки, например 4DOS.

Windows, куда ж без нее

В 1985 году появляется первая версия Windows, которая не была оценена пользователями и ее проигнорировали. Возможно потому, что она всего лишь дополняла возможности DOS, будучи фактически графической оболочкой и надстройкой над комплектом MS-DOS.
Со временем, система Windows все более совершенствовалась, появилась полноценная графика, лишила пользователей от видения системных файлов, был преодолен барьер многозадачности, что позволяет запустить 2-3 программы.В 1992 году с момента возникновения Windows 3.1, по мнению многих пользователей и профессионалов, новые возможности ОС были оценены по достоинству. С версии Windos3.1 ОС получила начало 32-разрядная доступность к жесткому диску.
В 1998 году, 25 июня, новая OC Windows 98 вышла на рынок потребителей. Преимуществом, по сравнению с предыдущими образцами, были: полная интеграция с Интернетом, более совершенное управление интерфейсом, новый процессор Pentium II, графический портал AGP, шина USB.
Параллельно с предыдущими, началась разработка системы Windows XP, где окончательно решено отказаться от 16-разрядности в ядре системы, и перейти на 32-разрядную, с новой архитектурой и строением. Из преимуществ новой системы необходимо отметить следующее: это первая из систем с полностью настраиваемым интерфейсом, внедрением интеллектуального меню «Пуск». Также оптимально переработана панель — управляющая ПК.
Появление после Widows XP новой системы Windows Vista считают самым неудачным вариантом после всех предыдущих выпусков ОС. Ее представляют, как «генеральную репетицию» перед Windows 7. Казалось бы, неплохие качества новой системы должны были заинтересовать пользователей. Такие новшевства как встроенный поиск, трехмерность интерфейса Aero с красивыми заставками, хорошую защиту — ничего не помогло, все выполнено крайне неудачно, по мнению пользователей.
Windows 7 мало чем кроме нового интерфейса отменялась от Vista. Вариантов Windows 7 выпущено 5: Starter Edition, домашняя базовая, домашняя расширенная, профессиональная, максимальная.
Windows 8 в отличие от своих предшественников — Windows 7 и Windows XP использует новый интерфейс под названием Modern(Metro). Также в системе присутствует и рабочий стол, но уже в виде отдельного приложения.

Мобильные ОС

Сейчас все больший интерес пользователей привлекают смартфоны на различных операционных системах: Windows Phone, Boda, IOS. Самыми популярными из них являются IOS и AndroidOS.

IOS — мобильная операционная система, созданная на ядре Linux и разрабатываемой и выпускаемой американской компанией Apple. Была выпущена в 2007 году изначально — для iPhone и iPod Touch. Сейчас же она установлена ​​на всех устройствах Apple. Такие нововведения как мобильный браузер Safari, визуальная голосовая почта, виртуальная клавиатура сделали IOS одной из наиболее популярных систем для смартфонов.

Андроид

Андроид — система, которая наиболее динамично развивается, разработанна для смартфонов(изначально для коммунникаторов(Айфон и его тачскрин изменили мнение Гугла)). Она является упрощенным вариантом аналогичных систем Windows и Linux, используемых на стационарных ПК и ноутбуках, ориентированной для тачскрина. Платформа Андроид состоит из операционной системы, интерфейса, связывающего ПО и мощных приложений.

Google Chrome OS (облачная ОС)

Chrome OS позиционируется как операционная система для различных устройств — от маленьких нетбуков до полноразмерных настольных систем и поддерживает x86-и ARM-архитектуры процессоров.
Новая ОС Google Chrome имеет открытый исходный код, основанный на оптимизированном Linux-ядре и управляется браузером Chrome.Главной особенностью будет доминирование веб-приложений над обычными функциями ОС. Ключевая роль при этом отводится браузеру.
Стратегия создания нового продукта подразумевает архитектуру, нетребовательную к аппаратным ресурсам персонального компьютера, используемого для выхода в сеть Интернет.
Все приложения, которые запускает система — веб-сервисы. Фактически, все действия, проходящих в на компьютере, выполняются в Интернете — нет необходимости устанавливать никаких офлайновых приложений. В связи с этим работа в Chrome OS не требует наличия у компьютера мощных ресурсов, ведь все процессы запускаются не на самом компьютере, а на серверах соответствующих служб.

Предсказания ворожеи

Операционная система пользователя становится чем-то похожим на веб-браузер, установленной на голое железо. Современный классический интерфейс (разработанный в Xerox PARC и впервые внедрен Apple почти 30 лет назад) отойдет в прошлое. Многие современные составных частей ОС станут просто не нужны, другие уйдут от пользователя и превратятся в сервисы API для программистов. Основным задачей ОС станет предоставление возможности запуска клиентской части облачных сервисов. И преимущества, которыми Microsoft в современном мире ОС, будет значительно уменьшены. Им придется придумывать новые способы привязки к себе пользователей и программистов в новом среде, более конкурентной, в сравнению с нынешней.
Многое зависит от решений, успехов и неудач крупных софтверных компаний, таких как Microsoft, Google. В отличие от той эволюции софта, которую мы наблюдали в девяностых и двухтысячных, новая эволюция все меньше зависет от производителей железа, и все больше — от производителей конечного ПО для пользователей.

Читайте также  Ветераны Великой Отечественной войны Карельского фронта

За криворукость не ругать, если что — поправлять, автора не матюкать.

Разбираем операционные системы по косточкам: как всё начиналось?

Определение

Операционная система — это программное обеспечение между приложением и оборудованием, то есть железными и не совсем составляющими компьютера. Основной её задачей является обеспечение оптимальной среды экзекуции для приложений. Стандартные функции ОС: предоставление разных уровней абстракций, защита и управление ресурсами. Разберём каждую отдельно.

Разные уровни абстракции

Абстракции необходимы для работы с hardware, так как без них использование металла практически невозможно. Также операционная система должна создавать виртуальные ресурсы или делать невозобновляемые ресурсы возобновляемыми. Примером невозобновляемых ресурсов может стать память (4GB виртуальной памяти vs 1GB физической памяти).

Защита

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

Например, что произойдет, если программе предоставится неограниченный доступ к памяти?

А если юзер попробует израсходовать все ресурсы?

Управление ресурсами

Многие ресурсы являются ограниченными, поэтому нужно максимально точно распределить их между приложениями и программами.

Что произойдёт, если сразу несколько программ запросят много памяти?

История в датах

1950 — Single user programmable computer.

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

1955 — Пакетная обработка (batch processing).

Очень скоро стало понятно, что такое использование компьютера очень неэффективно и неудобно для пользователей, так как сидеть в лаборатории в 3 часа ночи в одиночестве и ждать результатов — такая себе перспектива. К тому же, это затратно в плане времени, ведь компьютер не был занят никакими процессами во время настройки и загрузки программы.

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

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

1965 — IBM System/360

Этот мэйнфрейм со стандартной архитектурой был разработан для научного и коммерческого программирования. OS/360 был операционной системой System/360.

1959-1965 — Time-Sharing OS: CTSS (Compatible Time Sharing System)

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

1963-1970 — Time-sharing OS: Multics

MIT, Bell Labs и GE изменили дизайн всего. Появилось кастомизированное оборудование, увидели свет новые языки программирования и операционные системы. Несмотря на то, что эта система никогда по-настоящему не работала, она является самой влиятельной ОС, так как положила начало Unix, MacOS, Linux и Windows.

1969 — Time-sharing OS: Unix

Кен и Деннис

Кен Томпсон и Деннис Ритчи (Bell Labs) разработали операционную систему Unix. Система написана на языке высокого уровня — языке С. Unix обладала простой оболочкой, которую можно было заменить на другую. Файловая система представляла собой структуру-дерево, а сами файлы были имплементированы в виде неструктурированных последовательностей байтов. Также операционная система обладала многопроцессорностью: одни процессы могли создавать другие. В приоритете была интерактивная система. Множество пользователей имели одновременный доступ к компьютеру через неинтеллектуальные терминалы. В первой Unix системе не было компоновщика. Наверно, этот концепт не был известен в то время. Но вполне возможно, что его просто забыли имплементировать. И такое бывает.

Эволюция Unix и Unix-like систем с 1969 по 2008 год

IEEE разработал стандарт для Unix систем (POSIX), чтобы избежать хаоса. Этот стандарт представляет собой набор системных вызовов, который должен поддерживаться операционными системами Unix.

Продолжение развития


IBM Personal Computer

Данный экспонат обладал микропроцессором Intel 8088 4.77 MHz и имел цветной монитор. Его стоимость составляла 6000$. Открытая архитектура позволяла юзерам писать собственный софт и производить оборудование.


MS-DOS

Ранняя DOS была очень примитивной, если так можно сказать об операционной системе. Microsoft разработала основанную на GUI систему Windows, которая работала на MS-DOS (в самом начале OC Windows была простым GUI для MS-DOS). Windows 95 и 98 были GUI операционными системами, разработанными на 16-bit Intel ассемблере. В 90-х также вышла в свет ОС Windows NT ( “New Technology”) .За Windows 98 появились Windows 2000 (Windows NT версия 5.0), Windows XP, Windows Vista и Windows 7.

1991 — Linux

Open source операционная система, которую разработал Линус Торвальдс на основе 80386 процессора. Linux v.01 запускалась на ограниченном количестве устройств и не имела абсолютно никакого нетворкинга. Зато с соответствующей Unix поддержкой ;)

Все последующие релизы обозначались четным числом, если версия считалась успешной, и нечетным — если там были косяки и недоработки.

Зоопарк Операционных Систем

После развития разных ОС основной целью стала разработка уникальной операционной системы, которая запускалась бы на всех устройствах. Все перечисленные выше ОС предназначены лишь для какого-то определенного вида оборудования.

Мэйнфреймные ОS

Стали развиваться мэйнфреймные операционные системы. Мэйнфрейм — это огромная компьютерная система, обычно занимающая целую комнату. Она довольно дорогая (>1 млн EUR). Такие компьютеры содержат много процессоров (доходит до 64) и еще больше дисков (>1000, иногда даже >65 000).

RAM у таких устройств соответствующая (> 100 GB). Такие системы очень надежные: никаких ребутов в течение 10 лет, а то и дольше. Они оптимизированы для обработки больших данных на высокой скорости. Мэйнфреймы обычно продаются вместе с ПО: System/z с z/OS, IBM 390 с OS/390, IBM 360 с OS/360.

Серверные ОS.

Подобное серверное устройство подключено к сети. Непринципиально, к какой (например, к TCP/IP или SNA) . Такое устройство должно предоставлять услуги множеству пользователей (email-server, web-server, printing-server, Application-server и другие). Эта система должна быть всегда доступна для клиента, то есть, downtime не должно составлять более одного часа в неделю (зависит от конкретного случая, конечно). Также вид платформ не должен влиять на доступ пользователей к серверу. Серверные системы работают на Unix/Linux (Enterprise Edition) операционных системах.

Personal Computer ОS

Модифицированная серверная операционная система с GUI. Обычные ОС на таких устройствах — Linux, Android, Windows 98, XP, Windows 8, Mac OS (BSD Unix), iOS. Такая система обеспечивает эффективную коммуникацию с пользователем через GUI. Ещё одним преимуществом является доступ к интернету. Не на последнем месте находятся мобильность и выполнение операций offline, так как было бы проблематично положить мэйнфрейм в рюкзак. Зато так можно сделать с ноутбуком.

Real-Time ОS

Такие системы выполняют задания за определенный период времени и могут реагировать на изменения. Обычно они нуждаются в приложениях контроля. Real-Time OS встречается, например, в контрольной системе ядерного реактора или в системах наблюдения. Также данный вид ОС используют во многих медицинских приборах. Параллелизм является проблемой, так как надо обеспечить 100%-ую гарантию того, что какой-нибудь процесс не будет прерван другим. Типичным ПО для таких систем являются Realtime Linux, QNX, VxWorks.

Embedded Systems OS

Встраиваемые системы (Embedded Systems) представляют собой малые или очень маленькие вычислительные системы. К малым относятся мобильные телефоны. Они похожи на PC, но у них более ограниченный функционал. Эти системы работают на Embedded Linux, Windows CE, Symbian. К очень маленьким можно отнести микроконтроллеры и сенсоры. Они предназначены для выполнения узкого спектра задач. ПО: VxWorks, QNX, TinyOS.

Chip Cards OS

Это, наверно, самые маленькие системы, которые встречаются в кредитных картах. У них тоже есть ЦП и память, но микроскопические. Такие системы чаще всего используются в целях безопасности. Некоторые модели ориентированы на Java.

Для более углубленного изучения операционных систем советуем вам ознакомиться с нашими статьями 7 книг по UNIX/Linux и UNIX-подобная операционная система: пишем ядро на языке C.

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

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

ОС относятся к классу системного программного обеспечения, куда кроме них входят такие типы программ, как трансляторы и интерпретаторы языков программирования, компоновщики и загрузчики, различные вспомогательные программы (утилиты). Важнейшей особенностью ОС являются их теснейшая связь с архитектурой базового процессора, аппаратная поддержка многих важнейших функций. Все современные процессоры, прежде всего – семейства Intel, имеют в своем составе соответствующие компоненты и проектируются уже с учетом реализации данных функций. Это обеспечивает высочайшую скорость выполнения данных функций, хотя и уменьшает возможность переноса ОС на другую аппаратную платформу. Место ОС можно показать на следующей схеме:

ОС рассматривает компьютер как набор различных ресурсов, необходимых для решения некоторой задачи. Все ресурсы обычно делятся на две большие группы: физические и логические. К основным физическим ресурсам относятся: основная память, центральный процессор, внешняя память, устройства ввода и вывода данных, дополнительные внешние устройства. К логическим ресурсам относятся: файлы, программные модули, внутренние информационные структуры, различные системные объекты. Управление этими ресурсами с целью наиболее эффективного и удобного их использования и представляет собой важнейшее назначение ОС. Операционные системы развиваются уже более 50 лет, и за это время был накоплен огромный практический опыт, проверены различные идеи и концепции, составляющие основу современных ОС. В истории развития ОС можно выделить следующие основные этапы (еще раз обращаем внимание на теснейшую связь ОС с техническими возможностями компьютеров).

1. 50-е годы ХХ века: осознание необходимости создания специальных программ, упрощающих выполнение часто повторяющихся рутинных операций (считывание с устройства ввода текста программы, трансляция программы на язык машины, размещение созданного машинного кода в памяти, контроль выполнения этого кода, вывод результатов на устройство вывода). Появляются первые управляющие программы-мониторы как прообраз будущих ОС. Особенностью этих программ по сравнению с прикладными программами было то, что они предназначались не для решения конкретной задачи обработки данных, а для управления процессом обработки.

Читайте также  Политическая система России в 15 - 17 веках

2. 60-е годы. Важнейшим техническим событием этих лет было создание компанией IBM первого семейства универсальных ЭВМ широкого использования – семейства IBM/360. Для этого семейства было разработано несколько версий ОС с общим названием OS/360. В этих ОС были реализованы и впервые широко опробованы многие базовые идеи, используемые и до сих пор. Одной из таких концепций является многозадачность, когда в одной вычислительной системе предпринимается попытка одновременного выполнения нескольких программ. Поскольку разным программам в одно и то же время могут требоваться разные ресурсы, появляется возможность разумного распределения этих ресурсов с целью наиболее эффективной загрузки различных устройств. Это в целом уменьшает суммарное время выполнения набора задач, хотя время выполнения одной конкретной программы может возрасти. Реализация многозадачности потребовала решения ряда важнейших задач, среди которых надо отметить следующие:

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

3. 70-е годы характерны следующими моментами:

  • все более широкое распространение «в массах» мини-компьютеров, лидерами среди которых являлась компания DEC со своей серией машин марки PDP/VAX. Для них были созданы свои ОС, более простые по сравнению с OS/360, но обладающие, тем не менее, достаточно серьезными возможностями, включая поддержку многозадачного режима;
  • реализация многопользовательского режима работы, когда с одной вычислительной системой одновременно работает несколько пользователей со своих терминалов;
  • безусловно, важнейшим событием было создание ОС UNIX как основы мобильных ОС, легко переносимых на разные аппаратные платформы. Это свойство системы обеспечивалось написанием практически всего программного кода на языке высокого уровня С и наличием трансляторов с этого языка для всех основных типов процессоров. Исходный код системы UNIX открыто распространялся всем желающим, что сделало данную систему исключительно популярной в мире. Правда, эта популярность имеет и обратную сторону: было создано множество вариантов Unix-подобных систем, которые далеко не всегда могли быть совмещены друг с другом.

4. 80-е годы – это:

  • начало эры персональных компьютеров;
  • начало развития сетевых технологий.

Для ПК потребовалась очень простая и дешевая ОС, реализующая лишь самые необходимые функции для работы одного пользователя с одной-единственной программой в каждый момент времени. Конечно, по сравнению с мощными ОС для «больших» машин появление таких систем для ПК можно рассматривать как шаг назад, но при этом необходимо помнить об очень скромных вычислительных возможностях процессоров ПК тех лет. Поэтому ОС для ПК фактически реализовывали лишь функции управления файлами, простейший ввод/вывод данных, простейшее управление памятью и самый примитивный диалог с пользователем. Базовой ОС для ПК стала простая система DOS (Disk Operating System), созданная малоизвестной компанией Microsoft на основе системы CP/M, весьма популярной в то время на рынке микропроцессоров. Необходимо признать, что эта система свою роль сыграла, приобщив к компьютерам миллионы людей. К концу десятилетия развитие микроэлектронной базы позволило создать для ПК существенно более мощные ОС, приближающиеся по своим возможностям к ОС больших и средних ЭВМ. Пожалуй, одной из первых в этом семействе была система MacOS для ПК Macintosh фирмы Apple, которая еще в середине 80-х годов поддерживала графический оконный пользовательский интерфейс, что прежде всего объясняется использованием более мощного базового процессора фирмы Motorola. Для платформы Intel в конце 80-х совместно компаниями IBM и Microsoft была создана мощная многозадачная и многопользовательская система OS/2, которая, к сожалению, в настоящее время уже не поддерживается компанией IBM, не выдержав конкуренции с системой MS Windows.

Что касается сетевых технологий, то в эти годы наиболее полную свою реализацию они получили в составе различных версий системы Unix, таких как System V, BSD, SunOS/Solaris, IBM AIX. Все эти ОС были многопользовательскими и многозадачными, поддерживали иерархическую организацию файлов на дисках и механизм виртуальной памяти.

5. 90-е годы: следуя все еще действующему предсказанию Гордона Мура, вычислительные мощности процессоров ПК продолжали неуклонно расти, что дало возможность постепенно перейти от простейших ОС типа MS DOS к более мощным и удобным. С середины 90-х начинается «победоносное» распространение по миру ОС семейства Windows – от весьма слабой версии Windows 95 до вполне приличной для повседневной работы Windows МЕ (Millennium Edition). Кроме того, постепенно это семейство распространилось и на сектор сетевых ОС в виде «тяжеловесной» системы NT (т.е. New Technology) и ее более поздней реализации Windows 2000 (версии Professional, Server, Advanced Server, Datacenter). Реальную конкуренцию системам семейства MS Windows составляет лишь старая добрая система UNIX, которая в 90-е годы получила мощное подкрепление в виде своей разновидности Linux, первоначально созданной для процессоров Intel, но потом мигрировавшей и на другие платформы.

6. В первое десятилетие нового века ситуация на рынке ОС складывается следующим образом:

  • Компания Microsoft продолжает развивать свое семейство Windows как в пользовательском, так и серверном варианте. Для массового использования были последовательно выпущены версии XP, Vista и W7. Основные серверные версии – Server 2003 и Server 2008. Одной из важнейших особенностей последних версий является поддержка 64-разрядных процессоров.
  • Мировое сообщество совершенствует ОС Unix, прежде всего – Linux. Успех этой ОС объясняется ее неприхотливостью, надежностью и безопасностью, открытостью исходного кода с возможностью настройки его под свои требования. Наиболее известные версии Linux — это Ubuntu, Mandriva, ASP, OpenSUSE, Debian.

7. Наконец, в начале второго десятилетия наиболее знаковым явлением можно считать бурное развитие ОС для мобильных устройств (смартфонов, планшетов). «Зачинщиком» этого процесса выступили фирма Apple и ее главный идеолог Стив Джобс (увы, уже покинувший наш мир), выпустившие легендарную систему iOS. Основные конкуренты – это Google Android и MS Windows Phone.

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

  1. Универсальные пользовательские системы для массовых ПК, основное назначение которых – создание удобной среды для работы пользователя со множеством приложений в условиях непредсказуемой многозадачности. Здесь около 90% систем составляют ОС семейства Windows, хотя и наблюдается некоторое смещение в сторону Linux-систем.
  2. Серверные системы для управления работой корпоративных сетей с решением таких задач, как взаимодействие с клиентскими системами, управление пользователями с разграничением прав, обеспечение безопасности данных. В этом сегменте наблюдается примерно равное использование систем семейства Windows и систем на основе Unix/Linux.
  3. Системы для мобильных устройств с ограниченными возможностями.
  4. Специализированные системы для управления быстротекущими процессами, где главный критерий – скорость реакции (системы реального времени). Это требование приводит к тому, что внутренняя организация таких систем существенно отличается от универсальных. Наиболее известной ОС данного класса является система QNX.

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

  • рациональное распределение физических и логических ресурсов между работающими приложениями;
  • предоставление разработчикам и приложениям широкого спектра системных функций уровня API (Application Program Interface, Интерфейс прикладного программирования);
  • поддержка сетевых взаимодействий на основе стандартов и протоколов;
  • обеспечение безопасности данных.

В свою очередь, первая функция включает в себя решение следующих задач:

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


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

статьи IT, теория программирования, история, операционные системы

Эволюция операционных систем

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

Содержание

История ОС насчитывает примерно полвека. Она во многом определялась и определяется развитием элементной базы и вычислительной аппаратурой.

Первое поколение.

40-е годы. Первые цифровые вычислительные машины без ОС. Организация вычислительного процесса решается программистом с пульта управления.

Второе поколение.

50-е годы. Появление прообраза ОС — мониторные системы, реализующие систему пакетной обработки заданий.

Пакетный режим

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

Третье поколение.

1965-1980 г.г. Переход к интегральным схемам. IBM/360. Реализованы практически все основные концепции, присущие современным ОС: разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы. Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера: привилегированный и пользовательский режимы, средства защиты областей памяти, развитой системы прерываний.

Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких, как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие, как массивные вычисления) — в пакетном режиме.

Разделение полномочий

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

Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

Читайте также  История и устройство микрофонов

Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

Такие операционные системы получили название Операционные системы с планированием в реальном масштабе времени или сокращенно ОСРВ.

Файловые системы и структуры

Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных диск)

Четвертое поколение.

Конец 70-х. Создан рабочий вариант стека протоколов TCP/IP. В 1983 году он был стандартизирован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой Интернет, сделала этот стек протоколов основным стеком для большинства ОС.

Начало 80-х. Появление персональных компьютеров. Бурный рост локальных сетей. Поддержка сетевых функций стала необходимым условием. 80-е годы. Приняты основные стандарты на коммуникационные технологии локальных сетей: Ethernet, Token Ring, FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях.

Начало 90-х. Практически все ОС стали сетевыми. Появились специализированные сетевые ОС (например IOS, работающая в маршрутизаторах)

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

Операционные системы (архив ИПМ специалисты, бакалавры 2001г — 2021г, Богомолов)

  • Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт) подробнее>>

1.1 История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

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

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

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

Системы разделения времени — вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

В это время была разработана многопользовательская система MULTICS, которая должна была обеспечивать одновременную работу сотни пользователей.

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI — Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года выпустили Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

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

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

В 1987г. была выпущена операционная система MINIX, она была построена на схеме микро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

1.2 Назначение ОС

1.2.1 ОС как виртуальная машина

ОС предоставляет пользователю виртуальную машину, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину.

Например, чтобы считать или записать информацию на дискету, надо:

Запустить двигатель вращения дискеты

Управлять шаговым двигателем перемещения головки

Следить за индикатором присутствия дискеты

Выбрать номер блока на диске

Выбрать номер сектора на дорожке

Все эти функции берет на себя операционная система.

1.2.2 ОС как система управления ресурсами

Чтобы несколько программ могло работать с одним ресурсом (процессор, память), необходима система управления ресурсами.

Способы распределения ресурса:

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

Пространственный — программа получает часть ресурса, например, так система управляет оперативной памятью и жестким диском.

1.3 Интерфейс прикладного программирования

API (Application Programming Interface) — интерфейс прикладного программирования, .

Интерфейс между операционной системой и программами определяется набором системных вызовов.

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

Рассмотрим наиболее часто применяемых системных вызовов стандарта POSIX. В POSIX существует более 100 системных вызовов.

fork — создание нового процесса

exit — завершение процесса

open — открывает файл

close — закрывает файл

read — читает данные из файла в буфер

write — пишет данные из буфера в файл

stat — получает информацию о состоянии файла

mkdir — создает новый каталог

rmdir — удаляет каталог

link — создает ссылку

unlink — удаляет ссылку

mount — монтирует файловую систему

umount — демонтирует файловую систему

chdir — изменяет рабочий каталог

В UNIX вызовы почти один к одному идентичны библиотечным процедурам, которые используются для обращения к системным вызовам.

Рассмотрим интерфейс прикладного программирования для Windows — Win32 API. Win32 API отделен от системных вызовов. Это позволяет в разных версиях менять системные вызовы, не переписывая программы.

Поэтому непонятно является ли вызов системным (выполняется ядром), или он обрабатывается в пространстве пользователя.

В Win32 API существует более 1000 вызовов. Такое количество связано и с тем, что графический интерфейс пользователя UNIX запускается в пользовательском режиме, а в Windows встроен в ядро. Поэтому Win32 API имеет много вызовов для управления окнами, текстом, шрифтами т.д.

Рассмотрим вызовы Win32 API, которые подобны вызовам стандарта POSIX.

CreatProcess (fork) — создание нового процесса

ExitProcess (exit) — завершение процесса

CreatFile (open) — открывает файл

CloseHandle (close) — закрывает файл

ReadFile (read) — читает данные из файла в буфер

WriteFile (write) — пишет данные из буфера в файл

CreatDirectory (mkdir) — создает новый каталог

RemoveDirectory (rmdir) — удаляет каталог

SetCurrentDirectory (chdir) — изменяет рабочий каталог

Интерфейс Win32 API позволяет программам работать почти на всех версиях Windows

1.4 Структура операционных систем

1.4.1 Монолитная система

Главная программа, которая вызывает требуемые сервисные процедуры.

Набор сервисных процедур, реализующих системные вызовы.

Набор утилит, обслуживающих сервисные процедуры.

Простая модель монолитной системы

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

Этапы обработки вызова:

Выполняется переход из режима пользователя в режим ядра

ОС проверяет параметры вызова для того, чтобы определить, какой системный вызов должен быть выполнен

После этого ОС обращается к таблице, содержащей ссылки на процедуры, и вызывает соответствующую процедуру.

1.4.2 Многоуровневая структура ОС

Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровни образуются группами функций операционной системы — файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом — выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням.

Пример структуры многоуровневой системы

Большой код ядра, и как следствие большое содержание ошибок

Ядро плохо защищено от вспомогательных процессов

Пример реализации многоуровневой модели UNIX.

Структура ОС UNIX

Пример реализации многоуровневой модели Windows

Структура Windows 2000

1.4.3 Модель экзоядра

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

1.4.4 Микроядерная архитектура (модель клиент-сервер)

Эта модель является средним между двумя предыдущими моделями.

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

В этой модели вводятся два понятия:

Серверный процесс (который обрабатывает запросы)

Клиентский процесс (который посылает запросы)

В задачу ядра входит только управление связью между клиентами и серверами.

Малый код ядра и отдельных подсистем, и как следствие меньшее содержание ошибок.

Ядро лучше защищено от вспомогательных процессов.

Легко адаптируется к использованию в распределенной системе.

1.4.5 Обобщение сравнения моделей

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: