Додаткові методи дослідження. Висновки на фреймах та в семантичних мережах

Класифікація помилок

Інтернет-ресурси

План лекції

Налагодження програмного забезпечення

Лекція №8.

Тамбов 2011

Курс, групи БІС-11, БІС-12

Тема 6. Налагодження програмного забезпечення

Лекція 8

Дисципліна Технологія програмування

Напрям 230400 «Інформаційні системи та технології»

Викладач: Мінін Юрій Вікторович

Ціль лекції

Метою лекції є дати уявлення про процес та методи налагодження програмного забезпечення.

1. Класифікація помилок

2. Методи налагодження програмного забезпечення

3. Методи та засоби отримання додаткової інформації про помилку

4. Методика налагодження програмного забезпечення

Список літератури

Основна література

1. Іванова Г.С. Технологія програмування М: Вид-во МДТУ ім. н.е. Баумана, 2002. – 320 с.

2. Жоголєв Є.А. Технологія програмування М.: Науковий світ, 2004. – 216 с.

3. Гагаріна Л.Г., Кокорєва Є.В., Віснадул Б.Д. Технологія розроблення програмного забезпечення. М: ІД "ФОРУМ" - ІНФРА-М, 2008. - 400с.

додаткова література

1. Канер С., Фолк Д., Нгуєн Е. Тестування програмного забезпечення. М.: ДіаСофт, 2001. – 544с.

2. Брауде Еге. Технологія розробки програмного забезпечення. СПб.: Пітер, 2004. – 655 с.

3. Баранов С.М., Домарацький А.М., Ласточкін Н.К., Морозов В.П. Процес розроблення програмних виробів. М.: ФІЗМАТЛІТ, Наука, 2000. – 176с.

1. www.intuit.ru – Інтернет-університет інформаційних технологій.

2. http://citforum.ru/ - Центр інформаційних технологій.

3. http://www.tstu.ru/r.php?r=education – Електронна бібліотека ТДТУ.

4. http://www.edu.ru/ - Бібліотека Федерального порталу «Російська освіта»

Налагодження програми - один з найскладніших етапів розробки програмного забезпечення, що вимагає глибокого знання:

Специфіки керування використовуваними технічними засобами,

операційної системи,

Середовища та мови програмування,

Реалізованих процесів,

Природи та специфіки різних помилок,

Методик налагодження та відповідних програмних засобів.

Обговоренню останніх двох питань і присвячується лекція.

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



Загалом складність налагодження обумовлена ​​такими причинами:

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

Психологічно дискомфортна, оскільки потрібно шукати власні помилки і, зазвичай, за умов обмеженого часу;

Можливий взаємовплив помилок у різних частинах програми, наприклад, за рахунок затирання області пам'яті одного модуля іншим через помилки адресації;

Відсутні чітко сформульовані методики налагодження.

Відповідно до етапу обробки, на якому виявляються помилки, розрізняють (рис. 1):

- синтаксичні помилки -помилки, що фіксуються компілятором (транслятором, інтерпретатором) при виконанні синтаксичного та частково семантичного аналізу програми;

