Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

os2016-24-03-dist

.pdf
Скачиваний:
11
Добавлен:
21.03.2016
Размер:
4.98 Mб
Скачать

Intel Core

Intel Core Duo(2006)

Количество ядер – 2

Тактовая частота – 1,66 – 2,33 ГГц

Количество транзисторов – 151 млн.

Техпроцесс – 65 нм

Векторные команды SSE3

Кеш

L1: 16 Кбайт (8 Kb Data + 8 Kb Code)

L2: разделяемый 2 Мбайт

Тепловыделение 31 Вт

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

61 из 66

 

энергопотребление

 

More cores. Wider vectors. Co-Processors.

Images do not reflect actual die sizes

 

Intel® Xeon®

Intel® Xeon®

Intel® Xeon®

Intel® Xeon®

 

Intel® Xeon®

Intel® Xeon®

Intel® Xeon®

 

Intel® Xeon

 

processor

processor

processor

processor

 

processor

processor

processor

Phi co-

 

64-bit

5100

5500

5600

 

code-named

code-named

code-named

processor

 

 

Sandy

Ivy

 

 

series

series

series

 

Haswell

Knights

 

 

 

Bridge

Bridge

 

 

Corner

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Core(s)

1

2

4

6

 

8

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

Threads

2

2

8

12

16

 

 

 

240

 

 

 

 

 

 

 

 

 

 

SIMD Width

128

128

128

128

 

256

256

256

 

512

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AVX2

 

 

SSE2

SSSE3

SSE4.2

SSE4.2

 

AVX

AVX

FMA3

 

 

 

 

 

 

 

 

 

TSX

 

Геннадий Федоров. Intel® Xeon Phi. Курс “молодого” бойца.

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

62 из 66

 

энергопотребление

 

Процессы (а также их надсистемы и подсистемы)

Большие задачи

Параллелизм и параллельное программирование

Аппаратная поддержка процессов

Процессы: определение, разновидности, состояния, многопоточность

Модели функционирования процессов

Планирование и диспетчеризация процессов

63

Несколько определений процесса

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

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

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

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

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

• ...

64

Некоторые сведения о процессах

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

Если говорить о соотношении между процессом и программой (несмотря на то, что это понятия из разных областей), то справедливы следующие два утверждения:

программа — это часть состояния процесса. С этой точки зрения процесс — нечто большее, чем просто программа

программа может вызывать более чем один процесс для выполнения работы. С этой точки зрения программа — нечто большее, чем процесс

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

65

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

На процессоре — активное состояние, в котором процесс обладает всеми необходимыми ресурсами, в том числе самим процессором

Готовность — процесс находится в очереди на выполнение

Ожидание — процесс ожидает завершения события (например, освобождения ресурса)

Остановлен — процесс остановлен, как правило, в отладочном режиме

Создание — выполнение действий, необходимых для создания процесса

Завершение — выполнение действий, связанных с успешным завершением процесса

Зомби — процесс закончен, но предок не принял его завершения

66

Действия выполняемые при создании процесса

Присвоение процессу уникального номера

(ID)

Добавление процесса в список процессов, известных системе

Определение начального приоритета

Формирование блока управления процессом

Выделение необходимых ресурсов

67

Адресное пространство процесса

С каждым процессом связывается его адресное пространство, из которого он может читать и в которое он может писать данные

Адресное пространство содержит:

саму программу

данные к программе

стек программы

С каждым процессом также связывается набор регистров, например:

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

указатель стека

68

Простейшая программа на языке C, порождающая процесс в ОС Windows

void main() { STARTUPINFO si;

PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi));

if ( !CreateProcess(NULL, "c:\\windows\\notepad.exe",

NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) ) {

ErrorExit("Не удалось создать процесс.");

}

WaitForSingleObject(pi.hProcess, INFINITE); // ждем завершения CloseHandle(pi.hProcess); // освобождаем ресурсы CloseHandle(pi.hThread);

}

69

Простейшая программа на языке C, порождающая процесс в ОС Unix

void main() { int status;

int child_pid, child_status;

child_pid = fork();

if ( child_pid == 0 ) { /* находимся в потомке */ execlp("ls", "ls", (char*)0);

exit(1); /* оказываемся здесь только в случае неудачного исполнения вызова execlp */

}

else if ( child_pid != -1 ) { /* находимся в предке */ status = wait(&child_status);

printf(" %d %d \n", status, child_status);

}

}

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]