АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 7 : Уровень...

Preview:

DESCRIPTION

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

Citation preview

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

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

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

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

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

2

План лекции

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

3

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

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

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

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

4

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

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

5

Страница

A mapping in which virtual addresses 4096 to 8191 are

mappedonto main memory addresses 0 to

4095.

6

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

7

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

8

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

9

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

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

10

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

Failure of the LRU algorithm.

11

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

12

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

13

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

14

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

15

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

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

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

16

Файл на диске

17

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

18

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

19

Параллелизм

20

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

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

21

Семафоры

22

UNIX (1)

A rough breakdown of the UNIX system calls.

23

UNIX (2)

The structure of a typical UNIX system.

24

Windows XP

The structure of Windows XP.

25

UNIX Каталоги

26

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

The Windows XP master file table.

27

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

28

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

The principal POSIX thread calls.

29

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

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

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

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

30

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

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

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

программы.

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

программы;

31

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

32

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

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

33

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

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

34

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

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

35

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

Assembly language code for interchanging P and Q twice.

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

36

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

Comparison of macro calls with procedure calls.

37

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

38

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

39

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

40

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

41

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

42

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

43

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

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

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

44

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

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

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

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

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

45

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

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

46

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

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

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

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

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

47

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

48

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

Recommended