Функціонування комп'ютерної системи 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функціонування комп'ютерної системи



Перевага описаного модульного підходу до апаратур у тім, що центральний процесор, пам'ять і зовнішні пристрої можуть функціонувати паралельно. Роботою кожного пристрою управляє спеціальний контролер. При необхідності виконання вводу-виводу центральний процесор генерує переривання, у результаті якого викликається операційна система, у свою чергу, як реакція на переривання запускає драйвер пристрою, який відповідно активізує його контролер. Кожен контролер пристрою має локальний буфер – спеціалізовану пам'ять для обміну інформацією між комп'ютером і пристроєм. Для того, щоб контролер міг почати вивід на пристрій, попередньо центральний процесор (точніше, драйвер пристрою, запущений на ньому) повинен переслати інформацію із заданої області оперативної пам'яті в буфер пристрою. Далі контролер пристрою вже виконує вивід інформації з буфера на сам пристрій (наприклад, записує її в задану область жорсткого диска). По закінченні обміну інформацією, контролер генерує сигнал про переривання (interrupt) по системній шині, цим інформуючи процесор про закінчення операції. Для того, щоб уникнути повторних пересилань більших обсягів інформації, у сучасних комп'ютерах застосовують DMA (Direct Memory Access) – контролери – контролери із прямим доступом до оперативної пам'яті. Такі контролери використають при обміні із пристроєм не свою спеціалізовану пам'ять, а прямо область оперативної пам'яті, у якій і розміщається буфер обміну.

Обработка переривань

Операційну систему можна розглядати як програму, керовану перериваннями (interrupt - driven program). Переривання центрального процесора передає керування підпрограмі обробки даного виду переривань, що є частиною ОС. У більшості комп'ютерів цей механізм реалізований через вектор переривань (interrupt vector) – резидентний масив в оперативній пам'яті, у якому зберігаються доступні по номерах переривань адреси підпрограм-оброблювачів переривань (модулів ОС). При обробці переривання апаратури й ОС зберігають адресу перерваної команди При поновленні обчислень буде знову повторене виконання перерваної команди.

Є два різновиди режиму вводу-виводу – синхронний й асинхронний.

Синхронний – це ввід-вивід, виконання якого приводить до переходу програми в стан очікування, доти, поки операція вводу-виводу не буде повністю завершена. На апаратному рівні – команда вводу-виводу переводить процесор у стан очікування (idle) до наступного переривання. При даному режимі в кожен момент виконується не більше одного запиту на ввід-вивід.

Асинхронний – ввід-вивід, виконуваний паралельно з виконанням основної програми. Після того, як починається асинхронний ввід-вивід, керування повертається користувальницькій програмі, без очікування завершення вводу-виводу (останнє може бути виконано спеціальною явною операцією). Таким чином, операція асинхронного обміну як би розбивається на дві: почати ввід-вивід і закінчити ввід-вивід. Остання виконується для того, щоб у цьому місці програма все-таки очікувала завершення обміну, коли його результат необхідний для подальших обчислень.

Таблиця стану пристроїв

На системному рівні, при обміні відбувається наступне. Виконується системний виклик (system call) – запит до ОС шляхом виклику системної підпрограми, у цьому випадку – щоб дозволити користувачеві очікувати завершення вводу-виводу. Операційна система зберігає таблицю стану пристроїв, у якій кожному пристрою відповідає елемент, що містить тип пристрою, його адреса й стан. ОС індексує таблицю пристроїв, з метою визначення стану пристрою й модифікації елемента таблиці для включення в неї інформацію про переривання.

Архітектура синхронного (a) і асинхронного (b) вводу-виводу ілюструється на рис. 4.3.

Рис. 4.3. Архітектура синхронного й асинхронного вводу-виводу

На схемі видно, що відмітною рисою синхронного обміну є перехід процесора в стан очікування до закінчення операції вводу-виводу.

На рис. 4.4 показано приклад стану таблиці пристроїв вводу-виводу, збереженою операційною системою. Для кожного пристрою зберігається інформація про його ім'я, стан, а для зайнятих пристроїв – адреса початку й довжина порції інформації, що підлягає обміну. Якщо для деякого пристрою (у прикладі – диск3) є кілька запитів на ввод-вивід, всі вони організуються в чергу й обслуговуються по черзі, у міру звільнення пристрою.

Рис. 4.4. Приклад стану таблиці зовнішніх пристроїв ОС

