Відмінності між версіями «Підсистема управління введенням-виведенням.»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
(Створена сторінка: Підсистема управління введенням-виведенням реалізує базові механізми обміну даними між...)
 
м (Захист на Підсистема управління введенням-виведенням. встановлено (‎[edit=sysop] (безстроково) ‎[move=sysop] (безстроково)))
 
(Одна проміжна версія одного користувача не показана)
Рядок 1: Рядок 1:
Підсистема управління введенням-виведенням реалізує базові механізми обміну даними між пристроями введення-виведення та оперативною пам'яттю обчислювальної машини та забезпечує організацію файлів в файлові системи.
+
Підсистема вводу / виводу складається з ядра компонентів, які забезпечують інтерфейс для апаратних пристроїв для додатків і інших обов'язкових компонентів системи. Windows XP підвищує підсистеми введення / виводу при збереженні повної сумісності з драйверами написані для Windows 2000. Ця сумісність було важливо, тому що підсистема вводу / виводу забезпечує інтерфейс для всіх пристроїв, і занадто багато змін в процесі введення / виведення може порушити роботу існуючих програм і драйверів.
Операція введення виконується як читання даних з зовнішнього пристрою в оперативну пам'ять, операція виведення - як запис даних з оперативної пам'яті на зовнішній пристрій.
+
 
При роботі з файлами система введення-виведення впроваджує спеціальну абстракцію - поток вводу-виводу, що дозволяє програмам, які звертаються за сервісами введення-виведення, використовувати одноманітний перелік функцій роботи з файлами не залежно від типу пристрою, на якому знаходиться файл, та типу файлової системи, яка містить цей файл. Відмінності доступу до різних пристроїв та файлових систем забезпечуються додатковими програмними модулями - драйверами пристроїв та файлових систем.
+
Покращення були зроблені за рахунок додавання нових API-інтерфейсів, доступних драйверів, написані, щоб скористатися функціональністю нової ОС Windows XP. З цієї причини, в той час як існуючі драйвери для Windows 2000 буде працювати з Windows XP, то вони повинні бути переписані, щоб скористатися новою введення / виводу поліпшень, у тому числі такі:
В окремих операційних системах підсистема управління введенням-виведенням також може впроваджувати механізми, які призвані підвищити швидкість обміну даними між задачами та файлами. Найчастіше використовується механізм буферизації (кешування) даних, який полягає в тому, що при читанні даних з файлу підсистема намагається за одну операцію введення читати дані блоками зручного (звичайно досить великого) розміру, а не порціями, які запитує задача. Завдяки цьому за одну операцію введення в оперативну пам'ять потрапляють також додаткові дані, які зберігаються в кеші і в подальшому передаються в програму без додаткових звернень до пристрою. Подібним чином цей механізм працює і при виконанні операцій запису.
+
 
 +
Нові скасувати черги
 +
 
 +
Драйвер фільтра файлової системи API,
 +
 
 +
Покращена низької продуктивності пам'яті
 +
 
 +
I / O дроселювання
 +
 
 +
Прямий доступ до пам'яті (DMA) поліпшення
 +
 
 +
WebDAV Redirector
 +
 
 +
Відновлення системи
 +
 
 +
Служба Volume Snapshot
 +
Нові Скасування черзі
 +
 
 +
Замість того, драйвери пристроїв виконують черги та обробки введення / виводу (IRP) скасування гонки, Windows XP введення / виводу дозволяє автоматизувати цей процес. У Windows XP, драйвера обробляти IRP черг і не потрібно обробляти IRP скасування. Інтелект в процесі черги дозволяє I / O API, обробляти запити, а не водіїв у тих випадках, коли I / O буде відмінено. Загальна проблема з відміною ІПР в драйвер синхронізації між блокування скасувати або InterlockedExchange в диспетчер введення / виводу з черги блокування водія.
 +
 
 +
Windows XP тези логіки відмовитися від API, дозволяючи водієві реалізувати черги та пов'язані з синхронізацією. Драйвер надає процедури для вставки і видалення пакетів IRP з черги, і він забезпечує блокування, яке відбудеться при виклику цих підпрограм. Драйвер гарантує, що пам'ять для черзі походить від правильного басейн. Коли водій насправді хоче, щоб вкласти щось у черзі, він не називає її введення рутинної, але замість дзвінків IoCsqInsertIrp ().
 +
 
 +
