0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux之父是谁_linux之父简介

lhl545545 ? 来源:电子发烧友网 ? 2018-02-10 10:10 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

林纳斯·本纳第克特·托瓦兹——linux之父概况

著名的电脑程序员黑客。Linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统)内核之一。现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发Linux内核。

人物经历

托瓦兹1969年12月28日出生于芬兰赫尔辛基市。父亲尼尔斯·托瓦兹(Nils Torvalds)是一名活跃的共产主义者及电台记者,曾当选芬兰共产党中央委员会委员。托瓦兹家族属于在芬兰占6%的少数民族芬兰瑞典人。他毕业于赫尔辛基大学计算机系,1997年至2003年在美国加州硅谷任职于全美达公司(Transmeta Corporation),现受聘于开放源代码开发实验(OSDL:Open Source Development Labs, Inc),全力开发Linux内核。与妻子托芙(Tove,芬兰前女子空手道冠军)育有三个女孩。

与很多其他黑客不同,托瓦兹行事低调,一般很少评论商业竞争对手(例如微软)产品的好坏,但坚持开放源代码信念,并对微软等对手的FUD战略大为不满。

例如,在一封回应微软资深副总裁Craig Mundie有关开放源代码运动的评论(Mundie批评开放源代码运动破坏了知识产权)的电子邮件中,托瓦兹写道:“我不知道Mundie是否听说过艾萨克·牛顿(Isaac Newton)爵士?他不仅因为创立了经典物理学(以及他和苹果的故事)而出名,也还因为说过这样一句话而闻名于世:我之所以能够看得更远,是因为我站在巨人肩膀上的缘故。”托瓦兹又说道:“我宁愿听牛顿的也不愿听Mundie的。他(牛顿)虽然死了快300年了,却也没有让房间这样得臭气熏天。”

现年47岁的林纳斯目前受聘于开放源代码开发实验室(OSDL,Open Source Development Labs),全身心的开发Linux内核。尽管这位年轻人看上去毫不起眼,比如林纳斯曾在他的自传《乐者为王》(Just for Fun)中自嘲:“我是一个长相丑陋的孩子,凡是见过我小时候照片的人,都会觉得我的相貌酷似河狸。再想象一下我不修边幅的衣着,以及一个托瓦兹家族祖祖辈辈遗传下来的大鼻子,这样,在你脑海中我的模样就形成了。”但这丝毫也影响不了林纳斯对整个商业社会的巨大价值—Linux代表着网络时代新形式的开放知识产权形态,这将从根基上颠覆以Windows为代表的封闭式软件产权的传统商业模式。更重要的是,这样的颠覆早已悄悄的出现在了商业社会的各个角落

托瓦尔兹对成功的独特见解

当在科技行业谈到实现名利的时候,一个有远见的,像史蒂夫·乔布斯一样伟大的人物浮现在我的脑海里,他通常能够设计出令人想不到的产品。但这也不是LinusTorvalds能够成为世界上最知名的程序员的理由(他经常与好莱坞明星在奥斯卡颁奖典礼上上亲密交谈)。

当托瓦尔兹还是个大学生,他发明了开源的操作系统Linux,在当今世界的操作系统领域是最具生命力的(包括谷歌和Facebook均采用该操作系统)。世界上最快的超级计算机也采用该系统,同时,也是Android的核心。

他于1991年发明该操作系统,描述该系统为“开源的操作系统,只是因为爱好,并且不会把它做得很大很专业”。Linux因为它的大和专业在当今世界是如此的重要。这是开源项目的典范,或者任何人都可以做出自己的贡献。自2005年以来,来自1200公司的近12000名程序员把他们的代码添加到主要的Linux操作系统(称为内核)。除了发明了操作系统,托瓦尔兹也发明了一种方,很多人一起工作在一个电脑程序项目。他发明的方法叫做Git,Git本身创建了自己的行业(从Torvalds没有获得任何帮助的情况下),但是如Github,提供给Git价值20亿美元的启动资金。

