С пациентом все хорошо, но происшествие могло закончиться печально



Пациент отделения кардиологии одной из больниц США проходил сложную процедуру — катетеризацию сердца. Внезапно началась антивирусная проверка компьютера, который отвечал за техническую часть процедуры, в результате чего система «повисла». Врачи смогли продолжить процедуру только после перезагрузки компьютера.

Происшествие было подробно задокументировано Управлением по санитарному надзору за качеством пищевых продуктов и медикаментов (англ. Food and Drug Administration, FDA, USFDA). Управление обращает внимание на «темную» сторону использования компьютеров и сетевых технологий в критических условиях. В то время, как зависание ПК дома или в офисе чревато потерями рабочего времени или данных, в медицине, военном деле и прочих подобных сферах компьютерный сбой может стать причиной катастрофы.

Компьютерная система, о которой идет речь, называется Merge Hemo. Состоит система из модуля пациента и основного ПК, соединенных дата-кабелем. Используется Merge Hemo для получения диагностической информации в режиме реального времени во время проведения процедуры катетеризации сердца и некоторых других медицинских процедур.

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

Впоследствии выяснилось, что предустановленный антивирус был неправильно настроен, нарушая правила эксплуатации медицинского оборудования. Согласно этим правилам, любое сервисное ПО для медицинских компьютерных систем должно работать, не мешая проведению медицинских процедур, что вполне логично.

Упомянутый случай — далеко не единственный, проблемы случаются чаще, но не всегда о них становится известно. Да и не только медики и пациенты страдают из-за таких сбоев. Майкл Тоекер (Michael Toecker), специалист промышленных систем контроля, описал три случая неожиданного отказа энергетических систем в Северной Америке, хотя на самом деле таких происшествий гораздо больше.

Что касается медицины, то здесь много специализированных компьютерных систем, работающих еще с Windows XP. ПО на таких системах не обновляется годами. В результате случаются опасные казусы, вроде блокирования компьютерных систем больниц криптовымогателем. Для того, чтобы снизить угрозу заражения специализированных ПК зловредным ПО, такое оборудование часто поставляется с предустановленным антивирусным программным обеспечением, сконфигурированным по умолчанию. В больнице конфигурацию ПО забывают проверить (или настройки просто нельзя изменить), и программы работают согласно изначальным инструкциям.
Поделиться с друзьями
-->

