1 ОПЕРАЦИОННАЯ ПЛАТФОРМА. ОПРЕДЕЛЕНИЯ И КЛАССИФИКАЦИЯ ЛЕКЦИЯ №3 Калинина А.П.

Slides:



Advertisements
Similar presentations
Выпускная квалификационная работа на тему: «Применение интернет-технологий как фактор повышения эффективности функционирования организации (на примере.
Advertisements

Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Мелкозернистый параллелизм клеточно-автоматных моделей пространственной динамики Лекция 3 Руководитель: д.т.н., проф., Бандман О.Л. Лектор: к.ф.-м.н.,
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
Автоматизированная поддержка пользовательской документации Web-приложений, разрабатываемых в среде WebRatio Студент: Дорохов Вадим, 544 гр. Научный руководитель:
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
R1R2R3R4R5R6R7R1R2R3R4R5R6R7. Аксиома R 1. В пространстве существуют плоскости. В каждой плоскости пространства выполняются все аксиомы планиметрии.
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Тушин Александр, ЗАО «Компания Либэр». 1) Предоставление полнотекстовых материалов 2) Поиск по внутреннему содержанию документа 3) Доступность в режиме.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Сохранение суммы фазовых координат. Важный частный случай представляют системы, в которых в течение всего процесса сохраняется постоянной сумма значений.
© 2011 PM Expert Имя Фамилия. 2 © 2011 PM Expert Текст 1  Текст 2 Текст 3 Основные сведения о проекте Дайте краткую информацию о компании, для которой.
Создание сервиса синхронизации разнородных баз данных Допущена к защите зав. кафедрой: д.ф.м.н., профессор Терехов А.Н. Научный руководитель: доцент Графеева.
1 СПбГУ ИТМО, кафедра Компьютерных Технологий ПРИМЕНЕНИЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ УПРАВЛЕНИЯ БИЗНЕС- ПРОЦЕССАМИ Евгений Андреевич.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Коммуникация и синхронизация процессов в централизованных архитектурах
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
ПОТОКИ Начальные сведения. Многопоточность Каждому традиционному приложению Win32 соответствует один (обычно) или несколько процессов (process). Процесс.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Erstmedia, , Москва, ул. Профсоюзная, 93А, офис (495) , Стратегия и тактика крупного бренда.
Демидов А.В г. Операционные системы Лекция 3 Процессы.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
1 Организация вычислительной системы ЛЕКЦИЯ №2 Калинина А.П.
Основы цифровой обработки речевых сигналов. Общая схема процесса речеобразования x[n] – дискретные отсчеты сигнала возбуждения y[n] – дискретные отсчеты.
Основы операционных систем
Демидов А.В г. Операционные системы Лекция 2 Архитектура ЭВМ, архитектура ОС.
Apache Harmony или как сделать курсовую работу в рамках этого проекта Фурсов Михаил.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
Представление Spider Project Spider Project - профессиональный пакет управления проектами, который не имеет себе равных по функциональным.
Гергель В.П. Общий курс Теория и практика параллельных вычислений Лекция 16 Методы разработки параллельных программ для многопроцессорных систем с общей.
Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
"The European Molecular Biology Open Software Suite"
Практические рекомендации по распараллеливанию с помощью OpenMP и измерению ускорения. Ошибки при многопоточном программировании. Распределение заданий.
Основы операционных систем. Часть VI. Cети и сетевые операционные системы Лекция 14. Сети и сетевые операционные системы.
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Архитектурное проектирование.
Разработка программного обеспечения (Software Engineering)
ПОДДЕРЖКА ЗАДАЧ ОПЕРАТИВНОГО МОНИТОРИНГА ПРИРОДНЫХ ПРОЦЕССОВ В ОКЕАНОЛОГИЧЕСКОЙ ИНФОРМАЦИОННО- АНАЛИТИЧЕСКОЙ СИСТЕМЕ ДВО РАН А.В. Голик, А.Е. Суботэ, С.Г.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: модели систем.
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Гергель В.П. Общий курс Теория и практика параллельных вычислений Лекция 15 Методы разработки параллельных программ для многопроцессорных систем с общей.
Геоинформационные системы Чернышов Алексей Акимович.
Службы для электронного общения. Е-mail Maillists (Почтовая рассылка) Форум ICQ (Skype) IRC IP-телефония.
Место человека в интеллектуальной техносреде В.В. Бушуев, д.т.н., проф., Генеральный директор Института энергетической стратегии ЦМТ, г.
TMG Tel: 8 (495) Fax: 8 (477) Technology Management Group ООО «TMG» PayKeeper.
___________________________ Грязнов В.Б. Директор по Информационным технологиям ОАО «Мосэнерго»
Санкт-Петербургский Государственный Университет Экономики и Финансов
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Microsoft TechDayshttp:// Александр Шаповал Эксперт по стратегическим технологиям
1 R E F R I G E R A T I O N A N D A I R C O N D I T I O N I N G Как обновить программное обеспечение в AK-SC 255.
Zend Engine изнутри Дмитрий Стогов. Немного истории Zend Engine была разработана в качестве ядра для PHP 4 Andi Gutmans и Zeev Suraski в 1999 PHP 5.0.
КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ Metro приложения: работа с данными Краковецкий Александр, MVP/RD/PhD. DevRain Solutions.
Activity ANDROID CLUB Сегодня  Основные компоненты Android  Activity  Layout для Activity  Создание Activity  Launcher Activity  Activity.
SCOM2007: Мониторинг работы Hyper-V, Terminal Services, App-V
Отчетность средствами Reporting Services 2008
Сергей Копорулин | Эксперт по технологиям | Microsoft
Управление SQL Server c помощью PowerShell
Управление виртуальной инфраструктурой Hyper-V и Virtual Server
November CTP Андрей Коршиков MCP-клуб, Краснодар Декабрь 2009.
Акушерское отделение. Обсервация. Выполнили студентки группы ЛД16-05 Михно Екатерина и Бабина Софья.
Presentation transcript:

