【Linux是什么】Torvalds的Linux开发

Minix

Torvalds大学期间通过开源的Minix学习到了很多内核程序设计的设计概念。

对386硬件的多任务测试

多任务即为CPU在不同的任务之间快速切换,而人感觉不出切换的时间。正是这个原因,同时开两个文件可以比先后开两个文件耗时一点点。

早期x86计算机对于多任务的性能不佳。386计算机推出后情况好了很多。Torvalds在他的386计算机上成功实现了多任务测试。

※要达到多任务(Multi-Tasking)的环境,除了硬件(主要是CPU)需要能够具有多任务的特性外,操作系统也需要支持这个功能!

初次释出Linux0.02

因不满足于Minix,Torvalds开始自己开发操作系统内核。好在有GNU项目提供的bash工作环境软件以及GCC编译程序等自由软件。开发结束后他将内核上传到了网上(FTP文件夹的名字恰好是Linux)供人们下载。

同时为了兼容UNIX系统,Torvalds为了让所有软件都可以在Linux上运行,他开始参考POSIX规范。从此Linux开始广泛流传并大受欢迎。

※POSIX是可携式操作系统接口(Portable Operating System Interface),重点在于规范内核与应用程序之间的接口。

Linux开发:虚拟团队的产生

单一个人维护阶段

Torvalds发布的Linux内核放置在FTP上面,并告知大家新的版本信息,等到用户下载了这个内核并且安装之后,如果发生问题,或者是由于特殊要求需要某些硬件的驱动程序,那么这些用户就会主动反馈给Torvalds。在他能够解决的问题范围内,他都能很快速地进行Linux内核的更新与排错。

广大志愿者加入阶段

因为Linux内核是开源的,所以志愿者很容易就能够跟随Linux的原本设计架构,并且写出兼容的驱动程序或者软件。

因为这种随时都有程序代码加入的状况,于是Linux便逐渐开发成具有模块的功能。就是将某些功能独立于内核之外,在需要的时候才加载到内核中。如此一来,如果有新的硬件驱动程序或者其他协议的程序代码进来时,就可以模块化,大大增加了Linux内核的可维护能力!

内核功能细部分工阶段

越来越多的人成为了Torvalds的开发副手,自愿传送修补程序的黑客志愿者。他们其实都没有见过面,称这群人为虚拟团队。为了虚拟团队数据的传输,Linux成立了内核网站www.Kernel.org

1994年,虚拟团队完成了Linux的内核正式版Version 1.0

1996年,更新了Version 2.0

在1994年之后,Linux便被移植到很多的硬件上面去了。除了x86之外,IBM HP Sun等公司的硬件也都有被Linux支持。

Linux的内核版本

内核版本命名一般是:

主版本.次版本.释出版本-修改版本

如2.6.18-92.e15

次版本号为奇数表示开发中版本,为偶数表示稳定版本。

释出版本则是在主次版本架构不变的情况下,新增的功能累计到一定程度后所新释出的内核版本。

而由于Linux内核是使用GPL的授权,因此大家都能够进行内核程序代码的修改。因此如果有针对某个版本的内核修改过部分的程序代码,那么那个被修改过的新的内核版本就可以加上修改版本了。

Linux的内核版本和distribution版本不是一个概念。

Linux distributions

可完全安装的Linux发布套件

很多商业公司或者非盈利团体将Linux内核加上可运行的软件集成起来,加上自己具有创意的工具程序,这个工具程序可以让用户以光盘或者通过网络直接安装管理Linux系统。这个”Kernel+Softwares+Tools”的可完全安装的系统我们称之为Linux distribution

各大Linux Distributions的主要异同:支持标准

为了让各大Linux Distributions不至于差异太大,有Linux Standard Base(LSB)和目录架构的File system Hierarchy Standard(FHS)来规范开发者。

基本上,每个Linux distributions除了架构的严谨度和选择的套件内容外差异并不太大。

Distributions主要分为两大系统:一是使用RPM方式安装软件的系统(Red Hat等) 二是使用Debian的dpkg方式安装软件的系统(Ubuntu等)

Linux在中国

中国台湾地区发起的CLE项目开发了很多中文套件及翻译了很多的英文文件。

选择适合的Linux distribution

先选定一个版本,从头彻尾地了解它,继续使用其他的版本时就可以很快进入状况。

时间: 2024-10-12 13:36:49

【Linux是什么】Torvalds的Linux开发的相关文章

