许式伟的架构课
许式伟
七牛云 CEO
84945 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 89 讲
许式伟的架构课
15
15
1.0x
00:00/00:00
登录|注册

10 | 输入和输出设备:交互的演进

打印缓冲的作用
文档打印的互斥性
调整音量和声音播放的处理
设备管理的简易性
控件的作用
绘制子系统和GDI
移动设备的显示器管理
窗口系统的概念
技术限制对交互方式的影响
表情和手势的引入
语音交互的能力和局限性
语音交互的发展
移动时代的鼠标替代品
鼠标捕获和拖放
鼠标事件的目的地确定
窗口系统的设计与鼠标输入的关系
键盘在移动时代的角色
键盘的功能:输入文本和触发命令
窗口系统的设计与键盘输入的关系
操作系统在智能交互中的作用
人机交互的发展方向
输入设备的演变对交互的影响
打印机
音箱
显示器
摄像头
麦克风
鼠标
键盘
人机交互的演变
键盘和显示器的出现
计算机刚出现时的交互方式
结语
输出设备
输入设备
交互的演进
输入和输出设备管理

该思维导图由 AI 生成,仅供参考

你好,我是七牛云许式伟。
前面我们已经介绍了操作系统的存储管理:内存和外存。今天,让我们来聊一聊操作系统是如何管理输入和输出设备的。
输入和输出设备有非常非常多。例如输入设备除了你常见的键盘、鼠标、触摸屏外,还有一些采集信息的传感器,如 GPS 位置、脉搏、心电图、温度、湿度等。我们会把关注点收敛在人机交互相关的设备管理上。

交互的演进

在计算机外部设备的演进上,人机交互设备的演进毫无疑问是最为剧烈的部分。
计算机刚出现的时候,人们使用“打孔卡 + 打印机”作为人机交互方式。这个时期还没有操作系统,表达意图非常痛苦,只能在打孔卡上打孔来发送指令。
但很快,人们找到了 “键盘 + 显示器”, 这对最为经典的人机交互设备。而随着计算机使用人群越来越多,以及使用场景的变化,人机交互的方式也相应地发生了一次又一次的改变。
总结这些改变,我们会发现,人机交互在往越来越自然的方向发展。所谓自然,就是越来越接近于两个人直接的面对面沟通。
那么,这些人机交互的改变,对于操作系统来说又意味着什么呢?

输入设备

我们先看输入设备:键盘、鼠标、麦克风、摄像头。

键盘