- помилки компонування -помилки, виявлені компонувальником (редактором зв'язків) під час об'єднання модулів програми;

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

Рисунок 1 - Класифікація помилок за етапом обробки програми

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

Слід мати на увазі, що чим краще формалізовані правила синтаксису мови, тим більше помилок із загальної кількості може виявити компілятор і, відповідно, менше помилок виявлятиметься на наступних етапах. У зв'язку з цим говорять про мови програмування із захищеним синтаксисом та незахищеним синтаксисом. До перших, безумовно, можна віднести Pascal, що має дуже простий і чітко визначений синтаксис, який добре перевіряється при компіляції програми, до других – C/C++ з усіма їх модифікаціями. Чого варта хоча б можливість виконання присвоєння в умовному операторі С/С+, наприклад:

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

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

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

Поява повідомлення про помилку, зафіксовану схемами контролю виконання машинних команд, наприклад, переповнення розрядної сітки, ситуації “розподіл на нуль”, порушення адресації тощо;

Поява повідомлення про помилку, виявлену операційною системою, наприклад, порушення захисту пам'яті, спробу запису на пристрої, захищені від запису, відсутність файлу із заданим ім'ям тощо;

- "зависання" комп'ютера, як просте, коли вдається завершити програму без перезавантаження операційної системи, так і "важке", коли для продовження роботи необхідне перезавантаження;

Розбіжність отриманих результатів з очікуваними.

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

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

Неправильне визначення вихідних даних,

Логічні помилки,

Нагромадження похибок результатів обчислень (рис. 2).

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

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

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

Помилки обчисленні, наприклад, некоректні обчислення над неарифметичними змінними, некоректне використання цілісної арифметики, некоректне перетворення типів даних у процесі обчислень, помилки, пов'язані з незнанням пріоритетів виконання операцій для арифметичних та логічних виразів тощо;

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

Інші помилки кодування, наприклад неправильна реалізація логіки програми при кодуванні, ігнорування особливостей або обмежень конкретної мови програмування.

Накопичення похибок результатів числових обчислень виникає, наприклад, при некоректному відкиданні дробових цифр чисел, некоректному використанні наближених методів обчислень, ігноруванні обмеження розрядної сітки уявлення речових чисел в ЕОМ тощо.

Усі зазначені вище причини виникнення помилок слід пам'ятати у процесі налагодження. Крім того, складність налагодження збільшується також внаслідок впливу наступних факторів:

Опосередкований прояв помилок;

Можливості взаємовпливу помилок;

Можливості одержання зовні однакових проявів різних помилок;

відсутність повторюваності проявів деяких помилок від запуску до запуску (стохастичні помилки);

Можливості усунення зовнішніх проявів помилок у досліджуваній ситуації при внесенні деяких змін до програми, наприклад, при включенні до програми діагностичних фрагментів може анулюватися або змінити зовнішній прояв помилок;

Написання окремих частин програми різними програмістами.

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

ручного тестування;

індукції;

Дедукції;

Зворотного простеження.

Метод ручного тестування. Це - найпростіший і природний метод цієї групи. При виявленні помилки необхідно виконати тестовану програму вручну, використовуючи тестовий набір, під час роботи з яким було виявлено помилку.

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

Цей метод часто використовують як складову частину інших методів налагодження.

Метод індукції. Метод ґрунтується на ретельному аналізі симптомів помилки, які можуть виявлятися як невірні результати обчислень або як повідомлення про помилку. Якщо комп'ютер просто «зависає», фрагмент прояву помилки обчислюють, виходячи з останніх отриманих результатів і дій користувача. Отриману таким чином інформацію організують та ретельно вивчають, переглядаючи відповідний фрагмент програми. Внаслідок цих дій висувають гіпотези про помилки, кожну з яких перевіряють. Якщо гіпотеза вірна, то деталізують інформацію про помилку, інакше висувають іншу гіпотезу. Послідовність виконання налагодження методом індукції показано на рис. 3 як схеми алгоритму.

Малюнок 3 - Схема процесу налагодження методом індукції

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

У процесі докази намагаються з'ясувати, чи всі прояви помилки пояснює ця гіпотеза, якщо не всі, або гіпотеза не вірна, або кілька помилок.

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

Рисунок 4 - Схема процесу налагодження методом дедукції

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

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

Загальні засади обстеження

При обстеженні хірургічного хворого треба вирішити три питання:

Терміновість проведення обстеження;

Раціональний обсяг обстеження;

Послідовність застосування діагностичних методів.

Необхідно враховувати класичні правила додаткового дослідження пацієнта, висунуті вітчизняним терапевтом І.А. Касирським.

1. Ніколи інструментальне дослідження не повинно бути небезпечнішим за хворобу.

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

3. Слід пам'ятати про протипоказання до тих чи інших небезпечних інструментальних досліджень.

Терміновість проведення обстеження

Залежно від характеру захворювання та тяжкості стану хворого обстеження можна проводити у терміновому та плановому порядку.

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

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

Раціональний обсяг обстеження

Наступне питання, яке має вирішити лікар, - скільки та яких додаткових методів застосувати у даного пацієнта? Додаткових методів дослідження безліч. Виконувати все – безглуздо; крім того, це може значно затягнути діагностичний період та збільшити ймовірність розвитку ускладнень, які з дуже малою частотою, але таки зустрічаються при використанні спеціальних діагностичних методів. Який обсяг обстеження потрібен хворому, лікар повинен вирішувати індивідуально в кожному конкретному випадку.


Існують певні схеми обстеження. Наприклад, мінімальний обсяг обстеження хворого перед плановою операцією.

При болях у животі, що раптово виникли, необхідно зробити клінічний аналіз крові, загальний аналіз сечі, провести УЗД черевної порожнини, оглядову рентгенографію живота, фіброгастроскопію.

При травмі кінцівки слід зробити клінічний аналіз крові, загальний аналіз сечі та рентгенівський знімок ушкодженої кінцівки.

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

Послідовність застосування діагностичних методів

Застосовуючи різні спеціальні методи, лікар повинен чітко дотримуватися принципу: від простого - до складного, від неінвазивних методів - до інвазивних. Що це означає? У ряді випадків при обстеженні хворого на певному етапі діагноз стає зрозумілим і подальше продовження діагностики ні до чого. При правильній послідовності застосування методів дослідження це дозволяє уникнути складних, небезпечніших для хворого на інвазивні процедури.

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

Основні діагностичні методи

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

Лабораторні методи

Лабораторні методи найбільш прості та легкі для пацієнта і водночас дозволяють отримати додаткову інформацію про перебіг патологічного процесу.

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

При цьому можуть використовуватись різні методи дослідження:

- клінічні аналізи- визначення виду та кількості клітин, питомої ваги, кольору, прозорості;

- біохімічні аналізи- дослідження вмісту різних хімічних речовин: білка, креатиніну, білірубіну, іонів;

- цитологічне дослідження- Визначення різних видів клітин, має велике значення в онкології (виявлення клітин злоякісної пухлини);

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

- бактеріологічне дослідження- визначення в надісланому матеріалі наявності та виду патогенних мікроорганізмів та їх чутливості до антибіотиків;

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

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

Що, наприклад, може дати обстеження хірургічного хворого клінічний аналіз крові?

У клінічний аналіз крові входять: концентрація гемоглобіну, гематокрит, кількість еритроцитів, тромбоцитів та лейкоцитів, лейкоцитарна формула та швидкість осідання еритроцитів.

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

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

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

Подібні приклади можна навести і щодо інших лабораторних методів.

Рентгенологічні методи

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

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

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

Для дослідження шлунково-кишкового тракту зазвичай застосовують «барієву кашу» (суспензію сульфату барію), яку вводять усередину або нагнітають через пряму кишку (іригографія).

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

Існує галузь рентгенології – ангіографія. Можна досліджувати артерії (артеріографія), вени (флебографія) та лімфатичні судини (лімфографія), що має велике значення в судинній та загальній хірургії.

Рентгенологічне обстеження використовують як у плановій, так і в екстреній хірургії.

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

Один із видів рентгенологічного дослідження - комп'ютерна томографія (КТ). Комп'ютерні томографи є рентгенодіагностичні установки, що дозволяють отримувати томографічні зрізи будь-якої частини тіла.

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

Ультразвукове дослідження

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

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

Під контролем УЗД можна проводити пункцію утворень. Таким чином, можна, наприклад, отримати пунктат з пухлини молочної залози для цитологічного дослідження або спорожнити, а потім і дренувати кісту, абсцес.

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

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

Ендоскопічні методи

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

У розпорядженні лікарів є ендоскопи двох типів: жорсткі (з металевими оптичними трубками) та гнучкі (з трубками зі скловолокна). Останні складаються з безлічі найтонших світлопровідних ниток і у зв'язку з цим отримали назву фіброскопів.

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

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

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

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

Ендоскопічні методи є високоінформативними, оскільки багато патологічних процесів починаються саме на слизових оболонках органів. Крім того, при ендоскопії можна визначити непрямі симптоми та інші патологічні процеси.

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

Електрофізіологічні методи

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

Радіоізотопне дослідження

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

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

Розроблено методики радіоізотопного дослідження печінки та нирок, можливі дослідження судинної системи, проведення радіоізотопної лімфографії.

Магнітно-резонансна томографія

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

лекція 9.Управління введенням-виведенням даних

9.1 Принципи апаратури введення-виводу

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


Мал. 1.Структура системи введення-виведення

У складі будь-якої ОС існує спеціальна підсистема, що управляє апаратурою введення-виведення. Основні завдання, які вирішуються за допомогою цієї підсистеми, полягають у наступному:

- підсистема повинна забезпечити користувачів зручним і зрозумілим інтерфейсом для звернення до ПУ як в однокористувацькому, так і в розрахованому на багато користувачів режимах роботи ЕОМ; при цьому часто висувається вимога на досягнення уніфікованого інтерфейсу для доступу до різних за своїми фізичними характеристиками ПУ, навіщо реалізується принцип незалежності від пристроїв;

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

- склад підсистеми ОС для пристроїв введення-виведення та апаратура введення-виведення істотно відрізняються для різних ЕОМ, але можна виділити і єдине концептуальне початок, властиве всім підсистем. Апаратуру введення-виведення можна розглядати як сукупність апаратурних процесорів, які здатні працювати паралельно один щодо одного, а також щодо ЦП. На таких процесорах виконуються звані зовнішні процеси. Наприклад, для друкуючого пристрою процес може складатися з сукупності дій, що забезпечують переведення каретки, просування паперу на один рядок, друк будь-якої кількості символів на рядку.

Зовнішні процеси взаємодіють із програмними процесами, що виконуються ЦП та оперативною пам'яттю (ОП). Істотно, що швидкість виконання програмного процесу може на кілька порядків перевищувати швидкість зовнішнього процесу.

Підсистема ОС керування вводом-выводом з погляду програмних процесів є інтерфейсом з ПУ. Розрізняють три типи дій з ПУ:

1. операції читання-запису даних;

2. операції управління ПУ;

3. операції з перевірки стану ПУ.

9.1.1 Пристрої введення-виводу

Пристрої ділять на дві категорії (деякі не потрапляють до жодної):

  • блокові пристрої - інформація зчитується та записується по блоках, блоки мають свою адресу (диски)
  • символьні пристрої – інформація зчитується та записується посимвольно (принтер, мережні карти, миші)

9.1.2 Контролери пристроїв

Пристрої введення-виведення зазвичай складаються з двох частин:

  • механічна (не треба розуміти дослівно) - диск, принтер, монітор
  • електронна - контролерабо адаптер

Якщо інтерфейс між контролером та пристроєм стандартизований (ANSI, IEEE або ISO), незалежні виробники можуть випускати сумісні як контролери, так і пристрої. Наприклад: диски IDE або SCSI.

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

9.1.3 Введення-виведення, що відображається на адресний простір пам'яті пам'яті

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

Багато пристроїв мають буфер даних (наприклад: відеопам'ять).

Реалізації доступу до керуючих регістрів та буферів:

  • номер порту введення-виводу - призначається кожному керуючому регістру 8- або 16-розрядне ціле число. Адресні простори ОЗП та пристрої введення-виведення в цій схемі не перетинаються.
    Недоліки
    - для читання та запису застосовуються спеціальні команди, наприклад IN та OUT
    - необхідний спеціальний механізм захисту від процесів
    - необхідно спочатку вважати регістр пристрою в регістр процесора
  • Введення-виведення, що відображається на адресний простір пам'яті - Регістри відображаються на адресний простір пам'яті.
    Недоліки
    - при кешуванні пам'яті можуть кешуватися і регістри пристроїв
    - всі пристрої повинні перевіряти всі звернення до пам'яті, щоб визначити, на які реагувати. На одній спільній шині це реалізується легко, але на кількох будуть проблеми.
  • змішана реалізація - використовується в х86 та Pentium,
    від 0 до 64К відводиться портам,
    від 640 до 1М зарезервовано під буфери даних.


Способи реалізації доступу до регістрів і буферів, що управляють.

9.1.4 Прямий доступ до пам'яті (DMA - Direct Memory Access)

Прямий доступ до пам'яті реалізується за допомогою DMA - контролера.

Контролер містить кілька регістрів:

  • регістр адреси пам'яті
  • лічильник байтів
  • керуючі регістри, можуть містити:
    - порт введення-виводу
    - Читання або запис
    - одиниці перенесення (побайтно чи пословно)

Без контролера відбувається таке:

  1. Процесор дає команду дисковому контролеру прочитати дані в буфер,
  2. Зчитуються дані до буфера, контролер перевіряє контрольну суму лічених даних (перевірка на помилки). Процесор, до переривання, переключається інші завдання.
  3. Контролер диска ініціює переривання
  4. Операційна система починає працювати і може зчитувати з буфера дані на згадку


Робота DMA – контролера

З контролером відбувається таке:

  1. Процесор програмує контролер (які дані та куди перемістити)
  2. Процесор дає команду дисковому контролеру прочитати дані у буфер
  3. Зчитуються дані в буфер, контролер диска перевіряє контрольну суму лічених даних (процесор, до переривання, перемикається інші завдання).
  4. Контролер DMA надсилає запит на читання дискового контролера
  5. Контролер диска постачає дані на шину, адреса пам'яті вже знаходиться на шині, відбувається запис даних на згадку
  6. Коли запис закінчено, контролер диска надсилає підтвердження DMA контролеру
  7. DMA контролер збільшує використовувану адресу і зменшує значення лічильника байтів
  8. Все повторюється з пункту 4, доки значення лічильника стане рівною нулю.
  9. Контролер DMA ініціює переривання

Операційній системі не потрібно копіювати дані на згадку, вони вже там.

9.1.5 Переривання

Після того як пристрій введення-виводу розпочав роботу, процесор перемикається на інші завдання.

Щоб сигналізувати процесору про закінчення роботи, пристрій ініціалізує переривання, виставляючи сигнал на виділену лінію шини (а не виділений провід).

Контролер переривань - обслуговує переривання, що надходять від пристроїв.

  1. Якщо необроблених переривань немає, переривання виконується негайно.
  2. Якщо необроблені переривання є, контролер ігнорує переривання. Але пристрій продовжує утримувати сигнал переривання на шині, поки він не буде оброблений.


Робота переривань

Алгоритм роботи:

  • Пристрій виставляє сигнал переривання
  • Контролер переривань ініціює переривання, вказуючи номер пристрою
  • Процесор починає виконувати обробку переривання, викликаючи процедуру
  • Ця процедура підтверджує отримання переривання контролеру переривань

9.2 Принципи програмного забезпечення введення-виводу

9.2.1 Завдання програмного забезпечення введення-виводу

Основні завдання, які має вирішувати програмне забезпечення введення-виводу:

  • Незалежність від пристроїв - наприклад, програма, що читає дані з файлу, не повинна замислюватися з чого вона читає (CD, HDD та ін.). Усі проблеми має вирішувати ОС.
  • Єдине ім'я - ім'я файлу або пристрою не повинні відрізнятися. (У системах UNIX виконується буквально).
  • Обробка помилок - помилки можуть бути відловлені лише на рівні контролера, драйвера тощо.
  • Перенесення даних - синхронний та асинхронний(В останньому випадку процесор запускає перенесення даних, і перемикається на інші завдання до переривання).
  • Буферизація
  • Проблема виділених (принтер) та невиділених (диск) пристроїв - принтер повинен надаватися лише одному користувачеві, а диск багатьом. ОС повинна вирішувати всі проблеми, що виникають.

Три основні способи здійснення операцій введення-виведення:

  • Програмне введення-виведення
  • Керований перериваннями введення-виведення
  • Введення-виведення з використанням DMA

Розглянемо їх докладніше.

9.2.2 Програмне введення-виведення

І тут всю роботу виконує центральний процесор.

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


Етапи друку рядка ABCDEFGH

Алгоритм друку:

  1. Рядок для друку збирається у просторі користувача.
  2. Звертаючись до системного виклику, процес отримує принтер.
  3. Звертаючись до системного виклику, процес просить надрукувати рядок на принтері.
  4. Операційна система копіює рядок масив, розташований в режимі ядра.
  5. ОС копіює перший символ у регістр даних принтера, який відображено на пам'яті.
  6. Символ друкується на папері.
  7. Вказівник встановлюється на наступний символ.
  8. Процесор чекає, коли біт готовності принтера виставиться у готовність.
  9. Все повторюється.

При використанні буфера принтера спочатку весь рядок копіюється в буфер, після чого починається друк.

9.2.3 Введення-виведення, що керується перериваннями

Якщо в попередньому прикладі буфер не використовується, а принтер друкує 100 символів в секунду, то на кожен символ буде йти 10мс, в цей час процесор простоюватиме, чекаючи на готовність принтера.

Розглянемо той самий приклад, але з невеликим удосконаленням.

Алгоритм друку:

  1. До пункту 8 те саме.
  2. Процесор не чекає на готовність принтера, а викликає планувальник і переключається на інше завдання. Друкувальний процес блокується.
  3. Коли принтер буде готовий, він надсилає переривання процесору.
  4. Процесор перемикається на процес друку.

9.2.4 Введення-виведення з використанням DMA

Недолік попереднього методу в тому, що переривання відбувається під час друку кожного символу.

Алгоритм не відрізняється, але всю роботу бере на себе контролер DMA.

9.3 Програмні рівні та функції введення-виводу

Чотири рівні введення-виведення:

Рівні введення-виводу

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

Переривання повинні бути приховані якнайглибше в надрах операційної системи, щоб якнайменша частина ОС мала з ними справу. Найкраще блокувати драйвер, який розпочав введення-виведення.

Алгоритм:

  1. Драйвер починає операцію введення-виведення.
  2. Драйвер блокує сам себе,
    - Виконавши на семафорі процедуру down
    - Виконавши на змінній стані процедуру wait
    - Виконавши на повідомленні процедуру receive
  3. Відбувається переривання
  4. Обробник переривань починає роботу
  5. Обробник переривань може розблокувати драйвер (наприклад, виконавши на семафорі процедуру up)

9.3.2 Драйвера пристроїв

Драйвер пристрою – необхідний для кожного пристрою. Для різних ОС потрібні різні драйвери.

Драйвери повинні бути частиною ядра (в монолітній системі), щоб отримати доступ до регістрів контролера.

Це одна з основних причин, що призводять до краху операційних систем. Тому що драйвери, як правило, пишуться виробниками пристроїв і вставляються в ОС.


Логічне розташування драйверів пристроїв. Насправді обмін даними між контролерами та драйверами йде по шині.

Драйвер повинен взаємодіяти з ОС через стандартні інтерфейси.

Стандартні інтерфейси, які мають підтримувати драйвера:

  • Для блокових пристроїв
  • Для символьних пристроїв

Раніше для встановлення ядра доводилося перекомпілювати ядра системи.

Нині переважно ОС завантажують драйвери. Деякі драйвери можуть бути завантажені у гарячому режимі.

Функції, які виконують драйвера:

  • обробка запитів читання чи запису
  • ініціалізація пристрою
  • керування енергоспоживанням пристрою
  • прогрівання пристрою (сканера)
  • увімкнення пристрою або запуску двигуна

9.3.3 Незалежне від пристроїв програмне забезпечення введення-виводу

Функції незалежного від пристроїв програмного забезпечення введення-виводу:

  • Єдиний інтерфейс для драйверів пристроїв,
  • Буферизація
  • Повідомлення про помилки
  • Захоплення та звільнення виділених пристроїв (блокування)
  • Розмір блоку, що не залежить від пристроїв

Єдиний інтерфейс для драйверів пристроїв

Крім інтерфейсу, до нього також входять проблеми,

  • найменування пристроїв
  • захист пристроїв

Буферизація

Розглянемо кілька прикладів буферизації.


a) Не буферизоване введення - після введення кожного символу відбувається переривання

b) Буферизація у просторі користувача – доводиться тримати завантаженими необхідні сторінки пам'яті у фізичній пам'яті.

