48
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 7: Уровень операционной системы. Уровень ассемблера. ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю.

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 7 : Уровень операционной системы . Уровень ассемблера

Embed Size (px)

DESCRIPTION

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 7 : Уровень операционной системы . Уровень ассемблера. ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю. План лекции. Уровень операционной системы Уровень ассемблера. Уровни архитектуры. - PowerPoint PPT Presentation

Citation preview

Page 1: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ

Лекция 7:Уровень операционной системы.

Уровень ассемблера.

ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВКЧл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,

Ассистент Волканов Д.Ю.

Page 2: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

2

План лекции

• Уровень операционной системы• Уровень ассемблера

Page 3: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

3

Уровни архитектуры

• Цифровой логический уровень• Уровень микроархитектуры• Уровень архитектуры набора

команд• Уровень операционной

системы• Уровень ассемблера

Page 4: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

4

Основные особенности

• Виртуальная память• Файловый ввод-вывод• Параллельная работа

Page 5: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

5

Страница

A mapping in which virtual addresses 4096 to 8191 are

mappedonto main memory addresses 0 to

4095.

Page 6: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

6

Реализация (1)

Page 7: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

7

Реализация (2)

Page 8: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

8

Отображение страниц в ОП

Page 9: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

9

Политика замещения страниц

• FIFO• LRU• Оптимальный алгоритм

Page 10: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

10

Пример пробуксовки

Failure of the LRU algorithm.

Page 11: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

11

Сегментация (1)

Page 12: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

12

Страницы vs. Сегменты

Page 13: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

13

Динамика фрагментации

Page 14: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

14

Защита памяти в Pentium 4

Page 15: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

15

Ошибки ввода-вывода

• Аппаратные ошибки• Процесс ввода-вывода начался

до окончания предыдущего• Ошибка синхронизации• Несоответствие КС• Ошибка проверки записи

Page 16: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

16

Файл на диске

Page 17: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

17

Трассировка свободных секторов

Page 18: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

18

Информация в ФС

Page 19: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

19

Параллелизм

Page 20: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

20

Состояние гонки

volatile int x;// Поток 1:while (!stop){ x++; …}// Поток 2:while (!stop){ if (x%2 == 0) System.out.println("x=" + x); …}

Page 21: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

21

Семафоры

Page 22: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

22

UNIX (1)

A rough breakdown of the UNIX system calls.

Page 23: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

23

UNIX (2)

The structure of a typical UNIX system.

Page 24: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

24

Windows XP

The structure of Windows XP.

Page 25: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

25

UNIX Каталоги

Page 26: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

26

Главаная ФТ в Windows XP

The Windows XP master file table.

Page 27: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

27

Дерево процессов в UNIX

Page 28: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

28

Управление процессами в UNIX

The principal POSIX thread calls.

Page 29: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

29

Уровни архитектуры

• Цифровой логический уровень• Уровень микроархитектуры• Уровень архитектуры набора

команд• Уровень операционной

системы• Уровень ассемблера

Page 30: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

30

Трансляция программ

• Компиляторы:– создание эквивалентной

программы на выходном языке;– выполнение полученной

программы.

• Интерпретаторы:– выполнение полученной

программы;

Page 31: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

31

Использование ассемблера

Page 32: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

32

Форматы команд ассемблера (1)

Вычисление N = I + J. (a) Pentium 4.

Page 33: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

33

Форматы команд ассемблера (2)

Вычисление N = I + J. (b) Motorola 680x0.

Page 34: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

34

Форматы команд ассемблера (3)

Вычисление N = I + J. (c) SPARC.

Page 35: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

35

Макроопределения

Assembly language code for interchanging P and Q twice.

(a) Without a macro. (b) With a macro.

Page 36: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

36

Макросы vs. Процедуры

Comparison of macro calls with procedure calls.

Page 37: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

37

Два прохода ассемблера (1)

Page 38: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

38

Два прохода ассемблера (2)

Page 39: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

39

Два прохода ассемблера (3)

Page 40: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

40

Таблица символов (1)

Page 41: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

41

Таблица символов (2)

Page 42: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

42

Компоновка и Загрузка

Page 43: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

43

Проблемы, решаемые компоновщиком

• Проблема перераспределения памяти

• Проблема внешней ссылки

Page 44: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

44

Действия компоновщика

• К. строит таблицу объектных модулей и их размеров.

• На её основе К. приписывает начальные адреса каждому объектному модулю.

• Ко всем командам, кот. обращаются в память прибавляется константа перераспределения.

• К командам, кот. обращаются к процедурам вставляется адрес процедур.

Page 45: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

45

Структура объектного модуля

• Идентификация• Таблица точек входа• Таблица внешних ссылок• Машинные команды и константы• Словарь перераспределения• Конец модуля

Page 46: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

46

Время связывания

• Когда пишется программа• Когда программа транслируется• Когда программа компонуется, но

до загрузки• Когда программа загружается• Когда загружается базовый

регистр, кот. исп-ся для адресаци• Когда выполняется команда,

содержащая адрес

Page 47: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

47

Динамическая компоновка в Windows

Page 48: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция  7 : Уровень операционной системы . Уровень ассемблера

48

Спасибо за внимание!