事件背景:

  2019年3月10日,埃塞俄比亚航空公司一架波音737MAX8飞机发生坠机,机上157人全部遇难,包括8名中国公民。这是继去年10月29日印尼狮航空难事故之后,波音737MAX8飞机在五个月内发生的第2起空难。

  事发后,全球各国相继停飞了波音737MAX8系列飞机。

  

问题所在:

  埃航的坠毁事件其实和737采用的软件系统脱不了干系,如今737使用的新飞行控制系统是波音737MAX的机动特性增强系统,是一种波音737MAX的操纵辅助系统。据报道称,2018年10月29日的印尼狮航JT610空难就是由于飞机迎角传感器故障,导致波音737MAX8上新安装的自动防失速系统MCAS认为飞机有失速危险而自动压低机头俯冲以获得空速。

  而该系统优先级很高,人工操作时也会启动,人工无法取消防失速系统的动作。导致JT610航班机长一直在与自动下压机头的防失速系统搏斗,最终飞机不幸坠毁。  

  737软件系统工程师的一个错误理念:让机器代替人工作。

  从道理上来讲,飞机驾驶员的存在意义就是在飞机出现不可控的情况下进行人工干预,进行应急处理。但是737这个系统里,设计时就本着人可能会反应比较慢,让机器代替人进行调整的原则,因此在飞机飞行时出现俯冲的情况下,驾驶员人工将机头拉起,以缓解俯冲,但是系统又自动调整向下。

  根本原因就是:系统自动调整的优先级高于了人工干预。

  在这个问题上不禁有一些疑惑,既然设计成系统高于人工的软件,那还要驾驶员干什么?

  这种设计理念细想起来是有一些道理的,人的反应速度确实无法和机器相比,但是缺陷就在于他们没有考虑到,如今的人工智能和系统判断能力还达不到人的思维高度,他们无法兼顾所有意外情况的发生,所以盲目的让机器来决定,这就是错误的。

  总归有一点,在如今的AI条件下,软件系统依旧只能是为人服务,并不能代替人类,让系统优先于人,后果将是难以承受的。

埃航和737MAX坠毁:软件优先级问题的更多相关文章

  1. SysTick系统定时器(功能框图和优先级配置)

    SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中.系统定时器是一个 24bit (2^24)的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 ...

  2. 记STM32F030多通道ADC DMA读取乱序问题

    问题描述通过 uint16_t ConvData[8]保存DMA搬运的ADC转换数值,但是这个数组数值的顺序总是和ADC不是顺序对应的.比如用7个通道的ADC,当设置ADC_InitStructure ...

  3. FreeRTOS随记

    任务函数原型: void ATaskFunction(void * pvParameters); 任务不允许从实现函数中返回.如果一个任务不再需要,可以用vTaskDelete()删除; 一个任务函数 ...

  4. STM8的中断系统以及外部中断详解

    STM8具有最多32的中断系统,在中断的处理上类似于cortexm系列的芯片,首先是每个中断的向量都是固化在系统内部的,用户需要向相应的中断向量flash位置写入中断处理函数,其二,每个中断向量都具有 ...

  5. LPC2478中断控制器以及串口详解

    LPC2478的中断系统 LPC2478使用的是ARM PrimeCell向量中断控制器,一共支持32个中断向量,处于AHB空间便于系统快速访问,在中断向量的硬件优先级上还有一层可以用户自己设计的软件 ...

  6. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  7. freeRTOS中文实用教程3--中断管理之中断嵌套

    1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_S ...

  8. STM32F103X datasheet学习笔记---DMA

    1.前言 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输. 无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作. 两个DMA控制器 ...

  9. 第18章 SysTick—系统定时器

    第18章     SysTick—系统定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

随机推荐

  1. 使用Typescript实现依赖注入(DI)

    前言DI总是和ico相辅相成的,如果想对DI有更多的了解,可以移步我的另一篇文章 依赖注入(DI)和控制反转(IOC),再次我就不多做赘述了. 前几天看见一道面试题,今天借这个话题想跟大家分享一下: ...

  2. MIUI通过xposed自动设置root权限

    在小米手机上,每次安装一个自己的插件总需要打开安全中心进行root权限授权,非常的麻烦,总共需要电5次确认,每次需要等5秒 因为插件开发的需求,希望重启计算机时候判断是否已经root,未root则自动 ...

  3. pypi batch download

    https://wiki.archlinux.org/index.php/Python_package_guidelines_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87 ...

  4. tensorflow 源码编译

    https://blog.csdn.net/xsfl1234/article/details/67669707 https://blog.csdn.net/guxi123/article/detail ...

  5. js电子表

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. UWP作业(一)XAML Controls Gallery

    作为一个编程能力不是很好的uwp初学者,在控件库里看到种类繁多的选项时,需要查资料,最后决定出几种性能各方面可能不是那么出色的控件,内心也是非常纠结的.但当我把自己当成一个用户时,通过分析自己的需求, ...

  7. C++标准库第二版笔记 3 和异常的理解 1

    C++标准库第二版笔记 3 和异常的理解 1 差错和异常(error and exception)的处理 标准异常类(exception class) 定义于 分为: 1.语言本身支持的异常 2.标准 ...

  8. 常用API String

    Java的API以及Object类 Java的API Java的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JD ...

  9. vue脚手架的使用

    npm install -g @vue/cli    --全局环境安装vue/cli vue create <project-name> 在创建项目时你会被提示选取一个 preset.你可 ...

  10. MySQL数据库(三)索引总结

    一.什么是索引?  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存. 如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录 ...