Контакты

Русская операционная система или Windows? Новая российская операционная система для ПК. Российские операционные системы Операционная система рф

В интернете патриотов троллят в стиле: «Вот вы читаете это сообщение на китайском компьютере с американскими программами, не православно это» . Вот если бы иметь все полностью отечественное… Тем более, что сейчас «под эту лавочку» можно запросто выиграть крупный госконтракт: ради такого дела многие производители оборудования уже начали выпускать его на контрактных заводах среди милых нашему сердцу берез.

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

Не очень российская ROSA Linux

Вот, например, ROSA Linux (читается не как «роза», а как «роса», которая по утрам на траве). Вряд ли ее можно считать полностью российской, потому что это на самом деле дальнейшие ветви развития зарубежных сборок Mandriva и Red Hat. Версия для домашних пользователей называется Rosa Fresh; последний билд вышел в августе 2016 года.

Преимуществом этой бесплатной сборки по сравнению с той же Ubuntu является возможность выбора графического интерфейса (KDE или Gnome), наличие драйверов «из коробки» для большого количества устройств, включая проприетарные (скажем, видеокарты NVIDIA), и предустановленного ПО - типа Skype, Java, Flash, Steam, собственного всеядного медиаплеера и т.п., а также удобных средств для создания точек восстановления.

Рабочий стол операционной системы ROSA 2012LTS.

Astra Linux

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

Сейчас актуальны «Орел» - версия для повседневных офисных, простите, конторских задач и «Смоленск» для работы со сведениями категории «Совершенно секретно». Готовится к выходу «Новороссийск» - мобильная версия ОС для смартфонов и планшетов с ARM-процессорами.

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

Операционная система общесистемного назначения Astra Linux Common Edition.

ПО для спецслужб

«Заря» - еще одна сборка Linux специального назначения (на базе Red Hat), она используется исключительно в российской армии и существует в виде нескольких сборок - для рабочих станций, для ЦОД, для специализированных компьютеризированных комплексов и т.п.

Также существует МСВС - «Мобильная система Вооруженных Сил» и GosLinux - ОС для Федеральной службы судебных приставов (тоже на базе Red Hat). По последней есть статистика: она установлена на 660 серверов и 16 тыс. рабочих станций, при этом стоимость копии в пересчете на один компьютер оказалась равна 1500 рублей. По мере установки на большее число ПК к концу 2016 года (тогда она будет установлена на половине компьютеров ФССП) средняя стоимость снизится до 800 рублей. В любом случае это в несколько раз дешевле лицензий на Windows и MS Office.

«Эльбрус»

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

ВК Монокуб-PC – персональный компьютер на базе микропроцессора Эльбрус-2С+ с операционной системой «Эльбрус» / МЦСТ.

ПО с нуля

Все вышеперечисленные операционные системы, к сожалению, не являются полностью российскими разработками, поскольку это различные вариации на тему зарубежного Linux. Однако есть у нас и полностью своя ОС под названием «Фантом», разработанная с нуля.

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

Проблема «Фантома» только одна: под него нужно писать (или портировать из Unix-систем) прикладное ПО, а тут возникает проблема курицы и яйца: пока не будет хоть какого-то проникновения ОС, никто не захочет писать под нее программы, а пока нет программ - не будет проникновения.

Чтобы сделать и ОС, и программы одновременно, нужны огромные инвестиции, которых у небольшой компании Digital Zone, автора «Фантома», нет. Поэтому система существует в виде альфа-версии для 32-разрядных процессоров x86 и перспективы ее дальнейшего развития весьма туманны.

Собственно, программам не нужно уметь записывать свое состояние в файл, да и вообще «Фантом» оперирует не «файлами», а «объектами». По заявлению создателей ОС, писать программы под нее значительно легче и на 30% дешевле.

Маскировка под российское ПО

Следует вспомнить еще и о шуме, который возник вокруг Sailfish OS после того, как наш министр Николай Никифоров встречался с руководителями финской Jolla. Год назад Jolla была куплена российским бизнесменом Григорием Березкиным и даже выиграла конкурс Минкомсвязи на импортозамещение в сегменте ОС для мобильных устройств.

С тех пор ничего не произошло, да и ничего российского, кроме покупателя, в Sailfish пока нет. Тем не менее, ведутся разговоры о том, что в России в «Иннополисе» будет разрабатываться новая мобильная ОС, нацеленная на экспорт.

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

Николай Никифоров

министр связи и массовых коммуникаций Российской Федерации

