Перспективы операционных систем и сетей
Презентацию к данной лекции Вы можете скачать здесь.
Введение
Данная лекция завершает курс по современным ОС. В ней суммируются тенденции развития современных ОС, дается обзор ОС, не рассмотренных в курсе, намечаются перспективы развития ОС и сетей.
Операционные системы других крупных фирм
В данном курсе рассмотрены как теоретические основы современных ОС, так и наиболее распространенные семейства ОС – Windows и Linux, а также дан обзор ОС для мобильных устройств и ОС для облачных вычислений. Имеется целый ряд весьма интересных и распространенных линий развития ОС, не нашедших подробного отражения в курсе. Это прежде всего операционные системы крупных фирм:
- IBM – в 1960-х – 1970-х гг. гг. разработала OS IBM 360 / 370; затем – ОС для персональных компьютеров OS/2; в настоящее время наиболее современными ОС этой фирмы являются z/OS и z/VM;
- Apple – с начала 1980-х гг. развивает семейство ОС MacOS, характеризующееся улучшенным графическим пользовательским интерфейсом (см. раздел MacOS );
- Oracle / Sun – c начала 1980-х гг. фирма Sun развивает ОС Solaris, развитие UNIX (см. раздел Solaris );
- Hewlett-Packard – развивает собственный диалект UNIX – систему HP/UX (см. раздел HP-UX );
- Novell – одна из ведущих фирм в области сетевых технологий; развивает семейство сетевых операционных систем: NetWare ; в настоящее время - Open Enterprise Server (сетевая ОС, включающая все сетевые возможности NetWare и возможности распространенного диалекта Linux - openSUSE ).
Это далеко не полный перечень коммерческих и исследовательских ОС, включающий сотни наименований.
Solaris – операционная система разработки фирмы Oracle / Sun
Она является развитием UNIX (линия Solaris 1.x – развитием диалекта UNIX BSD, линия Solaris 2.x – развитием диалекта UNIX AT&T SVR4). Автор имеет 10-летний опыт работы в системе Solaris, которая, по нашему личному опыту, весьма удобна и надежна и имеет удобные инструменты разработки программ. В различных разделах курса мы уже касались многих особенностей Solaris, таких, как поддержка многопоточности. Аппаратные платформы, поддерживаемые ОС Solaris: SPARC, x86, IA-32 и x64. В 1990-х гг. многие фирмы-пользователи предпочитали использовать именно Solaris как серверную ОС, а в качестве серверов – компьютеры SPARC фирмы Sun. Важным преимуществом Solaris является используемое в этой системе семейство оптимизирующих компиляторов Sun Studio (C, C++, Fortran), в разработке которых в 1990-х гг. автор принимал активное участие. В настоящее время компиляторы Sun Studio работают также на ОС Linux. Весьма интересным и мощным инструментом, доступным в системе Solaris, является отладчик распределенных приложений DTrace. Новая файловая система ОС Solaris - ZFS (Zetabyte File System поддерживающая большие объемы файлов и возможность криптования информации в файлах с целью ее защиты. Система Solaris имеет мощную поддержку многопоточности и синхронизации потоков, а также удобную поддержку симметричного мультипроцессирования (SMP-архитектур). Используемые в системе Solaris графические оболочки - Common Desktop Environment (CDE), GNOME, Java Desktop ; в 1990-х гг. использовалась также графическая оболочка OpenWindows.
Для студентов, аспирантов и преподавателей поддерживается проект OpenSolaris – академический исследовательский проект по ОС на основе открытых исходных кодов Solaris. Его результаты дадут возможность улучшить новые версии коммерческой ОС Solaris.
MacOS
Разработчиком MacOS является фирма Apple - законодатель мод в области GUI, начиная с 1980-х гг. Ключевой идеей MacOS с самого начала является разработка и развитие ОС только на основе графического пользовательского интерфейса - "ОС без командной строки". Аппаратная платформа MacOS – всевозможные семейства компьютеров Macintosh фирмы Apple (наиболее популярные среди рабочих станций в США), а также PowerPC – рабочая станция RISC-архитектуры, совместно разработанная Apple, IBM и HP. Диалекты (версии) MacOS различаются по своему подходу к реализации, хотя для пользователя, благодаря удобному графическому интерфейсу, эти различия могут быть незаметны. Класическая MacOS (classic MacOS) - оригинальная разработка фирмы Apple; новая линия MacOS X – развитие ОС MacOS Classic и ОС NeXTSTEP (UNIX-подобной ОС), т.е. она является UNIX-совместимой.
HP-UX
Разработчиком ОС HP-UX является компания Hewlett-Packard. Это UNIX-подобная 64-битовая ОС (одна из первых 64-битовых ОС в истории). Ее аппаратная платформа - рабочие станции фирмы HP. В системе HP-UX используется оригинальная виртуальная файловая система: Veritas File System (Vx-Fs) использующая представление файлов на основе расширений (extents) - см. "Виртуальные файловые системы (VFS). Реализации файловых систем. Сетевая файловая система NFS" .
Современные тенденции в развитии ОС
На основе опыта использования многих современных ОС, можно выделить следующие основные тенденции в их развитии.
Графические оболочки. Любая современная ОС имеет графический пользовательский интерфейс, причем (по вполне понятным причинам острой конкуренции между фирмами-разработчиками) графические оболочки для всех ОС примерно одинаковы по возможностям. Подчас пользователю трудно сориентироваться, в какой именно ОС он работает, хотя для конечных пользователей (непрограммистов), по-видимому, такая унификация удобна.
Поддержка новых сетевых технологий и Web-технологий. Сети и Интернет активно развиваются. Появляются новые стандарты и протоколы – IPv6, HTML 5 (для облачных вычислений) и т.д. Современные ОС развиваются в направлении поддержки всех новых сетевых технологий.
Усиленное внимание к механизмам безопасности и защиты. Во многом благодаря инициативе Trustworthy Computing, начатой фирмой Microsoft в 2002 г. (она подробно рассмотрена в предыдущих лекциях), а также ввиду все усиливающейся киберпреступности, все современные ОС уделяют повышенное внимание безопасности: при просмотре веб-страниц браузеры выполняют их проверку на отсутствие phishing; загрузки и инсталляции программ из сети выполняются только с явного согласия пользователя и т.д.
Поддержка многопоточности и многоядерных процессоров. Ввиду широкого распространения многоядерных процессоров, все современные ОС имеют библиотеки программ, поддерживающие эту возможность аппаратуры. Именно благодаря многоядерной архитектуре, становится реально возможным параллельное выполнение потоков (threads).
Поддержка распределенных и параллельных вычислений. Современные ОС имеют в своем составе высокоуровневые библиотеки, позволяющие разрабатывать параллельные алгоритмы решения задач – например, поддерживающие стандарты параллелизма OpenMP и MPI.
Виртуализация ресурсов и аппаратуры. Современные ОС имеют в своем составе средства виртуализации, позволяющие выполнять приложения для других платформ в изолированных виртуальных машинах, в которые могут быть инсталлированы другие операционные системы.
Развитие файловых систем с целью защиты информации и значительного увеличения размера файлов (для мультимедиа). Современные требования обработки мультимедийной информации приводят к тому, что старые файловые системы (например, FAT) оказываются недостаточными для хранения мультимедийных файлов. Например, максимальный размер файла в системе FAT – 4 гигабайта – легко может быть превышен при переписи на компьютер цифровой видеопленки длительностью 10-15 минут. Поэтому разрабатываются новые файловые системы, допускающие хранение очень больших файлов, например, система ZFS в ОС Solaris. Другим требованием является обеспечение конфиденциальности информации, которое приводит к необходимости реализации в файловых системах возможности криптования (которая реализована, например, в файловой системе ZFS).
Поддержка облачных вычислений – совсем новая тенденция в развитии ОС, начало которой положила "облачная" ОС Windows Azure фирмы Microsoft (см. "ОС для облачных вычислений (cloud computing). Windows Azure" ).
Новые ОС семейства Windows
Приведем краткий обзор возможностей новых ОС семейства Windows, не нашедших подробного отражения в курсе.
Windows Vista имеет следующие новые возможности: новый стиль GUI (Windows Aero); встроенный инструментарий .NET Framework 3.0, обеспечивающий исполнение управляемого кода .NET; единую систему поиска информации WinFS; средства управления безопасностью приложений (в частности, запуск инсталляционных приложений только с явного согласия пользователя); подсистемы Windows Presentation Foundation (поддержка современного развитого GUI), Windows Communication Foundation (поддержка современных коммуникационных технологий с помощью сервисов); Windows Workflow Foundation (также называемая CardSpace ) – поддержка аутентификации пользователей, планирования и организации работ.
Windows Server 2008 – наиболее современная серверная ОС семейства Windows. Она предоставляет: поддержку новой версии Интернет-протокола IPv6; улучшенную поддержку сетей; поддержку параллельного программирования; новый мощный командный процессор Windows PowerShell ; средства виртуализации и эмуляции приложений с помощью технологии Hyper-V.
Windows 7 - наиболее новая на данный момент (2010 г.) ОС серии Windows. Она предоставляет поддержку нового вида пользовательского интерфейса - multi-touch; средства кэширования Интернет-трафика ( Branch cache ); уникальный набор фоновых рисунков рабочего стола для каждой страны; улучшенную поддержку драйверов устройств; более гибкие настройки безопасности и брандмауэра; развитие GUI-интерфейса Aero, впервые реализованного в Windows Vista.
Новые тенденции в развитии ОС
Проект Midori. Midori - проект Microsoft Research, который начат в начале 2000-х гг. под названием Singularity. Midori – исследовательская ОС, реализованная на управляемом коде (managed code) являющемся основой платформы .NET и обеспечивающем полный контроль типов, безопасности и др., что значительно повышает надежность и безопасность кода. Однако до Midori разработчики ОС предпочитали менее надежные, но более эффективные способы реализации ОС на языках C и C++, так что, на наш взгляд, Midori – весьма смелый эксперимент. На управляемом коде в ОС Midori реализованы, в том числе, и ядро ОС, и драйверы устройств. Midori предоставляет эффективную поддержку распараллеливания, что особенно важно при современных тенденциях развития аппаратных платформ. Для повышения безопасности выполнения приложений Midori обеспечивает их защиту на основе исполнения каждого приложения в своей отдельной "песочнице" (sandbox) Одна из основных особенностей Midori – то, что она является Интернет-ориентированной ОС. В будущем не исключен переход развития ОС фирмы Microsoft с платформы Windows на новую платформу Midori.
Графические оболочки ОС
Как уже отмечалось, графическая оболочка имеется у каждой современной ОС. Графические оболочки ОС предоставляют следующие основные возможности.
Удобный графический пользовательский интерфейс.
Возможность выполнить любые системные настройки с помощью GUI. Следует, по нашему личному опыту, особо отметить в этом отношении графические оболочки ОС Linux.
Поддержка новых тенденций в развитии интерфейсов – multi-touch, Tablet PC и др.
Унификация графических оболочек для различных ОС. В разных операционных системах используются графические оболочки CDE, KDE, GNOME. Возможно, в ближайшем будущем их список расширится.
Отметим, что оболочки для разных ОС практически неотличимы (все они имеют, например, кнопку Start, папку My Documents и т.д.), что удобно для конечных пользователей, так как упрощает изучение рабочей среды.
Однако, с нашей точки зрения, использование только графических оболочек (без изучения командных языков и конфигурационных файлов) снижает уровень подготовки системных программистов. При изучении ОС программистам, в особенности – системным, следует иметь это в виду. В этом отношении полезные навыки специалисту дает использование ОС типа UNIX – прежде всего, знание командных языков и конфигурационных файлов.
Поддержка параллельных вычислений
Все современные ОС предоставляют библиотеки для разработки параллельных алгоритмов с использованием возможностей аппаратуры. Они поддерживают следующие основные виды, стандарты и инструменты параллелизма:
- OpenMP - прагматы для распараллеливания программ для компиляторов с различных языков;
- MPI (Message Passing Interface) – параллельное выполнение программ, взаимодействующих с помощью передачи сообщений.
ОС фирмы Microsoft поддерживают стандарт OpenMP. Имеются также библиотеки MPI.NET, поддерживающие стандарт MPI, а также библиотеки ParallelFx. Фирма Microsoft выпустила специальную версию операционной системы - Windows High Performance Computing (HPC) 2008, поддерживающую параллельное программирование.
Развитие беспроводных сетей
Важной современной тенденцией является развитие все более и более высокопроизводительных беспроводных сетей, которое находит свое отражение и в развитии операционных систем. Выделим следующие перспективные сетевые технологии.
WiMAX – региональные беспроводные сети на основе технологии Wi-Fi (беспроводной радиосвязи по стандартам IEEE.802.11) производительностью до 1 Гбит / с.
3G – мобильная связь третьего поколения на основе стандартов CDMA и UMTS (быстродействием до 14 МБит / с); в России "первопроходцем" 3G является компания СкайЛинк; в настоящее время все провайдеры мобильной связи переходят на стандарты 3G .
4G – новое поколение мобильных сетей связи со скоростью передачи до 1 ГБит / с, обеспечивающих также повышенное качество голосовой связи. Формально стандарт на сети 4G еще не принят, это – дело ближайшего будущего.
Интересной тенденцией является также использование цифровых телевизионных каналов для выхода в Интернет с помощью специальных устройств set-top boxes.
Перспективы развития ОС
Как видно из содержания данной лекции и всего курса, операционные системы остаются активно развивающимся направлением, одним из наиболее интересных в области системного программирования. Перечислим некоторые характерные тенденции их развития.
Тенденция к интеграции ОС (не только на уровне графических оболочек, но и на уровне общего ядра); развитие семейств ОС на основе модулей общего кода.
Значительное повышение надежности, безопасности и отказоустойчивости ОС ; разработка ОС на управляемом коде или его аналогах.
Дальнейшая тенденция к проектам по ОС с открытым кодом ; это вполне понятно, так как фирмам-разработчикам необходимы новые идеи, что является отличной возможностью проявить себя для молодых программистов.
Развитие виртуализации: Необходимо обеспечить возможность выполнить или эмулировать любое приложение в среде любой современной ОС.
Дальнейшее сближение по возможностям ОС для настольных компьютеров и ОС для мобильных устройств.
Дальнейшая интеграция ОС и сетей.
Перенос ОС и базовых инструментов в среды для облачных вычислений.