c) Буферизація в ядрі з копіюванням в простір користувача - сторінка завантажується тільки коли повний буфер ядра, дані з буфера ядра в буфер користувача копіюється за одну операцію. Проблема може виникнути, коли буфер ядра повний, а сторінка буфера користувача ще не завантажена.

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

Повідомлення про помилки

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

Захоплення та звільнення виділених пристроїв

Для пристроїв (принтер) з якими повинен працювати одночасно один процес, необхідна можливість захоплення і звільнення пристроїв. Коли один процес зайняв пристрій, інші встають у чергу.

Незалежний від пристроїв розмір блоку

Розмір блоку повинен бути однаковим для верхніх рівнів і не залежати від пристроїв (розмірів секторів на диску).

9.4. Програмне забезпечення введення-виведення простору користувача

Функції цього забезпечення:

  • Звернення до системних викликів введення-виводу (через бібліотечні процедури).
  • Форматне введення-виведення (змінюють формат, наприклад, в ASCII)
  • Спулінг (для виділених пристроїв) – створюється процес (наприклад, демон друку) та каталог спулера.

Узагальнення рівнів та функцій введення-виведення


Рівні та основні функції системи введення-виведення

Базова підсистема введення-виведення служить посередником між процесами обчислювальної системи та набором драйверів. Системні виклики для виконання операцій введення-виводу трансформуються нею у виклики функцій необхідного драйвера пристрою. Однак обов'язки базової підсистемине зводяться до виконання лише дій трансляції загального системного виклику на звернення до приватної функції драйвера. Базова підсистеманадає обчислювальній системі такі послуги, як підтримка блокуються, неблокуютьсяі асинхронних системних викликів, буферизаціяі кешуваннявхідних та вихідних даних, здійснення spooling"a та монопольного захоплення зовнішніх пристроїв, обробка помилок та переривань, що виникають при операціях введення-виведення, планування послідовності запитів виконання цих операцій. Зупинімося на цих послугах докладніше.

