全面解析Linux 内核 3.10.x - 抉择
2015-11-05 22:06
661 查看
From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构
我的切入点肯定是Linux内核了,因为目前也是从事这方面的工作!
请记住一个人的名字,Linux 之父 Linus Torvalds
![](http://i.imgur.com/09p5J3Z.png)
来一张经典的图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/30/78ddf32123b55b5c307aba76336435c8)
说说当前版本的特性:
是不是看的眼花缭乱? 有木有一种冲动的感觉?
在来看看当前版本的维护者:
1、MIPS的历史我这里不想阐述,作为精简指令的鼻祖,很早就已经支持64Bit指令和操作!
2、MIPS指令比ARM稍微多一些,执行部分运算更为灵活!
3、MIPS在架构授权方面更为开放,允许授权商自行更改设计,如更多核的设计!
国家如果要想在芯片领域不依赖欧美,那么自主就很重要,虽然目前中国龙芯确实有点扶不起,但是商业模式是随着市场而变化的,龙芯根本也不在技术,而在模式!
说这么多,然并卵,其实我觉得最重要的还是第三点!开放..对.就是开放!
我们都知道ARM公司其实业务营收完全依靠IP核收入的!
像联发科之类的企业,说好听点叫半导体企业,说不好听点就是半导体组装企业!他家的CPU本质上是高级一点的组装产品——购买现成的IP核(ARM),购买GPU核(Imagination、Mali)以及各种接口IP核(Synopsys),通过一定的流程,集成(高级组装)SOC。根本不涉及最核心的微结构设计!估计连华为海思都拼不过,也就依组装才能在山寨机和国产低端机中赚取差价的利润!
MIPS就不一样了,国内像大唐,他自己的CPU就是完全自主研发(当然架构也肯定是借鉴),但是总比组装机强!
好了,扯了这么多,开始正题!选好之后,那么开始动手干活!
推荐ubuntu 12.04 不过凡事都选择最新的,我就喜欢经典的版本!
1.去Linux Kernel官网下载内核
我选择长期支持的3.10.92吧!
2.选择交叉编译工具
交叉编译的重要性和原理我就不说了!这里说另外一点!交叉链子依赖是32位的Lib库的!
在有的64位系统中可能使用不了,这里需要安装32位lib库.
*接下来让我开始我的内核之旅吧*
By: Keven - 点滴积累
不在沉默中爆发,就在沉默中灭亡 - 鲁迅大神
北京的冬天总是来的快,去的晚。好似冬天就占据了一年的一半,秋装没装上几天,就已经不能抵御那寒风和雾霾!今天好像还飘起了雪花,夜晚总是这么的安静! 时光就这样悄悄的溜走,毕业两年,学了很多,做了很多!可是总是觉得越学越无知,知识总是那么的让人叹为观止,多到你有时候都觉得脑袋要炸掉!最近被一篇文章刷屏了,叫技术的力量!诚然程序员是这个世纪最伟大的群体之一,但是国内真正有那种Power(如Linus,Stallman等)的确寥寥无几,我也没有想过去成为他们,也没有那个能力!但是毛主席说的好,人多力量大嘛!我只是希望自己能在空闲的时间将一些事情去做到透彻,没有想着去影响别人,最起码先要影响我自己! 之前在大学时期页曾经写过一些总结,不过都是在网易的博客上。更新页蛮勤快,两年访问破5万啊,还是自我感觉不错的!不过排版过于难看,只有自己在默默的写,互动太少!希望藉此在csdn上开博客以后,可以和各路大牛小牛一起谈Bug,品代码!冬天到了,不应该懒惰!我的切入点肯定是Linux内核了,因为目前也是从事这方面的工作!
1、什么是Linux?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。请记住一个人的名字,Linux 之父 Linus Torvalds
2、Linux发展时间轴
![](http://i.imgur.com/09p5J3Z.png)
3、Linux Kernel 能为Linux做甚么?
Linux Kernel 只是Linux操作系统一部分。可分为两个层面,对于下面,它管理系统的所有硬件设备;对于上面,它通过系统调用(System Call),向Library(例如C库)或者其它应用程序提供接口!来一张经典的图
4、我为什么选择3.10.x这个版本呢?
目前网络上充斥着各种各样的对内核进行研究的内容,但是其本质还停留在十年前,基本都是以2.6.32等版本作为模版来进行追踪,我当然要选择一个目前少部分人的研究的呀(其实俺们公司也是3.x,至于到底是哪个版本,就不能说啦)!说说当前版本的特性:
完整支持DynTicks(动态定时器),并成为内核级别的核心特性。 KVM虚拟化改进。 音频/声音驱动更新。 ARM架构支持改进,包括更好地支持64位架构。 大量的Linux加密子系统优化。 AMD电源管理改进。 分阶段驱动(Staging Drivers)改进与新举措。 BCache固态硬盘/机械硬盘缓存框架已经可用,使用两种硬盘的系统将会大大提速。 eCryptfs AES-NI性能改进,支持AES指令集的AMD/Intel x86处理器将会大大提速。 Btrfs文件系统支持skinny extent,quota也进行了一些重建。 F2FS闪存文件系统重大改进。 XFS额外保护。 DRM驱动多方面改进。 Radeon DRM驱动支持golden registers、UVD视频解码、RadeonSI tiling。 引入QXL KMS驱动。
是不是看的眼花缭乱? 有木有一种冲动的感觉?
在来看看当前版本的维护者:
3.10 2013年06月30日 3.10.92 Greg Kroah-Hartman 长期支持版本,从2013年6月至2015年9月
5、我选择的是那种架构呢?
硬件很重要,同上:既然市面上(服务器市场)已经被x86完全淹没,移动端也基本被ARM霸占,那么我就选择MIPS吧!6、MIPS系列的CPU的优点在于那里?
目前市面上,不管服务器,存储等可能MIPS架构确实比较少见!那么它的优点在那里呢?1、MIPS的历史我这里不想阐述,作为精简指令的鼻祖,很早就已经支持64Bit指令和操作!
2、MIPS指令比ARM稍微多一些,执行部分运算更为灵活!
3、MIPS在架构授权方面更为开放,允许授权商自行更改设计,如更多核的设计!
国家如果要想在芯片领域不依赖欧美,那么自主就很重要,虽然目前中国龙芯确实有点扶不起,但是商业模式是随着市场而变化的,龙芯根本也不在技术,而在模式!
说这么多,然并卵,其实我觉得最重要的还是第三点!开放..对.就是开放!
我们都知道ARM公司其实业务营收完全依靠IP核收入的!
像联发科之类的企业,说好听点叫半导体企业,说不好听点就是半导体组装企业!他家的CPU本质上是高级一点的组装产品——购买现成的IP核(ARM),购买GPU核(Imagination、Mali)以及各种接口IP核(Synopsys),通过一定的流程,集成(高级组装)SOC。根本不涉及最核心的微结构设计!估计连华为海思都拼不过,也就依组装才能在山寨机和国产低端机中赚取差价的利润!
MIPS就不一样了,国内像大唐,他自己的CPU就是完全自主研发(当然架构也肯定是借鉴),但是总比组装机强!
好了,扯了这么多,开始正题!选好之后,那么开始动手干活!
7、搭建环境
0.首先你需要安装Linux操作系统推荐ubuntu 12.04 不过凡事都选择最新的,我就喜欢经典的版本!
1.去Linux Kernel官网下载内核
我选择长期支持的3.10.92吧!
2.选择交叉编译工具
交叉编译的重要性和原理我就不说了!这里说另外一点!交叉链子依赖是32位的Lib库的!
在有的64位系统中可能使用不了,这里需要安装32位lib库.
ubuntu 下执行 sudo apt-get install ia32-libs
*接下来让我开始我的内核之旅吧*
By: Keven - 点滴积累
相关文章推荐
- Centos7无法使用ssh登陆及解决方案
- Nutch2.3 + Hbase 配置到爬行
- linux下安装erlang
- Linux命令——diff
- linux:sort命令
- Linux程序设计 读笔1
- 查看linux系统下网卡是否连接网线的状态
- linux 下 .sh 文件语法
- Linux常用命令大全
- Linux命令——find
- Linux文件传输和vsftpd服务器
- Linux parted 分区及挂载
- Linux Qt 4.7.4 编译
- linux笔记:用户配置文件
- Linux下查看文件和文件夹大小
- Linux中的静态库和动态库简介及生成过程示例
- selinux 查看 关闭
- Linux内存
- Linux内存
- Linux内存