托瓦尔兹说,如果他是一个有远见的人,那么这一切就不会发生。当他在一次和来自IEEE的斯蒂芬·卡斯采访中说到(和我们强调):我相信,为了linux的成功,我不知道我自己究竟做了哪些。当我开始的时候,如果我坚信有一天我能成功,所以到现在我一直在坚持下去。有时候普你需要很多的自信,相信你能做到……

事实上,我真的不知道它最终什么时候能够实现,意味着我会一直做下去。我可能会听取他人的建议,听取外部的意见,其他人加入该项目,我认为这样更容易,更有趣。有时候人们不需要别人的同意,但可以一直做自己喜欢的事情。

Linux之父话糙理不糙

Linus Torvalds曾经在十多年前尝试用C++来开发Linux内核,由于种种原因,很快失败了。自那时起他就不时表达对C++的不满。刘江blog上的记录的这个事件只是最近的一次而已。尽管言辞激烈,但其实话糙理不糙。

时至今日,在一般的场合下,C和C++语言的主要用途就是系统级软件的开发。具体地说,C/C++写平台、工具和基础库,支持高层的语言来完成应用逻辑。 在9月份《程序员》杂志上刊登的一篇《微软架构师谈编程语言发展》的文章里,Brian Beckman直截了当地说,C++语言主要是用来开发别的语言的。这话片面一点,如果改成 “C++语言主要是用来支持别的语言的”,那就大体没错了。

做系统软件开发的时候,重要的是理解系统的运作方式,那些漂亮的抽象手法和高级特性是次要的。

有一个有趣的现象,不少做系统软件的老手,在用过一段C++之后,又回到C。因为在这个层次上,C++对于C的优势就不突出了。那些高级的抽象结构往往是 不必要的,反而是由于抽象层次的提高,使得开发者要弄清楚“下面实际发生的事情”变得不太容易了。所以很多老手实际上觉得用C语言控制力更强一些,更得心 应手一些。真正的C语言高手,对于语言和编译器都很熟悉了,基本上在写C时候就已经知道编译器优化以后产生汇编代码是个什么样子,甚至可以改变C代码来引 导编译器产生最优化的机器码。而C++的机制很丰富,很多机制是为了满足高层应用和框架的需求而准备的,在这个层次上发挥不出来,反而把清晰性给牺牲掉 了。很多时候,一个简单的语句,到底背后会发生什么,即使是老手也说不清。比如:

std::string s(“Linux Torvalds“);

std::string scopy = s;

上面这段代码不过是创建两个内容相同的字符串副本,但是没有任何一个人能够在不了解更多信息的情况下清楚地描述背后所发生的事情,因为不同的STL对于 string的实现方式不同,因此在copy assignment时表现也不同,有的可能是简单地复制字符串对象,有的可能具有ref-counting机制,需要创建对象、设定对象值、增加引用计 数,有的没有考虑线程安全性,有的考虑了线程安全性,还得加锁解锁,对不起,加解锁也还有很多做法。创建新的string对象时,有时还需要调用内存分配 器,而这个东西的实现又五花八门,有的直接new char[],有的从内建的memory pool申请,memeory pool是不是线程安全的?对不起,这次可能又要涉及加解锁问题。memeory pool会不会已经满了?要不要次第调用new/malloc申请新的内存块?总之,后面的事情够多够复杂,没有相当功力,对平台了解不够深入,很难说出个子午卯酉来。

一个字符串复制尚且如此,别的高级特性就更不用说了。所以很多人宁可麻烦一点,也不愿意使用C++,这还是可以理解的。