Блоковані, неблоковані та асинхронні системні виклики

Всі системні виклики, пов'язані зі здійсненням операцій введення-виведення, можна розбити на три групи за способами реалізації взаємодії процесу влаштування введення-виведення.

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

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

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

Буферизація та кешування

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

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

· Друга причина буферизації- Це різні обсяги даних, які можуть бути прийняті або отримані учасниками обміну одночасно. Візьмемо інший приклад. Нехай інформація поставляється модемом та записується на жорсткий диск. Крім володіння різними швидкостями здійснення операцій, модем і жорсткий диск є пристроями різного типу. Модем є символьним пристроємі видає дані байт за байтом, у той час як диск є блоковим пристроємі проведення операції записи йому потрібно накопичити необхідний блок даних у буфері. Тут також можна використовувати більше одного буфера. Після заповнення першого буфера модем починає заповнювати другий, одночасно із записом першого на жорсткий диск. Оскільки швидкість роботи жорсткого диска в тисячі разів більша, ніж швидкість роботи модему, на момент заповнення другого буфера операція запису першого буде завершена, і модем знову зможе заповнювати перший буфер одночасно із записом другого на диск.

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

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

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

Spooling та захоплення пристроїв

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

Розглянемо як зовнішній пристрій принтер. Хоча принтер не може друкувати інформацію, що надходить одночасно від кількох процесів, може бути бажаним дозволити процесам робити висновок на принтер паралельно. Для цього операційна система замість передачі інформації безпосередньо на принтер накопичує дані в буферах на диску, організованих у вигляді окремого spool-файлу для кожного процесу. Після завершення деякого процесу відповідний йому spool файл ставиться в чергу для реального друку. Механізм, що забезпечує подібні дії, і отримав назву spooling.

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