1 ОПЕРАЦИОННАЯ ПЛАТФОРМА. ОПРЕДЕЛЕНИЯ И КЛАССИФИКАЦИЯ ЛЕКЦИЯ №3 Калинина А.П.

2 Содержание 1. Введение 2. Введение в операционные системы 3. Процессы и потоки (нити) управления

3 Операционная платформа – составляющая «системного» подхода 1. Введение

4 Необходимость изучения операционной платформы для любого программиста  Основные идеи, концепции и алгоритмы, лежащие в основе операционных систем, применимы ко многим другим областям программирования, и особенно, к системному программированию;  Операционная система – большая и сложная программа, на примере которой можно изучить вопросы создания сложных программных продуктов;  П опулярные программные продукты могут рассматриваться как надстройки над операционными системами (базы данных,…) 1. Введение

5 Особая необходимость изучения операционной платформы - для «параллельного» программиста  современные операционные системы – по своей сути, параллельные программы  современные операционные системы – по своей сути, параллельные программы  технологии параллельного программирования – либо непосредственное использование сервисов операционной системы через интерфейс системных вызовов, либо надстройка над операционной системой 1. Введение

6 Пример: параллельный язык программирования с поддержкой пользовательских потоков как потоков ядра 1. Введение

7 2. Введение в операционные системы 2.1. Основные понятия и определения 2.2. Поколения операционных систем 2.3. Классификация операционных систем

8 Основные функции операционной системы  Образно говоря, основной функцией операционной системы можно считать чародейство – превращение системы в нечто большее, чем есть на самом деле.  операционная система может создать иллюзию одновременного исполнения нескольких программ на одном процессоре.  В итоге пользователь воспринимает виртуальную машину как компьютер, имеющий архитектуру, отличную от реально существующей.  Программы с OpenMP и MPI можно тестировать на правильность работы на однопроцессорной машине, если есть подходящая операционная система и ПО Основные понятия и определения