Комментарии (71)


  1. leek
    17.05.2016 12:50
    +5

    А стоял бы какой-нибудь дистр Линукса — этого бы не случилось.


    1. pnetmon
      17.05.2016 12:57
      +1

      при прилете обновления Линукса были бы проблемы кривых рук.


      1. amarao
        17.05.2016 13:11
        +5

        «Прилёта» обновления не было бы. Как настроят, так и будет.


        1. pnetmon
          17.05.2016 14:39
          +11

          так и тут кривые руки не настроившие программу — антивирус


      1. AllexIn
        18.05.2016 10:51
        +3

        Мне неведом дистрибутив Линукса, в котором настроено автоматическое обновление без запроса разрешения у пользователя.
        Я не дока в линуксе, и все сотни дистрибутивов не тестил. Но с десятком разных дистров имел дело и ни в одном из них обновления не устанавливаются молча.


        1. TrurlMcByte
          19.05.2016 17:16

          Есть такой, старый OpenSUSE, например. В последних версиях автоапдейт выломали, вроде. Само собой он только некоторые сервисы рестартует, саму систему не пытается даже. И время «неработоспособности» при этом измеряется секундами. Но иногда и этого может хватить для проблемы.
          IMHO, надо использовать специализированные дистрибутивы в критических местах и не мучатся.


  1. Color
    17.05.2016 12:50
    +8

    tl;dr: виндопроблемы


    1. isbcc
      17.05.2016 15:28
      +6

      винда нормальная ОС, лично у меня никогда не было проблем. Пользователь начиная с вин95. Lunix тоже пользуюсь. Везде свои + и -


      1. dbanet
        17.05.2016 16:42
        -6

        Ух ты, вы LUnix используете??


        Реквестирую пост!


        1. isbcc
          17.05.2016 17:57

          ) Соседние клавиши… Ну и что, бывают опечатки


          1. dbanet
            17.05.2016 21:24
            -12

            Ой, извините. Разрешите исправиться:


            Ух ты, вы Linux используете??


            Реквестирую пост!


    1. Massacre
      18.05.2016 08:55
      +3

      Проблема не в системе, а как обычно, в чьих-то кривых руках.


  1. SannX
    17.05.2016 12:58
    +3

    Я не рекламирую, а просто констатирую факт: например, в каспере есть галочка «Уступать ресурсы другим программам». Скорее всего, у них антивирь кривой или настроен криво. Не стоит сразу обобщать на ОС или др. антивири.


    1. tmin10
      17.05.2016 13:09
      +4

      Так в статья и написано:
      >Впоследствии выяснилось, что предустановленный антивирус был неправильно настроен, нарушая правила эксплуатации медицинского оборудования.


    1. amarao
      17.05.2016 13:13
      +7

      Антивирус не выполняет никакой полезной работы — единственное, что он делает — это использует ресурсы компьютера для запрета исполнения кода на этом компьютере.


    1. edwardspec
      17.05.2016 14:34
      -9

      Не стоит сразу обобщать на ОС
      Чего не обобщать-то?
      Вещи, глюк в которых означает смерть человека, не должны работать на Windows.


      1. Bluewolf
        17.05.2016 23:26
        +8

        Ойладно, Линукс никогда-никогда внезапно не ломается, не крашится, на нем невозможно более одного активного процесса и прочее?
        Вещи, глюк в которых означает смерть человека, не должны разрабатываться и внедряться кривыми руками.


        1. edwardspec
          18.05.2016 00:59

          При чём тут Линукс? Он тоже не подходит. См. комментарии ниже про RTOS.


          1. edwardspec
            18.05.2016 01:15
            +5

            Я так понимаю, 10 минусов выше означают, что в моём комментарии увидели холивор «Windows vs. Linux».
            Его там не было.
            Строить медицинскую систему не на RTOS — профнепригодность архитектора системы (нулевая оценка рисков).


          1. Bluewolf
            18.05.2016 02:08
            +1

            Ниже писал, что это не совсем медицинская система, а скорее вспомогательно-административная. У нее там два сенсорных экрана, обычный ноутбук и всё такое прочее.


        1. potan
          18.05.2016 17:53

          Linux — система открытая и модульная. Конечно, в ответственных приложениях ставить типовую Ubuntu неправильно. Но на базе Linux относительно легко сделать стабильный дистрибутив с заданными свойствами. На базе Windows это сделать тоже можно, то требует гораздо больших вложений, и скорее всего не обойтись без помощи от Микрософт.


  1. amarao
    17.05.2016 13:15
    +27

    При всём линукс-фанбойстве — линукс не готов к realtime. Windows — тем паче.

    А использование не realtime-операционных систем там, где нужен realtime (медицина, производство с непрерывными процессами) — это преступная халатность. Разработчик системы использовал компонент, который в силу своего дизайна, не может обеспечить гарантированно своевременное выполнение поставленной перед ним задачи, т.е. подверг неоправданному риску жизнь человека, находящегося в заведомо беспомощном состоянии.

    И это нифига не шутка. Ни медицинская операция, ни управление лифтом, ни обработка клика правой кнопкой тормозов в автомобиле не должна выполняться системами, для которых нет гарантированного времени ответа.

    Realtime и только realtime. жёсткий. Период.


    1. Zombieff
      17.05.2016 14:34
      +7

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


      1. Zombieff
        17.05.2016 14:39
        +10

        Из EULA:

        “The Microsoft software was designed for systems that do not require fail-safe performance. You may not use the Microsoft software in any device or system in which a malfunction of the software would result in foreseeable risk of injury or death to any person.”


      1. teecat
        17.05.2016 14:42
        +5

        Не поверите — в лицензионном для антивируса — написано аналогичное


      1. olekl
        18.05.2016 11:31

        При этом на атомных станциях винду вполне себе используют, но только для красивого отображения информации… Хотя в первый момент было очень странно увидеть в БЩУ экраны с кнопкой пуск :)


    1. teecat
      17.05.2016 14:35

      Антивирусов таких не будет. Ибо по каждому обновлению может измениться время обработки


      1. edwardspec
        17.05.2016 14:39
        +9

        Нету в RTOS никаких антивирусов. Там вообще ничего нет, кроме того, что нужно.
        Ядро + N нужных процессов (вплоть до N=1). И консоли и рабочего стола там в продакшн-режиме тоже нет (в development есть).


        1. amarao
          17.05.2016 14:52
          +3

          Я могу себе представить вполне консоль в RTOS — у неё есть квота на исполнение, и никакие действия пользователя (кроме административных) не сделают так, чтобы рабочий процесс выполнялся хоть на 1мс меньше обещанного. Даже если у пользователя консоли всё будет тупить и страдать.


          1. edwardspec
            17.05.2016 15:41
            +3

            Вы правы — никаких проблем от наличия консоли нет; я имел в виду, что её обычно не копируют в продакшн за ненадобностью.
            RTOS в продакшне глазами админа — это как Docker-контейнер с одним-двумя бинарниками внутри.


            1. TrurlMcByte
              19.05.2016 17:28

              Ой, не сравнивай, в докере ядро-то всё-то же, страдающее от чего попало, начиная от внезапного сетевого трафика и заканчивая девиациями частот генераторов на материнке.
              PS. Наболело просто — пытался сделать «RTOS для бедных» (голое ядро с драйверами и статическая апликация)… Только если железо дорогое серверное (топовые hp/Dell/etc), и нет сетевой нагрузки, то получается что-то похожее.


        1. teecat
          17.05.2016 14:56

          В релтайм ОС — конечно нет.
          Правда спрос на фоне новостей об атаках АСУТП есть. Достаточно часто проходится рассказывать, почему это невозможно


    1. Barafu
      17.05.2016 14:47
      -6

      У вас странные представления о realtime. Realtime не значит «никогда не зависнет», это значит, что разработчик программы может оценить время выполнения каждой функции, чтобы убедиться, что его достаточно в каждом случае.
      Зачем жёсткий realtime на компе, который следит за показателями пациента? Даже если эта система сама принимает некоторые действия без ведома врача, то ±5мс там погоды не делают. Зачем он в управлении лифтом, который с точки зрения компа еле движется?
      Во всех указанных случаях нужен не realtime а дублирование. В linux с правильно выбранными планировщиками максимальное время ответа гарантировано. Оно велико, да, но всё же гарантировано. Ядро rt не скажет высокоприоритетной программе «подожди полчасика, тут ethernet ддосят». И во многих случаях его достаточно.


      1. amarao
        17.05.2016 14:56
        +17

        Боже, не рассказывайте мне про гарантии реального времени в линуксах, а? пришёл oom killer, всем стоять. kswapper решил пошуршать по страничкам — всем стоять. Драйверу звуковой карты захотелось посидеть с запрещёнными прерываниями и посчитать функцию Аккермана от 10, 10? Никаких проблем.

        А реалтайм в лифте нужен, потому что когда лифт падает, одна из защит — софтовая. И она должна за свои милисекунды сработать.

        И в мониторинге пациентов реалтайм тоже нужен, потому что если ядру захотелось почесать себе за ушком в особо неудачный момент, то мы получим недетерминированную задержку в произвольное число секунд. И всё это время на экране будет давление 110/50, хотя оно уже давно 50/30 и надо реанимацию делать.


        1. Barafu
          17.05.2016 16:22
          +2

          Ощущаю взаимоНЕпонимание. То ли у вас инфа устарела, то ли вы мне про ядро от Ubuntu говорите, то ли, наоборот, это тонкости, с которыми я не сталкивался.
          * Hardware interrupt handler в rt ядре — preemptible по таймауту. (10 очков тому, кто напишет это по-русски). Достигается какой-то мутью с потоками. То есть зависание в нём приведёт к отвалу железа, но не заморозке всей системы. Другое дело, что многие драйверы в таком режиме не работают, но собрать систему под свою задачу можно.
          * OOM killer в realtime сборках отключен. Вместо него malloc честно отводит память и возвращает ошибку, если не нашёл.
          * swapper отключается вместе со swap. А swap и realtime — немножко взаимоисключающие вещи.
          P.S. Про лифт не знал — подскажите, как называется, чего погуглить. Я читал только о тупых механических защитах.


          1. amarao
            17.05.2016 16:49
            +1

            kswapper0 работает и при отключенном swap'е (например, выкидывая страницы файлового кеша ради удовлетворения запроса на выделение памяти). Из админского опыта — если kswapper0 в топе по процу болтается в системе без свопа, в системе сильная фрагментация (и нехватка памяти).

            Мне интересно, как в rt linux'е решают проблему SMM (system management mode), так же как проблему драйвера, который таки решил для своего успокоения потрогать межпроцессорные прерывания. То есть я ценю усилия, но отказываюсь ему доверить тормоза в своей машине.


            1. AlexanderG
              17.05.2016 21:38
              +2

              но отказываюсь ему доверить тормоза в своей машине

              Увы, но это не спасет: http://www.safetyresearch.net/Library/BarrSlides_FINAL_SCRUBBED.pdf
              **** ETCS source code is of unreasonable quality
              **** source code is defective and contains bugs
              Including bugs that can cause unintended acceleration
              Code quality metrics predict presence of additional bugs
              **** fail safes are defective and inadequate
              “House of cards” safety architecture
              Random hardware and software faults are a fact of life

              И еще оттуда же:
              Data-flow spaghetti
              Complex coupling between software modules and between tasks
              Count of global variables is a software metric for “tangledness”
              **** has >11,000 global variables (NASA)
              Control-flow spaghetti
              Many long, overly-complex function bodies
              Cyclomatic Complexity is a software metric for “testability”
              **** has 67 functions scoring >50 (“untestable”)
              The throttle angle function scored over 100 (unmaintainable)


              1. amarao
                18.05.2016 15:03

                Сурово.


            1. Barafu
              18.05.2016 19:58

              А про SMM речи не было. SMM — неотъемлемая часть процессора, и если в нём глюк — то это значит битый процессор. Существует ли вообще код, способный работать на непредсказуемо битом процессоре?
              Про драйвера написал то, что знаю. Вроде как решили, где-то принудительно заворачивая такие запросы в очередь, а где-то помещая модуль в список неблагонадёжных.
              RT linux не обеспечивает вам непрерывности работы приложения. Он обеспечивает лишь настолько низкую задержку, что в системе с участием человека или массивных исполнительных механизмов на неё можно забить — всё равно эти звенья тормозят несравнимо больше.


        1. sim31r
          17.05.2016 22:57
          -8

          Какая ОС обладает таким ядром, что блокирует работу ОС на произвольное число секунд(!), периодически и системно? Например на чистой ОС на 20 секунд всё зависло, мышка, звук, видеокарта? Вы сами пример придумали? У меня компьютер загружается быстрее.
          Я проверял свой комп, windows + avg антивирус, вероятность отклика в течение 0.015 секунды 99%, и ни разу за несколько дней процесс не игнорировался дольше 0.03 секунд. Можете сами проверить простейшей программой.
          Далее, реалтайм ОС не гарантирует успех на 100%, тут статья не про ошибку ОС, а про человеческий фактор. Тот же фактор может сказаться в RTOS. Компьютеру назначили белый IP и он попал по DDOS, забыли провести профилактику и он перегрелся от пыли, плохо подключили кабель питания или бракованный кабель, что выпал во время операции.
          И наоборот, в статье упоминаются старые компьютеры, на Windows XP, которые более 10 лет исправно работают, корректно настроены и гарантированно откликаются за 15 мс.
          От RTOS ожидаются же другие действия, отклик менее чем за 1 мс, для прямого управления шаговыми двигателями, асинхронными двигателями, прямого считывания данных с АЦП.


          1. amarao
            18.05.2016 15:06

            Попробуйте запросить память у ОС в следующем режиме:

            8k — user data
            4k — page cache
            8k — user data
            4k — page cache

            Когда подойдёте к состоянию low memory, вас может ожидать крайне любопытный сюрприз с тем, как именно ОС работает в условиях нехватки памяти.

            Ещё интереснее будет, если в этих условиях вы попробуете запросить что-то с order 2 (3, 4, etc) — из своего драйвера.

            Алгоритмы освобождения «свободной» памяти довольно неприятные и не всегда детерминированные по времени.


    1. Saffron
      17.05.2016 20:15

      X86 тоже не умеет в realtime. На уровне процессора. Вот эта штука https://ru.wikipedia.org/wiki/System_Management_Mode неконтролируемо прерывает любое приложение.


      1. amarao
        18.05.2016 15:06

        Угу. Но, в теории, есть железки с отключенным SMM или опцией отключения в биосе. За другие деньги, конечно.


    1. Pakos
      18.05.2016 10:56

      Проблема только в цене разработки — оборудование будет стоить значительно дороже. Не будет «производитель поступится прибылью», будет именно «дороже» и «не по карману». Потому имеем что имеем. Можете попробовать сделать на RTOS, но по факту приходится выжимать всё, чтобы слабые PC (ибо у заказчика тупо нет средств на что-то мощнее или специализированное) могли принимать потоки данных от датчиков без потери пакетов на том же USB.


      1. amarao
        18.05.2016 15:08

        А почему USB?


        1. Pakos
          18.05.2016 15:39

          Потому что конкретное устройство, с которым работал, отдавало собранную с датчиков информацию по USB. Есть много вариантов, но где-то может буферизироваться, где-то быть свои особенности. У USB в использованном режиме было так — не успел выбрать пакет — потерял или у устройства выходной буфер переполнился.


  1. idimus
    17.05.2016 13:32
    +1

    Возникают вопросы, почему там не стоит какая-нить real time операционка???


    1. exfizik
      17.05.2016 20:43

      Видимо, так дешевле.


  1. bkotov
    17.05.2016 13:48
    +16

    Нетипично, в этот раз обошлось без обновления Windows 10


    1. yul
      17.05.2016 22:31

      Антивирус отбил.


      1. Mad__Max
        18.05.2016 06:59

        Скорее просто опередил.


    1. drbald
      19.05.2016 16:04

      image


  1. teecat
    17.05.2016 14:41

    Помнится в свое время если стояла 1С, то нужно было исключить из проверки базу данных. Проблема в том, что к установке антивируса подходят формально — как к галочке. Тогда как любая система поддается тюнингу. Скажем банкоматы. Как правило 512 МБ памяти. Что стоит исключить из проверки всякие логи, поставив доступ к ни только для нужных программ?
    Тот же Microsoft публикует списки ресурсов, которые рекомендуется исключать из проверки. Скажем сходу найденное (но не единственное) https://support.microsoft.com/ru-ru/kb/943556


    1. Pakos
      18.05.2016 11:13

      У нас была шифрованная база, антивирус (DrWeb? не помню точно, но точно в параноидальном режиме проверки всего) у заказчика очень любил над ней медитировать(криптоконтейнер ему там чудился или что — без шифрации даже с антивирусом всё пролетало моментом) — после каждой записи он проверял файл и долго-долго пытался что-то там понять, а в файл базы записи идут часто… столь часто, сколь позволяет антивирус. Как итог — виноваты «создатели медленной программы», а не админы, установившие на сервер антивирус, который проверял базу.


      1. Mad__Max
        19.05.2016 02:37

        У DrWeb такое наблюдается, замечал. Шифрования тут скорее всего не причем, он в такое часто впадает при работе с любыми относительно крупными файлами, которые очень часто модифицируются путем добавления/замены небольших объемов информации.

        Кроме БД такое же будет например на каком-нибудь длинном логе(даже простом текстовом), который пишется не порциями, а каждая строчка (запись) сразу же в файл сбрасывается. У меня из-за этого например однажды очень сильно тупила работа со сканером — сканирование буквально одной странички или фотографии могло несколько минут занимать(без учета прогрева лампы), не мог найти причину пока не попробовал отключить антивирус (как раз DrWeb)
        А все дело оказалось в том, что при сканировании то ли драйвер принтера, то ли сама винда зачем-то писала очень подробный лог (файл LM9831Log.txt в корне системного диска) работы со сканером. За одно сканирование туда до нескольких тысяч строк дописывалось, причем каждая отдельной файловой операцией. Диск это особо не нагружало (ОС же запись кэширует, да и у самого диска свой кэш имеется), но вот антивирус от этого колбасило, т.к. для него это было несколько тысяч модификаций файла и он пока шло сканирование он перепроверял этот файл по несколько тысяч раз заново.
        Как добавил файлик в список исключений, сразу сканирование «начало летать». В смысле как положено ограничиваться только скоростью работы самого железа сканера либо пропускной способностью USB при максимальных разрешениях, а не скоростью работы антивируса мучающего логи.

        У него рекомендуется такие логи или БД заносить в исключения. А для типовых программ, которые часто у обычных пользователе могут встретится с подобным поведением, он их сам обнаруживает в процессе установки и предлагает папку с логами/БД такой программы занести в исключения.


        1. Pakos
          19.05.2016 11:03

          В данном случае было именно шифрование, но, возможно, не сам факт шифрования, а получаемые данные были местами похожи на какие-то паттерны, отсутствующие в обычных данных, которые и вводили в ступор (проверяли с теми же данными, сделав базу без шифрования — объём и активность были те же).

          >> У него рекомендуется
          Если бы админы читали эти рекомендации, то мы бы даже и не узнали о таком поведении. «Программа тупит» и всё, а что антивирус поставили — узнали уже сами, анализируя происходящее.


          1. Mad__Max
            19.05.2016 21:38

            А, скорее всего понял в чем дело. У него есть определение типов файлов по содержимому. Перед проверкой он открывает файл и по заголовкам файла или небольшой порции данных в начале пытается определить, что это за тип файла(расширениям же «на слово» доверять нельзя). Если тип файла он смог определить, и по его списку типов файлов такие проверять НЕ нужно и пользователь вручную этот тип для принудительной проверки не включал, то он его НЕ проверяет.

            Вероятно незашифрованную базу данных он определял и понимал, что это файл БД и проверять его крайне нежелательно т.к. он может постоянно с большой скоростью переписываться, а исполнимый код из такого файла не запустится поэтому проверка пустая трата ресурсов. А шифровка приводила к невозможности определить тип файла и полной его перепроверке по полной программе при каждой модификации.


  1. Giriia
    17.05.2016 16:33
    +2

    А зачем такому оборудованию доступ в интернет вообще? Почему бы его не запретить и одним махом решить проблему с взломом извне и вирусами.


    1. pnetmon
      17.05.2016 16:49
      +1

      На компьютерах находящихся во внутренних локальных сетях где компьютеры не имеют доступ в интернет так же ставят антивирусы. Антивирусы обновляются через внутренний сервер который в свою очередь может обновляться через съемный носитель.


  1. Bluewolf
    17.05.2016 23:35

    Кстати, если почитать описание этой системы из PDF, то можно увидеть, что она позиционируется как «documentation tool». Т.е. это просто такой логгер данных узкоспециализированный + обвязка для упрощения заполнения карты пациента, и не более. А непосредственно наблюдение за пациентом проводится другими (более аппаратными) средствами. И вероятно, в документации на эту штуку прямо запрещено ее использовать для первичного мониторинга. Так что…


    1. sim31r
      18.05.2016 01:15

      Скорее всего это оборудование и дешевле в 10 раз. И если у врачей есть выбор, или не использовать ничего, или использовать хоть что-то, выбор в пользу второго варианта. То же самое выберет и пациент, если нужна срочная операция, а денег нет, то он предпочтет риск гарантированной смерти в течение суток.
      Тут отписались перфекционисты, требующие безупречного решения, не задумываясь о цене вопроса. Так вот, такой перфекционизм убивает. Повышает цену решения, снижает доступность оборудования. Чтобы оптимизировать затраты по выживаемости пациентов, нужно некое оптимальное решение, не дешевое, и не дорогое, оптимизировать всё по отношению цена/качества, это и позволит спасать жизни.
      В записках историй врачей, есть и другие парадоксы, когда помощь оказывать формально нельзя, но хочется спасти жизнь. Пример — ребенок баловался и подавился косточкой сливы и задыхается, медленно умирает, несколько минут и гарантированно труп, уже синеет и теряет сознание. Под рукой нет инструментов. Врач берет бутылку, делает «розочку», режет трахею и достает посторонний предмет из дыхательных путей, организует приток воздуха напрямую в легкие, ребенок оживает. Родители благодарят, врач берет свои вещи и сбегает с места спасения. Так как перфекционисты ему могут предъявить 100500 нарушений норм и правил, не стерильные инструменты, побочные эффекты вмешательства и много чего еще и врач уже имеет подобные примеры из практики коллег. Если врач не анонимен, может вообще не вмешаться, и смотреть как человек умирает, с точки зрения закона это «правильное» решение.


      1. MaxALebedev
        18.05.2016 05:12
        -1

        Какие жуткие у вас фантазии. А врача, который бутылкой начал резать трахею, чтобы достать косточку надо ссаными тряпками на месте убивать.


        1. sim31r
          18.05.2016 15:37

          Вот, перфекционист отписался. Альтернатива «неправильному» вмешательству смерть ребенка в течение 5 минут. Вы предлагаете смотреть как ребенок умирает и ничего не делать! Нет стерильного инструмента — повод не вмешиваться. Благо не все врачи такие.
          Это не фантазии, это одна из историй врача, профессионала своего дела, можно найти в полном варианте. Случай был на пляже, не в больнице, 100 километров до города, отдыхала семья с детьми, и рядом 2 интерна на каникулах, без инструментов, просто отдых. Больше помочь было некому, «скорая» помощь приехала бы через несколько часов из-за удаленности.
          Именно из-за того что много таких как вы, готовых по любому поводу «убивать ссаными тряпками» большая часть врачей не будет вмешиваться, и не вмешиваются, находя удобный повод. Или вообще включат дурачка и не скажут что врач. Интерны вмешались, потому что были молодые, инициативные и не деморализованы бюрократической системой, и то хватило ума сбежать после проведения операции.


  1. sim31r
    18.05.2016 02:25
    -1

    Как повторить данный эксперимент? Я пробовал, никак не получилось забрать управление от программы дольше, чем на 344 миллисекунд. Лучше всего мешает работать браузер Firefox с десятками вкладок, при сворачивании и разворачивании окон из панели задач. Антивирус как-раз достаточно корректно распределяет нагрузку.

    Провел небольшой тест домашнего ПК при серфинге в интернете, просмотром фильмов, windows 7 с антивирусом AVG и прочим ПО. Тестовая программа передавала управление ОС и требовала управление сразу обратно.

    В среднем задержка 15.608 мс, циклов проведено более 400 000,
    откликов менее 5 мс — 2;
    5..10 мс — 0;
    10..20 мс — 400 000;
    20..50 — 7;
    50..100 — 1;
    100..200 — 1;
    более 200 — 10;
    максимальная задержка 344 мс по «вине» браузера.

    Если не открывать по 40 вкладок в браузере, тогда ОС ведет себя практически безупречно, из миллиона операций передачи-возвращения управления из ОС единицы не вписываются в 15.6 мс. В статье не хватает технических деталей для повторения эксперимента. Думаю многим была бы интересна эта тема, кому нужен быстрый отклик ОС.


    1. Pakos
      18.05.2016 11:22

      15мс — это ОЧЕНЬ много, при поступлении пакетов с частотой 1кГц вы уже попали на потерю пакета. Это оборудование, конечно, с датчиков напрямую не снимает (как понял есть ещё один уровень, который служит буфером), но есть получающее напрямую и там приходится идти на хитрости даже без 40 вкладок.


    1. Areso
      20.05.2016 11:16

      Тоже хочу такой тест устроить на старых морально устаревших компах, где винят программистов, а компы не обновляют, и они периодически серьезно задумываются. Подскажите в каком направлении смотреть? Или может есть ссылка на исходники на гите?


  1. Segmentq
    18.05.2016 09:42
    +2

    Безопасная система — изолированная система! Серьезные системы (медицина, АСУТП и д.р.) должны быть изолированы от внешнего мира максимально возможно.


    1. sim31r
      18.05.2016 16:44

      В статье нет упоминаний, что система не изолированна. Это один из многих факторов, странно что вы выбрали один, не по теме статьи и не самый основной, серьезная система должна:
      — снабжаться от резервного источника питания
      — своевременно проходить профилактику
      — находится в кондиционируемом помещении

      и еще десятки требований. Упустили один фактор и система не работоспособна.


      1. Segmentq
        18.05.2016 16:45

        Смысл ставить антивирус на изолированную систему?


        1. sim31r
          18.05.2016 17:49
          +1

          Смысла нет, типичная ошибка обслуживающего персонала.
          Я наблюдал и 2 антивируса, вот они как-раз приводят к таким ситуациям, как описано в статье, Avast+KAV, а вот Avira+KAV работали нормально.
          Причина как самостоятельная установка пользователями, так и плановое обслуживание, организация покупает 2000 лицензий на антивирус и ставит на все ПК по списку, системные администраторы могут не заметить один из антивирусов. Такое же могло и в больнице произойти, системные администраторы идут по списку: ОС Windows -> установка антивируса (ненужного даже). При нескольких тысячах единиц компьютеров, учитывать все особенности каждого ПК просто невозможно при ограниченном бюджете.


  1. KOLANICH
    18.05.2016 15:28

    Я просто оставлю это здесь

    http://icecube.wisc.edu/~dima/stuff/misc/stories/winwars.html