Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Лекция 3. Операционная платформа. Определения и классификация

Содержание

СодержаниеВведениеВведение в операционные системыПроцессы и потоки (нити) управления
ОПЕРАЦИОННАЯ ПЛАТФОРМА.   ОПРЕДЕЛЕНИЯ И КЛАССИФИКАЦИЯЛЕКЦИЯ №3Калинина А.П. СодержаниеВведениеВведение в операционные системыПроцессы и потоки (нити) управления Операционная платформа – составляющая «системного» подхода1. Введение Необходимость изучения операционной платформы для любого программиста Основные идеи, концепции и алгоритмы, Особая необходимость изучения операционной платформы -  для «параллельного» программистасовременные операционные системы Пример: параллельный язык программирования с поддержкой пользовательских потоков как потоков ядра1. Введение 2. Введение в операционные системы2.1. Основные понятия и определения2.2. Поколения операционных систем2.3. Классификация операционных систем Основные функции операционной системыОбразно говоря, основной функцией операционной системы можно считать чародейство Виртуальные параллельные архитектуры2.1. Основные понятия и определения Основные функции операционной системы1. Предоставление пользователю-программисту вместо реальной аппаратуры компьютера расширенной виртуальной О виртуальной машине❑ Виртуальная машина – это вычислительная система заданной конфигурации, моделируемая Классификация ресурсов2.1. Основные понятия и определения Составляющие операционной системыЯдро операционной системы – модули, выполняющие основные функции операционной системы. 2.2. Поколения операционных системНулевое поколение. В первых компьютерах операционные системы отсутствовали. Это 2.3. Классификация операционных систем2.3.1. Классификация по типу централизации2.3.2. Классификация по особенностям алгоритмов 2.3.1. Классификация по типу централизации2.3. Классификация операционных систем Распределенные операционные системы  Предоставляют пользователю сети единую централизованную виртуальную машину, которая Основная характеристика классификации параллельных и распределенных архитектурналичие общей или распределенной(локальной для каждого Классификация вычислительных систем и ПОВычислительные системы можно разделить на два класса.Системы с Обоснование классификации по типу централизации2.3.1. Классификация по типу централизации Разновидности OpenMPOpenMP для многопроцессорной системы с общей памятьюOpenMP для кластераМалые отличия в синтаксисе 2.3.2. Классификация по особенностям алгоритмов управления ресурсамиПоддержка многозадачности Поддержка многопользовательского режима Поддержка многопоточности  Поддержка 2.3.4. Классификация по особенностям аппаратных платформОперационные системы для мощных серверов Операционные системы для 2.3.5. Классификация по особенностям областей использованияОперационные системы пакетной обработки  Операционные системы разделения 2.3.6. Классификация по типу архитектуры ядра системыМонолитное ядро. Такое ядро компонуется как Классификация по типу архитектуры ядра 3. Процессы и потоки (нити) управления Процесс – это абстракция, описывающая выполняющуюся Основные состояния процесса Готовность – процесс находится в очереди на выполнение; Ожидание – Основные состояния процесса Процессы с поддержкой многопоточности Поток (нить) управления– это исполнение команд программы в Классы программ, где необходима многопоточностьОперационные системыСетевые серверы Встроенные системы Вычислительные программы три класса потоковПотоки ядра являются базовыми потоками. Они располагаются в адресном пространстве Классы потоков 4. Windows – 2000 & Windows NT❑ процесс представляет выполняющийся экземпляр программы. 4. Windows – 2000 & Windows NT❑ •…поддерживает особую легковесную форму потока, В Windows:Каждый пользовательский поток (не нить) регистрируется как поток ядра Создание параллельной Задание 1.1. Определить временные затраты, необходимые для создания параллельной секции. Для этого Время для создания параллельной секции определяется из сравнения времени работы следующих участков кода:for (i=0; i Задание 2.Определить времена выполнения (и их разность) параллельных конструкций по проекту Critical_mutex #pragma omp criticalomp_set_lock(&lsk); Тест для определения временных затрат на создание критической секцииstart = clock(); #pragma omp parallel 	{		for (i=0;i Тест для определения временных затрат на создание omp_set_lock(&lsk);omp_lock_t lsk; 	start = clock();	omp_init_lock(&lsk); #pragma omp parallel  shared(lsk)	{		for (i=0;i
Слайды презентации

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

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

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

1. Введение

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

Слайд 4 Необходимость изучения операционной платформы для любого программиста
Основные

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

идеи, концепции и алгоритмы, лежащие в основе операционных систем,

применимы ко многим другим областям программирования, и особенно, к системному программированию;

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

Популярные программные продукты могут рассматриваться как надстройки над операционными системами (базы данных,…)

1. Введение


Слайд 5 Особая необходимость изучения операционной платформы - для «параллельного»

Особая необходимость изучения операционной платформы - для «параллельного» программистасовременные операционные системы

программиста
современные операционные системы – по своей сути, параллельные программы 

технологии

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

1. Введение


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

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

как потоков ядра
1. Введение


Слайд 7 2. Введение в операционные системы
2.1. Основные понятия и

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

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


Слайд 8 Основные функции операционной системы
Образно говоря, основной функцией операционной

Основные функции операционной системыОбразно говоря, основной функцией операционной системы можно считать

системы можно считать чародейство – превращение системы в нечто

большее, чем есть на самом деле.

операционная система может создать иллюзию одновременного исполнения нескольких программ на одном процессоре.

В итоге пользователь воспринимает виртуальную машину как компьютер, имеющий архитектуру, отличную от реально существующей.

Программы с OpenMP и MPI можно тестировать на правильность работы на однопроцессорной машине, если есть подходящая операционная система и ПО.

2.1. Основные понятия и определения


Слайд 9 Виртуальные параллельные архитектуры

2.1. Основные понятия и определения

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

Слайд 10 Основные функции операционной системы
1. Предоставление пользователю-программисту вместо реальной

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

аппаратуры компьютера расширенной виртуальной машины, с которой удобно работать.

2.

Повышение эффективности использования компьютера за счет рационального управления его ресурсами.

2.1. Основные понятия и определения


Слайд 11 О виртуальной машине
❑ Виртуальная машина – это вычислительная

О виртуальной машине❑ Виртуальная машина – это вычислительная система заданной конфигурации,

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

средствами конкретного реально существующего компьютера.

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

2.1. Основные понятия и определения


Слайд 12 Классификация ресурсов

2.1. Основные понятия и определения

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

Слайд 13 Составляющие операционной системы
Ядро операционной системы – модули, выполняющие

Составляющие операционной системыЯдро операционной системы – модули, выполняющие основные функции операционной

основные функции операционной системы.

Эти модули обычно поддерживают

управление процессами, памятью, устройствами ввода-вывода.

Код ядра операционной системы исполняется в привилегированном режиме работы процессора.

Обычные приложения в стандартном для данной операционной системе формате. Их называют вспомогательными модулями операционной системы.

2.1. Основные понятия и определения


Слайд 14 2.2. Поколения операционных систем
Нулевое поколение. В первых компьютерах

2.2. Поколения операционных системНулевое поколение. В первых компьютерах операционные системы отсутствовали.

операционные системы отсутствовали. Это период с момента появления первых

компьютеров до середины 50- ых годов 20 века.

Первое поколение. Пакетная обработка, мультипрограммные операционные системы. Появились в середине 50-ых годов 20 века.

Второе поколение. Многорежимные операционные системы, операционные системы реального времени. Появились в середине 60-х гг. 20 века.

Третье поколение. Операционные системы для персональных компьютеров, сетевые операционные системы. Появились в начале 80-х гг. 20 века.

Четвертое поколение. Распределенные операционные системы. Появились в начале 90-х г 20 века.

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

2.3.2.

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

Классификация по особенностям алгоритмов управления ресурсами

2.3.4. Классификация по особенностям

аппаратных платформ

2.3.5. Классификация по особенностям областей использования

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

Слайд 16 2.3.1. Классификация по типу централизации


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

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

Слайд 17 Распределенные операционные системы
Предоставляют пользователю сети единую

Распределенные операционные системы Предоставляют пользователю сети единую централизованную виртуальную машину, которая

централизованную виртуальную машину, которая дает максимальную степень прозрачности сетевых

ресурсов.

 Распределенные системы объединяют все компьютеров сети, для работы в тесной кооперации.

 При работе в таких системах пользователь, запускающий приложение, не знает, на каком компьютере оно реально выполняется.


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


Слайд 18 Основная характеристика классификации параллельных и распределенных архитектур

наличие
общей

Основная характеристика классификации параллельных и распределенных архитектурналичие общей или распределенной(локальной для

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

систем


Слайд 19 Классификация вычислительных систем и ПО
Вычислительные системы можно разделить

Классификация вычислительных систем и ПОВычислительные системы можно разделить на два класса.Системы

на два класса.

Системы с сильными связями. Сюда относятся системы,

состоящие из нескольких однородных процесооров и массива общей памяти.

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

Программное обеспечение можно также разделить на два класса.


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

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


2.3.1. Классификация по типу централизации


Слайд 20 Обоснование классификации по типу централизации

2.3.1. Классификация по типу

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

централизации


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

OpenMP

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

для кластера

Малые отличия в синтаксисе


Слайд 22 2.3.2. Классификация по особенностям алгоритмов управления ресурсами
Поддержка многозадачности 
Поддержка

2.3.2. Классификация по особенностям алгоритмов управления ресурсамиПоддержка многозадачности Поддержка многопользовательского режима Поддержка многопоточности

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

(нескольких полноценных операционных систем)

Слайд 23 2.3.4. Классификация по особенностям аппаратных платформ
Операционные системы для

2.3.4. Классификация по особенностям аппаратных платформОперационные системы для мощных серверов Операционные системы

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

системы для карманных компьютеров


Слайд 24 2.3.5. Классификация по особенностям областей использования
Операционные системы пакетной

2.3.5. Классификация по особенностям областей использованияОперационные системы пакетной обработки  Операционные системы

обработки  

Операционные системы разделения времени. Такие системы предоставляют каждой

из задач квант процессорного времени

Операционные системы реального времени.

Слайд 25 2.3.6. Классификация по типу архитектуры ядра системы
Монолитное ядро.

2.3.6. Классификация по типу архитектуры ядра системыМонолитное ядро. Такое ядро компонуется

Такое ядро компонуется как одно программа, работающая в привилегированном

режиме и использующая быстрые переходы с одной процедуры на другую

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

Микроядро. Микроядро выполняет минимум функций по управлению аппаратурой. Обычно в него включаются машинно зависимые программы, некоторые функции управления процессами и обработка прерываний.

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

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

Слайд 27 3. Процессы и потоки (нити) управления
Процесс –

3. Процессы и потоки (нити) управления Процесс – это абстракция, описывающая

это абстракция, описывающая выполняющуюся программу

Процесс – это исполнение последовательности

действий в среде, включающей собственно выполняющуюся программу, а также связанные с ней данные и состояния (открытые файлы, текущий каталог и т.п.)

С точки зрения операционной системы процесс – это единица работы, заявка на потребление системных ресурсов

Процесс – объект, которому выделяется процессор

Процесс – это живая душа программы

Первое упоминание о процессе появилось в 60-е годы 20 века в операционной системе MULTICS.

Слайд 28 Основные состояния процесса
Готовность – процесс находится в

Основные состояния процесса Готовность – процесс находится в очереди на выполнение; Ожидание

очереди на выполнение;
 
Ожидание – процесс ожидает завершения события (

например, освобождения ресурса);
 
Остановлен – процесс остановлен, как правило, в отладочном режиме;
 
Создание – выполнение действий, необходимых для создания процесса

Завершение - выполнение действий, связанных с успешным завершением процесса
 
Зомби – процесс закончен, но предок не принял его завершения.


Слайд 29 Основные состояния процесса

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

Слайд 30 Процессы с поддержкой многопоточности
Поток (нить) управления– это

Процессы с поддержкой многопоточности Поток (нить) управления– это исполнение команд программы

исполнение команд программы в естественном порядке.
 
Процессы делятся на

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

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

Сетевые серверы
 
Встроенные системы
 
Вычислительные

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

программы


Слайд 32 три класса потоков
Потоки ядра являются базовыми потоками. Они

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

располагаются в адресном пространстве ядра и непосредственно связаны с

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

Слайд 33 Классы потоков

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

Слайд 34 4. Windows – 2000 & Windows NT
❑ процесс

4. Windows – 2000 & Windows NT❑ процесс представляет выполняющийся экземпляр

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

где содержаться его код и данные.

❑      Процесс должен содержать минимум как один поток, так как именно он, а не процесс, является единицей планирования (данная операционная система относится к системам разделения времени, т.е. каждой единице предоставляется квант процессорного времени).

❑ Процесс может создавать несколько потоков, выполняемых в его адресном пространстве.
 
    

Слайд 35 4. Windows – 2000 & Windows NT
❑ •…поддерживает

4. Windows – 2000 & Windows NT❑ •…поддерживает особую легковесную форму

особую легковесную форму потока, называемого нитью. В отличие от

потоков, управление нитями осуществляется исключительно в пользовательском режиме, поэтому они не видны ни ядру, ни исполнительной системе.

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

Слайд 36 В Windows:
Каждый пользовательский поток (не нить) регистрируется как

В Windows:Каждый пользовательский поток (не нить) регистрируется как поток ядра Создание

поток ядра

Создание параллельной секции – достаточно дорогостоящая операция



Переключение контекста – дорогостоящая операция

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


Слайд 37 Задание 1.

1. Определить временные затраты, необходимые для создания

Задание 1.1. Определить временные затраты, необходимые для создания параллельной секции. Для

параллельной секции. Для этого получить результат работы проекта Section_parall.


Слайд 38 Время для создания параллельной секции определяется из сравнения

Время для создания параллельной секции определяется из сравнения времени работы следующих участков кода:for (i=0; i

времени работы следующих участков кода:

for (i=0; i

i#pragma omp parallel
{
}

И составляет более 1000 циклов процессора

Слайд 39 Задание 2.
Определить времена выполнения (и их разность) параллельных

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

конструкций по проекту Critical_mutex

#pragma omp critical
omp_set_lock(&lsk);


Слайд 40 Тест для определения временных затрат на создание критической

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

секции
start = clock();
 
#pragma omp parallel
{
for (i=0;i

omp critical
{
}
}
}
finish = clock();


  • Имя файла: lektsiya-3-operatsionnaya-platforma-opredeleniya-i-klassifikatsiya.pptx
  • Количество просмотров: 112
  • Количество скачиваний: 0
Следующая - Present Perfect Tense