Для видалення IRP з черги, водій може або вказати IRP, щоб бути відновлена, або передати NULL, і перший IRP в черзі буде витягнуто. Як тільки ПІВТ була відновлена, вона не може бути скасований; очікується, що водій буде обробляти IRP і завершити його швидко.
 +
Драйвер фільтра файлової системи API,
 +
 
 +
Кілька нових API-інтерфейси забезпечують велику всебічну надійність. Microsoft працювала з сторонніх розробників перевірити свої драйвери фільтра. Якщо водій врізався спробі виконати незаконне функцій, разом ми визначили функції, необхідні, і за умови, API, щоб дозволити їм зробити те, що потрібно було зробити без шкоди для решти. Ці API включені в файл Windows, що встановлюються з розвитку системи (IFS) Kit для Windows XP.
 +
Покращена низької продуктивності пам'яті
 +
 
 +
Windows XP є більш стійкою в періоди низької пам'яті, тому що "повинні домогтися успіху" асигнування вже не допускається. Більш ранні версії ядра і драйверів, що містяться розподілу пам'яті запити, які були на успіх, навіть якщо пул пам'яті був низьким. Ці асигнування б крах системи, якщо пам'ять не були доступні. Два важливих виділення підпрограми введення / виводу використовується "повинні домогтися успіху", з першим з яких для розподілу IRP, а інший для Memory Descriptor List (MDL) асигнувань. Якщо пам'ять не міг бути виділені, система буде синій екран, якщо ці процедури були використані. Для Windows XP, компоненти ядра і драйверів більше не дозволено виконувати "повинні домогтися успіху" виділених коштів; процедур виділення пам'яті не буде виділяти пам'ять, якщо басейн знаходиться дуже низько. Ці зміни дозволяють водіям та іншим компонентам вжити відповідних заходів помилки, а не екстремальний підхід, таких як помилка перевірки машини.
 +
I / O Регулювання
 +
 
 +
Ще одним удосконаленням, з низьким рівнем пам'яті умов введення / виводу дроселювання. Якщо система не можу виділити пам'ять, вона дроселів до процесу по одній сторінці за раз, якщо це необхідно, використовуючи вільно виділені ресурси. Це дозволяє системі продовжувати в більш повільному темпі, поки більше ресурсів.
 +
DMA Покращення
 +
 
 +
Три нові записи додаються в кінець структури DMA_OPERATIONS. Ці три записи будуть доступні для будь-якого водія, який використовує IoGetDmaAdapter (). Щоб безпечно перевірити нову функціональність існує, водій повинен встановити версію області DEVICE_DESCRIPTION структури наданих IoGetDmaAdapter (), щоб DEVICE_DESCRIPTION_VERSION2.
 +
 
 +
Поточною апаратної абстракції Layers (HALS), які не підтримують новий інтерфейс, не вдасться операцію номер версії. HALS, які підтримують цю функцію зрозуміють нову версію і вдасться прохання, припускаючи, що всі інші параметри в порядку. Водій повинен спробувати отримати доступ до цих нових покажчики на функції тільки тоді, коли водій успішно отримує адаптера за допомогою DEVICE_DESCRIPTION_VERSION2.
 +
 
 +
 
 +
Новинка! Нажмите на слова вверху, чтобы увидеть альтернативный перевод. Отказаться
 +
Переводчик Google для бизнеса –Инструменты переводчика
 +
переводчик сайтов
 +
служба "Анализ рынков"
 +
Отключить моментальный перевод
 +
О Переводчике GoogleМобильная версияКонфиденциальностьСправкаОтправить отзыв

Поточна версія на 22:53, 20 вересня 2012

Підсистема вводу / виводу складається з ядра компонентів, які забезпечують інтерфейс для апаратних пристроїв для додатків і інших обов'язкових компонентів системи. Windows XP підвищує підсистеми введення / виводу при збереженні повної сумісності з драйверами написані для Windows 2000. Ця сумісність було важливо, тому що підсистема вводу / виводу забезпечує інтерфейс для всіх пристроїв, і занадто багато змін в процесі введення / виведення може порушити роботу існуючих програм і драйверів.

Покращення були зроблені за рахунок додавання нових API-інтерфейсів, доступних драйверів, написані, щоб скористатися функціональністю нової ОС Windows XP. З цієї причини, в той час як існуючі драйвери для Windows 2000 буде працювати з Windows XP, то вони повинні бути переписані, щоб скористатися новою введення / виводу поліпшень, у тому числі такі:

