当前位置:首页 > 工业技术
Linux内核API完全参考手册  第2版
Linux内核API完全参考手册  第2版

Linux内核API完全参考手册 第2版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:邱铁,陈晨,周玉编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111548775
  • 页数:640 页
图书介绍:本书基于最新的Linux内核源代码3.19.3版本,对常用的内核API作了系统归纳,并编写了典型验证程序,使理论分析与实际编程做到了统一。分析的内核API模块包括:模块机制内核API、进程管理内核API、进程调度内核API、中断与异常机制内核API、时间与定时机制内核API、内存管理内核API、内核同步机制API、文件系统内核API和设备驱动与设备管理模块内核API。
《Linux内核API完全参考手册 第2版》目录

第1章 Linux内核API分析必备知识 1

1.1 Linux内核编程注意事项 1

1.2 本书中模块编译Makefile模板 2

1.3 内核调试函数printk 3

1.4 内核编译与定制 5

1.4.1 获得Linux内核与补丁 5

1.4.2 准备编译需要的工具 5

1.4.3 解压内核 6

1.4.4 给内核打补丁 6

1.4.5 设定编译选项 7

1.4.6 编译与安装内核 9

1.4.7 创建initramfs 10

1.4.8 设置grub 11

1.4.9 启动选项 12

1.5 温馨提示 12

本章参考文献 13

第2章 内核模块机制API 14

2.1 函数:module_address() 14

2.2 函数:_module_text_address() 16

2.3 函数:_print_symbol() 19

2.4 函数:_symbol_get() 22

2.5 函数:_symbol_put() 25

2.6 函数:find_module() 27

2.7 函数:find_symbol() 31

2.8 函数:module_is_live() 36

2.9 函数:module_put() 38

2.10 函数:module_refcount() 40

2.11 函数:sprint_symbol() 42

2.12 函数:symbol_put_addr() 45

2.13 函数:try_module_get() 48

本章参考文献 50

第3章 Linux进程管理内核API 51

3.1 函数:_task_pid_nr_ns() 51

3.2 函数:find_get_pid() 54

3.3 函数:find_pid_ns() 56

3.4 函数:find_vpid() 58

3.5 函数:get_pid() 60

3.6 函数:get_task_mm() 62

3.7 函数:mmput() 66

3.8 函数:ns_of_pid() 68

3.9 函数:pid_nr() 70

3.10 函数:pid_task() 72

3.11 函数:pid_vnr() 74

3.12 函数:put_pid() 76

3.13 函数:task_active_pid_ns() 78

3.14 函数:task_tgid_nr_ns() 80

本章参考文献 82

第4章 Linux进程调度内核API 83

4.1 函数:_wake_up() 83

4.2 函数:_wake_up_sync() 88

4.3 函数:_wake_up_sync_key() 91

4.4 函数:abort_exclusive_wait() 94

4.5 函数:add_wait_queue() 99

4.6 函数:add wait_queue_exclusive() 102

4.7 函数:autoremove_wake_function() 105

4.8 函数:complete() 109

4.9 函数:complete_all() 112

4.10 函数:completion_done() 115

4.11 函数:current_thread_info() 118

4.12 函数:default_wake_function() 121

4.13 函数:do_exit() 124

4.14 函数:finish_wait() 126

4.15 函数:init_waitqueue_entry() 130

4.16 函数:init_waitqueue_head() 132

4.17 函数:kthread_create_on_node() 134

4.18 函数:kthread_stop() 136

4.19 函数:prepare_to_wait() 138

4.20 函数:prepare_to_wait_exclusive() 142

4.21 函数:remove_wait_queue() 147

4.22 函数:sched setscheduler() 150

4.23 函数:set_cpus_allowed_ptr() 154

4.24 函数:set_user_nice() 157

4.25 函数:task_nice() 160

4.26 函数:try_wait_for_completion() 162

4.27 函数:wait_for_completion() 166

4.28 函数:wait_for_completion_interruptible_timeout() 169

4.29 函数:wait_for_completion__killable() 173

4.30 函数:wait_for_completion__timeout() 177

4.31 函数:wake_up_process() 180

4.32 函数:yield() 183

本章参考文献 185

第5章 Linux中断机制内核API 187

5.1 函数:_tasklet_hi_schedule() 187

5.2 函数:_tasklet_schedule() 190

5.3 函数:disable_irq() 193

5.4 函数:disable_irq_nosync() 193

5.5 函数:disable_irq_wake() 196

