内容简介
本书是一本全面介绍Linux内核API的参考手册,由邱铁编著,机械工业出版社出版。内容涵盖Linux内核提供的各种接口函数、数据结构、宏定义等,旨在帮助开发者深入理解和高效使用内核API进行系统编程和驱动开发。
全书按照功能模块划分章节,详细讲解了进程管理、内存管理、文件系统、网络协议栈、设备驱动等核心子系统的API。每个API均包含原型说明、参数解释、功能描述、使用示例及注意事项,便于读者快速查阅和学习。
本书适合Linux内核开发者、驱动工程师、系统程序员以及相关领域的研究人员使用,也可作为高等院校计算机相关专业的教学参考书。通过本书,读者能够系统掌握Linux内核API的用法,提升底层开发能力。
目录
本书使用方法
Linux内核API分析必备知识
检索方法1
检索方法2
第1章 Linux内核API分析必备知识
Linux内核编程注意事项
本书中模块编译Makefile模板
内核调试函数printk
内核编译与定制
温馨提示
参考文献
第2章 Linux内核模块机制API
函数:__module_address()
函数:__module_ref_addr()
函数:__module_text_address()
函数:__print_symbol()
函数:__symbol_get()
函数:__symbol_put()
函数:find_module()
函数:find_symbol()
函数:module_is_live()
函数:module_put()
函数:module_refcount()
函数:sprint_symbol()
函数:symbol_put_addr()
函数:try_module_get()
函数:use_module()
参考文献
第3章 Linux进程管理内核API
函数:__task_pid_nr_ns()
函数:find_get_pid()
函数:find_pid_ns()
函数:find_task_by_pid_ns()
函数:find_task_by_pid_type_ns()
函数:find_task_by_vpid()
函数:find_vpid()
函数:get_pid()
函数:get_task_mm()
函数:is_container_init()
函数:kernel_thread()
函数:mmput()
函数:ns_of_pid()
函数:pid_nr()
函数:pid_task()
函数:pid_vnr()
函数:put_pid()
函数:task_active_pid_ns()
函数:task_tgid_nr_ns()
参考文献
第4章 Linux进程调度内核API
函数:__wake_up()
函数:__wake_up_sync()
函数:__wake_up_sync_key()
函数:abort_exclusive_wait()
函数:add_preempt_count()
函数:add_wait_queue()
函数:add_wait_queue_exclusive()
函数:autoremove_wake_function()
函数:complete()
函数:complete_all()
函数:complete_done()
函数:current_thread_info()
函数:default_wake_function()
函数:do_exit()
函数:finish_wait()
函数:init_waitqueue_entry()
函数:init_waitqueue_head()
函数:interruptible_sleep_on()
函数:interruptible_sleep_on_timeout()
函数:preempt_notifier_register()
函数:preempt_notifier_unregister()
函数:prepare_to_wait()
函数:prepare_to_wait_exclusive()
函数:remove_wait_queue()
函数:sched_setscheduler()
函数:set_cpus_allowed_ptr()
函数:set_user_nice()
函数:sleep_on()
函数:sleep_on_timeout()
函数:sub_preempt_count()
函数:task_nice()
函数:try_wait_for_completion()
函数:wait_for_completion()
函数:wait_for_completion_interruptible()
函数:wait_for_completion_interruptible_timeout()
函数:wait_for_completion_killable()
函数:wait_for_completion_timeout()
函数:wake_up_process()
函数:yield()
参考文献
第5章 Linux中断机制内核API
函数:__set_irq_handler()
函数:__tasklet_hi_schedule()
函数:__tasklet_schedule()
函数:disable_irq()
函数:disable_irq_nosync()
函数:disable_irq_wake()
函数:enable_irq()
函数:enable_irq_wake()
函数:free_irq()
函数:kstat_irqs_cpu()
函数:remove_irq()
函数:request_irq()
函数:request_threaded_irq()
函数:set_irq_chained_handler()
函数:set_irq_chip()
函数:set_irq_chip_data()
函数:set_irq_data()
函数:set_irq_handler()
函数:set_irq_type()
函数:set_irq_wake()
函数:setup_irq()
函数:tasklet_disable()
函数:tasklet_disable_nosync()
函数:tasklet_enable()
函数:tasklet_hi_enable()
函数:tasklet_hi_schedule()
函数:tasklet_init()
函数:tasklet_kill()
函数:tasklet_shedule()
函数:tasklet_trylock()
函数:tasklet_unlock()
参考文献
第6章 Linux内存管理内核API
函数:__free_pages()
函数:__get_free_pages()
函数:__get_vm_area()
函数:__krealloc()
函数:alloc_pages()
函数:alloc_pages_exact()
函数:alloc_vm_area()
函数:do_brk()
函数:do_mmap()
函数:do_mmap_pgoff()
函数:do_munmap()
函数:find_vma()
函数:find_vma_intersection()
函数:free_pages()
函数:free_pages_exact()
函数:free_vm_area()
函数:get_unmapped_area()
函数:get_user_pages()
函数:get_user_pages_fast()
函数:get_vm_area_size()
函数:get_zeroed_page()
函数:kcalloc()
函数:kfree()
函数:kmalloc()
函数:kmap_high()
函数:kmem_cache_alloc()
函数:kmem_cache_create()
函数:kmem_cache_destroy()
函数:kmem_cache_free()
函数:kmem_cache_zalloc()
函数:kmemdup()
函数:krealloc()
函数:ksize()
函数:kstrdup()
函数:kstrndup()
函数:kunmap_high()
函数:kzalloc()
函数:memdup_user()
函数:mempool_alloc()
函数:mempool_alloc_pages()
函数:mempool_alloc_slab()
函数:mempool_create()
函数:mempool_create_kzalloc_pool()
函数:mempool_destroy()
函数:mempool_free()
函数:mempool_free_pages()
函数:mempool_free_slab()
函数:mempool_kfree()
函数:mempool_kmalloc()
函数:mempool_kzalloc()
函数:mempool_resize()
函数:nr_free_buffer_pages()
宏:page_address()
宏:page_cache_get()
宏:page_cache_release()
函数:page_zone()
宏:probe_kernel_address()
函数:probe_kernel_read()
函数:probe_kernel_write()
函数:vfree()
函数:vma_pages()
函数:vmalloc()
函数:vmalloc_to_page()
函数:vmalloc_to_pfn()
函数:vmalloc_user()
参考文献
第7章 Linux内核定时机制API
函数:__round_jiffies()
函数:__round_jiffies_relative()
函数:__round_jiffies_up()
函数:__round_jiffies_up_relative()
函数:__timecompare_update()
函数:add_timer()
函数:current_kernel_time()
函数:del_timer()
函数:del_timer_sync()
函数:do_gettimeofday()
函数:do_settimeofday()
函数:get_seconds()
函数:getnstimeofday()
函数:init_timer()
函数:init_timer_deferrable()
函数:init_timer_deferrable_key()
函数:init_timer_key()
函数:init_timer_on_stack()
函数:init_timer_on_stack_key()
函数:mktime()
函数:mod_timer()
函数:mod_timer_pending()
函数:ns_to_timespec()
函数:ns_to_timeval()
函数:round_jiffies()
函数:round_jiffies_relative()
函数:round_jiffies_up()
函数:round_jiffies_up_relative()
函数:set_normalized_timespec()
函数:setup_timer()
函数:setup_timer_key()
函数:setup_timer_on_stack()
函数:setup_timer_on_stack_key()
函数:timecompare_offset()
函数:timecompare_transform()
函数:timecompare_update()
函数:timer_pending()
函数:timespec_add_ns()
函数:timespec_compare()
函数:timespec_equal()
函数:timespec_sub()
函数:timespec_to_ns()
函数:timeval_compare()
函数:timeval_to_ns()
函数:try_to_del_timer_sync()
参考文献
第8章 Linux内核同步机制API
函数:atomic_add()
函数:atomic_add_negative()
函数:atomic_add_return()
函数:atomic_add_unless()
宏:atomic_cmpxchg()
函数:atomic_dec()
函数:atomic_dec_and_test()
函数:atomic_inc()
函数:atomic_inc_and_test()
宏:atomic_read()
宏:atomic_set()
函数:atomic_sub()
函数:atomic_sub_and_test()
函数:atomic_sub_return()
函数:down()
函数:down_interruptible()
函数:down_killable()
函数:down_read()
函数:down_read_trylock()
函数:down_timeout()
函数:down_trylock()
函数:down_write()
函数:down_write_trylock()
函数:downgrade_write()
宏:init_rwsem()
宏:read_lock()
函数:read_seqbegin()
函数:read_seqretry()
宏:read_trylock()
宏:read_unlock()
宏:rwlock_init()
函数:sema_init()
宏:seqlock_init()
宏:spin_can_lock()
宏:spin_lock()
宏:spin_lock_bh()
宏:spin_lock_init()
宏:spin_lock_irq()
宏:spin_lock_irqsave()
宏:spin_trylock()
宏:spin_unlock()
宏:spin_unlock_bh()
宏:spin_unlock_irq()
宏:spin_unlock_irqrestore()
宏:spin_unlock_wait()
函数:up()
函数:up_read()
函数:up_write()
宏:write_lock()
函数:write_seqlock()
函数:write_sequnlock()
宏:write_trylock()
宏:write_unlock()
参考文献
第9章 Linux文件系统内核API
函数:__mnt_is_readonly()
函数:current_umask()
函数:d_alloc()
函数:d_alloc_root()
函数:d_delete()
函数:d_find_alias()
函数:d_invalidate()
函数:d_move()
函数:d_validate()
函数:dput()
函数:fget()
函数:find_inode_number()
函数:generic_fillattr()
函数:get_empty_filp()
函数:get_fs_type()
函数:get_max_files()
函数:get_super()
函数:get_unused_fd()
函数:have_submounts()
函数:I_BDEV()
函数:iget_locked()
函数:inode_add_bytes()
函数:inode_get_bytes()
函数:inode_needs_sync()
函数:inode_set_bytes()
函数:inode_setattr()
函数:inode_sub_bytes()
函数:invalidate_inodes()
函数:is_bad_inode()
函数:make_bad_inode()
函数:may_umount()
函数:may_umount_tree()
函数:mnt_pin()
函数:mnt_unpin()
函数:mnt_want_write()
函数:new_inode()
函数:notify_change()
函数:put_unused_fd()
函数:register_filesystem()
函数:unregister_filesystem()
函数:unshare_fs_struct()
函数:vfs_fstat()
函数:vfs_getattr()
函数:vfs_statfs()
参考文献
第10章 Linux设备驱动及设备管理API
函数:__class_create()
函数:__class_register()
函数:cdev_add()
函数:cdev_alloc()
函数:cdev_del()
函数:cdev_init()
宏:class_create()
函数:class_destroy()
宏:class_register()
函数:class_unregister()
函数:device_add()
函数:device_create()
函数:device_del()
函数:device_destroy()
函数:device_initialize()
函数:device_register()
函数:device_rename()
函数:device_unregister()
函数:get_device()
函数:put_device()
函数:register_chrdev()
函数:register_keyboard_notifier()
函数:unregister_chrdev()
函数:unregister_keyboard_notifier()
部分相关函数说明
参考文献
附录 Linux内核API快速检索表
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,没有任何商业目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48时间内予以删除。