10 | 输入和输出设备:交互的演进
该思维导图由 AI 生成,仅供参考
交互的演进
输入设备
键盘
- 深入了解
- 翻译
- 解释
- 总结
本文讨论了操作系统管理输入和输出设备的演进,以及人机交互方式的变化。从最初的“打孔卡+打印机”到如今的键盘、鼠标、麦克风、摄像头等设备,人机交互方式不断演进。键盘输入与窗口系统设计密切相关,而鼠标因为有位置,确定事件目的地相对简单。移动时代的键盘不再是交互主体,而语音交互和手势、表情识别等方式逐渐崭露头角。输出设备主要以显示器为主,虽经历多代更新,但软件治理角度看并未发生实质性变化。操作系统通过窗口系统和绘制子系统实现多样化用户体验。总的来说,人机交互的改变对操作系统意味着更自然的交互方式,而输入设备的演进则体现在语音交互和手势、表情识别等新型设备的发展。文章还讨论了音箱和打印机的设备管理方式,强调了不同输入和输出设备的管理方法差异非常大,没有太大的共性可言。最后,文章指出了人机交互演化的核心变化是输入设备的变化,预示未来操作系统将实现智能交互的基础架构。
《许式伟的架构课》,新⼈⾸单¥68
全部留言(34)
- 最新
- 精选
- jueyoq交互即人机交流。 对于交流,人们更趋向于使用更自然更本能的方式。 人做为中心,我们就更加注重输入设备的优化。 从使用上来说,本质上输入设备要解决的问题就是文本的输入与命令的解析 命令的解释 是离散化的,而未来 会逐渐过度到连续化的意图的识别。 输出设备 要解决的问题是 如何保证多个程序共享或互斥的使用输出设备资源。对于显示器我们通过虚拟化窗口的设计来解决多个程序的共享,设计焦点窗口实现用户目的的识别。 最终 其设计原则就是 对于计算机要让其理解什么是输入的数据 什么是命令。对于人 要让其理解 输出的信息,并知道下一步该做什么。
作者回复: 👍
2019-05-1736 - 苟范儿老师今天讲的输入、输出设备交互的变化也是针对终端设备的。而对于开发者而言,一般理解的架构更多的是服务端架构、后台架构,掌握这些人机交互对我们这些后台开发人员所理解的架构设计有什么影响呢?
作者回复: > 对于开发者而言,一般理解的架构更多的是服务端架构、后台架构 这个是错误的理解。桌面端软件也是需要架构的。如果你定位自己是后台开发人员,那么理解交互确实意义不大,但是如果希望自己是一个优秀的架构师,还是需要关注交互对我们架构的影响的。
2019-05-1715 - 我在你的视线里越来越nature,意味着越来越artifiacl。估计设备最好的交互就是类人,而不是代替人。
作者回复: 嗯
2019-05-189 - 涵老师好,现在输入设备越来越多样化,意图理解越来越复杂,甚至需要专用的芯片,而如果人机交互意图理解放在操作系统层,会否每一种输入设备都需要一套操作系统?如果是这样,那么会否人机交互意图理解的架构下沉到硬件也就是芯片层,例如人脸识别?谢谢。
作者回复: 人机交互肯定需要统一的交互范式设计。从这个角度来说,把意图理解放到芯片层并不划算,因为迭代反而慢了。
2019-05-1729 - 业余爱好者外置存储也是一种io设备,那它又有何特殊之处呢?在硬件层面,确实外置存储的操作是属于io,和其它设备的操作一样,需要提供相应的驱动,这是在硬件层面。外置存储的特殊之处在于,其在驱动程序之上覆盖了一层文件系统的软件,操作外存通过这个文件系统软件进行,而不是直接操作驱动。据说在数据库中的某些io操作就是绕过文件系统,直接进行的所谓“裸io”。
作者回复: 裸io应该是指direct io。有两种绕过文件系统的方法: 1、禁止掉文件系统的io缓存。这种做法实际上不是绕过文件系统,而是不采纳文件系统的io缓存算法。因为数据库可能自己有自己的缓存算法,如果文件系统也有缓存,就比较累赘,浪费了宝贵的内存空间,同样的内存空间给数据库扩大缓存空间更好。 2、直接裸写磁盘分区。这时不存在文件系统,也就是说磁盘分区不需要格式化。这种做法在对象存储系统中用得更多一点,在数据库中用得不多。
2020-02-225 - Jaising许sir上一节所说unix“一切皆文件”是过度设计的原因是不是一方面就有输入输出设备管理的巨大差异性
作者回复: 是这样
2019-07-263 - 刘匿名大学时做过kinect的应用开发,它从硬件上提供了图像的空间深度,通过色彩图像和深度图像构建了空间模型,进行物体和姿态识别,相比于当下手机上的单镜头静态图像识别,走的是另一条道路。 不过个人觉得以后麦克风矩阵,图像摄像头矩阵或者空间深度摄像头,应该都是标配。 对比人的感知来说,声音和图像都是通过一对耳朵或一双眼睛,再通过大脑的加工获得空间感的。如果空间这一信息在很多场景下是必须的。
作者回复: 认同
2020-11-102 - Tesla老师好。人机交互智能化,更趋近于人与人的交流。但是就算人类面对面沟通,也有很多的理解歧义 还会受限于表达能力。这样是不是意味着,除非有其他学科领悟的理论算法支持,如心理学这类,否则智能交互很难在交互效率和交互准确性上做到平衡取舍?
作者回复: 这有一定的可能性。人机交互范式目前是确定性交互,但是越来越模糊是趋势,最终如何我觉得还不太好判断。
2019-05-172 - Gopher关于键盘输入需要请教一下。键盘自身是不带缓冲区的吧?当编程时,我们所说的键盘输入缓冲区是指什么(在哪里,大小,行模式?)?它由OS统一管理(猜测只能由OS管理)还是当前程序自己维护缓冲区?在CLI编程中,当我们需要无缓冲输入时要怎样操作(机制)?(例如在C语言中可以调用getch()函数)—— 特别的,在Go语言里该怎样实现这样的功能?此外,键盘功能键又是怎样的机制呢?(例如方向键) 总之,请教许老师键盘⌨的原理是什么,有没有比较好的资料可以推荐一下呢?十分感谢!
作者回复: 缓冲区是os维护的。 关于资料,你可以看看这个:https://github.com/gizak/termui
2019-08-191 - Being老师,您说的由操作系统来实现智能交互的基础架构,可不可以理解为,对于智能处理,在操作系统抽象出一套标准作为一大模块,为以智能为核心的交互提供统一处理,让交互则更聚焦于场景。
作者回复: 是的
2019-05-281