为什么要开发 USB。就好像我们问为什么房价这么高,任小强们的解释是地价太高,成本 太高,造的少买的多,一面要满足广大人民群众的可观需求,一面要与国际价格体系接轨, 压力多大啊,ZF 的解释是 KFS 牟取暴力,囤积居奇,咱们的解释是#¥%×……。不过咱 们这里的问题没有那么复杂,同样无关政治民生,关乎的只是咱们的需要。USB 出现以前, 电脑的接口处于春秋战国时代,串口并口等多方割据,键盘、鼠标、Modem、打印机、扫 描仪等都要连接在这些不同种的接口上,实行的是一夫一妻制,一个接口只能连接一个设备, 不过咱们的电脑不可能有那么多这种接口,所以扩展能力不足,而且它们的速度也确实很有 限。还有关键的一点是,热插拔对它们来说也是比较危险的操作,不想用了都成黄脸婆了还 不能立即换掉,岂不是很不能满足很多 man 们内心的潜在需要。USB 正是为了解决速度、 扩展能力、易用性应景而生的。 USB(通用串行总线)技术的发展历程与它在个人电脑中的作用是非常重要的知识点。USB的出现,终结了个人电脑接口的混战时代,将串口、并口等专用接口统一成了通用接口,极大地提升了电脑的扩展能力和用户的易用性。 在USB出现之前,个人电脑的外设接口种类繁多,每种接口都只能连接一种设备,这种状况限制了电脑的扩展性,并且这些接口的传输速度也跟不上日益增长的数据传输需求。同时,早期的接口如串口、并口并不支持热插拔,使用起来非常不便。用户在使用过程中,如果需要更换设备,往往需要关闭电脑,再进行硬件的插拔与更换,这对日常使用的便捷性造成了很大的影响。 USB的出现,解决了上述问题。它的设计初衷是为了提供一个快速、易用、且支持热插拔的接口,让各种外设能够更加便捷地连接到电脑上。USB接口支持即插即用(Plug and Play),用户可以随时将USB设备连接到电脑上,并且无需关闭电脑即可开始使用。这大大提升了用户的工作效率和使用体验。 在技术层面,USB通过集线器(Hub)结构来扩展连接能力,每个Hub可以连接更多的设备,而数据传输速度也随着USB版本的更新而不断提升。从最初的USB 1.1版本开始,到后来的USB 2.0,再到现在的USB 3.0及USB 3.1,速度已经得到了飞跃式的提升,满足了高清视频传输、大数据存储等高性能设备的需要。 在Linux操作系统中,USB子系统(也称为USB Core)是内核中处理USB设备和USB驱动程序之间通信的组件。USB Core负责管理USB设备的枚举、配置,以及与USB驱动程序的通信。当一个新的USB设备被连接到电脑时,USB Core会识别这个设备,加载对应的驱动程序,完成设备的初始化,并在设备和驱动程序之间建立通信。 Linux的USB Core不仅需要处理设备的物理连接和通信,还需要管理设备的电源管理、错误处理、以及带宽的分配等。USB Core为上层应用提供了简洁的接口,使得开发者可以更容易地编写USB设备的驱动程序。 在Linux内核中,USB Core是USB协议实现的核心部分,它通过提供标准化的编程接口(API),使得开发者能够针对不同类型的USB设备编写统一的驱动程序。Linux系统中的许多设备,如U盘、打印机、摄像头等,都依赖于USB Core的功能才能正常工作。 USB的标准化得到了多家业界巨头的支持,包括但不限于Intel、Compaq、IBM和Microsoft等。1994年11月,这些公司共同提出了USB标准,并在随后的几年中逐步完善,最终在1996年发布了1.0版本。虽然这个版本最初没有获得市场的广泛接受,但随着USB 1.1版本的发布,USB技术逐渐流行起来,成为个人电脑上不可或缺的标准接口。 综合以上,USB技术不仅在技术层面为用户和开发者带来了巨大的便利,也在商业上为厂商和消费者创造了一个巨大的市场。USB的普及,反映了一个行业的发展趋势,即通过标准化来简化技术的复杂性,提高产品的互操作性和用户体验。USB的故事,不仅是技术发展的故事,也是IT行业发展的一个缩影。
剩余232页未读,继续阅读
- 湘云_聚离2019-11-27cypress 68013搞机必备
- u0127907542019-01-30挺不错的资源
- 粉丝: 719
- 资源: 82
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 运用python生成的跳跃的爱心
- 基于 Java 实现的 Socket.IO 服务器 实时 Java 框架.zip
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip