Когда 19 июля этого года произошел глобальный ИТ-сбой, он вызвал хаос в аэропортах, став причиной сотен задержанных и отмененных рейсов. Экраны миллионов компьютеров отображали BSoD (синий экран смерти). Однако от проблемного обновления CrowdStrike меньше всех пострадала Southwest Airlines, четвертая по величине авиакомпания в США. Причина в том, что перевозчик до сих пор пользуется операционной системой Windows 3.1.
К счастью, обновление не оказало негативного влияния на системы самолетов, отвечающие за безопасность полетов. Southwest часто критиковали за архаичные решения, но ее старая и проверенная операционная система спасла их (и их клиентов) от стресса, который испытывали пассажиры большинства других авиакомпаний. Однако клиенты Southwest не были на 100 процентов защищены от проблем, вызванных CrowdStrike, поскольку пострадали аэропорты, в которые летали самолеты перевозчика.
Помимо Windows 3.1, Southwest также использует Windows 95. Многие сотрудники авиакомпаний жаловались на это, но глобальный сбой CrowdStrike может отбить у перевозчика желание перейти на другую систему. С другой стороны, компьютеры стареют и требуют замены, поэтому в ближайшее время авиакомпании, возможно, потребуется модернизировать свои системы. Независимо от обстоятельств, использование устаревших технологий Southwest спасло авиакомпанию, когда большая часть мира, которая полагалась на более новые системы, потерпела серьезный сбой в сфере ИТ. Windows 3.1, выпущенная в 1992 году, не обновляется производителем много лет, что защитило ее от влияния CrowdStrike.
Надо заметить, что в США многие пользователи очень консервативны в отношении программного обеспечения и железа. Например, во время сервисного обслуживания некоторых экземпляров Boeing-747 ПО в его системы управления до сих пор загружается с 3.5" дискет. Всего их требуется около 40 шт.
Комментарии (25)
NeoCode
27.07.2024 06:05+1Одно дело дискеты - физические устройства, которые действительно неудобны и ненадежны (даже во времена массового распространения дискет с ними постоянно были проблемы), и другое дело - софт, который в принципе может устареть только "морально", но никак не материально:) Программа - это же абстракция, чисто математическая сущность, как она может устареть? Да, там могут быть найдены ошибки, но они и в новом софте есть.
И в этой связи неприятно, когда разработчики отказываются от поддержки старых ОС, например убирают из современных компиляторов возможность сборки под старые системы.
aegoroff
27.07.2024 06:05например убирают из современных компиляторов возможность сборки под старые системы.
Это все не от хорошей жизни - поддержка старого, требует ресурсов и (очень часто), несущих костылей в коде, чтобы все это работало. Со временем, если не делать периодическую чистку, все это превратится в дикий бардак, который будет невозможно поддерживать и тем более развиваться. Поэтому выбирают меньшее из зол, но все равно, приходится чем-то жертвовать, без этого никуда. Никто, в своем уме, если что-то не требует ресурсов, не будет это выкидывать из своего кода.
Radisto
27.07.2024 06:05+4Но можно было отдать то, что не нужно, тем, кто готов это поддерживать. Кажется, в своё время китайцы просили Майкрософт продать им winxp в момент, когда они отказались от поддержки. А жаль, система была популярна. Может, и сейчас бы жила - трудолюбивые желтые люди латали бы дыры, писали софт
aegoroff
27.07.2024 06:05+3ну коли речь зашла о компиляторах в оригинальном ответе - то все они нынче open source, и собственно никто не мешает брать это и поддерживать для старых систем - только вот желающих кот наплакал :) Ибо вы со временем устанете постоянно актуализировать состояние нового кода и своих несущих костылей.
Goron_Dekar
27.07.2024 06:05[как в том мультике] Кот та, поди, не маааленький.
Как показывает практика, для поддержки хорошо спроектированного софта требуется не больше 20 человек. И для огромного количества "устаревшего" железа кот их с лихвой умудряется наплакать. Кодеров там хватает не только на поддержку, но и на конкуренцию, срачи в рассылках и гонки веток. Что, конечно же, положительно сказывается на работе проекта.
Ваша же ветка дискусси выглядит забавно:
Neo: Жаль, что хозяева закрывают актуальный проект.
aegoroff: поддержка стоит денег
Radisto: если нет денег, продайте проект
aegoroff: [что-то про компиляторы]
Не надо прикрывать боязнь конкуренции и желание продвинуть новые фичи (а также возможные тёрки между отделами корпораций, тут я не уверен) ценой поддержки. Она тут вообще не причём. Владельцы просто поменяли видение продукта и теперь хотят, чтобы пользователи тоже это сделали. А их оправдание тяжестью поддержки это просто враньё и отмазки, и не надо их повторять.
DMGarikk
27.07.2024 06:05+1Справедливости ради, MS одни из немногих кто упарывается в поддержку старых продуктов и старых api очень, ооочень долго
Вы до сих пор можете запустить 32битный win95 софт в win11 без перекомпиляции, не весь конечно уже, но всеже
Goron_Dekar
27.07.2024 06:05Увы, но это не так. Я могу запустить 32битный win95 софт без перекомпиляции, но сделать это гораздо проще в Wine, чем в Win11.
Особенно, если этот софт делает хоть что-то сложнее, чем показ окошек.
Там целая беда с dependency hell, ворохом библиотек и прочего хлама. Как раз сейчас мучаю софт, писанный на Visual Basic 6 для запуска его в 11. В Wine запустился после двух команд. В 7 нужно было качать ворох библиотек, часть которых уже нет на сайте MS, и тащить их пришлось из "дикого интернета" или из Wine. В 11 спустя полгода неспешных попытак по вечерам выходных всё ещё безрезультатно.
DMGarikk
27.07.2024 06:05+1В 7 нужно было качать ворох библиотек, часть которых уже нет на сайте MS
вангую что это пачка разных ocx? так это проблема не ОС, а того что тот кто софт собирал не озадачился правильным сбором пакета установки
Увы, но это не так. Я могу запустить 32битный win95 софт без перекомпиляции, но сделать это гораздо проще в Wine, чем в Win11.
Особенно, если этот софт делает хоть что-то сложнее, чем показ окошек.
попробуйте тоже самое с линуксовым софтом 95 года провернуть
а вообще в Win11 никто официально не обещал поддержку софта 95 винды, то что он хоть както работает это уже чудо
проблема тут скорее в том что софт Win9x и NT вообще слабо совместим был и в те времена
правильнее было бы сравнивать Win2k софт и Win11
vorphalack
27.07.2024 06:05у меня есть софтина 2008 года, которая под 64-битными виндами не может достучаться до ком-порта. и еще несколько, которые под 10 виндами некорректно отображают интерфейс, даром что .NET-овские.
DMGarikk
27.07.2024 06:05+1вангую что его разработчики заюзали какието костыльные способы доступа к ком портам и с отрисовкой интерфейса
виндовые десктоп разработчики в свое время очень любили такое делать, начиная с ассемблерных вставок в делфи и заканчивая всякими корявыми сторонними библиотеками которые никто не поддерживает ну и повальное использование недокументированных ф-ций ОС где нужно и не нужно
vorphalack
27.07.2024 06:05ну там явно где-то обкостылились, но шутка в том, что софт от других линеек радиостанций (даже более древний) как правило работает корректно.
и с интерфейсом так же - одни нормально, другие глючат, хотя стек один и тот же.
emusic
27.07.2024 06:05Такого софта, который действительно нужно как-то специально поддерживать для совместимости с прежними версиями ОС, в общей массе довольно мало. Как правило, это бывает в сферах безопасности, предельно высокой производительности, и подобных маргинальных областях. Обычный же софт, который уже когда-то работал на прежних версиях ОС, достаточно просто не трогать. :) Исправлять ошибки, добавлять новые функции (возможно, завязанные на новые версии ОС), но от старого отказываться лишь после того, как оно уже практически никому не нужно.
Чаще всего совместимость теряется просто потому, что кто-то увидел в новой версии ОС встроенную реализацию функции, для реализации которой у себя когда-то написали несколько десятков (или даже сотен) строк кода. Это объявляется достаточной причиной для того, чтобы повысить уровень системных требований, и заменить свою функцию на вызов системной.
Реже используют какие-нибудь новомодные визуальные плюшки, которые нередко тоже несложно поддержать динамически, не ломая работающего кода.
aegoroff
27.07.2024 06:05Чаще всего совместимость теряется просто потому, что кто-то увидел в новой версии ОС встроенную реализацию функции, для реализации которой у себя когда-то написали несколько десятков (или даже сотен) строк кода.
Все так, но часто не только из-за новой функции ОС поднимаются требования - часто дело и в железе - например использование новых инструкций процессора, например появилась поддержка аппаратного вычисления SHA-1, CRC32 и пр.
emusic
27.07.2024 06:05Ну а где это нужно вычислять аппаратно? Правильно - в сферах безопасности и/или предельно высокой производительности. Там, где не нужно экономить микро- и миллисекунды, по-прежнему справляются и древние программные реализации.
Посмотрите на тот софт, что есть у Вас - какой его части действительно нужны функции из версий ОС, добавленные за последние десять-двадцать-тридцать лет?
aegoroff
27.07.2024 06:05Посмотрите на тот софт, что есть у Вас - какой его части действительно нужны функции из версий ОС, добавленные за последние десять-двадцать-тридцать лет?
его полно - AVX2 и иже с ним, много где нужны и они реально ускоряют. Видео, расчеты, работа ОС, да много чего. Да для перекладывания JSONов это как правило не нужно.
emusic
27.07.2024 06:05Из компиляторов, как таковых, поддержку убирают редко. Компилятор, с точки зрения ОС - совершенно ординарное приложение, читающее одни файлы и создающее другие. Сомневаюсь, чтоб хоть одному из существующих компиляторов, работающих под современными версиями ОС, было недостаточно версий 20- или 30-летней давности, при условии совместимости по архитектуре ОС (скажем, Win32 в винде). А современному компилятору под линукс должно быть достаточно любого униха 70-80-х годов.
Поддержку обычно убирают из служебной библиотеки (например, CRT для C/C++). Она, как правило, завязана на функции ОС - национальные алфавиты, валюты и т.п., порождение процессов/потоков, работа с памятью (например, блокировка выполнения данных, как кода), шифрование, сети и прочее. Если этого не использовать, то обычно нетрудно сделать программу, работающую в прежних версиях ОС.
Например, последними версиями VC++ из VS 2022 нет проблем делать EXE/DLL, работающие в Win95. Разумеется, десятком кликов не обойтись, но ничего сверхсложного в этом нет.
ignatfomenko
27.07.2024 06:05Boeing-747 разработка конца 60-х годов. Удивительно, что там софт на дискетах даже. С производства его уже сняли. Так, что переделывать его как бы некому. Да и не нужно это делать.
DrGluck07
27.07.2024 06:05В 748 уже более новый софт. Как минимум там появились плюшки с более новых моделей, VSD, навигация по аэропорту и всё такое. Да и кокпит более-менее унифицировли с 777.
Atakum Автор
27.07.2024 06:05разработка 60-х, но авионика менялась, причем неоднократно. И на ранее выпущенных моделях, а на более поздних ставилась все более современная до самого конца выпуска. Вот на тех ,что были выпущены в 80-е годы или раньше, но с обновленной авионикой, хард остался под дискеты.
sergio_deschino
27.07.2024 06:05+7А компанию не могло спасти то, что она НЕ использовала этот антивирус? Именно этот, потому что причем тут версия винды, если в бсод она падала из-за антивируса конкретной фирмы.
Goron_Dekar
27.07.2024 06:05Могла бы, если бы не требования по работе с личными данными, введёные регуляторами (а новость, как уже писали - фэйк)
emusic
27.07.2024 06:05Если использовать системы до XP, то лучше уж 2k SP6. Ни одну другую винду MS не вылизывала так тщательно.
linuxlead
К сожалению это фейк. В 2024 году 3.1 ими не используется. Пруф: https://kotaku.com/southwest-airlines-windows-3-1-blue-screen-crowdstrike-1851603013