И тут есть определенный логический трюк: Никифоров считает открытую операционную систему Sailfish одним из возможных кандидатов на то, чтобы стать платформой для дальнейшего импортозамещения в сфере IT. Однако о том, что в «Иннополисе» будут разрабатывать именно Sailfish, ничего не говорится. Зато говорится о том, что компания «Открытая мобильная платформа», принадлежащая, внезапно, Березкину, лишь возьмет за основу зарубежную Sailfish и доработает ее для простых российских пользователей. То есть, это не очередной «Линукс для госсектора», а ОС для массового рынка.

Давайте отбросим все эти обтекаемые формулировки: понятно, что под видом российской мобильной ОС нам покажут именно перелицованную Sailfish. Она, в свою очередь, является Linux-подобной наследницей платформ MeeGo и Maemo, которые разрабатывались в Nokia и были «убиты» Стивеном Элопом, засланным казачком от Microsoft, ибо являлись конкурентами Windows Phone. Один аппарат, Nokia N9, успели, впрочем, выпустить.

Во время загрузки произошла ошибка.

Как выглядит система Sailfish OS 2.0 для пользователей устройств Jolla.

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

Главное преимущество Sailfish заключается в отсутствии зависимости от Google и ее сервисов (именно ради этого, например, Samsung разрабатывала Bada и Tizen). Пользователю обещают немного магии, как у Apple, а программистам - простоту создания приложений без проблем с фрагментацией. По слухам, на Sailfish выйдет Yotaphone 3.

Что в итоге?

В сухом остатке мы имеем вот что: все «живые» российские ОС на самом деле являются переработанными для конкретных задач сборками Linux. Свои задачи по экономии госбюджета и обеспечению сохранности данных они выполняют. Градус патриотизма повышают. Сисадминам и разработчикам ПО рабочие места дают. То есть, все отлично.

Думаю, что любой из читателей данной статьи уже не считает синонимами слова «Операционная система» и «Windows», т.к. знает как минимум ещё одну или несколько других систем. Для многих это будет Андроид, ещё для значительного круга известны Windows Phone и iOS, чуть меньше людей слышали про OS X, FreeBSD и Ubuntu. Все эти операционные системы разрабатываются западными (преимущественно американскими) организациями. На первый взгляд некуда бросить свой взор русскому человеку... ан нет. Есть и у нас свои мастера.

Мы уже привыкли, что информационные технологии для России являются не предметом творчества, а предметом пассивного изучения. Да, мы знаем антивирус мирового уровня от Касперского или на данный момент лучший распознаватель текста FineReader тоже от российской компании. Кто-то вспомнит Dr.Web. Но в общем контексте это, если не капля, то небольшая лужица в море, составляющем наш компьютерный кругозор. Данная иллюзия ошибочна, т.к. оцениваются не все активные участники ИТ-сообщества, а только те, кто себя активно продвигает через рекламу или менеджеров по продажам. А кто оказывается за бортом нашего кругозора? Да десятки тысяч отечественных разработчиков разного уровня профессионализма и разных областей решаемых задач.

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

Я решил рассмотреть первую (РОСУ), т.к. предполагаю, что она наиболее удобна для бывших пользователей Windows из всех мною перепробованных. Точнее: редакцию «для народа» - Fresh (т.е. «Свежая» РОСА).

https://pp.vk.me/c622330/v622330599/4a111/e-lkYhJxA2M.jpg

Главная проблема для пользователя новой операционной системы - освоение новой логики работы с компьютером (ведь РОСА - не клон Windows, а совершенно другая ОС). Например, человек, решивший пересесть на OS X от Apple должен будет решительно отвергнуть привычки виндовода квплоть до "горячих клавиш". Тут у российской операционной системы проблем минимум: нижняя панель напоминает по логике работы привычную «Вендовую», а устройство меню (условно назовём его «ПУСК») порадует своей простотой и функциональностью.


https://pp.vk.me/c624419/v624419599/61c93/7xQG0ybJAO4.jpg

Но это только внешняя «косметика». Внутри имеются все необходимые даже довольно продвинутому пользователю инструменты: встроенные проигрыватели огромного числа форматов, полноценный офисный пакет (аналог MS Office), редакторы графики, аудио и видео, почтовый клиент, два(!) браузера для любителей из разных лагерей (Firefox и Chromium), клиент, способный подключиться к ICQ и QIP, утилиты записи загрузочных флешек и дисков. Если нужно, доустанавливаем Skype, TeamViewer и другие полезные программы через удобный и лаконичный установщик программ (большинство программ ставится и обновляется через один этот инструмент без нужды обновляться вручную).