【转载】Visual Studio 2015 for Linux更好地支持Linux下的开发

原文:Visual Studio 2015 for Linux更好地支持Linux下的开发 英文原文:Targeting Linux Made Easier in Visual Studio 2015 Visual C++ for Linux 扩展使 Visual Studio 2015 的用户可以在 VS2015 中编写C或者 C++ 代码,并将代码部署到基于 Linux 的系统中去编译和调试.源代码和项目文件通过 SSH 传输到远程机上,程序的输出将显示在 Visual Studio 上.

linux在线预览pdf文件开发思路

准备:swftools,flexpaper 基本思路: 1,将pdf文件转化成swf文件 2,使用flexpaper预览swf文件 主要代码: 1,在linux中安装swftools.官网下载swftools 安装包,解压 2,./configure --prefix=安装路径 make install 执行完之后,执行pdf2swf -help 如果显示.说明安装成功 如果执行pdf2swf -help  显示commond not find 的话,可能需要配置swftools的环境变量,具体

Linux系统中用DNW向ARM开发板下载程序

在Linux下通过dnw来给开发板发送程序.包括驱动程序代码:secbulk.c,应用程序代码:dnw.c.只能运行在32位系统上,在64位系统上提示错误:DNW download Data size is too big. dnw源代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <sys/types.h> #include <sys/stat.h>

在centos (linux) 搭建 eclipse c++开发分环境

网上说得很多,很烦,操作了很多,总有错误,但解决方案很简单.步骤就下面几步就OK了 安装gcc .g++ yum install gcc yum install gcc-c++ 安装jdk,配置jdk的环境(网上很多,就不用多说了)  下载软件: eclipse:   http://www.eclipse.org/downloads/?osType=linux CDT  :  http://www.eclipse.org/cdt/downloads.php eclipse 解压就可以使用. CD

Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  张俊浩 2. Setting Up EDKII Development Environment(EDKII开发环境的搭建) ->2.1The General Procedure Of Setting Up EDKII Development Environment(搭建EDKII项目的通用流程)

Linus Torvalds没有Linux未来十年计划

在年度LinuxCon峰会上,Linux创始人Linus Torvalds回答了有关安全和Linux未来十年演化的问题.Torvalds认为,安全就是bug,内核的大多数安全问题都是因为愚蠢的bug.对于Linux十年后将会走到何处,Torvalds说他从不想象如此遥远的未来,他是一名非常乏味缺乏想象力的人,他最多能看到6个月后,比如当前发布的版本和接下来发布的版本.他认为提前计划未来十年是神志不清. 笔者认为,在IT技术日新月异的今天,订立一个10年计划确实是不切实际的,因为技术更新太快,根本

Linux内核(17) - 高效学习Linux驱动开发

这本<Linux内核修炼之道>已经开卖(网上的链接为: 卓越.当当.china-pub ),虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到写上去的每段话能够让读者产生什么疑惑,然后也都会紧接着尽量的去进行解释清楚,中间的很多概念也有反复纠结过怎么解释能够更容易的理解,力求即使对于初学者也可以有很少阻碍的一气读完.同时我也把书中一部分自己的感悟抽出来整理了精华版,share出来.当然水平有限,错漏之处有发现而修订时遗漏的,也有尚没有发现的.这本书

深度Linux下配置Eclipse的Android开发环境

前段时间开始折腾Linux,其它常用软件都轻松找到了功能相同或相近的替代软件,但到了android开发工具这块,网上好多朋友都推荐使用android studio,而俺是个eclipse的老顽固,在windows下就不习惯使用android studio,再加上手头还有一个在windows下用eclipse做了了一半的项目,只好再折腾下如何在linux下配置eclipse的android开发环境.以前在windows下配置eclipse的android开发环境一般是以下几个步骤:1.安装JDK,

LINUX内核学习起步:学习开发环境搭建

我的环境配置如下: 电脑上安装虚拟机VMware10.0.1,虚拟机上安装了CentOS6.5,注意虚拟机VMware上面网络的配置选择为桥接模式 电脑windows上安装secureCRT6,事先登录虚拟机中的centos,查询机器IP地址,然后通过secureCRT登录到centos中. 这里为什么要通过secureCRT登录centos呢?因为在centos中直接运行终端或者alt+F1~5方式进入命令行模式,显示的界面太小,不方便操作. 如果你经常要在linux下编程或者学习,建议还是通