Забезпечення spooling та механізму захоплення пристроїв є прерогативою базової підсистеми введення-виведення.

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

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

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

Дії з обробки перериванняі компенсації помилок можуть бути частково перекладені на плечі відповідного драйвера. Для цього до складу інтерфейсу між драйверомі базовою підсистемою введення-виведеннядодають ще одну функцію – функцію обробки переривання intr.

Планування запитів

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

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

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

9. 5 . Принципи, закладені в підсистему управління введенням-виводом у ОС UNIX

1. Ця підсистема побудована однаково з підсистемою управління даними (файловою системою). Користувачеві надається уніфікований спосіб доступу як до ПУ, так і файлів. Під файлом в ОС UNIX розуміють набір даних на диску, відеотерміналі тощо; будь-яке ПУ сприймається як спеціальний файл. При запиті програмного процесу виведення даних у спеціальний файл ОС перехоплює запит і надсилає дані відповідний пристрій. Аналогічно організується читання даних із спеціального файлу – це прийом даних із ПУ. Таким чином, доступ, наприклад, до файлу на диску і спеціального файлу дисплея забезпечується одним і тим же набором системних дзвінків.

2. Інша особливість підсистеми введення-виведення в ОС UNIX полягає в тому, що вона працює як синхронна система. Будь-який програмний процес, який вимагає введення даних, припиняється в точці, де він видав запит, доки не завершиться операція введення із зазначеного спеціального файлу. При виведенні процес припиняється в точці запиту на виведення даних аж до того моменту, поки дані, що виводяться, будуть прийняті системою в буфер користувача. Така організація вводу-виводу наводить у мультипрограмному режимі роботи ЕОМ підвищення ефективності використання часу ЦП внаслідок зменшення простоїв цього ЦП. Зауважимо, що у системах реального часу (СРВ) частіше використовується асинхронний принцип роботи підсистеми вводу-виводу, оскільки у разі зменшується час реакції СРВ на події, потребують негайної обробки.