9 Виртуальные параллельные архитектуры 2.1. Основные понятия и определения

10 Основные функции операционной системы 1. Предоставление пользователю-программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобно работать. 2. Повышение эффективности использования компьютера за счет рационального управления его ресурсами Основные понятия и определения

11 О виртуальной машине   Виртуальная машина – это вычислительная система заданной конфигурации, моделируемая для пользователя программными и аппаратными средствами конкретного реально существующего компьютера.   Операционная система является тем слоем программного обеспечения, который преобразует аппаратную машину в виртуальную.   Конфигурация виртуальной машины может существенно отличаться от реальной Основные понятия и определения

12 Классификация ресурсов 2.1. Основные понятия и определения

13 Составляющие операционной системы  Ядро операционной системы – модули, выполняющие основные функции операционной системы.  Эти модули обычно поддерживают управление процессами, памятью, устройствами ввода-вывода.  Код ядра операционной системы исполняется в привилегированном режиме работы процессора.  Обычные приложения в стандартном для данной операционной системе формате. Их называют вспомогательными модулями операционной системы Основные понятия и определения

Поколения операционных систем  Н улевое поколение. В первых компьютерах операционные системы отсутствовали. Это период с момента появления первых компьютеров до середины 50- ых годов 20 века.  Первое поколение. Пакетная обработка, мультипрограммные операционные системы. Появились в середине 50-ых годов 20 века.  Второе поколение. Многорежимные операционные системы, операционные системы реального времени. Появились в середине 60-х гг. 20 века.  Третье поколение. Операционные системы для персональных компьютеров, сетевые операционные системы. Появились в начале 80-х гг. 20 века.  Четвертое поколение. Распределенные операционные системы. Появились в начале 90-х г 20 века.

Классификация операционных систем Классификация по типу централизации Классификация по особенностям алгоритмов управления ресурсами Классификация по особенностям аппаратных платформ Классификация по особенностям областей использования Классификация по типу архитектуры ядра системы

Классификация по типу централизации 2.3. Классификация операционных систем

17 Распределенные операционные системы Предоставляют пользователю сети единую централизованную виртуальную машину, которая дает максимальную степень прозрачности сетевых ресурсов. Предоставляют пользователю сети единую централизованную виртуальную машину, которая дает максимальную степень прозрачности сетевых ресурсов.  Распределенные системы объединяют все компьютеров сети, для работы в тесной кооперации.  Распределенные системы объединяют все компьютеров сети, для работы в тесной кооперации.  При работе в таких системах пользователь, запускающий приложение, не знает, на каком компьютере оно реально выполняется.  При работе в таких системах пользователь, запускающий приложение, не знает, на каком компьютере оно реально выполняется Классификация операционных систем

18 Основная характеристика классификации параллельных и распределенных архитектур наличие общей или распределенной (локальной для каждого из узлов) памяти 2.3. Классификация операционных систем

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

20 Обоснование классификации по типу централизации Классификация по типу централизации

21 Разновидности OpenMP OpenMP для многопроцессорной системы с общей памятью OpenMP для кластера Малые отличия в синтаксисе

Классификация по особенностям алгоритмов управления ресурсами  Поддержка многозадачности  Поддержка многозадачности  Поддержка многопользовательского режима  Поддержка многопользовательского режима  Поддержка многопоточности  Поддержка многопоточности  Поддержка многопроцессорной обработки  Концепция системы виртуальных машин (нескольких полноценных операционных систем)

Классификация по особенностям аппаратных платформ  Операционные системы для мощных серверов  Операционные системы для мощных серверов  Операционные системы для мощных станций и персональных компьютеров  Операционные системы для карманных компьютеров

Классификация по особенностям областей использования  Операционные системы пакетной обработки  Операционные системы пакетной обработки  Операционные системы разделения времени. Такие системы предоставляют каждой из задач квант процессорного времени  Операционные системы реального времени.

