科技
类型
可以朗读
语音朗读
572千字
字数
2016-10-01
发行日期
展开全部
主编推荐语
基于Linux内核源代码3.19.3版本,对常用的内核API作了系统归纳。
内容简介
本书编写了典型验证程序,使理论分析与实际编程做到了统一。分析的内核API模块包括:模块机制内核API、进程管理内核API、进程调度内核API、中断与异常机制内核API、时间与定时机制内核API、内存管理内核API、内核同步机制API、文件系统内核API和设备驱动与设备管理模块内核API。
目录
- 版权信息
- 前言
- 第1章 Linux内核API分析必备知识
- 1.1 Linux内核编程注意事项
- 1.2 本书中模块编译Makefile模板
- 1.3 内核调试函数printk
- 1.4 内核编译与定制
- 1.5 温馨提示
- 本章参考文献
- 第2章 内核模块机制API
- 2.1 函数:__module_address()
- 2.2 函数:__module_text_address()
- 2.3 函数:__print_symbol()
- 2.4 函数:__symbol_get()
- 2.5 函数:__symbol_put()
- 2.6 函数:find_module()
- 2.7 函数:find_symbol()
- 2.8 函数:module_is_live()
- 2.9 函数:module_put()
- 2.10 函数:module_refcount()
- 2.11 函数:sprint_symbol()
- 2.12 函数:symbol_put_addr()
- 2.13 函数:try_module_get()
- 本章参考文献
- 第3章 Linux进程管理内核API
- 3.1 函数:__task_pid_nr_ns()
- 3.2 函数:find_get_pid()
- 3.3 函数:find_pid_ns()
- 3.4 函数:find_vpid()
- 3.5 函数:get_pid()
- 3.6 函数:get_task_mm()
- 3.7 函数:mmput()
- 3.8 函数:ns_of_pid()
- 3.9 函数:pid_nr()
- 3.10 函数:pid_task()
- 3.11 函数:pid_vnr()
- 3.12 函数:put_pid()
- 3.13 函数:task_active_pid_ns()
- 3.14 函数:task_tgid_nr_ns()
- 本章参考文献
- 第4章 Linux进程调度内核API
- 4.1 函数:__wake_up()
- 4.2 函数:__wake_up_sync()
- 4.3 函数:__wake_up_sync_key()
- 4.4 函数:abort_exclusive_wait()
- 4.5 函数:add_wait_queue()
- 4.6 函数:add_wait_queue_exclusive()
- 4.7 函数:autoremove_wake_function()
- 4.8 函数:complete()
- 4.9 函数:complete_all()
- 4.10 函数:completion_done()
- 4.11 函数:current_thread_info()
- 4.12 函数:default_wake_function()
- 4.13 函数:do_exit()
- 4.14 函数:finish_wait()
- 4.15 函数:init_waitqueue_entry()
- 4.16 函数:init_waitqueue_head()
- 4.17 函数:kthread_create_on_node()
- 4.18 函数:kthread_stop()
- 4.19 函数:prepare_to_wait()
- 4.20 函数:prepare_to_wait_exclusive()
- 4.21 函数:remove_wait_queue()
- 4.22 函数:sched_setscheduler()
- 4.23 函数:set_cpus_allowed_ptr()
- 4.24 函数:set_user_nice()
- 4.25 函数:task_nice()
- 4.26 函数:try_wait_for_completion()
- 4.27 函数:wait_for_completion()
- 4.28 函数:wait_for_completion_interruptible_timeout()
- 4.29 函数:wait_for_completion_killable()
- 4.30 函数:wait_for_completion_timeout()
- 4.31 函数:wake_up_process()
- 4.32 函数:yield()
- 本章参考文献
- 第5章 Linux中断机制内核API
- 5.1 函数:__tasklet_hi_schedule()
- 5.2 函数:__tasklet_schedule()
- 5.3 函数:disable_irq()
- 5.4 函数:disable_irq_nosync()
- 5.5 函数:disable_irq_wake()
- 5.6 函数:enable_irq()
- 5.7 函数:enable_irq_wake()
- 5.8 函数:free_irq()
- 5.9 函数:irq_set_chip()
- 5.10 函数:irq_set_chip_data()
- 5.11 函数:irq_set_irq_type()
- 5.12 函数:irq_set_irq_wake()
- 5.13 函数:remove_irq()
- 5.14 函数:request_irq()
- 5.15 函数:request_threaded_irq()
- 5.16 函数:setup_irq()
- 5.17 函数:tasklet_disable()
- 5.18 函数:tasklet_disable_nosync()
- 5.19 函数:tasklet_enable()
- 5.20 函数:tasklet_hi_schedule()
- 5.21 函数:tasklet_init()
- 5.22 函数:tasklet_kill()
- 5.23 函数:tasklet_schedule()
- 5.24 函数:tasklet_trylock()
- 5.25 函数:tasklet_unlock()
- 本章参考文献
- 第6章 Linux内存管理内核API
- 6.1 函数:__free_pages()
- 6.2 函数:__get_free_pages()
- 6.3 函数:__get_vm_area()
- 6.4 函数:__krealloc()
- 6.5 函数:alloc_pages()
- 6.6 函数:alloc_pages_exact()
- 6.7 函数:find_vma()
- 6.8 函数:find_vma_intersection()
- 6.9 函数:free_pages()
- 6.10 函数:free_pages_exact()
- 6.11 函数:get_unmapped_area()
- 6.12 函数:get_zeroed_page()
- 6.13 函数:kcalloc()
- 6.14 函数:kfree()
- 6.15 函数:kmalloc()
- 6.16 函数:kmem_cache_alloc()
- 6.17 函数:kmem_cache_create()
- 6.18 函数:kmem_cache_destroy()
- 6.19 函数:kmem_cache_free()
- 6.20 函数:kmem_cache_zalloc()
- 6.21 函数:kmemdup()
- 6.22 函数:ksize()
- 6.23 函数:kstrdup()
- 6.24 函数:kstrndup()
- 6.25 函数:kzalloc()
- 6.26 函数:memdup_user()
- 6.27 函数:mempool_alloc()
- 6.28 函数:mempool_alloc_pages()
- 6.29 函数:mempool_alloc_slab()
- 6.30 函数:mempool_create()
- 6.31 函数:mempool_destroy()
- 6.32 函数:mempool_free()
- 6.33 函数:mempool_free_pages()
- 6.34 函数:mempool_free_slab()
- 6.35 函数:mempool_kfree()
- 6.36 函数:mempool_kmalloc()
- 6.37 函数:mempool_resize()
- 6.38 函数:nr_free_buffer_pages()
- 6.39 宏:page_address()
- 6.40 宏:page_cache_get()
- 6.41 宏:page_cache_release()
- 6.42 函数:page_zone()
- 6.43 宏:probe_kernel_address()
- 6.44 函数:probe_kernel_read()
- 6.45 函数:vfree()
- 6.46 函数:vma_pages()
- 6.47 函数:vmalloc()
- 6.48 函数:vmalloc_to_page()
- 6.49 函数:vmalloc_to_pfn()
- 6.50 函数:vmalloc_user()
- 本章参考文献
- 第7章 Linux内核定时机制API
- 7.1 函数:__round_jiffies()
- 7.2 函数:__round_jiffies_relative()
- 7.3 函数:__round_jiffies_up()
- 7.4 函数:__round_jiffies_up_relative()
- 7.5 函数:add_timer()
- 7.6 函数:current_kernel_time()
- 7.7 函数:del_timer()
- 7.8 函数:del_timer_sync()
- 7.9 函数:do_gettimeofday()
- 7.10 函数:do_settimeofday()
- 7.11 函数:get_seconds()
- 7.12 函数:getnstimeofday()
- 7.13 函数:init_timer()
- 7.14 函数:init_timer_deferrable()
- 7.15 函数:init_timer_key()
- 7.16 函数:init_timer_on_stack()
- 7.17 函数:init_timer_on_stack_key()
- 7.18 函数:mktime()
- 7.19 函数:mod_timer()
- 7.20 函数:mod_timer_pending()
- 7.21 函数:ns_to_timespec()
- 7.22 函数:ns_to_timeval()
- 7.23 函数:round_jiffies()
- 7.24 函数:round_jiffies_relative()
- 7.25 函数:round_jiffies_up()
- 7.26 函数:round_jiffies_up_relative()
- 7.27 函数:set_normalized_timespec()
- 7.28 函数:setup_timer()
- 7.29 函数:setup_timer_on_stack()
- 7.30 函数:timer_pending()
- 7.31 函数:timespec_add_ns()
- 7.32 函数:timespec_compare()
- 7.33 函数:timespec_equal()
- 7.34 函数:timespec_sub()
- 7.35 函数:timespec_to_ns()
- 7.36 函数:timeval_compare()
- 7.37 函数:timeval_to_ns()
- 7.38 函数:try_to_del_timer_sync()
- 本章参考文献
- 第8章 Linux内核同步机制API
- 8.1 函数:atomic_add()
- 8.2 函数:atomic_add_negative()
- 8.3 函数:atomic_add_return()
- 8.4 函数:atomic_add_unless()
- 8.5 函数:atomic_cmpxchg()
- 8.6 函数:atomic_dec()
- 8.7 函数:atomic_dec_and_test()
- 8.8 函数:atomic_inc()
- 8.9 函数:atomic_inc_and_test()
- 8.10 函数:atomic_read()
- 8.11 函数:atomic_set()
- 8.12 函数:atomic_sub()
- 8.13 函数:atomic_sub_and_test()
- 8.14 函数:atomic_sub_return()
- 8.15 函数:down()
- 8.16 函数:down_interruptible()
- 8.17 函数:down_killable()
- 8.18 函数:down_read()
- 8.19 函数:down_read_trylock()
- 8.20 函数:down_timeout()
- 8.21 函数:down_trylock()
- 8.22 函数:down_write()
- 8.23 函数:down_write_trylock()
- 8.24 函数:downgrade_write()
- 8.25 宏:init_rwsem()
- 8.26 函数:read_seqbegin()
- 8.27 函数:read_seqretry()
- 8.28 函数:sema_init()
- 8.29 宏:seqlock_init()
- 8.30 函数:up()
- 8.31 函数:up_read()
- 8.32 函数:up_write()
- 8.33 函数:write_seqlock()
- 8.34 函数:write_sequnlock()
- 本章参考文献
- 第9章 Linux文件系统内核API
- 9.1 函数:__mnt_is_readonly()
- 9.2 函数:current_umask()
- 9.3 函数:d_alloc()
- 9.4 函数:d_find_alias()
- 9.5 函数:dput()
- 9.6 函数:fget()
- 9.7 函数:generic_fillattr()
- 9.8 函数:get_fs_type()
- 9.9 函数:get_max_files()
- 9.10 函数:get_super()
- 9.11 函数:have_submounts()
- 9.12 函数:I_BDEV()
- 9.13 函数:inode_add_bytes()
- 9.14 函数:inode_get_bytes()
- 9.15 函数:inode_set_bytes()
- 9.16 函数:inode_sub_bytes()
- 9.17 函数:is_bad_inode()
- 9.18 函数:make_bad_inode()
- 9.19 函数:may_umount()
- 9.20 函数:may_umount_tree()
- 9.21 函数:mnt_want_write()
- 9.22 函数:notify_change()
- 9.23 函数:put_unused_fd()
- 9.24 函数:unshare_fs_struct()
- 9.25 函数:vfs_fstat()
- 9.26 函数:vfs_getattr()
- 9.27 函数:vfs_statfs()
- 本章参考文献
- 第10章 Linux设备驱动及设备管理API
- 10.1 函数:__class_create()
- 10.2 函数:__class_register()
- 10.3 函数:cdev_add()
- 10.4 函数:cdev_alloc()
- 10.5 函数:cdev_del()
- 10.6 函数:cdev_init()
- 10.7 宏:class_create()
- 10.8 函数:class_destroy()
- 10.9 宏:class_register()
- 10.10 函数:class_unregister()
- 10.11 函数:device_add()
- 10.12 函数:device_create()
- 10.13 函数:device_del()
- 10.14 函数:device_destroy()
- 10.15 函数:device_initialize()
- 10.16 函数:device_register()
- 10.17 函数:device_rename()
- 10.18 函数:device_unregister()
- 10.19 函数:get_device()
- 10.20 函数:put_device()
- 10.21 函数:register_chrdev()
- 10.22 函数:unregister_chrdev()
- 10.23 部分相关函数说明
- 本章参考文献
- 附录 Linux内核API快速检索表
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。