
- •1. Лекция: Понятие операционной системы (ос), цели ее работы. Классификация компьютерных систем
- •Введение
- •Комментарии к списку литературы
- •Краткое содержание курса
- •Почему важно знать операционные системы – мнение эксперта из Microsoft
- •Расцвет ос в 2000-х гг.
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Темы для курсовых работ, рефератов, эссе
- •2. Лекция: История ос. Отечественные ос. Диалекты unix. Режимы пакетной обработки, мультипрограммирования, разделения времени
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Темы для курсовых работ, рефератов, эссе
- •3. Лекция: Особенности ос для различных классов компьютерных систем. Ос реального времени. Ос для облачных вычислений
- •Введение
- •Особенности ос для персональных компьютеров
- •Параллельные компьютерные системы и особенности их ос.
- •Симметричные и асимметричные мультипроцессорные системы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •4. Лекция: Архитектура компьютерной системы
- •Содержание
- •Введение
- •Архитектура компьютерной системы
- •Аппаратная защита адресов памяти в системах с теговой архитектурой
- •Организация аппаратной защиты памяти и процессора
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •5. Лекция: Архитектура ос. Управление процессами: Основные понятия. Семафоры и мониторы
- •6. Лекция: Обзор функций ос: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ос, системные вызовы. Уровни абстракции ос. Архитектура unix и ms-dos
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •7. Лекция: Уровни абстракции ос. Ос с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ос. Генерация ос
- •Механизмы и политики
- •Реализация операционных систем
- •Генерация операционной системы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •8. Лекция: Управление процессами. Планирование и диспетчеризация процессов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •9. Лекция: Методы взаимодействия процессов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •10. Лекция: Потоки (threads) и многопоточное выполнение программ (multi-threading)
- •Потоки в Windows 2000
- •Потоки в Linux
- •Потоки в Java
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •11. Лекция: Стратегии и критерии диспетчеризации процессов
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •12. Лекция: Методы синхронизации процессов
- •Алгоритм решения проблемы критической секции
- •Алгоритм булочной (bakery algorithm)
- •Синхронизация на основе аппаратной поддержки атомарных операций
- •Синхронизация на основе общих семафоров
- •Реализация семафоров
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •13. Лекция: Тупики (deadlocks), методы предотвращения и обнаружения тупиков
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •14. Лекция: Алгоритм банкира
- •Методы обнаружения тупиков
- •Граф wait-for
- •Обнаружение тупиков для случая ресурсов с множественными экземплярами
- •Алгоритм обнаружения тупиков
- •Пример применения алгоритма обнаружения тупиков
- •Использование алгоритма обнаружения тупиков
- •Восстановление после тупика
- •Комбинированный подход к обработке тупиков
- •Ключевые термины
- •Краткие итоги
- •Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •15. Лекция: Управление памятью
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •16. Лекция: Страничная организация памяти
- •Хешированные таблицы страниц
- •Инвертированные таблицы страниц
- •Разделяемые страницы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •17. Лекция: Сегментная организация памяти
- •Пример сегментной организации памяти
- •Пример использования разделяемых сегментов
- •Сегментно-страничная организация памяти в системах multics и "Эльбрус"
- •Сегментно-страничная организация памяти в системе Intel 386
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •18. Лекция: Виртуальная память
- •Страничная организация в Solaris
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •19. Лекция: Системы файлов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •20. Лекция: Виртуальные файловые системы (vfs). Реализации файловых систем. Сетевая файловая система nfs
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •21. Лекция: Системы ввода-вывода
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •22. Лекция: Сети и сетевые структуры
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •23. Лекция: Классические и современные сетевые коммуникационные протоколы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •24. Лекция: Безопасность операционных систем и сетей. Trustworthy Computing
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •25. Лекция: Обзор архитектуры и возможностей системы Linux: архитектура, ядро, распространение и лицензирование, принципы проектирования, управление процессами
- •Планирование задач ядра и синхронизация в ядре
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •26. Лекция: Обзор архитектуры и возможностей системы Linux: управление памятью, ресурсами, файловые системы, драйверы устройств, сети, безопасность
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •27. Лекция: Обзор архитектуры и возможностей систем Windows 2000/xp/2003/Vista/2008/7
- •Подсистемы окружения в Windows 2000
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •28. Лекция: Системные механизмы Windows
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •29. Лекция: Академическая программа Microsoft Shared Source Initiative. Открытое ядро Windows для изучения и исследований (Windows Research Kernel)
- •Пакет учебных ресурсов crk
- •Исследовательское ядро Windows Research Kernel
- •Проект ProjectOz
- •Контактная информация и ссылки
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •30. Лекция: ос для мобильных устройств. Windows Mobile
- •Перспективы ос для мобильных устройств
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •31. Лекция: ос для облачных вычислений (cloud computing). Windows Azure
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •32. Лекция: Перспективы операционных систем и сетей
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •Заключение
Набор для практики Вопросы
Что такое программа Microsoft Shared Source Initiative (SSI) и каковы ее цели?
Какие программные продукты в статусе shared source выпущены в рамках программы SSI?
Что такое SSCLI / Rotor?
Какой портал открыт фирмой Microsoft для поддержки разработки исследовательских проектов с открытым исходным кодом?
Какая академическая программа открыта фирмой Microsoft для изучения и развития Windows и каковы ее цели?
Из каких компонент состоит программа WAP?
Что такое WRK?
Что такое CRK?
Что такое ProjectOZ?
Упражнения
Создайте собственный проект с открытым исходным кодом на портале CodePlex, опубликуйте на нем краткое описание проекта, открытый исходный код, поддерживайте форум с обсуждением вашего проекта.
Скачайте и изучите проект ParallelDwarfs () .
Изучите Windows Research Kernel и подготовьте краткий обзор исходных кодов WRK.
Создайте собственный исследовательский проект на основе ProjectOZ по разработке части операционной системы (например, диспетчера процессов).
Темы для курсовых работ, рефератов, эссе
Обзор программы Microsoft Shared Source Initiative (SSI) (реферат).
Обзор программы Windows Academic Program (реферат).
Обзор WRK (реферат).http://paralleldwarfs.codeplex.com
Обзор CRK (реферат).
Обзор ProjectOZ (реферат).
Создание собственного проекта с открытым исходным кодом на портале CodePlex (курсовая работа).
Изучение проекта ParallelDwarfs (http://paralleldwarfs.codeplex.com) и подготовка его обзора (курсовая работа).
Изучение Windows Research Kernel и подготовка его обзора (курсовая работа).
Создание собственного исследовательского проекта на основе ProjectOZ по разработке части операционной системы, по выбору студента (например, диспетчера процессов) (курсовая работа).
30. Лекция: ос для мобильных устройств. Windows Mobile
В лекции рассмотрены следующие вопросы: особенности мобильных устройств и операционных систем для мобильных устройств; обзор рынка ОС для мобильных устройств: Windows Mobile, Symbian OS, Google Android, Blackberry OS и др.
Содержание
Введение
Особенности ОС для мобильных устройств
Рынок ОС для мобильных устройств
Windows Mobile
Symbian OS
Google Android
BlackBerry OS
Перспективы ОС для мобильных устройств
Ключевые термины
Краткие итоги
Набор для практики
Вопросы
Упражнения
Темы для курсовых работ, рефератов, эссе
Введение
Мобильные устройства стали неотъемлемой частью повседневной жизни и деятельности большинства людей во всем мире. Поэтому операционные системы для мобильных устройств в настоящее время бурно развиваются. Данная лекция является кратким обзором ОС для мобильных устройств.
Особенности ОС для мобильных устройств
К мобильным устройствам принято относить мобильные телефоны, смартфоны и коммуникаторы. Разработчики ОС для мобильных устройств работают над тем, чтобы приблизить возможности этих ОС к возможностям ОС для настольных и портативных компьютеров. Однако в ОС для мобильных устройств есть своя специфика. Их основные особенности следующие.
Учет более жестких ограничений по памяти мобильных устройств. Хотя мобильные устройства активно развиваются, по своим параметрам (объему памяти, быстродействию процессора) они все же пока уступают настольным компьютерам. Поэтому приложения для мобильных устройств, требующие большого объема памяти, воспроизводятся на мобильных устройствах с неполными возможностями. Ряд инструментов, например, Java, также доступны для мобильных устройств в специальных версиях, разработанных с целью экономии памяти, с ограничениями, не свойственными классическим версиям: на мобильных устройствах работает Java Micro Edition (JME), а не полная версия – Java Standard Edition (JSE) для настольных компьютеров. В ней, например, отсутствует вещественная арифметика в Java и ряд других важных возможностей.
Учет более низкой скорости процессора. По сравнению с настольными компьютерами, аналоги настольных приложений на мобильных устройствах работают заметно медленнее: например, медленно открывается изображение на экране мобильного телефона, текстовый файл для просмотра и т.д. Это неудобно для пользователей и, по-видимому, будет преодолено в последующих версиях самих мобильных устройств и их ОС.
Учет особенностей экранов и экранных навигаторов конкретных моделей мобильных устройств. Многие типы мобильных устройств различных фирм имеют существенно разные экраны и различные виды экранных навигаторов (трэкбол и др.). При разработке ОС и сервисных программ для мобильных устройств эти различия приходится учитывать, что осложняет разработку программного обеспечения.
Совместимость с основными форматами файлов: .doc/docx, .ppt/.pptx, .pdf, .jpg и др. При работе на мобильном устройстве необходимо иметь возможность визуализировать, редактировать и создавать файлы тех же привычных форматов, что и на настольных компьютерах. Обеспечение такой совместимости – одна из важных задач ОС и сервисных программ для мобильных устройств.
Мультимедийные возможности: рисунки, видео, аудио, обмен мультимедийными сообщениями. Обработка мультимедийной информации для мобильных устройств особенно важна: пользователи должны иметь возможность сделать фотографии, снять видео, просмотреть их на мобильном устройстве, опубликовать в Интернете, послать на настольный компьютер или в виде сообщения своим корреспондентам.
Поддержка коммуникационных и сетевых технологий: Wi-Fi / WiMAX, Bluetooth, GPRS, EVDO, GSM, CDMA. Мобильное устройство и его ОС должны обеспечивать для пользователей возможность современных видов коммуникации в беспроводных сетях.
Рынок ОС для мобильных устройств
В настоящее время на рынке мобильных устройств используется несколько десятков наиболее распространенных ОС. Некоторые из них разработаны на основе свободно распространяемого ядра Linux. Ведущие фирмы-производители мобильных устройств поддерживают собственные ОС либо ОС, приобретенные вместе с их фирмами-разработчиками. Наиболее распространенные ОС для мобильных устройств следующие:
Nokia Symbian OS
Google Android
Windows Mobile
Blackberry OS.
Apple iPhone OS
Samsung Bada
PalmOS.
В данной лекции мы рассмотрим первые четыре семейства ОС для мобильных устройств как наиболее популярные.
Windows Mobile
Windows Mobile – семейство ОС для мобильных устройств фирмы Microsoft. Оно относится к семейству Windows CE (Consumer and Embedded) – Windows для встроенных систем. Ядро ОС Windows Mobile основано на ОС Windows CE.
Текущая версия Windows Mobile (2010) – Windows Phone Classic 6.5. В США Windows Mobile - третья по популярности ОС для мобильных устройств (после Blackberry OS и iPhone OS). Windows Mobile поддерживает следующие виды мобильных устройств: PocketPC, смартфоны, коммуникаторы (например, Qtek). Первая версия Windows Mobile была выпущена в 1996 г.
Windows Mobile: возможности и ПО. ОС Windows Mobile предоставляет разнообразный набор возможностей и программного обеспечения:
Office Mobile – аналог Microsoft Office для мобильных устройств; полная совместимость по форматам;
Windows Media Player – мультимедийный проигрыватель, аналог проигрывателя для настольной версии Windows;
Internet Explorer Mobile – Web-браузер, аналог Internet Explorer для настольной версии Windows;
Программное обеспечение для поддержки Bluetooth и Wi-Fi – современных видов коммуникации;
Программное обеспечение Microsoft ActiveSync для синхронизации данных с настольными компьютерами.
Windows Mobile поддерживает пользовательский интерфейс с мобильным устройством с помощью касания экрана стайлусом и пальцами, в том числе (в современных версиях) – multi-touch.
Новые версии Windows Mobile поддерживают также .NET Compact Framework, что дает возможность выполнения приложений для платформы .NET на мобильных устройствах.
Версии Windows Mobile 6. Начиная с версии 6, Windows Mobile выпускается в трех основных версиях:
Windows Mobile 6 Classic — для КПК
Windows Mobile 6 Professional — для коммуникаторов
Windows Mobile 6 Standard — для смартфонов.
Пользовательский интерфейс Windows Mobile 6.5 представлен на рис. 30.1.
Рис. 30.1. Пользовательский интерфейс Windows Mobile 6.5
Как видно из рисунка, он очень похож на пользовательский интерфейс настольных версий Windows, что существенно облегчает работу пользователей.
Перспективы Windows Mobile. На наш взгляд, ОС Windows Mobile имеет большие перспективы, хотя все сложнее и сложнее становится конкуренция с другими популярными ОС, прежде всего, с ОС фирм Apple (iPhone OS) и Google (Android). В целях конкуренции фирма Microsoft развивает новый проект – Microsoft KIN, новый смартфон, конкурирующий с Apple iPhone.
Symbian OS
Symbian OS – наиболее распространенная в настоящее время ОС для мобильных устройств, разработанная консорциумом Symbian (Nokia, Ericsson, Psion, Motorola), основанным в 1998 г. Фирма Nokia финансирует объединение Symbian Foundation, целью которого является разработка и поддержка единой (для мобильных устроцств различных компаний) мобильной платформы на основе Symbian OS. Symbian OS hазработана на основе ОС Psion EPOC32 (фирмы Psion). Язык реализации системы – C++; имеется также поддержка Java. Наиболее распространенные версии – Symbian OS Series 60 2nd edition; 3rd edition.
По данным на конец 2009 г., 47% смартфонов в мире используют Symbian OS. Для сравнения, показатели использования других ОС: Blackberry OS – 20%, Windows Mobile – около 9%, Google Android – около 5%.
Возможности Symbian OS. Symbian OS поддерживает удобный пользовательский интерфейс и имеет значительное число сервисных программ, в том числе – разработанных фирмой-производителем Nokia. Основные возможности для пользователя следующие:
Меню с иконками приложений;
Список контактов;
Поддержка встроенной фото- и видеокамеры, галереи изображений и видеоклипов;
Обработка файлов, управление памятью (SmartMedia);
Web-браузер;
Электронная почта;
Обмен сообщениями SMS и MMS;
Поддержка GPS-навигации;
Редакторы фото и видео;
Поддержка Java Micro Edition - загрузки и исполнения мидлетов;
Библиотека приложений фирмы Nokia.
Google Android
Google Android – стек приложений для мобильных устройств, включающий операционную систему (на базе ядра Linux), промежуточное программное обеспечение (middleware) и сервисные программы. Система Android разработана фирмой Android, Inc., приобретенной компанией Google (2005). В настоящее время (2010 г.) это четвертая по популярности ОС для смартфонов в США. Важной особенностью Google Android является то, что сервисные программы и библиотеки этой системы написаны на Java.
Возможности Google Android. Прежде всего, Google Android привлекает пользователей своим удобным и эстетичным пользовательским интерфейсом, который разработан с использованием двумерной и трехмерной графики (библиотеки OpenGL). Основные возможности системы следующие:
СУБД SQLite для хранения данных;
Поддерживаемые сетевые технологии: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, WiMAX, Bluetooth 2.0;
Обмен сообщениями SMS и MMS;
Web-браузер на базе WebKit Application Framework.
Поддержка Java. Фирма Google по принципиальным соображениям использует в системе Android собственную реализацию Java – Dalvik Virtual Machine, разработанную специально для мобильных устройств. По мнению специалистов Google, cтандарт Java Micro Edition (JME) устарел, так как рассчитан на устаревшие типы мобильных устройств и их технические возможности. Поэтому в Google Android стандарт JME не поддерживается.
Поддержка мультимедиа. В системе Google Android имеются кодеки для всех распространенных мультимедийных стандартов, программное обеспечение для обработки мультимедийных файлов и взаимодействия с видео- и аудиоустройствами.
Поддержка разработки приложений. Система Google Android имеет свою собственную интегрированную среду для разработки приложений - Android SDK, включающий эмулятор мобильных устройств, средства отладки, профилирования, а также plug-in к популярной среде Eclipse для разработки Java-приложений.
Пользовательский интерфейс Google Android представлен на рис. 30.2.
Рис. 30.2. Пользовательский интерфейс Google Android
BlackBerry OS
Blackberry OS - ОС для мобильных устройств с базовым набором приложений, работающая на смартфонах и коммуникаторах фирмы Research and Motion (RIM) – например, BlackBerry Torch 9800. Современная версия системы (2010) – BlackBerry OS 6.0.
Возможности BlackBerry OS. BlackBerry OS поддерживает широкий набор возможностей для пользователей, в том числе:
Пометка сообщений и установка времени напоминаний на смартфоне BlackBerry;
Просмотр вложенных папок персональных контактов и редактирование контактов. BES (BlackBerry Enterprise Server) вставляет все пользовательские контакты в приложение Contacts, даже если они находятся в различных папках;
Просмотр и использование контактов, расположенных в общих папках, и копирование их в локальный список контактов пользователя, при наличии разрешения;
Программа просмотра файлов для доступа в общие сетевые ресурсы с возможностью открывать, добавлять и сохранять документы. Возможность просмотра информации о документе, в том числе типа файла, размера и даты;
Отправка приглашения на встречи и записи календаря со смартфона BlackBerry;
Возможность добавлять, удалять, перемещать и переименовывать персональные папки;
Возможность просматривать личный список рассылки в контактах Outlook и отправлять письма по нему;
Фирма RIM также работает над решением, которое позволит письмам, пришедшим со смартфона, выглядеть так же, как если бы они были отправлены из Microsoft Outlook.
Новые возможности BlackBerry OS 6.0 (август 2010):
Новый пользовательский интерфейс предназначенный для широкого использования Multitouch-жестов, но при этом сохраняющий возможности управления с помощью трэкбола;
Структура рабочего стола, аналогичная операционным системам Apple iOS и Android;
Улучшенные мультимедийные возможности ОС;
Улучшенные возможности для веб-серфинга: в новой версии ОС используется мобильный браузер на основе инструмента WebKit, что позволяет запускать веб-приложения, написанные на языке HTML 5;
Упрощенный доступ к мобильным сообщениям, электронной почте и социальным сетям.