Нові скасувати черги

Драйвер фільтра файлової системи API,

Покращена низької продуктивності пам'яті

I / O дроселювання

Прямий доступ до пам'яті (DMA) поліпшення

WebDAV Redirector

Відновлення системи

Служба Volume Snapshot Нові Скасування черзі

Замість того, драйвери пристроїв виконують черги та обробки введення / виводу (IRP) скасування гонки, Windows XP введення / виводу дозволяє автоматизувати цей процес. У Windows XP, драйвера обробляти IRP черг і не потрібно обробляти IRP скасування. Інтелект в процесі черги дозволяє I / O API, обробляти запити, а не водіїв у тих випадках, коли I / O буде відмінено. Загальна проблема з відміною ІПР в драйвер синхронізації між блокування скасувати або InterlockedExchange в диспетчер введення / виводу з черги блокування водія.

Windows XP тези логіки відмовитися від API, дозволяючи водієві реалізувати черги та пов'язані з синхронізацією. Драйвер надає процедури для вставки і видалення пакетів IRP з черги, і він забезпечує блокування, яке відбудеться при виклику цих підпрограм. Драйвер гарантує, що пам'ять для черзі походить від правильного басейн. Коли водій насправді хоче, щоб вкласти щось у черзі, він не називає її введення рутинної, але замість дзвінків IoCsqInsertIrp ().

Для видалення IRP з черги, водій може або вказати IRP, щоб бути відновлена, або передати NULL, і перший IRP в черзі буде витягнуто. Як тільки ПІВТ була відновлена, вона не може бути скасований; очікується, що водій буде обробляти IRP і завершити його швидко. Драйвер фільтра файлової системи API,

Кілька нових API-інтерфейси забезпечують велику всебічну надійність. Microsoft працювала з сторонніх розробників перевірити свої драйвери фільтра. Якщо водій врізався спробі виконати незаконне функцій, разом ми визначили функції, необхідні, і за умови, API, щоб дозволити їм зробити те, що потрібно було зробити без шкоди для решти. Ці API включені в файл Windows, що встановлюються з розвитку системи (IFS) Kit для Windows XP. Покращена низької продуктивності пам'яті

Windows XP є більш стійкою в періоди низької пам'яті, тому що "повинні домогтися успіху" асигнування вже не допускається. Більш ранні версії ядра і драйверів, що містяться розподілу пам'яті запити, які були на успіх, навіть якщо пул пам'яті був низьким. Ці асигнування б крах системи, якщо пам'ять не були доступні. Два важливих виділення підпрограми введення / виводу використовується "повинні домогтися успіху", з першим з яких для розподілу IRP, а інший для Memory Descriptor List (MDL) асигнувань. Якщо пам'ять не міг бути виділені, система буде синій екран, якщо ці процедури були використані. Для Windows XP, компоненти ядра і драйверів більше не дозволено виконувати "повинні домогтися успіху" виділених коштів; процедур виділення пам'яті не буде виділяти пам'ять, якщо басейн знаходиться дуже низько. Ці зміни дозволяють водіям та іншим компонентам вжити відповідних заходів помилки, а не екстремальний підхід, таких як помилка перевірки машини. I / O Регулювання

Ще одним удосконаленням, з низьким рівнем пам'яті умов введення / виводу дроселювання. Якщо система не можу виділити пам'ять, вона дроселів до процесу по одній сторінці за раз, якщо це необхідно, використовуючи вільно виділені ресурси. Це дозволяє системі продовжувати в більш повільному темпі, поки більше ресурсів. DMA Покращення

Три нові записи додаються в кінець структури DMA_OPERATIONS. Ці три записи будуть доступні для будь-якого водія, який використовує IoGetDmaAdapter (). Щоб безпечно перевірити нову функціональність існує, водій повинен встановити версію області DEVICE_DESCRIPTION структури наданих IoGetDmaAdapter (), щоб DEVICE_DESCRIPTION_VERSION2.

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


Новинка! Нажмите на слова вверху, чтобы увидеть альтернативный перевод. Отказаться Переводчик Google для бизнеса –Инструменты переводчика переводчик сайтов служба "Анализ рынков" Отключить моментальный перевод О Переводчике GoogleМобильная версияКонфиденциальностьСправкаОтправить отзыв

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти