当前位置:首页 > 嵌入式 > 嵌入式硬件

作者:朱老师,华清远见嵌入式学院讲师。

一个成功的操作系统离不开各种虚拟设备的支持。虚拟通常发生在某种资源不足的情况下,但实现起来要依赖另一种资源与能力的不足过剩。

早期的计算机比较慢,一个人用都嫌慢,而现在经过摩尔定律式的增长,CPU的速度已经远远超过人的反应速度,10**9:10= 100000000倍。一个CPU对应一个人已经太浪费了。

于是出现了瘦客户端-服务器这个业务模型, 一台服务器可以同时满足N台客户机的请求。每个客户机丝毫感觉不到其他客户端的存在,还以为是自己独占某台服务器。现在的网络游戏就是充分利用了这个特性。云计算的实现基本原理也是如此。即使是同一台PC, 也是有多个任务在并发执行的。进程,线程,超线程,多核等都是不同层次的虚拟机。多线程释放了CPU强大的计算处理能力,使他的能力得以充分发挥。处理器虚拟化是因为处理器个数的不足,而得以实现是因为CPU的高效性。

另一种广泛应用的就是虚拟内存,虚拟内存摆脱了物理内存不足对应用程序的局限,保证了进程的空间独立性,背后依赖的是CPU的高速性及硬盘的交换缓冲区。当然叫起真来,每个进程同时用光分配给自己的进程空间,内存管理肯定招架不住。就像保险公司,如果所有人都出问题索保,那么保险公司也会立刻破产。实际上不大可能, 前者因为程序的局部性及多次性,后者因为出问题是个小概率事件。我们的方法能够解决平均情况下的问题,但是一般不考虑小概率的最坏情况。

虚拟网络硬盘同样如此,就像有些邮件系统,虽然每个人可有NG空间可以支配,但平均情况下,可能只有很小比例的人完全用光。所以我们不必准备理论上的最大磁盘空间,真的有最坏情况发生,再解决也不迟。

虚拟磁盘,使逻辑磁盘摆脱了物理磁盘的局限, 一个物理磁盘可以是多次逻辑磁盘,一个逻辑磁盘也可以包含多个物理磁盘。

虚拟光驱,记得以前有个哥们玩游戏,此游戏可能因为版权控制问题,必须依赖光盘。 但是他靠在磁盘创建了一个虚拟光盘蒙混过关了。而现在虚拟光盘iso文件已经在广泛应用,你可以用它刻录物理光盘,也可以用虚拟机直接加载它。

虚拟专用网,几乎每个大公司都有。物理IP地址是按照地域分配的,中国与美国的计算机肯定不在一个子网之中。但是跨国公司都有自己的虚拟子网,每个人可以自由访问公司内的服务器,哪怕横跨万水千山,跨越千万个子网。而且查看ip, 也会觉的是在同一个子网里。极大方便了公司内部的协作,提高了跨区协同工作的效率。实现起来,主要依赖IP隧道技术,你看到的Ip包并非实际的ip包,而只是数据部分, 经过不同的子网要填入不同的ip头部。

最近几年,最热门最实用的虚拟技术估计就是虚拟机了。当年开发操作系统内核及驱动的时候就用到VMware,觉得很方便,重启快,调试更简单。没想到后来它成为市场的主流。想想也是,很多公司的服务器硬件能力已经过剩,一个物理机器编程多个虚拟机器甚至安装不同的操作系统,满足不同的需求,提高了资源的利用率,降低了硬件及电力成本。而且虚拟机技术也提高了安全性,有一种双重文件系统技术,网络只能访问逻辑文件系统,*也只能访问破坏逻辑文件系统,而实际的物理文件系统是被隔离保护了。虚拟机是全面的使用了虚拟技术,它里面的所有硬件都是虚拟的,CPU只是宿主机的一个进程而已,内存也只是宿主虚拟内存的一部分,硬盘,软盘,光驱其实是宿主机硬盘中的一个文件,网卡也是逻辑上的网卡。

所谓的虚拟大型机,是由成千上万个PC结点组成的,可以完成高性能的计算任务, 而成本比真正的大型机还便宜。软件环境更是有好的多。

“本文由华清远见http://www.embedu.org/index.htm提供”



华清远见

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