https://pp.vk.me/c622330/v622330599/4a11b/dmMw9LEA8S4.jpg

И даже при всей массивности предустановленного набора программ РОСА умудряется загружаться и выключаться быстрее продукции редмондской корпорации. А проблема вирусов будет беспокоить только тех, кто их целенаправлено устанавливает в систему. «Внезапно» на компьютере они не могут появиться.

При всём этом в системе есть множество уникальных возможностей для Windows-пользователя. Чего стоит только возможность в два клика раздавать WiFi-интернет со своего ноутбука или возможность после включения «режима заморозки» издеваться экспериментами над системой, а потом после перезагрузки увидеть систему в «предзамороженном» состоянии.


https://pp.vk.me/c622330/v622330599/4a125/cm1N-A-A-Ok.jpg

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

Ещё одним преимуществом российской ОС является активное и доступное русскоязычное сообщество

В лекции дан исторический обзор ОС, как зарубежных, так и отечественных (ОС ДИСПАК, ОС "Эльбрус" и др.). Рассмотрены основные режимы работы пользователей и заданий в ОС (пакетный, мультипрограммирование, разделение времени).

    Введение

    История ОС

    Диалекты UNIX

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

    Особенности операционных систем для компьютеров общего назначения (mainframes)

    Распределение памяти в однозадачной ОС с пакетной обработкой заданий

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

    Режим разделения времени и особенности ОС с режимом разделения времени

    Ключевые термины

    Краткие итоги

    Набор для практики

    • Темы для курсовых работ, рефератов, эссе

Введение

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

История ОС

В ранних mainframe-компьютерах (1940-1950 гг.), первым из которых был компьютер ENIAC (1947 г., США), операционные системы отсутствовали. Обращение к памяти в этих компьютерах осуществлялось по реальным (физическим) адресам, а обращение к внешним устройствам (например, к устройству ввода с перфокарт или накопителю на магнитной ленте) осуществлялось специальными командами, также по физическим адресам. Подобные компьютеры были весьма громоздкими, каждый из них занимал большой зал, в котором пользователи по очереди работали на компьютере, используя столь неудобный интерфейс, как инженерный пульт. Каждый пользователь перед уходом "с машины" (как тогда говорили) останавливал и "обнулял" ее нажатием кнопок на пульте и уступал место следующему пользователю, который вводил свою программу и данные с перфокарт или перфоленты, набирал ее начальный адрес тумблерами на пульте и запускал ее с помощью специальной кнопки. При любом сбое или ошибке в программе, в ситуации приходилось разбираться, изучая комбинации лампочек на пульте, воспроизводящие в двоичном виде содержимое регистров.

Разумеется, подобный способ взаимодействия с компьютером был очень неудобен. Требовалась хотя бы минимальная автоматизация. Для этого в 1950-х – 1960-х гг. – были созданы диспетчеры (dispatchers) - предшественники ОС, системные программы, управлявшие прохождением пакета задач, вводимых с перфокарт. Например, такой диспетчер (названный ДМ-222) использовался на ЭВМ М-222 в середине 1970-х гг., на котором студенты мат-меха, в том числе и автор курса, пропускали свои студенческие задания. Выглядело это следующим образом. Студент писал свою программу (или исправления к ней – так называемую "добивку") на специальных бланках и сдавал в перфорацию, затем получал перфокарты и отдавал колоду перфокарт с программой оператору машинного зала. Через несколько часов он мог рассчитывать получить результаты своей программы – колоду перфокарт обратно и распечатку результатов. В машинном зале оператор вводил очередное задание с перфокарт. Программа-диспетчер копировала образ введенной колоды перфокарт с заданием на ленту ввода , на которой хранились все образы заданий в хронологическом порядке их ввода, независимо от требуемых для них ресурсов – времени и объема памяти. Диспетчер осуществлял запуск заданий по очереди, по принципу FIFO (First-In-First-Out) – в порядке поступления. Выбирая из очереди некоторое задание, диспетчер размещал его в памяти и запускал. По окончании задания (или при его прерывании вследствие ошибки) на печатающее устройство выдавалась распечатка результатов. Затем управление передавалось следующему заданию. Такой режим доступа к компьютеру был, конечно, гораздо удобнее, чем работа с пульта. Недостатки его в том, что, во-первых, программы пропускались по очереди (отсутствовала одновременная обработка нескольких заданий), во-вторых, ресурсы, требуемые для выполнения задания, никак не учитывались, и программа, требующая для выполнения всего 1 мин., должна была ожидать завершения большой задачи, требовавшей для выполнения, например, пяти часов, - только потому, что последняя была раньше введена в систему.

