大家好,今天小编关注到一个比较有意思的话题,就是关于linux学习内核技术的问题,于是小编就整理了3个相关介绍Linux学习内核技术的解答,让我们一起看看吧。
Linux内核是如何创建线程的,它与windows有哪些不同?
首先关于内核心进程创建,涉及到底层的东西,个人认为没必要太深入,了解他是怎么实现的就可了,如果确实要深入理解,那就得去看源码了。
1.Linux 进程创建:Linux继承了UNIX的进程创建方式,用的是fork API函数,什么是fork呢,就是先clone然后在分支,父子进程各干各的。
2.Windows
进程创建:Windows没有fork,但是有CreateProcess这个API函数,用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。Linuxkernel内核升级有什么用啊?
支持新硬件解决bug提升效率,支持新功能,主要面向网络、开发、服务应用的。不升级也没坏处,如果你注意RH系列的操作系统就该知道,面向个人桌面的fedora每半年就会出一个新版本,内核都已经升级到2.6.3x了。
而面向服务器领域的RHEL和CentOS才到5.5,内核版本不详,但5.3的内核才2.6.18,差了十来个档次。就是因为服务器领域的操作系统要考虑更多稳定方面的因素才不会随意地发布新版。
如果你是个人电脑,升级内核就当练手了。不过提醒,如果你没玩过,升级内核的后果一是系统崩溃,二是耗时极长劳心费神,三是不知筛选升级内容导致内核超大系统效率反而下降。
Linus大学时期写出了linux内核,那个最初的版本仅就技术而言,有多厉害?
当时很多人都在搞,最早期是minux,无论如何,不是代码有多厉害而是在合适的时间做了合适的事情并且发展很好,成就了今天。代码本身,即便是现在也没有高不高明一说,大多数操作系统的核心代码都是高质量代码,只是一些具体的逻辑操作(例如 是否区分大小写)的原则不同的实现,比较无意义。
Linux诞生之初是林纳斯花了两月时间写的勉强可以运行且漏洞百出的Linux0.01版本,他写Linux的初衷很简单,只想看看电脑硬件是如何协同运行的,也就是说他想通过程序来玩硬件。文雅一点就是他想学习。
后来玩腻了,也觉得自己写的东西没多大卵用,所以就本着极客精神放到互联网上给大家一起玩,还引入了开源协议。随着玩这个小系统的人越来越多,大量高手都把自己的业余时间与构思添加如Linux中,当Linux颇具规模的时候被各方盯上想收入囊中,但此时的Linux已经深陷开源泥潭,当初的开源协议让Linux根本无法为林纳斯获利。
当Linux1.0版本出来时它的光芒足吸引了大量想得到系统最终控制权且不想交授权费的商人。
加上Linux有全世界顶尖高手的日夜维护,其生态圈已经颇具规模,同时Linux被大量极客玩家塞进各式各样机器里玩,故而到了今天,Linux只是一个内核,允许全世界每一个玩家下载下来自己修改,想怎么玩就怎么玩 永远没人问你要授权费 连特朗普也不行,由于当初的开源协议,林纳斯虽说贵为生父,可他在开源协议面前也无法说是自己的,他除了获得名声之外自己没从Linux里获得一分钱盈利。
说那个0.01版本有多厉害?其实它只是一个漏洞百出的单片机版本,勉强可以运行而已,并不是现在的支持多CPU,多线程,多任务,多用户。稍有脑洞的程序猿都可以为单片机写一个运行程序,真正厉害的是开源之后的那些极客为Linux写的补丁,已经完全把0.01版本的框架拆得面目全非,林纳斯只是做了一个开头,今天的Linux是全世界极客智慧的结晶。
到此,以上就是小编对于linux学习内核技术的问题就介绍到这了,希望介绍关于linux学习内核技术的3点解答对大家有用。