Поддержка параллельных вычислений

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

· 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.

Перспективы развития ОС

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

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

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

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

Развитие виртуализации: Необходимо обеспечить возможность выполнить или эмулировать любое приложение в среде любой современной ОС.

Дальнейшее сближение по возможностям ОС для настольных компьютеров и ОС для мобильных устройств.

Дальнейшая интеграция ОС и сетей.

Перенос ОС и базовых инструментов в среды для облачных вычислений.

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

3G– мобильная связь третьего поколения на основе стандартов CDMA и UMTS (быстродействием до 14 МБит / с).

4G– новое поколение мобильных сетей связи со скоростью передачи до 1 ГБит / с, обеспечивающих также повышенное качество голосовой связи.

HP-UX –операционная UNIX-совместимая операционная система фирмы Hewlett-Packard.

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

Midori– исследовательская ОС фирмы Microsoft Research, реализованная на управляемом коде.

MPI (Message Passing Interface)– стандарт параллельного выполнения программ, взаимодействующих с помощью передачи сообщений.

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

Solaris– операционная система фирмы Oracle / Sun.

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

Операционные системы, кроме Windows и Linux, подробно рассмотренных в курсе, разрабатываются многими другими крупными фирмами: IBM (z/OS); Apple (MacOS); Oracle / Sun (Solaris); Hewlett-Packard (HP-UX); Novell (NetWareсетевая ОС).

ОС Solaris – UNIX-подобная система, работающая на платформах SPARC и x86. Ее наиболее важные возможности – семейство оптимизирующих компиляторов Sun Studio; отладчик распределенных приложений DTrace; файловая система ZFS с поддержкой файлов очень большого объема и криптованием информации; развитая поддержка многопоточности и симметричного мультипроцессирования. Используемые графические оболочки: CDE, KDE, GNOME, Java Desktop. Академический проект OpenSolaris обеспечивает доступ к исходному коду Solaris с исследовательскими и учебными целями.

MacOS – ОС фирмы Apple, работающая на компьютерах Macintosh. Она характеризуется развитым GUI (ОС без командной строки). Ее диалекты – Classic Mac OS (фирмы Apple) и MacOS X – гибрид классической MacOS и ОС типа UNIX.

HP-UXUNIX-подобная ОС фирмы Hewlett-Packard. Ее особенность – использование виртуальной файловой системы Vx-Fs.

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

Новые ОС семейства WindowsWindows Vista, Windows Server 2008, Windows 7. В лекции приведено краткое описание их новых возможностей в части GUI, поддержки сетей, безопасности и др.

Проект Midori – проект Microsoft Research по разработке исследовательской ОС на управляемом коде (с повышенной надежностью). На управляемом коде написаны даже ядро и драйверы. Midori – Интернет-ориентированная ОС, которая в будущем может стать основой для развития нового семейства ОС фирмы Microsoft.

Каждая ОС имеет графическую оболочку, основные возможности которой следующие: Удобный графический пользовательский интерфейс; Возможность выполнить любые системные настройки с помощью GUI;Поддержка новых тенденций в развитии интерфейсов – multi-touch, Tablet PC и др. Имеется тенденция к унификации графических оболочек для различных ОС (CDE, KDE, GNOME). Однако, на наш взгляд, изучение и использование только графических оболочек ОС для системных программистов недостаточно. Необходимы хорошие знания командных языков и конфигурационных файлов.

Современные ОС поддерживают параллельные вычисления. Например, новые версии Windows поддерживают стандарты параллельных вычислений OpenMP и MPI. Microsoft выпустила специальную ОС для поддержки параллельных вычисленийWindows 2008 HPC.

Развиваются беспроводные сети: Wi-MAX, 3G, 4G. Также используются цифровые телевизионные каналы как способ подключения к Интернету. Это находит отражение и в ОС.

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

ОС остаются активно развивающимся направлением, одним из наиболее интересных в области системного программирования.

Вопросы для самопроверки:

1. Что такое z/OS?

2. Что такое MacOS?

3. Что такое Solaris?

4. Что такое HP-UX?

5. Что такое NetWare?

6. Каковы основные возможности ОС Solaris?

7. Каковы основные особенности MacOS?

8. Каковы основные особенности HP-UX?

9. Каковы современные тенденции в развитии ОС?

10. Каковы новые ОС семейства Windows и их новые возможности?

11. Что такое Midori?

12. Каковы возможности графических оболочек ОС?

13. Какие стандарты параллельных вычислений поддерживают современные ОС?

14. Какие новые виды беспроводных сетей находят распространение в настоящее время?

15. Каковы перспективы развития ОС?

Упражнения

1. Сравните возможности основных современных ОС (Windows, Linux, Solaris, MacOS и др.) и их графических оболочек.

2. Проанализируйте и опишите перспективы развития операционной системы, которую Вы используете.