欢迎来到天天文库
浏览记录
ID:27884575
大小:100.00 KB
页数:6页
时间:2018-12-06
《必须知道的Linux内核常识详解.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、必须知道的Linux内核常识详解一、内核功能、内核发行版1、到底什么是操作系统 (1)linux、windows、android、ucos就是操作系统; (2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlinz、zImage); (3)操作系统的主要作用就是管理计算机硬件,给应用程序提供一个运行环境。 必须知道的Linux内核常识详解一、内核功能、内核发行版1、到底什么是操作系统 (1)linux、windows、android、ucos就是操作系统; (2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlin
2、z、zImage); (3)操作系统的主要作用就是管理计算机硬件,给应用程序提供一个运行环境。 必须知道的Linux内核常识详解一、内核功能、内核发行版1、到底什么是操作系统 (1)linux、windows、android、ucos就是操作系统; (2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlinz、zImage); (3)操作系统的主要作用就是管理计算机硬件,给应用程序提供一个运行环境。 必须知道的Linux内核常识详解一、内核功能、内核发行版1、到底什么是操作系统 (1)linux、windows、android、ucos就是操作
3、系统; (2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlinz、zImage); (3)操作系统的主要作用就是管理计算机硬件,给应用程序提供一个运行环境。 2、操作系统核心功能(管理资源) (1)内存管理 如果没有操作系统,内存需要程序自己来管理。譬如在uboot中要使用哪块内存,由程序自己决定的,没有注册也没有限制。此时如果程序不小心把同一块内存重复使用,就会出现程序逻辑错误。 有了操作系统之后,操作系统负责管控所有的内存。应用程序需要使用内存时,都要向操作系统去申请和注册,由操作系统的内存管理模块来分配内存。这样好处是可以保证内存使用不
4、会冲突。 (2)进程调度 操作系统下支持多个应用程序同时运行,这是宏观上的并行。实际上在单核心CPU上微观上是不能并行的,宏观上的并行就是操作系统提供的分时复用机制。操作系统的进程调度模块负责在各个进程之间进行切换。 (3)硬件设备管理 没有操作系统时,控制任何硬件都要自己写代码,有了操作系统后操作系统本身会去控制各个硬件,应用程序就不用考虑硬件的具体细节了。 操作系统的硬件设备管理模块就是驱动模块。 (4)文件系统 文件系统是管理存储设备的一种方式。存储设备由很多扇区组成,每个扇区有512/1024/2048/4096字节,存储设备以扇区为单位进行读写。如果没有文件系统,程
5、序要自己去读写扇区,就得记得哪个文件在哪个扇区。有了文件系统之后,我们不用再关注某个文件在物理磁盘的哪个扇区,只用关注文件系统中的目录和文件名。3、操作系统扩展功能 (1)协议栈 (2)有用的应用程序包 应用程序本身不属于操作系统内核的一部分。 应用程序是给人用的,面向某种功能的,譬如ping程序用来测试网络是否联通,ifconfig程序用来配置网卡。4、内核和发行版的区别 (1)内核是操作系统内核的简称。 内核负责实现操作系统的核心功能,内核不包括应用程序。 因此只有内核是无法使用的,因为做任何事情都是通过相应的应用程序来完成的。 卖操作系统的人把内核和一些常用的应用程序
6、打包在一起提供给普通用户,这就是操作系统的发行版(也就是普通意义上的操作系统)。 (2)内核只有一个(),发行版有很多(集成不同的应用程序,譬如ubuntu、redhat、suse、centos……)。二、内核和驱动的关联1、学习linux的思路 (1)对庞大的整体要有个认识。学习路线就是先建立框架和整体,然后逐渐去学习各个细节部分,逐步细化。 (2)对各分层的作用要清楚。 (3)对层次间的关联和互相调用要理解。2、驱动属于内核的一部分 (1)驱动就是内核中的硬件设备管理模块,属于发展非常活跃的部分。 (2)驱动工作在内核态(cpu在跑操作系统)(与用户态(cpu在跑应用程序)
7、的区别:权限不同) (3)驱动程序故障可能导致整个内核崩溃。 (4)驱动程序漏洞会使内核不安全。三、内核和应用程序、根文件系统的关联1、应用和内核的关系 (1)应用程序不属于内核,而是在内核之上的; (2)应用程序工作在用户态,是受限制的; (3)应用程序故障不会导致内核崩溃; (4)应用程序通过内核定义的API接口来调用内核工作 (5)总结:应用程序是最终目标,内核就是为应用程序提供底层资源管理的服务员2
此文档下载收益归作者所有