WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Архітектура ЕВМ - Реферат

Архітектура ЕВМ - Реферат

Виконується операція першого перегляду.

Ім.'я функції

Довжина( об'єм ) коду функції

Зміщення

cos.obj

MAIN.obj

STRLEN.obj

10k

8k

1k

0

10k

18k

...

...

...

Переглянувши, дізнаємось об'єм ехе-файла : 19k

Другий перегляд( компоновка ехе-файла ): лінкер переглядає таблицю, отриману на першому етапі, зчитує obj-файли та об'єднує в єдиний файл. Будує таблицю настройки

ехе-файла. При об'єднанні obj- в ехе-файл в місцях виклику функції виконується модифікація коду.

0 виклик strlen strlen

MAIN

–під час компіляції

– зв'язуємось з strlen

В результуючий ехе-файл заноситься вся інформація щодо модифікованих комірок(

розділ 4 obj-модуля ). Тобто ехе-файл має вигляд:

0 cos main strlen таблиця модифікації ехе-файла

19k ( дані з розділу 4 *.obj -файлів )

Завантаження ехе-файла в ОП

ОС завантажує ехе-файл в ОП та виконує модифікації комірок згідно списка з

розділу 4.

Значення кожної комірки = попереднє значення + абсолютний адрес завантаження модуля

в ОП.

0 40k 58k

ядро ОС 19k

виклик strlen:

@ лекція 5 ( 14.03.03 )

Подивимось, як виконується оверлейний модуль.

*.ехе

Під час виконання оверлейного модуля, в пам'ять завантажуеться лише main - головна частина exe-файлу(функції, що не передбачають перевантаження).

Додатково операційній системі додається таблиця управління оверлейною структурою. Програмний код, що завантажується в оперативну пам'ять модифікується таким чином, що в місцях виклику функції, що перевантажується, вставляється програмне переривання по виконанню overlay – loader'a.

При виклику функції А попадаємо в ядро ОС, яке має overlay – loader. Там дивимось, чи є в пам'яті функція А. Якщо так, то в таблиці управління її поточним станом є 1, якщо ні – 0. Якщо ні, то дивимось її адрес і динамічно завантажкємо функцію А. Функція А виконує обробку і передає управління ОС, а ОС в свою чергу програмі.

Якщо з функцією А працюємо в циклі, то при наступному виклику її адрес вже відомий і їй лише передається управління, але вона вже не завантажується.

Якщо функція В викликається з того ж місця, що й функція А, то супервізор ставить поточний стан для А – 0 (він враховує, що А та В перетинаються).

Віртуальна пам'ять.

Адресний простір Віртуальної пам'яті завжди більший за адресний простір оперативної пам'ті.

В моделі віртуальної пам'яті задіяні 2 механізми:

  1. механізи прямої адресації;

  2. механізм пов'язаний з НЖМД.

Віртуальний адрес.

В архітектурі сучасних ЕОМ віртуальний адрес складається з двох компонент:

  1. база;

  2. зміщення.

За базу відповідають регістри (лічильники)команд, регістри (лічильники) даних,...

Під час компіляції програми (функції), компілятор присвоює лічильнику баз початкове значення 0. Під час завантаження програми ЕОМ, ОС присвоює регістрам точки завантаження в ОП програм та даних. База з'являється під час завантаження, а зміщення при компіляціїї. Це дає реальний адрес.

В моделі віртуальної пам'яті реальний адрес, що формується на основі машинної команди, трактується як віртуальний адрес. Частину віртуального простору займає ядро ОС.

Розробники архітектури запропонували декілька стратегій реалізації віртуальної пам'яті:

  • сегментна;

  • сторінкова;

  • змішана(сегментно - сторінкова).

Сегмент – послідовність комірок ОП, яка має змінну довжину. Як правило об'єм сегменту 64К, 128К, 1Мб.

Сторінка – послідовність комірок фіксованої довжини.

Об'єм сторінки 512б, 1К, 2К, 4К (маленький).

Оскільки це апаратні речі, розглянемо трансляцію віртуального адресу в реальний адрес.

Пам'ять: по швидкодії КЕШ 2-го рівня переважає оперативну пам'ять.

Потрібно, щоб апаратура ЕОМ код програми автоматично переписувала в КЕШ.

За рахунок цього програма виконується швидше.

КЕШ 1-го рівня – це пам'ять процесору (64К).

Трансляція віртуального адресу (сторінкова стратегія)

Об'єм віртуальної пам'яті, що виділяється для кожної задачі фіксований (і, наприклад в архітектурі Intel(P4) дорівнює 2Гб). В архітектурі ЕОМ існує об'єкт – регулярна таблиця сторінок задачі.

Колонка 1: Значення:

0 – сторінка на НЖМД;

1 – сторінка в ОП.

Колонка 2: Атрибути сторінки (характеристики для ядра ОС):

RO – read-only;

RW – read-write;

E – execute (сторінка з програмним кодом);

D – data (сторінка з даними).

Колонка 3: Значення:

0 – пам'ять не виділена механізмом MALLOC;

1 – пам'ять виділена механізмом MALLOC.

Колонка 4: Значення:

– коли сторінка на НЖМД, її адрес знаходиться в swap-файлі;

– коли сторінка знаходиться в ОП, то її адрес теж в ОП.

В середовищі ОС існують таблиці трансляції по кількості задач, що в даний момент знаходяться в ОП. Регістр таблиці сторінок задачі вказує на таблицю трансляції активної задачі. Таблиця трансляції завантажується в КЕШ 1-го рівня.

В момент коли змінюється активна задача, ОС перевантажує регістр таблиці сторінок задачі та завантажує в КЕШ нову таблицю. Зміна значення регістру таблиці сторінок та перевантаження таблиці трансляції виконуються однією машинною командою – заміна контексту задачі (виконується за 100-ні тактів базової частоти процесора).

Якщо в момент трансляції віртуального адресу ми попадаємо на сторінку, що знаходиться на НЖМД, то виникає апаратне переривання – відсутня сторінка в ОП.

Тут спрацьовує механізм ОС.

Реакція ОС на переривання "відсутня сторінка в ОП".

  1. ОС завантажує сторінку в ОП на порожнє місце;

  2. модифікує таблицю трансляції сторінки (адрес + колонка1);

  3. передає управління задачі, що викликає переривання.

Як з'ясувати де знаходиться порожнє місце?

Для ідентифікації сторінки, що є зайнятою чи вільною ОС веде спеціальний вектор вільних сторінок, в якому зайняті сторінки позначаються як 1, а вільні як 0.

Якщо відсутня вільна сторінка, ОС повинна попередити про вивантаження деякої сторінки з ОП.

@ лекція 6 ( 21.03.03 )

Дії ОС по вивантаженню сторінок.

Стратегія робочої множини сторінок

ОС по кожній сторінці ОП веде лічильник.

  • На початку значення лічильника рівне 0

  • через квант часу ОС визначає ті сторінки, що є активними і збільшує значення лічильника для активних сторінок.

  • При визначенні сторінки, яку необхідно вивантажити ОС вибирає сторінку з найменшим значенням лічильника.

  • Через час , - фіксоване, ОС встановлює значення лічильника, які більше порогового значення, в порогове значення

1) серед сторінок, які знаходяться в ОП, є множина сторінок, які не можна вивантажити

2) є системні задачі, які теж не можна вивантажити

3) є прикладні задачі, які теж не можна вивантажити

Задачі реального часу та ядро ОС

  • Ядро ОС апріорі зафіксоване в реальній пам'яті

  • Існують системні задачі (драйвери), які вимагають фіксації в реальній ОП

  • Існують прикладні задачі(real time), які теж необхідно фіксувати в реальній пам'яті

Для фіксування в реальній памяті задачі існують відповідні API

Алгоритми управління ресурсами CPU

  • У

    ...

    правління CPU на основі апарату переривань. Управління CPU на основі апарату переривань є неефективним.

Наприклад

виконання задачі, що не вимагає довгий час переривань, тому програма може тривати довгий час

  • Управління CPU на основі квантування часуВ архітектурі сучасних ЕОМ існує декілька лічильників часу (таймер, інтервальний таймер).

Інтервальний таймер відліковує проміжки часу(фіксовані проміжки часу(Intel) і

довільний(IBM mainframe)) Інтервальний таймер видає переривання коли

Loading...

 
 

Цікаве