就我个人来说,我还是愿意用C++的,特别是在C里写一遍又一遍realloc的时候,就想起 string::operator+=()的好处来了。大概是STL给我的印象太深了,写算法程序的时候,不用STL就觉得不爽,一个transform 就可以搞定的事情,非要用for循环,这会让我感觉浑身不自在。所以一般情况下,拿到一个什么问题,我还是会用C++去解决的。对我来说, Torvalds的话其实是很中肯的,即使是用C++,也要尽可能搞清楚其背后发生的事情,这样在写low level程序的时候才会有把握。如果是设计应用级别的程序,就尽可能不用C/C++,把底层的事情都忘掉,专心专意做好应用层的设计才是正道。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11522

    浏览量

    214309
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux权限体系解析

    你真的了解Linux权限吗?大多数人只知道rwx,但Linux的权限体系远比你想象的复杂和强大。今天我们深入探讨Linux的12位权限体系,这是每个运维工程师都应该掌握的核心知识。
    的头像 发表于 07-23 16:57 ?216次阅读

    一文掌握Linux命令

    作为一名运维工程师,熟练掌握Linux命令是基本功中的基本功。无论是日常工作中的系统维护,还是面试时的技术考核,Linux命令都是绕不开的核心技能。本文将从实战角度出发,系统梳理运维工程师必须掌握的Linux命令,并结合实际场景
    的头像 发表于 07-22 15:23 ?108次阅读

    Linux权限管理基础入门

    Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你深入探索Linux权限的奥秘,助你成为权限管理的高手
    的头像 发表于 05-06 13:44 ?292次阅读
    <b class='flag-5'>Linux</b>权限管理基础入门

    Linux主要的性能有哪些?

    ? 什么是Linux? ? Linux是一套自由传播的类Unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它的基本思想有两点,一切都是文件和每个软件
    的头像 发表于 04-30 18:09 ?276次阅读
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    Linux网络设置与基础服务

    Linux网络设置与基础服务
    的头像 发表于 04-09 11:51 ?2630次阅读
    <b class='flag-5'>Linux</b>网络设置与基础服务

    腾讯云内核团队修复Linux关键Bug

    Maintainer深感棘手的关键内核bug。 这一改进方案经过严格评审和测试,最终被合并进入后续的Linux LTS(长期支持)版本中,标志着腾讯云在操作系统内核领域的技术实力得到了广泛认可。值得一提的是,该方案还获得了Linux之父
    的头像 发表于 12-31 10:58 ?700次阅读

    干货来喽!实用树莓派Linux编译指南

    通常情况下,模组对接的Linux协议是USB协议,模组通过USB插入Linux设备后可直接使用,系统会检测出设备的标识:PID VID。 然而实际运用中,时有新手朋友问: Linux对新手用户实在
    的头像 发表于 12-18 16:31 ?573次阅读
    干货来喽!实用树莓派<b class='flag-5'>Linux</b>编译指南

    全志T113-S3板载Linux系统信息查询

    包含多个内置命令,可帮助我们熟悉正在使用的软件和硬件平台。为了全面了解如何查看Linux系统的各种信息,下面的内容将详细介绍各个方面的查询命令和方法。产品简介眺望电子E
    的头像 发表于 11-22 01:07 ?1145次阅读
    全志T113-S3板载<b class='flag-5'>Linux</b>系统信息查询

    Linux应用编程的基本概念

    Linux应用编程涉及到在Linux环境下开发和运行应用程序的一系列概念。以下是一些涵盖Linux应用编程的基本概念。
    的头像 发表于 10-24 17:19 ?693次阅读

    Linux实用命令大全

    Linux实用命令大全
    的头像 发表于 10-23 13:50 ?705次阅读
    <b class='flag-5'>Linux</b>实用命令大全

    Linux根文件系统的挂载过程

    Linux根文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个文件系统。
    的头像 发表于 10-05 16:50 ?1009次阅读

    如何构建Linux根文件系统

    构建Linux根文件系统是一个涉及多个步骤和概念的过程,它对于Linux系统的启动和运行至关重要。
    的头像 发表于 10-05 16:47 ?733次阅读

    linux驱动程序如何加载进内核

    Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编写驱动程序之前
    的头像 发表于 08-30 15:02 ?1171次阅读

    Linux内核测试技术

    Linux 内核是Linux操作系统的核心部分,负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新,其复杂性和代码规模也在不断增加。因此,确保内核的稳定性和可靠性变得尤为重要
    的头像 发表于 08-13 13:42 ?1464次阅读
    <b class='flag-5'>Linux</b>内核测试技术

    freebsd和linux哪个好用

    操作系统历史和起源: FreeBSD和Linux都是基于UNIX的操作系统。FreeBSD起源于加州大学伯克利分校的BSD项目,而Linux则是由Linus Torvalds在1991年创建
    的头像 发表于 08-08 10:29 ?1067次阅读