linux内核c
㈠ linux内核中GNU C和标准C的区别
Linux内核(英语:Linux kernel),是一种计算机操作系统内核,以c语言和汇编语言写成,符合POSIX标准,以GNU通用公共许可证发布。Linux内核最早是由芬兰黑客林纳斯•托瓦兹为尝试在自己的英特尔x86架构计算机上提供自由的类Unix系统而开发的。在计划的早期有一些Minix的黑客提供了协助,而今天全球有无数程序员正在为该计划无偿提供帮助。
从技术上说Linux只是一个内核。逗内核地指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核并不是一套完整的操作系统。有一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux(在该系统中包含了很多GNU计划的系统组件)。
更多相关linux的学习资料,请参考《Linux就该这么学》
㈡ linux c 内核 是做什么的
Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这里有一份Linus Torvalds当时在Usenet新闻组comp.os.minix所登载的贴子,这份着名的贴子标志着Linux计划的正式开始。
在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。
技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
目录 [隐藏]
1 架构
2 可移植性
3 专利权
4 参见
5 外部资源
[编辑]架构
今天Linux是一个一体化内核(monolithic kernel)系统。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模块化(molarize)的形式设置,并在系统运行期间可直接装载或卸载。
Linux不是微内核(microkernel)架构的事实曾经引起了Linus Torvalds与Andy Tanenbaum之间一场着名的争论。在这里可以看到当时争论的内容。
[编辑]可移植性
尽管Linus Torvalds的初衷不是使Linux成为一个可移植的操作系统,今天的Linux却是全球被最广泛移植的操作系统内核。从掌上电脑iPaq到巨型电脑IBM S/390,甚至于微软出品的游戏机XBOX都可以看到Linux内核的踪迹。Linux也是IBM超级计算机Blue Gene的操作系统。
Linux目前可以在以下结构上运行:
Acorn:Archimedes,A5000和RiscPC系列
康柏:Alpha
惠普:PA-RISC
IA64:英特尔Itanium个人电脑
IBM的S/390和AS/400
英特尔80386及之后的兼容产品:80386, 80486和整个奔腾系列;AMD Athlon, Duron, Thunderbird; Cyrix系列。对英特尔8086, 8088, 80186, 80188和80280芯片的支持正在开发中。
Mips
摩托罗拉68020及以上: 新的Amigas, 一些苹果电脑
PowerPC:所有较新的苹果电脑
SPARC和UltraSPARC:升阳微系统的工作站
Hitachi SuperH: SEGA Dreamcast
索尼公司: PlayStation 2
微软公司: Xbox
ARM系列
[编辑]专利权
原先Linus Torvalds将Linux置于一个禁止任何商业行为的条例之下,但之后改用GNU通用公共许可证第二版。该协议允许任何人对软件进行修改或发行,包括商业行为,只要其遵守该协议,所有基于Linux的软件也必须以该协议的形式发表,并提供源代码。
Linus Torvalds曾经公开声称将Linux置于GNU通用公共许可证之下是他一生中所做的“最好的决定”。
㈢ 求解,如今的Linux内核还是用C语言写的吗
是C语言写的,但不调用C标准库。因为C标准库编出来5M左右,而一个内核有时候只有1M甚至更少。所以不会用C标准库。所以你可以看到内核代码,基本都是#include<system/...>开头的
㈣ 为什么linux内核坚持用c开发 知乎
这个东西很难讲,我只能说,好比计算机,你彻底的了悟硬件,软件就是软件化的硬件。 这就好比,练习武功,如果你禅功 、道功都登峰造极,内力无限,那什么招式都可以打的出来 。
㈤ 关于linux内核定义的c语言问题
这个是定义了一个函数的指针
指针指向什么 就执行什么
㈥ 如何看懂linux内核的c语言
以下内容完全原创,注意回答时间。
Linux内核直接看代码很难读透,而且不知从何看起,可以参考
《Linux内核完全剖析--基于0.12内核》
这本书对0.12内核代码做了归类,按照操作系统教材体系的顺序进行了讲解,是学习Linux内核的经典。
这里有试看:http://book.csdn.net/bookfiles/824/
另外,你提到的这些c语言的知识国外c语言教材基本都有详细叙述,只是国内教材太过功利删掉不讲罢了。
可以查查《C Primer Plus》(有中文版,不过建议看原版)
㈦ 为什么linux的内核用c不用c++
最主要的原因是C语言写的程序你能大致知道编译器会做些什么,但C++的程序则会完全失控,你根本不知道编译器会在背后做多少事情,这对于linux内核这样的底层程序来说是很成问题的
另外,尽管C++在某些方面给开发者提供便利,但C语言如果用得好很多时候也能达到与之相当的便利程度
Linus Torvalds本人也反对使用C++开发内核,据说他曾经也试过C++,不过没搞成功,以后应该也不会再折腾了
㈧ 为什么linux的内核用c不用c++呢
这个有几个层次的原因。
一是,C语言比C++精益,语言核心很小,C++的运行时库和特性实现起来要比C的复杂的多,比如实现动态绑定的RTTI就会有开销。而操作系统核心的一个主要设计概念就是要控制内存和速度的开销,C++显然没有C语言更合适。
二是,Linux之父Linus,他自己就不喜欢C++语言,原因有很多也包括上面说的第一点,你可以在网上查到“Linus 炮轰 C++”这篇文章。
㈨ linux操作系统是用C++还是C语言写的
linux内核是用c和汇编写的,不是c++
kde桌面环境,就是用qt写的,qt是c++的一个程序开发框架
linux主要还是用c语言