ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Страждання за IRQ
         

     

    Інформатика, програмування

    Страждання за IRQ

    Бувало Чи є у вас так: ви включаєте сканер або підключаєте зовнішній привід компакт дисків, і в цей момент вся система починає помітно гальмувати і вести себе неадекватно: миша по екрану рухається ривками, звук починає заїкатися або відключається ... Бувають і більш важкі випадки ....

    Дмитро Зінов'єв

    Бувало Чи є у вас так: ви включаєте сканер або підключаєте зовнішній привід компакт дисків, і в цей момент вся система починає помітно гальмувати і вести себе неадекватно: миша по екрану рухається ривками, звук починає заїкатися або відключається ... Бувають і більш важкі випадки. Наприклад, після встановлення нової звукової плати, за будь-яких спроб вивести звук, навіть при старті Windows, комп'ютер зависає на смерть. Якщо було, то ця стаття - про вашому випадку. Якщо ні, то все одно прочитайте цю статтю - якщо раптом це станеться, то ви будете знати, що робити.

    Ці проблеми, частіше за все, викликані конфліктом апаратних переривань комп'ютера. Забавно, але досить серйозна частина проблем з комп'ютером після установки нового заліза як раз і пов'язана з цими самими конфліктами, тільки про них ніхто не говорить і взагалі, ця тема мало обговорюється. Розуміння всього питання в цілому досить обширна тема і кожен випадок конфлікту часто відрізняється від попереднього, як за симптомами, так і за методами рішення. У цій статті ми спробуємо пояснити ситуацію, що склалася для користувачів, які вже не бояться комп'ютерів, але ще не набрали достатньо досвіду для вирішення проблем з конфліктами заліза самостійно. На жаль, деякі моменти статті досить важко можуть сприйматися із-за описів систем побудованих на нечіткої логіки, яка, до речі, і є сильною стороною людини по відношенню до комп'ютерів.

    Трохи історії

    Багатьом ця частина статті здасться необов'язковою, так як розповідь буде про старі часи, десь з 1985 року, але ця інформація важлива тим, хто хоче розібратися в суті проблеми і зрозуміти, чому все склалося так неоднозначно.

    Давним-давно, в далекій Америці, був розроблений процесор x86, який є прабатьком всіх процесорів, що використовуються в персональних комп'ютерах стандарту IBM PC. Те є всі Pentium і Athlon мають у своїй основі старий, добрий процесор x86. Архітектура сучасних процесорів вже дуже сильно відрізняється від першого x86, тим не менш, деякі моменти збереглися з тих давніх часів, коли x86 процесор знаходився на початку свого шляху, а саме з середини вісімдесятих років минулого століття. Одним з таких моментів є обмеження кількості ліній апаратних переривань для центрального процесора.

    Апаратне переривання - це реакція процесора на події, що відбуваються асинхронно по відношенню до виконуваного програмного коду. Тобто переривання - це момент коли центральний процесор за запитом від викликав переривання пристрої відкладає виконувану завдання і перемикається на завдання, необхідну для роботи пристрою. Після того, як завдання для пристрою виконана, процесор знову перемикається на виконання основної програми. Звукову карту переривання змушує програти наступну мікросекунд звуку, а відеокарту переривання змушує зробити наступний кадр. За допомогою переривань центрального процесора змушує жити весь комп'ютер. Лінія апаратного переривання - це, перебільшено кажучи, фізичний провід, що з'єднує мікросхему контролера переривань і пристрій. Кількість ліній апаратних переривань центрального процесора обмежена цифрою 16, то є і пристроїв, що використовують лінії апаратного переривання, не може бути більше 16. Для організації ліній апаратних переривань всередині комп'ютера використовується спеціалізована мікросхема -- контролер переривань (PIC, Programmable Interupt Controller). Ця мікросхема сумісна за системою програмних команд з мікросхемою 8259A, яка мала всього 8 входів і використовувалася в комп'ютерах класу IBM PC XT (8086 процесор). З виходом IBM PC AT (процесор 80286) внутрішня структура організації переривань змінилася. Переривань стало вдвічі більше за рахунок використання ще однієї мікросхеми 8259A, яку підключили до другої лінії перші мікросхеми. Така архітектура стандартного контролера переривань збереглася і донині, причому ніяких змін на найближче майбутнє не намічається. Навіть з приходом на ринок 64-бітових x86 сумісних процесорів ситуація не зміниться. Лінії апаратних переривань позначили значенням - IRQ (Interupt ReQuest). Як уже згадувалося, фізично біля комп'ютера є 16 ліній апаратних переривань, але ця цифра сильно зменшується за рахунок переривань? вже використаних вбудованими пристроями. Деякі переривання мають статус системних, тому їх використання та перепризначення їх номери по бажанням користувача неможливо. У таблиці вони виділені буквою S перед номером. За замовчуванням зайняті наступні переривання:        

    Системність         

    Лінія IRQ         

    Пристрій             

    S         

    0         

    Системний таймер             

    S         

    1         

    Клавіатура             

    S         

    2         

    Cascad (Висновок на другий   мікросхему контролера ліній переривань)             

    S         

    8         

    Годинник реального часу                      

    9         

    Вільно                      

    10         

    Вільно                      

    11         

    Вільно                      

    12         

    Вільно             

    S         

    13         

    співпроцесор                      

    14         

    IDE Primary (Контролер жорстких   дисків)                      

    15         

    IDE Secondary (Контролер   жорстких дисків)                      

    3         

    Com Port 1 (Миша)                      

    4         

    Com Port 2 (Модем)                      

    5         

    Вільно             

    S         

    6         

    Floppy (Дисковод)                      

    7         

    LPT (Принтер)     

    Така розкладка переривань дуже довго зберігалася на багатьох побутових комп'ютерах. Майже всі комп'ютери на базі процесорів 386, 486 і Pentium мають такий список використаних переривань. При такому розкладі вільних переривань в комп'ютері виявляється всього п'ять (5, 9, 10, 11, 12), але цієї кількості для більшості випадків було цілком достатньо. Пристроїв, що вимагають переривання і встановлюються в комп'ютер в вигляді плат розширення, рідко було більше трьох. Стандартний набір того часу виглядав так: відеокарта, звукова плата і мережева карта. При цьому було важливо, щоб одне переривання ні в якому разі не використовувалося двома пристроями одночасно, тому що це спричинить конфлікт системних ресурсів, і обидва пристрої, що знаходяться на одному перериванні, працювати не будуть. Завданням збирача комп'ютера на той момент було розведення всіх пристроїв по перериваннях таким чином, щоб ні одне пристрій не перетиналося з іншим.

    Напевно, саме час пояснити, що таке конфлікт переривань. Якщо два пристрої знаходяться на одній лінії переривань, то драйвер може їх сплутати і переслати виконуваний шматок програми не той «залізниці, при цьому змушуючи її виконати цей шматок коду. Наприклад, мережева плата та звукова карта знаходяться на 10 переривання. Мережева карта отримує пакет з локальної мережі з запитом на отримання файлу і відправляє запит на переривання центрального процесора.

    Процесор відпрацьовує переривання, зупиняє виконувану завдання і передає управління драйвера мережевої карти, для відпрацювання необхідних для приймання файлу дій. Драйвер починає роботу з пристроєм, від якого прийшло переривання. Ось тільки працювати він починає не з мережевою платою, а зі звуковою картою, що знаходиться на тій же лінії, передаючи їй команди для приймання файлу. Звукова карта виконує прийняті команди, і повністю завішують комп'ютер з BSOD (Blue Screen Of Death).

    Існує ще одна невелика тонкість. Всі лінії переривань мають свій пріоритет. Чим вищий пріоритет у лінії переривання, тим швидше процесор відповість на запит від пристрої що знаходиться на цій лінії. Пріоритети переривань наведені в таблиці нижче в порядку убування.        

    Пріоритет переривань             

    0         

    1         

    2 ->         

    8         

    9         

    10         

    11         

    12         

    13         

    14         

    15         

    3         

    4         

    5         

    6         

    7     

    Історично що склалася архітектура наклала дуже сильний відбиток на пріоритети ліній переривань. Підключена друга мікросхема контролера до другої лінії першим мікросхеми вклинюється в пріоритети. Тому лінії другого мікросхеми мають вищий пріоритет, ніж лінії першим. При цьому, обидві мікросхеми виглядають для користувача єдиним модулем контролера переривань - PIC (Program Interrupt Controller). Більш того, вже давно дві мікросхеми для цих цілей не використовується, все це вбудоване в північний міст чіпсета, але розкладка пріоритетів переривань збереглася. Чим більше ресурсів від комп'ютера вимагає пристрій, тим більш високий пріоритет повинен бути у лінії IRQ присвоєної цьому пристрою. Тобто, для відеокарти бажано віддавати дев'ятому або десятий переривання, якщо воно вільно. Для звукової карти теж бажано знайти переривання, що знаходиться на другому контролері. Детальніше про це питання ми поговоримо трохи нижче.

    Але час не стоїть на місці, і ситуація з переривань почала погіршуватися одночасно з розробкою нових технологій і розвитком всієї комп'ютерної області. З'явилися нові стандарти портів вводу-виводу, які вимагають власного переривання. Наприклад, порти USB або PS/2, які є на зараз стандартом де-факто для всіх комп'ютерів. Вільних переривань ставало все менше, а рішення системних конфліктів ставало все більше складним.

    Справжнє ...

    Вся ситуація сильно змінилася з появою систем ACPI і IRQ Sharing. На жаль, ці системи ніяк не можна описати в одне речення, тому ми розглянемо їх трохи докладніше.

    Система ACPI (Advanced Configuration and Power Interface, Розширений інтерфейс конфігурування і керування живленням) була розроблена в 1997 році трьома компаніями Microsoft, Intel і Toshiba. Якщо ваш комп'ютер підтримує ACPI в залозі, то при інсталяції операційних систем WindowsXP і Windows 2000 підтримка ACPI автоматично вбудовується в ядро операційної системи. Система ACPI займається менеджментом енергозберігаючих функцій комп'ютера, таких, як автоматичне вимкнення блоку харчування після успішного завершення роботи операційної системи, економія заряду батарей, переклад комп'ютера в режим сну і пробудження його від сну. Якщо ваш комп'ютер не - ноутбук, то єдино корисна функція від ACPI в плані управління живленням - це автоматичне відключення блоку живлення.

    Друга функція ACPI - це автоматичний розподіл системних ресурсів усередині комп'ютера. Поки ACPI в дії, ви не можете змінити ніяких параметрів, пов'язаних з переривань. Більш того, система ACPI підтримує роботу розширеного контролера переривань APIC.

    APIC (Advanced Programmable Interrupt Controller) - вдосконалений програмований контролер переривань. Для багатопроцесорних систем це необхідна система, тому що дозволяє розподілити між процесорами навантаження по роботі з пристроями. Тобто, цей контролер можна запрограмувати на обробку деяких ліній переривань першим процесором, а деяких - другий. використання в операційних системах WindowsXP і Windows2000 віртуальних переривань. Ми не будемо приводити алгоритми роботи віртуальних переривань. Це безглуздо, їх не можна змінювати, і вони сильно залежать від реальних. Якщо у вас однопроцесорна система, то відключення цієї функції дуже рекомендовано, але про це пізніше.

    IRQ Sharing - система? що дозволяє двом пристроям одночасно перебувати на одному переривання. Фізично виходить так, що на одній лінії IRQ може висіти декілька пристроїв, при цьому менеджмент між ними забезпечується операційної системою. IRQ Sharing - неоднозначна система, тому що використання її необхідно для нормальної роботи ПК, але при цьому можливі найрізноманітніші проблеми і глюки. Насправді, використання і приборкання саме цієї системи і є мета цієї статті.

    Сукупність вищеописаних систем була визнана стандартом і включена до списку вимог до комп'ютерного обладнання - PC2001. Після реалізації ACPI і IRQ Sharing на всіх материнських платах, починаючи з материнських плат для Pentium 1 (VX і TX чіпсети від Intel), склалася розкладка переривань, яка існує в кожному комп'ютері і до цього дня. Ось вона:        

    Системність         

    Лінія IRQ         

    Пристрій             

    S         

    0         

    Системний таймер             

    S         

    1         

    Клавіатура             

    S         

    2         

    Cascad (Висновок на другий   мікросхему контролера ліній переривань)             

    S         

    8         

    Годинник реального часу                      

    9         

    ACPI Controller                      

    10         

    Вільно                      

    11         

    USB             

    S         

    12         

    PS2             

    S         

    13         

    співпроцесор                      

    14         

    IDE Primary (Контролер жорстких   дисків)                      

    15         

    IDE Secondary (Контролер   жорстких дисків)                      

    3         

    Com Port 1 (Миша)                      

    4         

    Com Port 2 (Модем)                      

    5         

    Вільно             

    S         

    6         

    Floppy (Дисковод)                      

    7         

    LPT (Принтер)     

    Як видно з таблиці, вільних переривань практично не залишилося. Вільними можна вважати тільки IRQ 5 і 10, все інше зайнято. За логікою, саме їх-то і треба використовувати для відеокарти і аудіоплати. Але пристроїв, що вимагають власне переривання і не описаних в цій таблиці, може бути значно більше. У таблицю вони не включені, тому що є опціями, тобто можуть бути в системі, а можуть і не бути. Наприклад: мережева карта, контролер RAID або SCSI, ТВ-тюнер, SATA, IEEE1394 (FireWire) і так далі. Тобто, може скластися ситуація, коли на два вільних переривання буде вісім пристроїв, що вимагають власного переривання. Є три способи вирішення цієї проблеми. Кожен спосіб має свої плюси і мінуси.

    Перший спосіб - це повноцінне використання систем ACPI і IRQ Sharing. Якщо системи ACPI, а відповідно і APIC, включені, то операційна система вважає, що в неї 256 переривань, при цьому реальних переривань як було 16, так і залишилося. Решта 240 переривань - Це віртуальні переривання, які є клонами реальних. ACPI автоматично розподіляє переривання і не дозволяє користувачеві їх змінювати. Якщо пристрій погоджується працювати в режимі кооперації з іншим пристроєм, то є всі шанси, що ACPI посадить їх на одну фізичну лінію. Якщо не контролювати цю ситуацію, то на одному фізичному переривання можуть виявитися практично всі пристрої, встановлені в комп'ютері, навіть якщо є вільні переривання. Це призведе до сильного гальмування всієї системи і серйозних збоїв в роботі.

    Рішення:

    Плюс даного підходу у відсутності потреби втручання з боку користувача. Тобто, робити нічого не треба. Просто увіткнути в материнську плату відеоадаптер, процесор, пам'ять і так далі, а потім поставити операційну систему, яка нормально підтримує ACPI. А це Windows XP або Windows 2000. Все. Комп'ютер запрацює. Саме в такому вигляді продаються майже всі комп'ютери, зібрані в Росії. Підхід простий: якщо працює і гальмує - то це не гарантійний випадок, а проблема користувача.

    Другий спосіб полягає у відмові від використання ACPI і APIC, але з паралельним використанням IRQ Sharing. Відмова від систем ACPI і APIC означає, що операційна система знає про наявність у неї тільки 16 переривань, а не 256, але система IRQ Sharing дозволяє перебувати на одному перериванні кільком пристроям. При цьому відслідковувати картину переривань вже можна, і вибирати сусідів на свій розсуд - теж. Тобто, якщо у вас є мережева плата та звукова карта, і при цьому потрібні всі порти вводу-виводу встановлені в материнську плату, то від IRQ Sharing вже ніяк не відбутися.

    Рішення:

    Сучасні материнські плати володіють деякими особливостями, які необхідно знати для коректного розведення ліній переривань по пристроям. Так, усі вбудовані в материнську плату пристрої найчастіше мають жорстку прив'язку до слотів розширення PCI, а деякі слоти жорстко прив'язані друг до одного. Приміром, у вас є вбудована в материнську плату звукова карта, при цьому вона автоматично кооперується з пристроєм в третьому слоті PCI. Якщо Ви зміните мережеву плату в третьому слот, то вбудована звукова карта і мережева плата будуть висіти на одному перериванні, щоб ви не робили. Вирішити цей конфлікт можна, переставивши мережеву карту в інший слот. Або інший приклад: п'ятий і перший слот PCI прив'язані один до одного, і встановивши два пристрої в ці слоти, ви автоматично вішаєте їх на одну лінію переривання. Знову ж таки, це лікується перевстановлення одного з пристроїв у інший слот. На жаль, сучасні материнські плати мають стільки вбудованих пристроїв, що знайти вільний слот PCI без запаралеленних пристроїв буває неможливо. У цьому випадку все залежить від пристрою.

    Всі локальні пристрої, що знаходяться в комп'ютері можна розбити на чотири групи за ступенем залежності від переривання.

    До першої групи можна віднести відеокарту і контролери жорстких дисків. Ці пристрої повинні мати вибраного переривання і в жодному випадку не повинні його ділити з будь-чим було. Тобто, на одному перериванні з відеокартою не повинно перебувати ні одного пристрої, в іншому випадку страшні глюки і гальма гарантовані. До другої групи можна віднести менше ресурсомісткі пристрої, наприклад аудіоплату, ТВ-тюнер, софтверний внутрішній модем (WinModem) або мережеву карту. Ці пристрої можуть співіснувати на одному перериванні з пристроями з груп, які ми опишемо нижче. Тим не менше, якщо є можливість, пристрої, що відносяться до другої групи, теж бажано розмістити на окремому перериванні, так як при серйозній навантаженні можливі різні збої. Друга група - ця зона ризику, так як абсолютно незрозуміло, який пристрій з яким може увійти в конфлікт при використанні вже задіяних ними переривань. Стабільність у цьому випадку досягається методом проб і помилок. Єдине, що можна сказати однозначно - на одному перериванні не варто розміщувати два пристрої другої групи, це призведе до збоїв у роботі. Третя група - Це всі порти вводу виводу, USB, COM-порти, можливо LPT, IEEE1394 (FireWire), апаратні внутрішні модеми та інші пристрої не сильно завантажили комп'ютер. Пристрої з третьої групи можуть приєднуватися до пристроїв з другого і до самих себе. Тобто, на одному переривання можуть висіти всі порти USB або ж один порт USB висить разом з аудіокарти або ТВ-тюнером. Також можна повісити контролер FireWire разом з USB або СOM портом. Ну а четверта група - це пристрої, що не потребують переривань. Це досить рідкісна група, і тим не менш, вона існує. Наприклад, до цієї групи ставилися прискорювачі тривимірної графіки від 3dfx - Voodoo і Voodoo 2. Так, до речі, якщо раптом ви бачите що у вашої відеокарти або USB-портів переривання відсутня (буковки NA - тобто Not Available), то це не означає що у вас така рідкісна, хороша відеокарта. Це з великою часткою вірогідності означає, що у вашого комп'ютера проблеми, які треба вирішувати негайно. У пристроїв, що не вимагають переривання, в інструкції про це написано великими літерами.

    Треба розуміти, що всі перераховані вище пристрої можуть володіти унікальними властивостями залежно від виробника чи прошивки. Всі вищеописані правила працюють не завжди і не однозначно. У вас легко може виявитися ТВ-тюнер або мережева карта, яка повністю відмовиться працювати з будь-ким у парі. Або навпаки, ваша звукова карта може раптом повести себе стабільно на одному перериванні разом із ТБ-тюнером. Конфліктувати вміють навіть пристрою, що відносяться до четвертої групи. Найчастіше вони починають глючити, якщо поставити їх у запаралеленний з AGP слот. При цьому на розуміння всіх особливостей конкретно вашого заліза може піти чимало часу.

    Мабуть, другий спосіб - найбільш часто використовуваний. При деякому розумінні питання можна створити практично безглючний комп'ютер, в якому всі пристрої, встановлені в нього, будуть функціонувати. Мінусом другого способу є втрата функцій ACPI і найвища з усіх способів складність. Для пересічного користувача досягнення нормальних результатів може зайняти довгий час і викличе сильний перегруз мізків. Плюс до цього, комп'ютер більше не буде сам вимикатися (його доведеться вимикати кнопкою «Power») і не буде засипати. Що ж до режиму Hybernate, то він повністю збереже свою функціональність.

    Третій спосіб - самий правильний, але вимагає жертв.

    Суть способу в повній відмові від систем ACPI і IRQ Sharing. А пристрої, які лізуть на одну лінію IRQ потрібно просто відключати. Must be only one!, Як говорив товариш з фільму "Горець".

    Рішення:

    Для початку потрібно відключити всі порти, які не використовуються. Не користуєтеся LPT -- відключити. Не користуєтеся другу COM-портом і додатковими USB-каналами - та ж доля, відключити. Кожен пристрій повинен мати окреме переривання і ні з ким не перетинатися. Це питання пріоритетів і потреб, тому що при використанні даного способу половина комп'ютера виявляється «у відключці», зате все інше працює як годинник. Плюс цього способу в можливості використання застарілих операційних систем та складних програм. Наприклад, для установки WindowsNT 4.0 на досить складну машину цей спосіб просто необхідний. Також плюс такого підходу - максимальну швидкодію всієї системи без проблем зі стабільністю. Якщо є можливість, бажано йти саме цим шляхом.

    Як зрозуміти, чи є конфлікти у вашому комп'ютері, і що робити

    Самий простий спосіб розібратися в конфліктах - це натиснути кнопку PAUSEBREAK в момент початкового завантаження комп'ютера, а точніше, на другому екрані BIOS. Для цього потрібно володіти певною реакцією, тому що другий екран завантаження пролітає дуже швидко, і його ще потрібно зловити. Також завантаження операційної системи можна зупинити, поставивши в BIOS пріоритет завантаження з флопік і заснув в нім якусь дивну дискету. У другому екрані BIOS є вся системна інформація про залізо - тактова частота процесора, кількість пам'яті та моделі встановлених жорстких дисків, але найцікавіше знаходиться внизу екрана. Там перераховані встановлені пристрої, а навпроти них стоїть цифра переривання. Показані на цьому етапі пристрої сильно залежать від моделі материнської плати, а точніше від реалізації BIOS.

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

    Наприклад, можна використовувати стандартний диспетчер пристроїв, перевівши його вигляд на «Ресурси з підключення» і розкривши розділ «запит на переривання (IRQ)», або скористатися сторонніми програмами типу SiSoft Sandra.

    Єдиний мінус їх використання полягає в тому, що вони бачать номери переривань через призму операційної системи. Якщо використовується система ACPI і APIC, то отримати коректну інформацію про апаратні переривання буде вельми непросто, тому що номерів буде не 16, а 256. Нас цікавить ситуація, коли цифри не повторюються. Якщо одна й та сама цифра стоїть навпроти USB Cntrlr, Display Cntrlr і Multimedia Device (аудіоплата або TB-тюнер), то справа зовсім погано. Наприклад, дане вікно говорить про наступне: У комп'ютері використовується система ACPI, APIC і IRQ Sharing, тому що переривань більше 15, і вони перетинаються. Є конфлікт меж мережевою картою та звуковою платою, які знаходяться на 18 переривання. Також є зовсім несуттєве конфлікт між усіма гілками USB на 21 перериванні, але це швидше норма. В цілому - система стабільна, але для забезпечення більшої стабільності потрібно відключити ACPI і розвести на різні переривання мережеву і звукову плату.

    Як вирішувати і що робити

    Потрібно розуміти, що дії з вирішення конфліктів можуть призвести до повного падіння операційної системи і втрати даних. Зробіть резервні копії ваших документів, запишіть всі паролі і мережеві настройки, і тільки після цього робіть дії. Найкраще експериментувати на свіжовстановленому операційній системі і мати можливість перевстановити її після проведення всіх дій, якщо щось складеться некоректно. Само собою, автор і редакція не несуть ніякої відповідальності за результати ваших експериментів.

    Крок перший: вивчаємо BIOS

    Для Спершу потрібно подивитися на опції в BIOS вашого комп'ютера. І нічого там не чіпати, у противному випадку шанси на завантаження вже встановленої операційної системи сильно падають. Незалежно від виробника BIOS і материнської плати, необхідні для роботи опції можуть бути присутніми, а можуть і відсутнім. Стандарту для цих опцій не існує, тому вони можуть мати різні назви і знаходиться в різних розділах BIOS. Але, застосовуючи дедуктивний метод Шерлока Холмса, їх все ж таки можна знайти. Для прикладу ми наведемо назви цих параметрів для Award BIOS материнської плати GigaByte. Найважливіші для нас опції знаходяться у розділі PnPPCI Configuration і виглядають як номери слотів і прив'язані до них номери переривань, які можна змінювати.

    З допомогою цих опцій можна домогтися правильного розподілу пріоритетів ліній переривань до пристроїв:

    • PCI 1 IRQ Assigment: Auto (Auto, 3,4,5,7,9,10,11,14,15)

    • PCI 2 IRQ Assigment: Auto (Auto, 3,4,5,7,9,10,11,14,15)

    • PCI 3 IRQ Assigment: Auto (Auto, 3,4,5,7,9,10,11,14,15)

    • PCI 4 IRQ Assigment: Auto (Auto, 3,4,5,7,9,10,11,14,15)

    Те Тобто, можна руками змінювати переривання для слотів і прив'язаних до них пристроїв. Якщо всі опції виставлені в Auto, то розподілом переривань займається автомат з алгоритмом, дуже схожим з алгоритмом системи ACPI. Іноді буває вказівку переривань не цифрами, а буквами - A, B, C, D. Так само, як у випадку з цифрами, літерні переривання дозволяють собою керувати, при цьому найвищий пріоритет - у букви А.

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

    • PnP OS Installed: Yes (No)

    Ця опція повідомляє BIOS, що розподілом переривань займається сама операційна система. Іноді після зміни значення на NO відкривається можливість контролю пріоритетів з слотам.

    • ACPI Function: Enable (Disable)

    Ясна річ, ця опція включає і відключає підтримку ACPI в BIOS. Якщо відключити цю опцію перед інсталяцією операційної системи, то, можливо, ядро ACPI і не буде інстальовано (сильно залежить від версії і типу BIOS).

    • Interrupt Controller: APIC (PIC)

    Як вже описувалося раніше, ця функція має різне значення на однопроцесорних і багатопроцесорних системах. На однопроцесорних системах вона дозволяє операційній системі використання віртуальних переривань. Якщо опцію поміняти на PIC при інстальованої операційній системі з ACPI ядром, то операційна система більше не завантажиться, до виправлення цього значення назад на APIC. Якщо виставити опцію у PIC до інсталяції операційної системи, то ACPI-ядро не буде використовувати віртуальні переривання і нбудет слухати приписи BIOS при збереженні енергозберігаючих функцій. Корисна річ, тому що при присутності цієї опції і можливості реінсталліровать операційну систему є можливість зберегти функції ACPI при відключенні проблемної частини ACPI з самостійним розведенням переривань. Мінус - украй рідко зустрічається на однопроцесорних системах.

    Також корисні опції з відключення пристроїв:

    • Midi Port Adress - можна відключити Міді порт

    • Onboard Parallel Port - можна відключити LPT порт

    • Onboard Audio - можна відключити вбудовану звукову плату

    • Onboard LAN Control - можна відключити вбудований мережевий адаптер

    • USB Host Controller - можна відключити USB порти

    • Onboard Serial ATA - можна відключити Serial ATA

    • Onboard RAID - можна відключити RAID-контролер.

    Якщо зазначені вище пристрою не використовуються, то виставляння Disabled відключить їх і звільнить використовувані ними ресурси.

    Крок другий - Карта переривань

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

    A         

    B         

    C         

    D         

    E         

    F         

    G             

    PCI Slot 1                                    

    Shared                                        

    PCI Slot 2         

    Shared                                                                   

    PCI Slot 3                  

    Shared                                                          

    PCI Slot 4                           

    Shared                                                 

    PCI Slot 5                                    

    Shared                                        

    PCI Slot 6         

    Shared                                                                   

    AGP Slot         

    Shared                                                                   

    USB 1.1 UHCI 1                                                      

    Shared                      

    USB 1.1 UHCI 1                                                      

    Shared                      

    USB 1.1 UHCI 1                                                      

    Shared                      

    USB 1.1 EHCI                                                      

    Shared                      

    Audio codec                                                               

    Used             

    Onboard LAN                           

    Shared                                                 

    Onboard 1394                  

    Shared                                                          

    Onboard SATA                  

    Shared                                                          

    Onboard IDE                                             

    Used                       

    Буквами вгорі позначені лінії переривань IRQ, лівий стовпець - це список пристроїв і слотів, встановлених на вашій материнській платі. Вказівка shared означає, що пристрій може працювати в режимі кооперації з іншими пристроями, used означає неможливість режиму кооперації. Зверніть увагу: ліній переривань цілих 7, а раніше ми говорили, що повністю вільних ліній всього п'ять. Це означає, що літерні індекси теж можуть кооперуватися за браку ресурсів. Після розшифровки інформації в цій таблиці виходить ось що. Якщо у вас є графічний акселератор, встановлений у AGP слот, то установка пристроїв у другий і шостий PCI-слоти суворо заборонено, тому що вони використовують ідентичну фізичну лінію IRQ. Одночасна установка плат розширення в 1 і 5 слот також заборонено. У вас є вибір: 1 або 5 слот, у противному випадку обидві пристрої будуть висіти на одному переривання. Встановлення пристрою в третьому слот викличе конфлікт переривань з портом 1394 і контролером SerialATA. Якщо ці порти не використовуються, то їх відключення звільнить третій слот. До того ж, якщо ви використовуєте SerialATA, який відноситься до пристроїв першої групи, то просто необхідно відключити порт 1394 і не користуватися третім слотом. Все USB контролери висять на одному переривання і ви з цим нічого не зробите, втім, і не треба. Вбудована мережева карта поділяє четвертий слот. Якщо використовується, то четвертий слот теж не позичати. Відключивши мережеву карту, можна використовувати четвертий слот на свій розсуд. Висновок простий: у комп'ютер безболісно можна встановити одну плату розширення в 1 або 5 слот і відеоакселератора в слот AGP. Якщо потрібні ще слоти, то потрібно щось відключати.

    Більше того, переривань на всі ці пристрої все одно не вистачить, тому потрібно звільнити невживані лінії IRQ. Радує тільки одне: типів встановлених пристроїв не так багато. Рідко бувають потрібні в комп'ютері дві мережеві плати або дві звукові карти. Якщо використовується SerialATA, то найчастіше не потрібні обидва каналу контролера UATA, що займає 14 і 15 переривання. Одне з них можна звільнити, враховуючи, що друга займає CD-ROM. І так далі.

    Якщо ви звернули увагу, не всі літерні індекси в таблиці прив'язані до слотів розширення PCI. Наприклад, лінія F, на якій висить USB, не прив'язана до слотів, в той час як з BIOS контролюються лише номери переривань для слотів. Лінією F управляє внутрішня автоматика BIOS. А ця автоматика буде кооперувати цю лінію IRQ з чим попало. Щоб вирішити конфлікти з цієї гілкою? вам будуть потрібні шаманський бубон, кроляча лапка і велика підкова. На Насправді вам доведеться змінювати конфігурацію розкладок переривань для слотів до тих пір, поки лінія F не стане на що влаштовує вас значення. Кожним зміною ви змушуєте автоматику пересчітать всю конфігурацію, і кожен раз автоматика буде призначати нове значення для лінії F. Якщо таких безконтрольних ліній більше ніж один, завдання ускладнюється. У нашому випадку безконтрольною залишилася лінія G. Але терпіння і труд, як відомо, все перетруть.

    Ми описали карту переривань від материнської плати Asustek A7V8X, конкретні ж карти переривань у кожної материнської плати свої. Але основні принципи обчислення залежностей з цього опису можна зрозуміти.

    Якщо ж у вас немає карти переривань в документації, то це просто ускладнює завдання. Вам доведеться скласти цю карту самостійно. Для досвідчених людей, займаються залізом, скласти цю карту в голові, нічого не записуючи, не дуже складно. Для новачків може знадобитися папір і ручка. Намалюйте таблицю, подібну до наведеної вище. Зліва перерахуйте пристрої, зверху -- лінії IRQ. Зайдіть в BIOS, виставите для кожного слота різне переривання, а потім встановлюйте плату розширення в слоти PCI по порядку і дивіться номер переривання в другому екрані BIOS. Номер IRQ у переставляємо вами плати буде змінюватися залежно від слота. Також зміняться номери переривань у скооперуватися із слотами PCI вбудовані в материнську плату пристроїв, причому зміняться відповідно до виставленими вами номерами IRQ для слотів PCI в BIOS. Якщо ж пристрій володіє власною лінією, як, наприклад лінія F для USB, то воно буде міняти значення зовсім нелогічно, наприклад перескакуючи номером IRQ з одного слота на інший.

    Крок третя - Зміни в операційній системі

    Самим перший зміною, з якого ми почнемо налаштування системи, буде заміна ядра операційної системи для відключення функцій ACPI. Як уже згадувалося раніше, після цього комп'ютер втратить все енергозберігаючі функції і перестане сам виключатися після завершення роботи операційної системи. Для цього потрібно зайти в контрольну панель, вибрати іконку «Система», потім перейти в закладку «Обладнання» і натиснути на «Диспетчер пристроїв». Потім відкрити розділ «Комп'ютер» і подвійним кліком натиснути на «Комп'ютер з ACPI». Вибрати закладку «Драйвер» і натиснути на кнопку «Оновити».

    Вибрати «Установку з вказаного місця», а потім відмовитися від автоматичного пошуку драйвера й вибрати установку драйвера вручну. У вікні, що з'явилося прибрати галочку «лише сумісні пристрої» і вибрати драйвер «Стандартний комп'ютер ».

    Після натискання на кнопку «Далі» комп'ютер скопіює необхідні файли і піде на перезавантаження. Після перезавантаження комп'ютер почне знаходити ВСЕ пристрої заново, включаючи системні пристрою, але буде знаходити драйвери для них в автоматичному режимі. Деякі пристрої не проходять автоматичну установку, але для них досить вибрати автоматичний пошук драйверів. Після цього комп'ютер ще раз перезавантажиться і після цього почне працювати в нормальному режимі. Все, система ACPI вимкнено. Для того, щоб знову включити ACPI, потрібно повторити все вищеописані дії, тільки вибрати «Комп'ютер з підтримкою ACPI».

    Тепер вся систем

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status