5.6 函数:enable_irq() 199

5.7 函数:enable_irq_wake() 201

5.8 函数:free_irq() 204

5.9 函数:irq_set_chip() 205

5.10 函数:irq_set_chip_data() 209

5.11 函数:irq_set_irq_type() 212

5.12 函数:irq_set_irq_wake() 214

5.13 函数:remove_irq() 217

5.14 函数:request_irq() 221

5.15 函数:request_threaded_irq() 225

5.16 函数:setup_irq() 229

5.17 函数:tasklet_disable() 232

5.18 函数:tasklet_disable_nosync() 234

5.19 函数:tasklet_enable() 236

5.20 函数:tasklet_hi_schedule() 237

5.21 函数:tasklet_init() 241

5.22 函数:tasklet_kill() 243

5.23 函数:tasklet_schedule() 245

5.24 函数:tasklet_trylock() 247

5.25 函数:tasklet_unlock() 248

本章参考文献 251

第6章 Linux内存管理内核API 252

6.1 函数:_free_pages() 252

6.2 函数:_get_free_pages() 253

6.3 函数:_get_vm_area() 255

6.4 函数:_krealloc() 258

6.5 函数:alloc_pages() 261

6.6 函数:alloc_pages_exact() 264

6.7 函数:find_vma() 266

6.8 函数:find_vma_intersection() 270

6.9 函数:free_pages() 272

6.10 函数:free_pages_exact() 273

6.11 函数:get_unmapped_area() 274

6.12 函数:get_zeroed_page() 276

6.13 函数:kcalloc() 278

6.14 函数:kfree() 280

6.15 函数:kmalloc() 281

6.16 函数:kmem_cache_alloc() 283

6.17 函数:kmem_cache_create() 285

6.18 函数:kmem_cache_destroy() 288

6.19 函数:kmem_cache_free() 289

6.20 函数:kmem_cache_zalloc() 290

6.21 函数:kmemdup() 292

6.22 函数:ksize() 295

6.23 函数:kstrdup() 298

6.24 函数:kstrndup() 299

6.25 函数:kzalloc() 301

6.26 函数:memdup_user() 303

6.27 函数:mempool_alloc() 306

6.28 函数:mempool_alloc_pages() 308

6.29 函数:mempool_alloc_slab() 311

6.30 函数:mempool_create() 313

6.31 函数:mempool_destroy() 316

6.32 函数:mempool_free() 317

6.33 函数:mempool_free_pages() 318

6.34 函数:mempool_free_slab() 318

6.35 函数:mempool_kfree() 319

6.36 函数:mempool_kmalloc() 320

6.37 函数:mempool_resize() 322

6.38 函数:nr_free_buffer_pages() 325

6.39 宏:page_address() 326

6.40 宏:page_cache_get() 328

6.41 宏:page_cache_release() 330

6.42 函数:page_zone() 331

6.43 宏:probe_kernel_address() 334

6.44 函数:probe_kernel_read() 336

6.45 函数:vfree() 338

6.46 函数:vma_pages() 339

6.47 函数:vmalloc() 341

6.48 函数:vmalloc_to_page() 343

6.49 函数:vmalloc to_pfn() 345

6.50 函数:vmalloc_user() 347

本章参考文献 349

第7章 Linux内核定时机制API 350

7.1 函数:_round_jiffies() 350

7.2 函数:_round_jiffies_relative() 352

7.3 函数:_round_jiffies_up() 354

7.4 函数:_round_jiffies_up_relative() 356

7.5 函数:add_timer() 358

7.6 函数:current_kernel_time() 359

7.7 函数:del_timer() 361

7.8 函数:del_timer_sync() 364

7.9 函数:do_gettimeofday() 367

7.10 函数:do_settimeofday() 369

7.11 函数:get_seconds() 372

7.12 函数:getnstimeofday() 374

7.13 函数:init_timer() 376

7.14 函数:init_timer_deferrable() 378

7.15 函数:init_timer_key() 380

7.16 函数:init_timer_on_stack() 382

7.17 函数:init_timer_on_stack_key() 385

7.18 函数:mktime() 387

7.19 函数:mod_timer() 389

7.20 函数:mod_timer_pending() 392

7.21 函数:ns_to_timespec() 394

7.22 函数:ns_to_timeval() 396

7.23 函数:round_jiffies() 398

7.24 函数:round_jiffies_relative() 401

7.25 函数:round_jiffies_up() 404