В 1960-х – 1970-х гг. были разработаны классические операционные системы, которые все более и более усложнялись. Все более сложными становились их системы файлов и другие компоненты ОС. Наиболее известные из операционных систем этого периода: среди зарубежных - ATLAS, MULTICS, OS IBM/360, среди отечественных – ОС ДИСПАК для ЭВМ БЭСМ-6. Для классических операционных систем были характерны следующие основные возможности:

    мультипрограммирование (multi-programming) – одновременная обработка нескольких заданий;

    пакетная обработка (batch mode) – обработка пакета заданий, введенных с перфокарт или с терминалов, с учетом их приоритетов и требуемых ресурсов

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

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

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

Первая мобильная ОС была разработана в 1970 г. Брайаном Керниганом (B. Kernighan) и Деннисом Ритчи (D. Ritchie) в фирме AT & T и получила название UNIX. Даже в самом ее названии заложено своего рода противопоставление MULTICS (multi - много, uni – один) – последняя, известна своей усложненностью. Этим названием авторы подчеркивали основную идею UNIX – унификацию и упрощение представления файлов и операций над ними (в UNIX файл – это последовательность байтов), пользовательских программ и процессов. Унифицированным, не зависимым от целевой аппаратной платформы, был также исходный код UNIX, который был полностью написан на специально разработанном новом языке Си (основными авторами Си, как и UNIX, являются Б. Керниган и Д. Ритчи). Использование языка высокого уровня для разработки UNIX было революционным шагом в истории ОС и позволило, во-первых, значительно ускорить и облегчить разработку, во-вторых – перенести UNIX на многие модели компьютеров (для которых при этом, разумеется, необходимо было разработать компилятор с языка Си). Впервые система UNIX была использована в 1970 г. на миникомпьютере PDP-10. Компьютеры фирмы PDP образца начала 1970-х гг. принято относить к классу миникомпьютеров . Хотя данное название с современной точки зрения не вполне правомерно: такой компьютер занимал... два небольших шкафа, по сравнению с mainframe-компьютером образца 1960-х гг., занимавшим целый зал. Объем оперативной памяти миникомпьютеров составлял всего порядка 32 килобайт (!). Однако на них успешно работала ОС UNIX (были и другие ОС – например, RSX-11), был компилятор с языка Паскаль, была реализована удобная система файлов и программа для работы с ними, были доступны математические библиотеки программ.

В начале 1980-х годов появились персональные компьютеры. Операционные системы для них фактически повторили в своем развитии операционные системы для компьютеров общего назначения: в них были использованы аналогичные идеи и методы. Однако первые персональные компьютеры были менее мощными, чем mainframes, как по объему памяти, так и по быстродействию и разрядности микропроцессора . Первый распространенный микропроцессор фирмы Intel был 8-разрядным, и для него была разработана также 8-разрядная операционная система CP/M. В 1975 г. была создана фирма Microsoft, и ее первой разработкой была 16-разрядная операционная система MS DOS для персональных компьютеров с процессорами Intel 8086 (или, коротко, x86). В командном языке MS-DOS чувствуется явное влияние UNIX, однако MS-DOS предоставляет гораздо меньшие возможности командного языка.

В начале 1980-е гг. фирма Apple выпустила персональные компьютеры Lisa и Macintosh с операционной системой MacOS. Ее характерной чертой была реализация удобного графического пользовательского интерфейса (GUI) в виде окон, меню, "иконок" и многих других элементов GUI, к которым мы с Вами ныне так привыкли. MacOS стала первой ОС с развитой поддержкой GUI (для сравнения, MS-DOS предоставляла возможности работы непосредственно на командном языке).