键盘输入的管理机制和窗口系统的设计密切相关。为了让用户清楚键盘输入的目的地,窗口系统往往会有一个焦点窗口。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文讨论了操作系统管理输入和输出设备的演进,以及人机交互方式的变化。从最初的“打孔卡+打印机”到如今的键盘、鼠标、麦克风、摄像头等设备,人机交互方式不断演进。键盘输入与窗口系统设计密切相关,而鼠标因为有位置,确定事件目的地相对简单。移动时代的键盘不再是交互主体,而语音交互和手势、表情识别等方式逐渐崭露头角。输出设备主要以显示器为主,虽经历多代更新,但软件治理角度看并未发生实质性变化。操作系统通过窗口系统和绘制子系统实现多样化用户体验。总的来说,人机交互的改变对操作系统意味着更自然的交互方式,而输入设备的演进则体现在语音交互和手势、表情识别等新型设备的发展。文章还讨论了音箱和打印机的设备管理方式,强调了不同输入和输出设备的管理方法差异非常大,没有太大的共性可言。最后,文章指出了人机交互演化的核心变化是输入设备的变化,预示未来操作系统将实现智能交互的基础架构。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(34)

  • 最新
  • 精选
  • jueyoq
    交互即人机交流。 对于交流,人们更趋向于使用更自然更本能的方式。 人做为中心,我们就更加注重输入设备的优化。 从使用上来说,本质上输入设备要解决的问题就是文本的输入与命令的解析 命令的解释 是离散化的,而未来 会逐渐过度到连续化的意图的识别。 输出设备 要解决的问题是 如何保证多个程序共享或互斥的使用输出设备资源。对于显示器我们通过虚拟化窗口的设计来解决多个程序的共享,设计焦点窗口实现用户目的的识别。 最终 其设计原则就是 对于计算机要让其理解什么是输入的数据 什么是命令。对于人 要让其理解 输出的信息,并知道下一步该做什么。

    作者回复: 👍

    2019-05-17
    36
  • 苟范儿
    老师今天讲的输入、输出设备交互的变化也是针对终端设备的。而对于开发者而言,一般理解的架构更多的是服务端架构、后台架构,掌握这些人机交互对我们这些后台开发人员所理解的架构设计有什么影响呢?

    作者回复: > 对于开发者而言,一般理解的架构更多的是服务端架构、后台架构 这个是错误的理解。桌面端软件也是需要架构的。如果你定位自己是后台开发人员,那么理解交互确实意义不大,但是如果希望自己是一个优秀的架构师,还是需要关注交互对我们架构的影响的。

    2019-05-17
    15
  • 我在你的视线里
    越来越nature,意味着越来越artifiacl。估计设备最好的交互就是类人,而不是代替人。

    作者回复: 嗯

    2019-05-18
    9
  • 老师好,现在输入设备越来越多样化,意图理解越来越复杂,甚至需要专用的芯片,而如果人机交互意图理解放在操作系统层,会否每一种输入设备都需要一套操作系统?如果是这样,那么会否人机交互意图理解的架构下沉到硬件也就是芯片层,例如人脸识别?谢谢。

    作者回复: 人机交互肯定需要统一的交互范式设计。从这个角度来说,把意图理解放到芯片层并不划算,因为迭代反而慢了。

    2019-05-17
    2
    9
  • 业余爱好者
    外置存储也是一种io设备,那它又有何特殊之处呢?在硬件层面,确实外置存储的操作是属于io,和其它设备的操作一样,需要提供相应的驱动,这是在硬件层面。外置存储的特殊之处在于,其在驱动程序之上覆盖了一层文件系统的软件,操作外存通过这个文件系统软件进行,而不是直接操作驱动。据说在数据库中的某些io操作就是绕过文件系统,直接进行的所谓“裸io”。

    作者回复: 裸io应该是指direct io。有两种绕过文件系统的方法: 1、禁止掉文件系统的io缓存。这种做法实际上不是绕过文件系统,而是不采纳文件系统的io缓存算法。因为数据库可能自己有自己的缓存算法,如果文件系统也有缓存,就比较累赘,浪费了宝贵的内存空间,同样的内存空间给数据库扩大缓存空间更好。 2、直接裸写磁盘分区。这时不存在文件系统,也就是说磁盘分区不需要格式化。这种做法在对象存储系统中用得更多一点,在数据库中用得不多。

    2020-02-22
    5
  • Jaising
    许sir上一节所说unix“一切皆文件”是过度设计的原因是不是一方面就有输入输出设备管理的巨大差异性

    作者回复: 是这样

    2019-07-26
    3
  • 刘匿名
    大学时做过kinect的应用开发,它从硬件上提供了图像的空间深度,通过色彩图像和深度图像构建了空间模型,进行物体和姿态识别,相比于当下手机上的单镜头静态图像识别,走的是另一条道路。 不过个人觉得以后麦克风矩阵,图像摄像头矩阵或者空间深度摄像头,应该都是标配。 对比人的感知来说,声音和图像都是通过一对耳朵或一双眼睛,再通过大脑的加工获得空间感的。如果空间这一信息在很多场景下是必须的。

    作者回复: 认同

    2020-11-10
    2
  • Tesla
    老师好。人机交互智能化,更趋近于人与人的交流。但是就算人类面对面沟通,也有很多的理解歧义 还会受限于表达能力。这样是不是意味着,除非有其他学科领悟的理论算法支持,如心理学这类,否则智能交互很难在交互效率和交互准确性上做到平衡取舍?

    作者回复: 这有一定的可能性。人机交互范式目前是确定性交互,但是越来越模糊是趋势,最终如何我觉得还不太好判断。

    2019-05-17
    2
  • Gopher
    关于键盘输入需要请教一下。键盘自身是不带缓冲区的吧?当编程时,我们所说的键盘输入缓冲区是指什么(在哪里,大小,行模式?)?它由OS统一管理(猜测只能由OS管理)还是当前程序自己维护缓冲区?在CLI编程中,当我们需要无缓冲输入时要怎样操作(机制)?(例如在C语言中可以调用getch()函数)—— 特别的,在Go语言里该怎样实现这样的功能?此外,键盘功能键又是怎样的机制呢?(例如方向键) 总之,请教许老师键盘⌨的原理是什么,有没有比较好的资料可以推荐一下呢?十分感谢!

    作者回复: 缓冲区是os维护的。 关于资料,你可以看看这个:https://github.com/gizak/termui

    2019-08-19
    1
  • Being
    老师,您说的由操作系统来实现智能交互的基础架构,可不可以理解为,对于智能处理,在操作系统抽象出一套标准作为一大模块,为以智能为核心的交互提供统一处理,让交互则更聚焦于场景。

    作者回复: 是的

    2019-05-28
    1
收起评论
大纲
固定大纲
交互的演进
输入设备
键盘
显示
设置
留言
34
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部