7.26 函数:round_jiffies_up_relative() 406

7.27 函数:set_normalized_timespec() 409

7.28 函数:setup_timer() 411

7.29 函数:setup_timer on_stack() 413

7.30 函数:timer_pending() 415

7.31 函数:timespec_add_ns() 417

7.32 函数:timespec_compare() 420

7.33 函数:timespec_equal() 422

7.34 函数:timespec_sub() 424

7.35 函数:timespec_to_ns() 426

7.36 函数:timeval_compare() 428

7.37 函数:timeval_to_ns() 431

7.38 函数:try_to_del_timer_sync() 433

本章参考文献 435

第8章 Linux内核同步机制API 436

8.1 函数:atomic_add() 436

8.2 函数:atomic_add_negative() 438

8.3 函数:atomic_add_return() 440

8.4 函数:atomic_add_unless() 442

8.5 函数:atomic_cmpxchg() 444

8.6 函数:atomic_dec() 446

8.7 函数:atomic_dec_and_test() 448

8.8 函数:atomic_inc() 449

8.9 函数:atomic_inc_and_test() 451

8.10 函数:atomic_read() 453

8.11 函数:atomic_set() 453

8.12 函数:atomic_sub() 455

8.13 函数:atomic_sub_and_test() 457

8.14 函数:atomic_sub_return() 459

8.15 函数:down() 461

8.16 函数:down_interruptible() 463

8.17 函数:down_killable() 465

8.18 函数:down_read() 468

8.19 函数:down_read_trylock() 470

8.20 函数:down_timeout() 472

8.21 函数:down_trylock() 474

8.22 函数:down_write() 476

8.23 函数:down_write_trylock() 479

8.24 函数:downgrade_write() 481

8.25 宏:init_rwsem() 483

8.26 函数:read_seqbegin() 486

8.27 函数:read_seqretry() 488

8.28 函数:sema_init() 490

8.29 宏:seqlock_init() 492

8.30 函数:up() 494

8.31 函数:up_read() 496

8.32 函数:up_write() 497

8.33 函数:write_seqlock() 498

8.34 函数:write_sequnlock() 498

本章参考文献 499

第9章 Linux文件系统内核API 500

9.1 函数:_mnt_is_readonly() 500

9.2 函数:current_umask() 502

9.3 函数:d_alloc() 504

9.4 函数:d_find_alias() 507

9.5 函数:dput() 510

9.6 函数:fget() 512

9.7 函数:generic_fillattr() 515

9.8 函数:get_fs_type() 517

9.9 函数:get_max_files() 520

9.10 函数:get_super() 522

9.11 函数:have_submounts() 525

9.12 函数:I_BDEV() 527

9.13 函数:inode_add_bytes() 529

9.14 函数:inode_get_bytes() 531

9.15 函数:inode_set_bytes() 533

9.16 函数:inode_sub_bytes() 535

9.17 函数:is_bad_inode() 537

9.18 函数:make_bad_inode() 538

9.19 函数:may_umount() 540

9.20 函数:may_umount_tree() 542

9.21 函数:mnt_want_write() 544

9.22 函数:notify_change() 545

9.23 函数:put_unused_fd() 547

9.24 函数:unshare_fs_struct() 549

9.25 函数:vfs_fstat() 551

9.26 函数:vfs_getattr() 553

9.27 函数:vfs_statfs() 556

本章参考文献 559

第10章 Linux设备驱动及设备管理API 560

10.1 函数:_class_create() 560

10.2 函数:_class_register() 562

10.3 函数:cdev_add() 563

10.4 函数:cdev_alloc() 564

10.5 函数:cdev_del() 566

10.6 函数:cdev_init() 572

10.7 宏:class_create() 577

10.8 函数:class_destroy() 578

10.9 宏:class_register() 581

10.10 函数:class_unregister() 582

10.11 函数:device_add() 589

10.12 函数:device_create() 589

10.13 函数:device_del() 592

10.14 函数:device_destroy() 592

10.15 函数:device_initialize() 599

10.16 函数:device_register() 606

10.17 函数:device_rename() 607

10.18 函数:device_unregister() 613

10.19 函数:get_device() 620

10.20 函数:put_device() 621

10.21 函数:register_chrdev() 625

10.22 函数:unregister_chrdev() 626

10.23 部分相关函数说明 634

本章参考文献 635

附录 Linux内核API快速检索表 636

相关图书
作者其它书籍
返回顶部