(原创)第一章 Introduction to the Linux Ker

系统 1635 0
一直对linux内核很感兴趣,早就想深入的学习下,由于自己目前的水平还比较菜,所以在blog中记录下学习中的心得和体会,一则自己做一个记录,同时也可以督促自己的学习进度;二来可以抛砖引玉,希望和我一样对内核有兴趣的朋友们多多指点,共同进步。


    [ 第一章 ] Introduction to the Linux Kernel


主要是一些概述性的内容,主要包括:
1、Unix和Linux发展的背景和历史,这部分没有什么可说的,作为常识了解吧。
2、操作系统和内核概述
(1)内核主要组件
内核有事也被称为是supervisor或者core之类,典型的内核组件通常包括
用于中断服务请求的interrupt handlers
用于为多进程分配处理其时间的调度器scheduler
用于管理进程地址空间的memory management system
以及提供进程间通信等的系统服务


(2)MMU和地址空间
对于带有受保护内存管理单元(Protected MMU)的操作系统来说,kernel通常是处在比一般用户程序更高级的状态,kernel具有受保护的内存空间和对硬件的直接访问,这种更高层的状态和受保护的内存空间一起,称为内核空间(Kernel Space);应用程序则运行在用户空间(User space),只能看到系统可用资源的一个子集并无法执行某些系统功能。

在运行内核时,系统在内核空间以内核模式运行,当运行用户应用程序时,系统在用户空间以User Mode运行。
下图为Linux系统体系结构的示意(引自 参考资料1)
(原创)第一章 Introduction to the Linux Kernel
(3)中断
几乎所有的体系结构,都提供了中断的概念,当硬件需要和系统通信时,它会发起一个中断从而以异步方式中断内核。
中断是以数字标示的,内核根据中断号来执行指定的中断处理器(interrupt handler)来处理和响应中断。

目前下面的这句话没有理解,等读到后续章节再回过头看吧
To provide synchronization, the kernel can usually disable interrupts either all interrupts or just one specific interrupt number.

在很多操作系统中,包括Linux,中断处理器并不在进程上下文中运行。相反,他们运行在一个特殊的中断上下文环境中,这个context并不与任何进程存在关联。这个特殊的上下文环境仅仅是为了中断处理器更快的响应中断,然后退出。

上下文环境表述了内核的活动范围,我们可以概括的说,在任何一个时刻,内核在做下面三件事其中之一:

在内核空间,进程上下文中,为进程执行
在内核空间,中断上下文中,不与任何进程关联,处理中断
在用户空间,在进程中执行用户代码


参考资料:
1、Linux Kernel Development (2nd Edition) 英文影印版 Robert Love 机械工业出版社
2、Anatomy of the Linux kernel
From http://www.ibm.com/developerworks/linux/library/l-linux-kernel/

(原创)第一章 Introduction to the Linux Kernel


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论