3. Для управління ПУ в ОС UNIX використовуються 2 види інтерфейсу з цими ПУ: байторієнтований та блокорієнтований. Блокорієнтований інтерфейс забезпечує зв'язок з ПУ, яких можна адресуватися як до послідовності блоків по 512 байт. Такими ПУ здебільшого є ВЗП. Основою організації такого інтерфейсу є система буферизації, що підтримується у ВП. Байторієнтований інтерфейс використовується для доступу до друкуючого пристрою, клавіатури дисплея та деяких інших пристроїв, при цьому буферизація не використовується.

4. До складу системи управління введенням-виводом входять також драйвери та набір спеціальних таблиць для логічного підключення ядра ОС до драйверів різних пристроїв. Кожен драйвер містить дві частини і може обслуговувати кілька пристроїв одного типу.

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

Друга частина драйвера – це модуль обробки переривань. При керуванні більшістю ПУ в ОС UNIX використовується метод переривань. Для байторієнтованого ПУ переривання виникає після передачі байта, для блокорієнтованого ПУ після передачі блоку. Модуль обробки переривання є частиною драйвера, або припиняє роботу з ПУ, або продовжує роботу з ним, видаючи йому нове завдання.

Деякі з викладених принципів побудови системи введення-виведення ОС UNIX були реалізовані в ОС, створених пізніше, наприклад, у MS DOS, що функціонує в ЕОМ IBM PC з МП типу 80х86.

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

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

