![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
linux 内核是什么, 本人有linux基础
Linux内核:Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰 Linus Torvalds为尝试在英特尔x86架构上提供自由的类Unix操作系统而开发的。该计划开始于1991年,在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。
Linux最早是由芬兰人Linus Torvalds设计的。当时由于UNⅨ的商业化,Andrew Tannebaum教授开发了Minix操作系统以便于不受AT&T许可协议的约束,为教学科研提供一个操作系统。
扩展资料:
Linux将标准的GNU许可协议改称Copyleft,以便与Copyright相对照。通用的公共许可(GPL)允许用户销售、拷贝和改变具有Copyleft的应用程序。当然这些程序也可以是Copyright的,但是你必须允许进一步的销售、拷贝和对其代码进行改变,同时也必须使他人可以免费得到修改后的源代码。事实证明,GPL对于Linux的成功起到了极大的作用。它启动了一个十分繁荣的商用Linux阶段,还为编程人员提供了一种凝聚力,诱使大家加入这个充满了慈善精神的Linux运动。
参考资料来源:百度百科-Linux
参考资料来源:百度百科-内核
内核函数对用户是完全透明的,用户想要调用内核函数只有两种途径:一是 应用程序→系统调用(程序接口)→操作系统;二是 操作命令→系统程序(作业接口)→操作系统。
内核是不是指的就是用shell控制的东西?
shell命令可能是普通的应用程序,也可能是库函数或系统调用(你可以理解为内核函数)。
如果你想查看某命令是普通shell命令,还是库函数或系统调用,可以在终端输入“man 命令”查看。如man open,左上角应该是OPEN(2)。1 表示普通shell命令,2 表示系统调用,3 表示库函数。
注:库函数事实上是内核函数的封装,介于应用程序与内核函数之间。应用程序是不能直接访问内核函数的,必须通过库函数。这是一种保护内核函数的一种机制。
事实上很多时候我们都要用到内核函数,只是我们并不知道而已,如打开文件要调用open()、关闭文件要调用close()等等
那么请问人们常说做linux驱动开发,指的是什么?比如说我新开发出一个产品要往里面写系统是不是就是在做驱动开发?
很多硬件设备不安装驱动程序是无法使用的或者性能很差,如音频设备、USB设备、网络设备。linux驱动开发是指开发基于linux系统的驱动程序。
很多嵌入式设备是没有操作系统的,只有简单的驱动程序、控制程序等,如电冰箱、微波炉、部分手机,因为功能简单,没有为其安装操作系统的必要,要安装操作系统的设备往往具有复杂的功能。我想说的是:如果只是系统和驱动是两码事。系统的出现本质上是为了更好更方便更有效率地利用硬件资源,而驱动程序的目的是让硬件设备的性能充分发挥。
文摘: 技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
地址:http://baike.baidu.com/view/573460.htm
那么fedora, suse, yellowdog就是GNU/Linux了?
我们将操作系统的代码分成2部分。内核所在的地址空间称作内核空间。而在内核以外的统称为外部管理程序,它们大部分是对外围设备的管理和界面操作。外部管理程序与用户进程所占据的地址空间称为外部空间。
通常,一个程序会跨越两个空间。当执行到内河空间的一段代码时,我们称程序处于内核态,而当程序执行到外部空间代码时,我们称程序处于用户态。 可参考《Linux就该这么学》了解更多Linux相关知识。
用户界面是操作系统的外在表象,内核是操作系统的内在核心。
内核由一系列程序组成,包括负责响应中断的中断服务程序、负责管理多个进程从而分享处理器时间的调度程序、负责管理地址空间的内存管理程序、网络、进程间通信的系统服务程序等。
内核负责管理系统的硬件设备。
内核空间表示内核拥有的内存空间,用户空间表示用户程序执行时的内存空间。
内核拥有直接访问硬件设备的所有权限,用户程序不能直接访问硬件设备,因此用户程序通过系统调用和内核通信来运行。更多Linux知识可参考《Linux就该这么学》。
广告 您可能关注的内容 |