В конце 1980-х - начале 1990-х гг., под влиянием MacOS, Microsoft разработала графическую оболочку Windows над операционной системой MS-DOS. Первая версия Windows, таким образом, еще не была операционной системой; она запускалась командой win из командного языка MS-DOS. Однако многие современные черты GUI, характерного для Windows, ставшие "родными" для пользователей Windows, в ней уже присутствовали. Затем были выпущены Windows 3.x и Windows for Workgroups (уже операционные системы), в 1995 г. – Windows 95 (с развитыми мультимедийными возможностями, большим набором встроенных драйверов для различных устройств и поддержкой механизма Plug-and-Play подключения нового устройства без остановки компьютера) и Windows NT с развитыми сетевыми возможностями и повышенной надежностью. Именно Windows NT стала основой для последующего развития Windows. В настоящее время наиболее популярными моделями Windows являются Windows XP (поддержка которой фирмой Microsoft уже завершается – система выпущена в 2001 г.), Windows 2003 Server, Windows Vista, Windows 2008 Server и Windows 7.

В начале 1990-х гг. появилась первая версия ОС Linux (ОС типа UNIX с открытыми исходными кодами ядра), которая постепенно приобрела значительную популярность, но, главным образом, используется на серверах. Большинство клиентов (пользователей) в мире предпочитают на своих компьютерах Windows или MacOS (заметим, что, например, в США и Канаде компьютеры Macintosh более популярны, чем Windows-машины с процессорами Intel или их аналогами.

Не будем также забывать, что в ответ на такой, на первый взгляд, простой вопрос: "Какая ОС самая популярная в мире?" даже сотрудники Microsoft не отвечают "Windows". Дело в том, что наиболее популярными в мире компьютерными устройствами являются не настольные или портативные компьютеры, а более дешевые и компактные мобильные телефоны, для которых пока первенство удерживает специализированная ОС семейства Symbian , которая, в частности, используется в большинстве мобильных телефонов крупнейшей фирмы Nokia. Операционную систему Symbian активно догоняет на рынке ОС для мобильных устройств новая ОС Google Android. Так что, операционные системы семейства Windows по своей распространенности оказываются лишь на втором месте.

Диалекты UNIX

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

    Berkeley Software Distribution (BSD), в настоящее время – FreeBSD (University of Berkeley) – один из наиболее известных диалектов UNIX, разработанный в Университете Беркли, США. В нем впервые были реализованы сетевые сокеты. Именно этот диалект был положен в основу первой версии ОС Solaris фирмы Sun (Solaris 1.x) при ее создании в 1982 г. Один из авторов данного диалекта – Билл Джой (Bill Joy), один из четверых легендарных создателей фирмы Sun.

    System V Release 4 (SVR4) – диалект UNIX, разработанный в фирме AT&T. Для него наиболее характерны расширенные возможности параллельного многопоточного программирования (multi-threading). Данный диалект был положен в основу второй версии ОС Solaris (Solaris 2.x) фирмы Sun в начале 1990-х годов.

    Linux (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora и др.) – ОС типа UNIX со свободно распространяемым с исходными кодами ядром. Первая версия Linux была разработана в начале 1990-х гг. В настоящее время диалекты Linux активно используются как серверные ОС (ОС, управляющие работой всевозможных серверов), а также как основа для разработки ОС для мобильных устройств.

    Solaris (Sun Microsystems, ныне – Oracle / Sun) – один из наиболее известных и развитых диалектов UNIX. Имеет удобную графическую оболочку, развитые средства параллелизма и синхронизации процессов, удобные сетевые возможности (в частности, классическую сетевую файловую систему NFS), ряд новых оригинальных файловых систем (в частности, ZFS – файловая система с большим размером файлов и возможностью криптования информации). В настоящее время распространяется ОС Solaris 10.

    IRIX (Silicon Graphics) – диалект UNIX, разработанный фирмой Silicon Graphics (SGI), США, широко известным производителем графических рабочих станций.

    HP-UX (Hewlett-Packard) – диалект UNIX, разработанный и используемый одной из крупнейших "акул" в мире ИТ – фирмой Hewlett-Packard.

    Digital UNIX (DEC) – диалект UNIX, разработанный в начале – середине 1990-х гг. фирмой Digital Equipment Corporation (DEC), впоследствии приобретенной фирмой Compaq. Первая версия UNIX, поддерживавшая 64-разрядные процессоры.

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

При анализе истории развития области ИТ следует иметь в виду особые условия, в которых развивались эти разработки как в СССР (России), так и в США, начиная с 1950-х гг. – "холодная война" и "железный занавес". Вследствие этого, все эти разработки, как в области аппаратуры, так и в области программного обеспечения, были строго засекречены (по мнению автора, в СССР – даже более строго, чем в США, так как о работах американских специалистов мы все же имели возможность узнавать из журналов). Такая ситуация приводила к тому, что аналогичные идеи подчас возникали и реализовывались по обе стороны "железного занавеса" примерно в одно и то же время, при почти полном отсутствии информации о работах друг друга. Однако в этом были и своего рода положительные стороны: на эти работы выделялись значительные средства правительством и отраслевыми министерствами, на эти средства создавались и развивались весьма сильные команды разработчиков (прежде всего – в области аппаратуры, операционных систем и компиляторов). В конце 1980-х – начале 1990-х гг., в известный переходный период в СССР и России, когда начинали создаваться группы для работы по outsourcing – проектам, финансируемые фирмами США, американские специалисты были просто поражены, обнаружив в России сильнейшие исследовательские и промышленные группы в области ИТ, предлагающие и реализующие массу своих идей, находящиеся в курсе новейших разработок, а своим теоретическим уровнем, разработками в области структур данных и эффективных алгоритмов подчас опережавшие лучшие американские команды. Автору этих строк посчастливилось стать руководителем одной из таких групп, работавшей в течение многих лет с фирмой Sun в стенах математико-механического факультета СПбГУ. Все описанные тенденции существенно повлияли на разработку аппаратуры и операционных систем. Отечественные разработчики, почти ничего не зная об аналогичных работах американских коллег, создавали свои оригинальные системы, в том числе – ОС. Например, идея многопоточности (multi-threading) была реализована в ОС "Эльбрус" еще в конце 1970-х гг., а в популярных зарубежных ОС (UNIX, Solaris, Windows NT) многопоточность появилась только в конце 1980-х – начале 1990-х гг. К сожалению, имело место и существенное отставание советских и российских ИТ-специалистов от американцев – прежде всего, в области разработки элементной базы и технологии производства компьютеров, а также в области графических пользовательских интерфейсов (GUI).

Среди передовых оригинальных отечественных разработок в области компьютерной аппаратуры и ОС 1960-х – 1970-х гг. следует выделить прежде всего ЭВМ БЭСМ-6, ее операционные системы: ОС ДИСПАК , ОС ДИАПАК, ОС ИПМ и ее системное и прикладное программное обеспечение. Разработчиком БЭСМ-6, ОС ДИСПАК и ОС ДИАПАК был Институт точной механики и вычислительной техники АН СССР под руководством академика Сергея Алексеевича Лебедева, основателя всей нашей отечественной вычислительной техники. Разработчик ОС ИПМ – Институт прикладной математики АН СССР. ЭВМ БЭСМ-6 и ее программное обеспечение следует признать уникальными. В их развитии участвовали многие академические и университетские коллективы не только СССР, но и зарубежных стран - достаточно вспомнить такие системы, как АЛГОЛ-ГДР - реализацию расширения Алгола-60 с развитыми математическими библиотеками, выполненную нашими коллегами из Германии, а также реализацию Паскаля для БЭСМ-6, разработанную специалистами из Польской Академии наук. Операционные системы для БЭСМ-6 поддерживали пакетный (с учетом приоритетов и ресурсов заданий) и диалоговый режимы взаимодействия с компьютером, страничную организацию виртуальной памяти, работу с внешними устройствами и телекоммуникационными каналами, работу в локальных сетях. К каждой БЭСМ-6 были подключены десятки терминалов, работавших под управлением диалоговых систем ДИМОН, ДЖИН и др. (это при объеме оперативной памяти БЭСМ-6 всего в 32 страницы по 4096 байтов и быстродействии до 1 млн. операций в секунду). Работу БЭСМ-6 и ее ОС отличала высокая надежность. Руководитель разработки ОС ДИСПАК – В.Ф. Тюрин.

Другой передовой отечественной разработкой 1970-х – 1980-х гг. была разработка многопроцессорных вычислительных комплексов (МВК) "Эльбрус-1" и "Эльбрус-2" . В разработке программного обеспечения системы "Эльбрус" автор курса со своей командой принимал активное участие в течение 15 лет. Идейным вдохновителем проекта "Эльбрус" стал сам С.А. Лебедев, затем им руководили академик Всеволод Сергеевич Бурцев, а после него – чл.-корр. АН СССР Борис Арташесович Бабаян. Следует признать, что у "Эльбруса" были зарубежные прототипы и задолго до его появления были написаны академические зарубежные работы, заложившие научные основы подобных компьютерных архитектур, например, . Коммерческим прототипом "Эльбруса" была известная серия компьютеров фирмы Burroughs (США): B5000 / B5500 / B6700 / B7700. Однако разработчикам "Эльбруса" и его операционной системы удалось предложить и реализовать целый ряд собственных оригинальных идей и методов. Основными принципами "Эльбруса", как и его предшественников, являлись: теговая архитектура (каждое слово памяти, кроме данных, содержало тег – код типа данных, хранящихся в этом слове, по которому аппаратура контролировала правильность выполнения операции), динамизм и аппаратная поддержка типичных (подчас весьма сложных) последовательностей действий, используемых при реализации языков высокого уровня - например, вход в процедуру по указателю на нее, с установкой дисплей-регистров, ссылающихся на доступные процедуре области локальных данных. ОС "Эльбрус" поддерживала создание процессов и операции над ними, аналогичные тем, которые впоследствии в зарубежных разработках были названы многопоточностью (multi-threading); была реализована математическая (виртуальная) память с поддержкой страничного распределения виртуальной памяти (на диске) и сегментного распределения физической (оперативной) памяти. Динамизм выражался в том, что отсутствовала статическая линковка; все программы и модули загружались в память только динамически, при первом вызове. Также динамически, при первом запросе, по прерыванию, выделялся каждый массив математической памяти. Подобные принципы были для своего времени передовыми, использование тегов значительно повысило надежность. Однако, с современной точки зрения, идеологию "Эльбруса", по-видимому, нельзя считать гибкой и эффективной, так как все аппаратные операции и соответствующие действия ОС были реализованы в общем виде, и практически отсутствовала какая-либо возможность оптимизаций, например, для более быстрого вызова процедуры в случае отсутствия необходимости обращения к ее аргументам, для быстрого доступа к статической области памяти и т.д. Более подробно принципы "Эльбруса" описаны в монографии .

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

Однако в начале 1970-х годов в развитии отечественной вычислительной техники и ее системного программного обеспечения начался новый, неожиданный для большинства пользователей и специалистов, этап. Правительство СССР приняло беспрецедентное решение о создании, в качестве основной на достаточно долгий период времени (как изначально планировалось, на 20-30 лет, что оказалось утопией), отечественной серии -Единой Системы ЭВМ (ЕС ЭВМ) - путем копирования американских компьютеров серии IBM 360. Соответственно, все базовое системное программное обеспечение, в том числе и ОС, также было адаптировано к использованию в СССР (либо использовалось в оригинальном виде – с сообщениями на английском языке и т.д.). Это решение вызвало большие проблемы с финансированием у разработчиков отечественных архитектур компьютеров. Это также вызвало большие сложности у пользователей и разработчиков программного обеспечения, так как далеко не все хорошо владели английским языком (ныне в этом последнем отношении ситуация гораздо лучше). Появились, например, системы-обертки, обеспечивающие русскоязычный интерфейс: с их помощью все задания для ЕС писались с использованием русскоязычной мнемоники, затем конвертировались в англоязычный Job Control Language (язык управления заданиями IBM 360), а все сообщения, выдаваемые в качестве результатов, переводились на русский язык. Это было интересным подходом, однако не прижилось. Документация по IBM 360 постепенно была переведена на русский язык, появилась русскоязычная справочная и учебная литература по ЕС ЭВМ. К сожалению, отечественные аналоги аппаратуры IBM 360 – машины серии ЕС ЭВМ – оказались гораздо менее надежными, чем их прототипы. В течение еще нескольких лет было принято еще одно правительственное решение – об аналогичном копировании американских миникомпьютеров серий PDP 10 и PDP 11, под общим названием "Система Мини-ЭВМ" (СМ ЭВМ). Были выпущены компьютеры этой серии СМ-1, СМ-2, СМ-3 и СМ-4. Были и другие аналогичные работы по копированию зарубежных архитектур компьютеров и выпуске на этой основе отечественных аналогов. Фактически, можно сказать, что, благодаря подобному подходу, срок использования зарубежных ОС в СССР и в России был продлен не менее чем на 15-20 лет, что просто беспрецедентно. Копирование машин IBM 360 и PDP, с одной стороны, дало возможность советским программистам освоить новые развитые операционные системы, языки программирования, библиотеки программ, с другой – отбросило нашу отечественную вычислительную технику еще дальше назад. Один из классиков компьютерной науки, профессор Эдсгер Дейкстра (E. Dijkstra) в 1977 г. на научном семинаре в Ленинграде в АН СССР не без иронии заметил, что "решение русских о копировании IBM-360 можно считать серьезной победой США в холодной войне".

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

Особенности операционных систем для компьютеров общего назначения (mainframes)

Пакетный режим. Более подробное рассмотрение операционных систем начнем с особенностей ОС для mainframes.

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

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

Распределение памяти в однозадачной ОС с пакетной обработкой заданий

Рис. 2.1. Распределение памяти в простой системе пакетной обработки

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

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

Более развитые операционные системы поддерживают режим мультипрограммирования – одновременной обработки и размещении в памяти сразу нескольких пользовательских заданий. Распределение памяти в такой системе изображено на рис. 2.2 .

Рис. 2.2. Распределение памяти в системе пакетной обработки с поддержкой мультипрограммирования

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

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

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

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

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

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

Режим разделения времени и особенности ОС с режимом разделения времени

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

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

Откачка и подкачка (swapping) - загрузка заданий с диска в память и их выгрузка из памяти на диск. В системе с разделением времени возможна ситуация, когда какое-либо задание, управляемое с терминала, неактивно (например, выполняет ввод-вывод, либо система ожидает ответа от пользователя, у которого в данный момент перерыв в работе). В этом случае ОС может принять решение о временной выгрузке (swap out) образа памяти задания из оперативной памяти на диск, с целью освобождения памяти для других заданий. При повторной активизации задания оно (при возможности) вновь загружается в память (swapped in ). Подобная стратегия называется откачкой и подкачкой.

Поддержка диалогового взаимодействия между пользователем и системой . Когда ОС завершает исполнение пользовательской команды, она выполняет поиск следующего управляющего оператора (control statement), введенного с пользовательской клавиатуры.

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

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

Режим разделения времени, наряду с пакетным режимом, был основным в операционных системах 1960-х – 1970х- гг.

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

Однако в начале 1970-х годов в развитии отечественной вычислительной техники и ее системного программного обеспечения начался новый, неожиданный для большинства пользователей и специалистов, этап. Правительство СССР приняло беспрецедентное решение о создании, в качестве основной на достаточно долгий период времени (как изначально планировалось, на 20-30 лет, что оказалось утопией), отечественной серии - Единой Системы ЭВМ (ЕС ЭВМ) - путем копирования американских компьютеров серии IBM 360. Соответственно, все базовое системное программное обеспечение , в том числе и ОС, также было адаптировано к использованию в СССР (либо использовалось в оригинальном виде – с сообщениями на английском языке и т.д.). Это решение вызвало большие проблемы с финансированием у разработчиков отечественных архитектур компьютеров . Это также вызвало большие сложности у пользователей и разработчиков программного обеспечения, так как далеко не все хорошо владели английским языком (ныне в этом последнем отношении ситуация гораздо лучше). Появились, например, системы-обертки, обеспечивающие русскоязычный интерфейс : с их помощью все задания для ЕС писались с использованием русскоязычной мнемоники, затем конвертировались в англоязычный Job Control Language ( язык управления заданиями IBM 360), а все сообщения, выдаваемые в качестве результатов, переводились на русский язык. Это было интересным подходом, однако не прижилось. Документация по IBM 360 постепенно была переведена на русский язык, появилась русскоязычная справочная и учебная литература по ЕС ЭВМ. К сожалению, отечественные аналоги аппаратуры IBM 360 – машины серии ЕС ЭВМ – оказались гораздо менее надежными, чем их прототипы. В течение еще нескольких лет было принято еще одно правительственное решение – об аналогичном копировании американских миникомпьютеров серий PDP 10 и PDP 11, под общим названием "Система Мини-ЭВМ" (СМ ЭВМ). Были выпущены компьютеры этой серии СМ-1, СМ-2, СМ-3 и СМ-4. Были и другие аналогичные работы по копированию зарубежных архитектур компьютеров и выпуске на этой основе отечественных аналогов. Фактически, можно сказать, что, благодаря подобному подходу, срок использования зарубежных ОС в СССР и в России был продлен не менее чем на 15-20 лет, что просто беспрецедентно. Копирование машин IBM 360 и PDP , с одной стороны, дало возможность советским программистам освоить новые развитые операционные системы, языки программирования, библиотеки программ, с другой – отбросило нашу отчественную вычислительную технику еще дальше назад. Один из классиков компьютерной науки, профессор Эдсгер Дейкстра (E. Dijkstra) в 1977 г. на научном семинаре в Ленинграде в АН СССР не без иронии заметил, что "решение русских о копировании



Понравилась статья? Поделитесь ей