ручного тестування;

індукції;

Дедукції;

Зворотного простеження.

Метод ручного тестування. Це - найпростіший і природний метод цієї групи. При виявленні помилки необхідно виконати тестовану програму вручну, використовуючи тестовий набір, під час роботи з яким було виявлено помилку.

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

Цей метод часто використовують як складову частину інших методів налагодження.

Метод індукції. Метод ґрунтується на ретельному аналізі симптомів помилки, які можуть виявлятися як невірні результати обчислень або як повідомлення про помилку. Якщо комп'ютер просто «зависає», фрагмент прояву помилки обчислюють, виходячи з останніх отриманих результатів і дій користувача. Отриману таким чином інформацію організують та ретельно вивчають, переглядаючи відповідний фрагмент програми. Внаслідок цих дій висувають гіпотези про помилки, кожну з яких перевіряють. Якщо гіпотеза вірна, то деталізують інформацію про помилку, інакше висувають іншу гіпотезу. Послідовність виконання налагодження методом індукції показано на рис. 3 як схеми алгоритму.

Малюнок 3 - Схема процесу налагодження методом індукції

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

У процесі докази намагаються з'ясувати, чи всі прояви помилки пояснює ця гіпотеза, якщо не всі, або гіпотеза не вірна, або кілька помилок.

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

Рисунок 4 - Схема процесу налагодження методом дедукції

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

Додаткові методи дослідження

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

Загальні засади обстеження

При обстеженні хірургічного хворого потрібно вирішити три питання:

‣‣‣ терміновість проведення обстеження;

‣‣‣ раціональний обсяг обстеження;

‣‣‣ послідовність застосування діагностичних методів.

Необхідно враховувати класичні правила додаткового дослідження пацієнта, висунуті вітчизняним терапевтом І.А. Касирським.

1. Ніколи інструментальне дослідження не повинно бути небезпечнішим за хворобу.

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

3. Слід пам'ятати про протипоказання до тих чи інших небезпечних інструментальних досліджень.

Терміновість проведення обстеження

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

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

Планове обстеження у принципі не обмежене у часі. Тут бувають застосовані всі існуючі спеціальні методи, результати яких можуть уточнити стан хворого, дізнатися про особливості локалізації, стадії або форми патологічного процесу. У цьому можливе виконання складних досліджень, у інших лікувальних закладах (наприклад, КТ, МРТ, ангіографія тощо.).

Раціональний обсяг обстеження

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

Існують певні схеми обстеження. Наприклад, мінімальний обсяг обстеження хворого перед планової операцією.