Классификация по типу архитектуры ядра системы  Монолитное ядро. Такое ядро компонуется как одно программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую  Слоистое ядро. В этом случае компоненты операционной системы образуют уровни с хорошо продуманной функциональностью и интерфейсом. Как и в предыдущем случае, компоненты работают в привилегированном режиме  Микроядро. Микроядро выполняет минимум функций по управлению аппаратурой. Обычно в него включаются машинно зависимые программы, некоторые функции управления процессами и обработка прерываний.

26 Классификация по типу архитектуры ядра

27 3. Процессы и потоки (нити) управления  Процесс – это абстракция, описывающая выполняющуюся программу  Процесс – это исполнение последовательности действий в среде, включающей собственно выполняющуюся программу, а также связанные с ней данные и состояния (открытые файлы, текущий каталог и т.п.)  С точки зрения операционной системы процесс – это единица работы, заявка на потребление системных ресурсов  Процесс – объект, которому выделяется процессор  Процесс – это живая душа программы  Первое упоминание о процессе появилось в 60-е годы 20 века в операционной системе MULTICS.

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

29 Основные состояния процесса

30 Процессы с поддержкой многопоточности  Поток (нить) управления– это исполнение команд программы в естественном порядке.  Процессы делятся на традиционные - имеющие один поток управления и многопоточные (многонитевые).  Многопоточность в рамках одного процесса имеет существенные преимущества. Переключение контекста между двумя потомками в одном процессе значительно проще, чем переключение контекста между двумя процессами.  Все данные, за исключением стэка исполнения и содержимого регистра процессора, разделяются между потоками.

31 Классы программ, где необходима многопоточность  Операционные системы  Сетевые серверы  Встроенные системы  Вычислительные программы

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

33 Классы потоков

34 4. Windows – 2000 & Windows NT   процесс представляет выполняющийся экземпляр программы. Он имеет собственное адресное пространство, где содержаться его код и данные.   Процесс должен содержать минимум как один поток, так как именно он, а не процесс, является единицей планирования (данная операционная система относится к системам разделения времени, т.е. каждой единице предоставляется квант процессорного времени).   Процесс может создавать несколько потоков, выполняемых в его адресном пространстве.  

35 4. Windows – 2000 & Windows NT    …поддерживает особую легковесную форму потока, называемого нитью. В отличие от потоков, управление нитями осуществляется исключительно в пользовательском режиме, поэтому они не видны ни ядру, ни исполнительной системе.   Приложение на основе нитей может эффективно использовать возможности мультипроцессора, если в нем задействовано более одного потока и реализован механизм управления параллельным выполнением нитей разных потоков

36 В Windows:  Каждый пользовательский поток (не нить) регистрируется как поток ядра  Создание параллельной секции – достаточно дорогостоящая операция  Переключение контекста – дорогостоящая операция  Разный тип потоков делает более выгодными разные параллельные конструкции

37 Задание Определить временные затраты, необходимые для создания параллельной секции. Для этого получить результат работы проекта Section_parall.

38 Время для создания параллельной секции определяется из сравнения времени работы следующих участков кода: for (i=0; i<N; i++); for (i=0; i<N; i++) #pragma omp parallel {} И составляет более 1000 циклов процессора

39 Задание Определить времена выполнения (и их разность) параллельных конструкций по проекту Critical_mutex  #pragma omp critical  omp_set_lock(&lsk);

40 Тест для определения временных затрат на создание критической секции start = clock(); #pragma omp parallel { for (i=0;i<N_critical; i++ ) { #pragma omp critical {}}} finish = clock();

41 Тест для определения временных затрат на создание omp_set_lock(&lsk); omp_lock_t lsk; start = clock(); omp_init_lock(&lsk); #pragma omp parallel shared(lsk) { for (i=0;i<N_critical; i++ ) {omp_set_lock(&lsk);{}omp_unset_lock(&lsk);}}