Поддержка параллельных вычислений
Все современные ОС предоставляют библиотеки для разработки параллельных алгоритмов с использованием возможностей аппаратуры. Они поддерживают следующие основные виды, стандарты и инструментыпараллелизма:
· 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-UX – UNIX-подобная ОС фирмы Hewlett-Packard. Ее особенность – использование виртуальной файловой системы Vx-Fs.
Современные тенденции в развитии ОС: Графические оболочки (для всех ОС примерно одинаковы по возможностям); Поддержка новых сетевых технологий и Web-технологий; Усиленное внимание к механизмам безопасности и защиты; Поддержка многопоточности; Поддержка многоядерных процессоров; Поддержка распределенных и параллельных вычислений; Виртуализация ресурсов и аппаратуры; Развитие файловых систем с целью защиты информации и значительного увеличения размера файлов (для мультимедиа); Поддержка облачных вычислений.
Новые ОС семейства Windows – Windows 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. Проанализируйте и опишите перспективы развития операционной системы, которую Вы используете.