При болях у животі, що раптово виникли, вкрай важливо зробити клінічний аналіз крові, загальний аналіз сечі, провести УЗД черевної порожнини, оглядову рентгенографію живота, фіброгастроскопію.

При травмі кінцівки слід зробити клінічний аналіз крові, загальний аналіз сечі та рентгенівський знімок ушкодженої кінцівки.

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

Послідовність застосування діагностичних методів

Застосовуючи різні спеціальні методи, лікар повинен чітко дотримуватися принципу: від простого – до складного, від неінвазивних методів – до інвазивних.Що це означає? У ряді випадків при обстеженні хворого на певному етапі діагноз стає зрозумілим і подальше продовження діагностики ні до чого. При правильній послідовності застосування методів дослідження це дозволяє уникнути складних, небезпечніших для хворого на інвазивні процедури.

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

Основні діагностичні методи

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

Лабораторні методи

Лабораторні методи найбільш прості та легкі для пацієнта і водночас дозволяють отримати додаткову інформацію про перебіг патологічного процесу.

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

‣‣‣ клінічні аналізи- визначення виду та кількості клітин, питомої ваги, кольору, прозорості;

‣‣‣ біохімічні аналізи- Вивчення вмісту різних хімічних речовин: білка, креатиніну, білірубіну, іонів;

‣‣‣ цитологічне дослідження- Визначення різних видів клітин, має величезне значення в онкології (виявлення клітин злоякісної пухлини);

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

‣‣‣ бактеріологічне дослідження- визначення в надісланому матеріалі наявності та виду патогенних мікроорганізмів та їх чутливості до антибіотиків;

‣‣‣ серологічні та імунологічні методизасновані на проведенні різних реакцій, в базі яких лежить взаємодія «антиген-антитіло», мають велике значення в діагностиці низки захворювань: аутоімунні, імунодефіцитні стани та ін.

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

Що, наприклад, може дати обстеження хірургічного хворого клінічний аналіз крові?

У клінічний аналіз крові входять: концентрація гемоглобіну, гематокрит, кількість еритроцитів, тромбоцитів і лейкоцитів, лейкоцитарна формула і швидкість осідання еритроцитів.

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

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

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

Подібні приклади можна навести і щодо інших лабораторних методів.

Рентгенологічні методи

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

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

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

Для дослідження шлунково-кишкового тракту зазвичай застосовують «барієву кашу» (завись сульфату барію), яку вводять всередину або нагнітають через пряму кишку (іригографія).

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

Існує галузь рентгенології – ангіографія. Можна досліджувати артерії (артеріографія), вени (флебографія) та лімфатичні судини (лімфографія), що має велике значення в судинній та загальній хірургії.

Рентгенологічне обстеження використовують як у плановій, так і в екстреній хірургії.

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

Один із видів рентгенологічного дослідження - комп'ютерна томографія (КТ). Комп'ютерні томографи являють собою рентгенодіагностичні установки, що дозволяють отримувати томографічні зрізи будь-якої частини тіла.

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

Ультразвукове дослідження

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

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

Під контролем УЗД можна проводити пункцію утворень. Таким чином, можна, наприклад, отримати пунктат з пухлини молочної залози для цитологічного дослідження або спорожнити, а потім і дренувати кісту, абсцес.

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

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

Ендоскопічні методи

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

У розпорядженні лікарів є ендоскопи двох типів: жорсткі (з металевими оптичними трубками) та гнучкі (з трубками зі скловолокна). Останні складаються з безлічі найтонших світлопровідних ниток і у зв'язку з цим отримали назву фіброскопів.

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

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

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

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

Ендоскопічні методи є високоінформативними, оскільки багато патологічних процесів починаються саме на слизових оболонках органів. Разом з тим, при ендоскопії можна визначити непрямі симптоми та інші патологічні процеси.

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

Електрофізіологічні методи

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

Радіоізотопне дослідження

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

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

Розроблено методики радіоізотопного дослідження печінки та нирок, можливі дослідження судинної системи, проведення радіоізотопної лімфографії.

Магнітно-резонансна томографія

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

Додаткові методи дослідження - поняття та види. Класифікація та особливості категорії "Додаткові методи дослідження" 2017, 2018.



Останні матеріали розділу:

Отримання нітросполук нітруванням
Отримання нітросполук нітруванням

Електронна будова нітрогрупи характеризується наявність семи полярного (напівполярного) зв'язку: Нітросполуки жирного ряду – рідини, що не...

Хроміт, їх відновлювальні властивості
Хроміт, їх відновлювальні властивості

Окисно-відновні властивості сполук хрому з різним ступенем окиснення. Хром. Будова атома. Можливі ступені окислення.

Чинники, що впливають на швидкість хімічної реакції
Чинники, що впливають на швидкість хімічної реакції

Питання №3 Від яких чинників залежить константа швидкості хімічної реакції? Константа швидкості реакції (питома швидкість реакції) - коефіцієнт...