出版时间:2011-1 出版社:机械工业出版社 作者:邱铁,周玉,邓莹莹 编著 页数:684
Tag标签:无
前言
进入21世纪,IT技术以前所未有的速度向前发展。Linux作为源码开放的操作系统,在众多爱好者的共同努力下,不断成长并趋于完善。由于GNU计划所开发的各种组件和系统发行版所必备的软件可以运行于Linux内核之上,整个Linux内核符合通用公共许可证(General Public License,GNU),使得Linux在PC机、服务器以及嵌入式系统开发等领域得到了广泛应用。编者在长期的Linux内核开发中发现,当前介绍内核API方面的书籍很少。目前市面上关于Linux内核编程开发方面的书可以分为三类:第一类,Linux内核分析,所分析的内核源码版本一般相对较早,而对于最新版本的内核源代码则很少提及;第二类,Linux编程,主要是以用户层面上的编程为主,一般涉及用户API;第三类,嵌入式Linux开发,相对于特定的硬件平台,只对所用到的特定内核API作简要说明。对于使用Linux内核进行编程开发,需要全面了解内核API,而目前市面上找不到一本能够全面介绍最新的Linux内核API的图书,这也正是本书写作的目的所在。
内容概要
Linux作为源码开放的操作系统已经广泛应用于计算机与嵌入式设备,因此学会Linux内核开发与编程显得越来越重要。本书以最新的Linux内核版本2.6.30为依据,对常用的内核API作了系统分析和归纳,设计了典型实例并对开发场景进行了详细讲解。本书中分析的内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。本书立足Linux内核API分析,深入实践,内容翔实,读者可以从低起点进行高效的内核分析与编程实践。本书可作为高等院校计算机、电子、信息类大学生及研究生进行Linux操作系统学习和编程的教材或参考书,也可作为Linux开发人员和广大Linux编程开发爱好者的参考用书。
书籍目录
前言 本书使用方法 第1章 Linux内核API分析必备知识 1 Linux内核编程注意事项 1 本书中模块编译Makefile模板 1 内核调试 函数printk 2 内核编译与定制 4 温馨提示 10 参考文献 11 第2章 Linux内核模块机制API 12 函数:__module_address ( ) 12 函数:__module_ref_addr ( ) 14 函数:__module_text_address ( ) 16 函数:__print_symbol ( ) 18 函数:__symbol_get ( ) 20 函数:__symbol_put ( ) 22 函数:find_module ( ) 24 函数:find_symbol ( ) 27 函数:module_is_live ( ) 30 函数:module_put ( ) 32 函数:module_refcount ( ) 34 函数:sprint_symbol ( ) 36 函数:symbol_put_addr ( ) 38 函数:try_module_get ( ) 40 函数:use_module ( ) 42 参考文献 44 第3章 Linux进程管理内核API 45 函数:__task_pid_nr_ns( ) 45 函数:find_get_pid( ) 47 函数:find_pid _ns( ) 49 函数:find_task_by_pid_ns( ) 51 函数:find_task_by_pid_type _ns( ) 53 函数:find_task_by_vpid( ) 55 函数:find_vpid( ) 57 函数:get_pid( ) 59 函数:get_task_mm( ) 60 函数:is_container_init( ) 63 函数:kernel_thread( ) 65 函数:mmput( ) 67 函数:ns_of_pid( ) 69 函数:pid_nr( ) 71 函数:pid_task( ) 73 函数:pid_vnr( ) 75 函数:put_pid( ) 77 函数:task_active_pid_ns( ) 79 函数:task_tgid_nr_ns( ) 81 参考文献 83 第4章 Linux进程调度内核API 84 第5章 Linux中断机制内核API 189 第6章 Linux内存管理内核API 258 第7章 Linux内核定时机制API 368 第8章 Linux内核同步机制API 457 第9章 Linux文件系统内核API 539 第10章 Linux设备驱动及设备管理API 614 部分相关 函数说明 679 参考文献 679 附录 Linux内核API快速检索表
章节摘录
插图:Linux可以运行在两种模式下:用户模式和内核模式。当我们编写一个普通程序时,有时会包含文件,也就是说我们使用了C标准库,这是典型的用户模式编程,在这种情况下,用户模式的应用程序要链接标准C库。在内核模式下不存在1ibc库,也就没有这些函数供我们调用。此外,在内核模式下编程还存在一些限制:·不能使用浮点运算。因为Linux内核在切换模式时不保存处理器的浮点状态。·不要让内核程序进行长时间等待。Linux操作系统本身是抢占式的,但是内核是非抢占内核,就是说用户空间的程序可以抢占运行,但是内核空间程序不可以。·尽可能保持代码的整洁性。内核调试不像调试应用程序那样方便,因此,在前期代码编写的过程中保持代码的整洁易懂,将大大方便后期的调试。·在内核模式下编程,系统内的所有资源都是由内核来统一调配的,并且数量有限,因此申请资源用完后一定要进行释放,避免出现死锁情况。·Linux内核API有很多配对使用,例如,文件引用计数有加操作,也会有相应的减操作。如果在实验中进行了“引用计数”加操作,函数执行后未进行减操作还原,那么可能会出现系统崩溃。本书中的所有内核API验证实例都是在Linux内核模式下进行编程与验证的。
编辑推荐
《Linux内核API完全参考手册》特色:国内外首本全面介绍Linux内核API开发与编程的手册;基于最新的Linux内核版本2.6.30,设计内核API典型实例,并对开发场景进行详细讲解;对Linux内核系统知识进行精心策划,以内核模块方式对内核API进行系统分析;基于系统功能模块内部,内核API以函数名称排序,方便快速检索;立足于基础,高效学习理论配合内核API经典实例,深入Linux编程实践;为Linux内核开发与编程提供高效指导与参考。《Linux内核API完全参考手册》主要内容:Linux内核模块机制APILinux进程管理内核APILinux进程调度内核APILinux中断机制内核APILinux内存管理内核APILinux内核定时机制APILinux内核同步机制APILinux文件系统内核APILinux设备驱动与设备管理API首本Linux内核API手册,多重索引方式方便速查。
图书封面
图书标签Tags
无
评论、评分、阅读与下载