热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉

众所周知,虚拟化技术是构建云基础架构不可或缺的关键技术之一,而在众多虚拟化技术实现当中,KVM(KernelVirtualMachine)因为Linux内核对其的良好支持(KVM于2006年

众所周知,虚拟化技术是构建云基础架构不可或缺的关键技术之一,而在众多虚拟化技术实现当中,KVM(Kernel Virtual Machine)因为Linux内核对其的良好支持(KVM于2006年10月被合并入Linux Kernel 2.6.20中),以及其精简的架构(在最新的Linux Kernel 3.14.rc5 中除硬件之外的核心框架仍然只有不到10000行)越来越多的被应用于超大规模的IaaS部署中,注:随后会写文章专门介绍KVM背后的那些技术天才。

但是我们知道运行于内核态的KVM是无法单独工作的,那些对性能要求比较高的虚拟设备例如:虚拟中断控制器和虚拟时钟,才会由KVM内核模块直接管理,大部分的输入输出虚拟设备还是需要一个运行于用户态的程序负责,这个运行于用户态的程序就是大名鼎鼎的QEMU(Quick Emulator),它的作者就是法国天才程序员Fabrice Bellard。

在过去的大半个世纪中,计算机科学界涌现出了一批不世出的天才:阿兰·图灵(Alan Turing)、高纳德(Donald Knuth)、艾兹赫尔·戴克斯特拉(Edsger Dijkstra),这些振聋发聩的名字背后是建立了彻底改变人类生活的现代计算机工业,这些人的影响力是如此之大,不但改变了整个世界,同时也赢得了全球的尊重。于此同时另外一些人也在进行类似令人印象深刻和同时极具影响力的工作,他们之中的佼佼者就是Fabrice Bellard ,Fabrice Bellard 走的是完全不同的路,Bellard的绝大多数贡献都集中在自由软件与开源领域,除了QEMU之外,最为人熟知的就是FFMPEG,他被誉为过去20年中最闪亮和最有影响力的程序员之一,但他的名声远远却低于他的贡献。

在 2005年,Bellard 发布了也可以说是他最重要的项目:QEMU。QEMU 是一个处理器仿真,意味着用软件来模拟不同处理器体系架构(ISAs),允许为一个特定处理器编译的程序,通过软件仿真在另外一个体系上运行。Rellard 的设计灵感是基于邱奇-图灵理论,这个理论间接指出任何图灵完备语言配合图灵机可以仿真其它的图灵机。如果说FFMPEG体现了Bellard深厚的数学和信号学天分,那么QEMU 的实现就体现了Bellard对于计算机体系架构的深刻理解和程序设计的深厚功底。

Bellard除了具备天才程序员的实力之外,同时也极具黑客气质,在他主页上罗列的众多令人震撼的成就的最新一个是利用软件在PC上模拟了LTE 4G基站。天才的创新经常是离经叛道式的超越,Fabriced Bellard的一些项目让人感觉疯狂。比如他曾有一个项目是将带有VGA显卡的PC改装成DVB-T的信号发射器。这样一来,为了防止泄密,公司不仅要封声卡插口,还要焊上显卡插口。

2011年,他用Javascript写了一个PC虚拟机Jslinux。这个虚拟机仿真了一个32位的x86兼容处理器,一个8259可编程中断控制器,一个8254可编程中断计时器,和一个16450 UART。 http://bellard.org/jslinux/,在笔者的普通桌面电脑的Chrome浏览器中,Jslinux只用了仅仅5.075秒就启动了Linux。
屏幕快照 2014-03-11 下午11.51.46
Fabrice Bellard在数学方面也有着惊人的造诣,1997年FabriceBellard提出最快圆周率算法公式。在计算圆周率的过程中,Fabrice Bellard使用改良后的查德诺夫斯基方程算法来进行圆周率的计算,并使用贝利-波温-劳夫算法来验证计算的结果。为了表彰他对圆周率算法所作出的杰出贡献,Fabrice Bellard所使用的改良型算法被命名为Fabrice Bellard算法,这种算法是目前所有圆周率算法中最快的一种,这个计算N位PI的公式比传统的BBQ算法要快47%。

2009年的最后一天,Fabr ice Bellard宣布另一项重大突破:他用桌面电脑打破了由超级计算机保持的圆周率运算记录。这是一个壮举, 他将PI计算到了小数点后2.7万亿位!更令人惊讶的是, 他使用的不过是价格不到2000欧元的个人PC,仅用了116天,就计算出了PI的小数点后第2.7万亿位,超过了由目前排名世界第47位的T2K Open超级计算机于2009年8月17日创造的世界纪录。新纪录比原纪录多出1200亿位,然而,他使用的这台桌面电脑的配置仅为:2.93GHz Core i7 CPU,6GB内存,7.5TB硬盘! 不过这次为了加快计算完成的速度保住排名第一的位置,Fabrice Bellard使用了9台联网的电脑来对数据进行验证, 若使用一台电脑来验证计算结果的话, 则需要额外增加13天的计算时间。 Fabrice Bellard在圆周率方面的辉煌成就, 使他创造多次圆周率计算的世界纪录(计算10的整次幂位), 也曾因此而登上《科学美国人》法文版。

最后,让我们不妨八卦一下,在Google中输入Fabrice Bellard vs Linus Torvalds会出现什么呢?毕竟,在笔者心目中,他们就像罗伯特德尼罗PK阿尔帕西诺。
robertDeNiroVSalPacino
映入眼帘的第一个结果,是财富杂志科技栏目专访全球在线支付巨头Stripe的创始人的一篇文章,其中提到。There are also a few individual people, like Fabrice Bellard, Jeff Dean, and Dan Bernstein, who are just generally fabulously productive and make me feel guilty about how little I get done. 好吧,Jeff Dean…,与Jeff Dean并列,足以说明Fabrice Bellard的超强实力与卓越成就。





推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 解决IIS无法访问映射网络驱动器的问题
    探讨IIS在尝试访问映射的网络驱动器时遇到的问题及其解决方案,包括配置和权限设置等方面的详细分析。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 5G至4G空闲态移动TAU流程解析
    本文详细解析了用户从5G网络移动到4G网络时,在空闲态下触发的跟踪区更新(TAU)流程。通过N26接口实现无缝迁移,确保用户体验不受影响。 ... [详细]
author-avatar
_______王晓
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有