埃航和737MAX坠毁:软件优先级问题
事件背景:
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坠毁:软件优先级问题的更多相关文章
- SysTick系统定时器(功能框图和优先级配置)
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中.系统定时器是一个 24bit (2^24)的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 ...
- 记STM32F030多通道ADC DMA读取乱序问题
问题描述通过 uint16_t ConvData[8]保存DMA搬运的ADC转换数值,但是这个数组数值的顺序总是和ADC不是顺序对应的.比如用7个通道的ADC,当设置ADC_InitStructure ...
- FreeRTOS随记
任务函数原型: void ATaskFunction(void * pvParameters); 任务不允许从实现函数中返回.如果一个任务不再需要,可以用vTaskDelete()删除; 一个任务函数 ...
- STM8的中断系统以及外部中断详解
STM8具有最多32的中断系统,在中断的处理上类似于cortexm系列的芯片,首先是每个中断的向量都是固化在系统内部的,用户需要向相应的中断向量flash位置写入中断处理函数,其二,每个中断向量都具有 ...
- LPC2478中断控制器以及串口详解
LPC2478的中断系统 LPC2478使用的是ARM PrimeCell向量中断控制器,一共支持32个中断向量,处于AHB空间便于系统快速访问,在中断向量的硬件优先级上还有一层可以用户自己设计的软件 ...
- 嵌入式单片机STM32应用技术(课本)
目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...
- freeRTOS中文实用教程3--中断管理之中断嵌套
1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_S ...
- STM32F103X datasheet学习笔记---DMA
1.前言 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输. 无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作. 两个DMA控制器 ...
- 第18章 SysTick—系统定时器
第18章 SysTick—系统定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
随机推荐
- P3383 【模板】线性筛素数
因为数据很大所以要用线性筛.. #include<iostream> #include<cstdio> using namespace std; typedef long lo ...
- java8 学习记录
一. lambda表达式 参考 https://www.cnblogs.com/franson-2016/p/5593080.html package com.mytest.java8; impor ...
- 面向对象(特殊成员 组合 self)
- bind()方法
当点击鼠标时,隐藏或显示 p 元素: $("button").bind("click",function(){ $("p").slideTo ...
- 数据库基础 RDBMS、NoSQL
- rem 原理与简介
一.rem 原理与简介 字体单位: 值根据 html 根元素大小而定,同样可以作为宽度,高度等单位 适配原理: 将 px 替换为 rem,动态修改 HTML 根元素的 font-siz ...
- Django模板变量及静态文件引用
一.模板变量传递 1.视图向模板传递变量 视图中的列表,数组,字典,函数均可以传递给模板 在视图中定义变量通过render(content{‘name’ : value})传递给模板 模板通过{{ ...
- MFC改变坐标系
1.在MainFrm中的PreCreateWindow中设置默认窗口大小 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !C ...
- jQuery源码框架fn解读
(function( window, undefined ){ var jQuery = (function(){ var jQuery = function( selector, context ) ...
- REdis Asynchronous AOF fsync is taking too long
redis.conf中的no-appendfsync-on-rewrite默认值为no,表示在重写AOF文件或RDB文件时阻塞fsync. 如果重写AOF或RDB文件时长过长,则在日志中可以看到如下信 ...