Прямий доступ до пам'яті (Direct Memory Access - DMA) - більше ефективний метод роботи контролерів пристроїв вводу-виводу, використовуваний для роботи високошвидкісних пристроїв, здатних передавати інформацію зі швидкістю, близької до швидкості роботи пам'яті

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

Структура пам'яті

Основна (оперативна) пам'ять – єдина велика частина пам'яті, до якої процесор має безпосередній доступ. Як відомо, уміст основної пам'яті не зберігається після перезавантаження системи або після вимикання комп'ютера. Зовнішня (вторинна) пам'ять – розширення основної пам'яті, що забезпечує функціональність стійкої (що зберігає) пам'яті великого обсягу.

Як вторинна пам'ять найчастіше використаються жорсткі диски (hard disks). Контролер диска визначає логіку взаємодії між пристроєм і комп'ютером.

Системи пам'яті організовані в ієрархію, виходячи з їхньої швидкодії, вартості й можливості збереження інформації (стійкості). Для оптимізації роботи пам'яті будь-якого виду використається асоціативна пам'ять (кэш – cache), розташована в більше швидкодіючих системах пам'яті й зберігаюча елементи, що найбільш часто використовувані у повільній пам'яті. Із цього погляду, оперативну пам'ять можна розглядати як кэш для зовнішньої пам'яті. Кеш-пам'ять – це, по суті справи, асоціативний список пар (Адреса, Значення), причому апаратний пошук у ній відбувається за адресою як по ключу. Таким чином, перед звертанням до повільної зовнішньої пам'яті спочатку відбувається пошук по заданій адресі в кеш-пам'яті, і тільки якщо він не привів до успіху, виконується стандартне звертання до зовнішньої пам'яті. Принцип кэшування дуже важливий і дозволяє істотно прискорити роботу із зовнішньою пам'яттю. Однак він вимагає реалізації спеціальної політики керування кеш-пам'яттю, тому що кеш вводить додатковий рівень в ієрархії пам'яті й вимагає погодженості даних, збережених одночасно на різних рівнях пам'яті. Апаратури й ОС підтримують кэш команд, кэш даних, кэш жорсткого диска й т.д. – для всіх видів пам'яті.

Ієрархія пристроїв пам'яті (у спрощеному виді) показана на рис. 4.6

Рис. 4.6. Ієрархія пристроїв пам'яті

Більше швидкі види пам'яті на схемі розташовані вище, більше повільні - нижче. Схема особливих коментарів не вимагає. Деякі часто використовувані види зовнішньої пам'яті:

· флэш-память (флэшка) – зовнішня пам'ять компактного розміру, модуль якої підключаються через USB-порт. Параметри: обсяг - до 128 гігабайт і більше; швидкість обміну через порт USB 2.0: 240 - 260 мегабіт у секунду;

· зовнішній жорсткий диск (ZIV drive й інші) – обсяг до 1 терабайта; працює також через порт USB;

· BluRay – диски – новий різновид компакт-дисків великої ємності (однобічні – 25 гігабайт, двосторонні – 50 гігабайт). Для порівняння, стандартна ємність диска DVD становить 4.7 гігабайт.

Для захисту пам'яті необхідно забезпечити захист, принаймні, для вектора переривань і підпрограм обслуговування переривань. Наприклад, неприпустимо дозволити користувальницькій програмі формувати у звичайному режимі довільну адресу й звертатися по ній, тому що при цьому може бути порушена цілісність системних областей пам'яті. Щоб цього уникнути, в апаратурі уводяться два регістри, які відзначають границі припустимої області пам'яті, виділеній користувальницькій програмі. Це базовий регістр (base register), що містить початкову адресу області пам'яті, виділеній користувальницькій програмі, і регістр границі (limit register), що містить розмір користувальницької області пам'яті. Пам'ять поза відзначеним діапазоном уважається захищеною, тобто звертання до неї з користувальницької програми не допускаються (при спробі такого обігу виникає переривання).

Використання базового регістра й регістра границі ілюструється на рис. 4.8.

Рис. 4.8. Використання регістра бази й регістра границі для захисту пам'яті

На схемі завданню 2 виділена область пам'яті, починаючи з адреси 300040 (що зберігається в регістрі бази), довжиною 120900 (що зберігається в регістрі границі), тобто по адресу 420939 включно. Обіг, наприклад, за адресою 420940 із програми завдання 2 приводить до переривання як неприпустиме - спрацьовує захист пам'яті.



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 282; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.82.23 (0.011 с.)