linux内核api完全参考手册 (邱铁,周玉,邓莹莹) pdf扫描版

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
函数:__wake_up( )        84
函数:__wake_up_sync( )        87
函数:__wake_up_sync_key( )        89
函数:abort_exclusive_wait( )        91
函数:add_preempt_count( )        95
函数:add_wait_queue( )        97
函数:add_wait_queue_exclusive( )        100
函数:autoremove_wake_function( )        102
函数:complete( )        106
函数:complete_all( )        108
函数:complete_done( )        111
函数:current_thread_info( )        113
函数:default_wake_function( )        115
函数:do_exit( )        118
函数:finish_wait( )        120
函数:init_waitqueue_entry( )        123
函数:init_waitqueue_head( )        125
函数:interruptible_sleep_on( )        127
函数:interruptible_sleep_on_timeout( )        130
函数:preempt_notifier_register ( )        133
函数:preempt_notifier_unregister ( )        136
函数:prepare_to_wait( )        139
函数:prepare_to_wait_exclusive( )        142
函数:remove_wait_queue( )        146
函数:sched_setscheduler( )        149
函数:set_cpus_allowed_ptr( )        152
函数:set_user_nice( )        155
函数:sleep_on( )        158
函数:sleep_on_timeout( )        160
函数:sub_preempt_count( )        162
函数:task_nice( )        164
函数:try_wait_for_completion( )        166
函数:wait_for_completion( )        169
函数:wait_for_completion_interruptible( )        172
函数:wait_for_completion_interruptible_ timeout( )        175
函数:wait_for_completion_killable( )        179
函数:wait_for_completion_timeout( )        182
函数:wake_up_process( )        184
函数:yield( )        187
参考文献        188
第5章 linux中断机制内核api        189
函数:__set_irq_handler( )        189
函数:__tasklet_hi_schedule( )        191
函数:__tasklet_schedule( )        194
函数:disable_irq( )        196
函数:disable_irq_nosync( )        196
函数:disable_irq_wake( )        198
函数:enable_irq( )        201
函数:enable_irq_wake( )        203
函数:free_irq( )        205
函数:kstat_irqs_cpu( )        207
函数:remove_irq( )        209
函数:request_irq( )        213
函数:request_threaded_irq( )        216
函数:set_irq_chained_handler( )        219
函数:set_irq_chip( )        221
函数:set_irq_chip_data( )        225
函数:set_irq_data( )        227
函数:set_irq_handler( )        229
函数:set_irq_type( )        232
函数:set_irq_wake( )        234
函数:setup_irq( )        237
函数:tasklet_disable( )        239
函数:tasklet_disable_nosync( )        241
函数:tasklet_enable( )        243
函数:tasklet_hi_enable( )        244
函数:tasklet_hi_schedule( )        246
函数:tasklet_init( )        248
函数:tasklet_kill( )        250
函数:tasklet_shedule( )        252
函数:tasklet_trylock( )        254
函数:tasklet_unlock( )        255
参考文献        257
第6章 linux内存管理内核api        258
函数:__free_pages( )        258
函数:__get_free_pages( )        258
函数:__get_vm_area( )        260
函数:__krealloc( )        262
函数:alloc_pages( )        265
函数:alloc_pages_exact( )        268
函数:alloc_vm_area( )        270
函数:do_brk( )        272
函数:do_mmap( )        273
函数:do_mmap_pgoff( )        276
函数:do_munmap( )        279
函数:find_vma( )        281
函数:find_vma_intersection( )        284
函数:free_pages( )        286
函数:free_pages_exact( )        287
函数:free_vm_area( )        288
函数:get_unmapped_area( )        288
函数:get_user_pages( )        290
函数:get_user_pages_fast( )        292
函数:get_vm_area_size( )        294
函数:get_zeroed_page( )        295
函数:kcalloc( )        297
函数:kfree( )        299
函数:kmalloc( )        299
函数:kmap_high( )        301
函数:kmem_cache_alloc( )        303
函数:kmem_cache_create( )        305
函数:kmem_cache_destroy( )        308
函数:kmem_cache_free( )        308
函数:kmem_cache_zalloc( )        309
函数:kmemdup( )        311
函数:krealloc( )        313
函数:ksize( )        315
函数:kstrdup( )        318
函数:kstrndup( )        319
函数:kunmap_high( )        321
函数:kzalloc( )        321
函数:memdup_user( )        323
函数:mempool_alloc( )        325
函数:mempool_alloc_pages( )        327
函数:mempool_alloc_slab( )        329
函数:mempool_create( )        331
函数:mempool_create_kzalloc_pool ( )        333
函数:mempool_destroy( )        334
函数:mempool_free( )        335
函数:mempool_free_pages( )        335
函数:mempool_free_slab( )        336
函数:mempool_kfree( )        336
函数:mempool_kmalloc( )        337
函数:mempool_kzalloc( )        339
函数:mempool_resize( )        341
函数:nr_free_buffer_pages( )        343
宏:page_address( )        345
宏:page_cache_get( )        346
宏:page_cache_release( )        348
函数:page_zone( )        349
宏:probe_kernel_address( )        352
函数:probe_kernel_read( )        354
函数:probe_kernel_write( )        355
函数:vfree( )        357
函数:vma_pages( )        358
函数:vmalloc( )        359
函数:vmalloc_to_page( )        361
函数:vmalloc_to_pfn( )        363
函数:vmalloc_user( )        365
参考文献        366
第7章 linux内核定时机制api        368
函数:__round_jiffies( )        368
函数:__round_jiffies_relative( )        369
函数:__round_jiffies_up( )        371
函数:__round_jiffies_up_relative( )        373
函数:__timecompare_update( )        375
函数:add_timer( )        377
函数:current_kernel_time( )        378
函数:del_timer( )        380
函数:del_timer_sync( )        382
函数:do_gettimeofday( )        384
函数:do_settimeofday( )        386
函数:get_seconds( )        388
函数:getnstimeofday( )        390
函数:init_timer( )        391
函数:init_timer_deferrable( )        393
函数:init_timer_deferrable_key( )        395
函数:init_timer_key( )        398
函数:init_timer_on_stack( )        400
函数:init_timer_on_stack_key( )        402
函数:mktime( )        404
函数:mod_timer( )        406
函数:mod_timer_pending( )        408
函数:ns_to_timespec( )        410
函数:ns_to_timeval( )        412
函数:round_jiffies( )        414
函数:round_jiffies_relative( )        416
函数:round_jiffies_up( )        418
函数:round_jiffies_up_relative( )        420
函数:set_normalized_timespec( )        422
函数:setup_timer( )        424
函数:setup_timer_key( )        426
函数:setup_timer_on_stack( )        428
函数:setup_timer_on_stack_key( )        430
函数:timecompare_offset( )        432
函数:timecompare_transform( )        435
函数:timecompare_update( )        436
函数:timer_pending( )        439
函数:timespec_add_ns( )        441
函数:timespec_compare( )        442
函数:timespec_equal( )        444
函数:timespec_sub( )        446
函数:timespec_to_ns( )        448
函数:timeval_compare( )        450
函数:timeval_to_ns( )        452
函数:try_to_del_timer_sync( )        453
参考文献        456
第8章 linux内核同步机制api        457
函数:atomic_add( )        457
函数:atomic_add_negative( )        458
函数:atomic_add_return( )        460
函数:atomic_add_unless( )        461
宏:atomic_cmpxchg( )        463
函数:atomic_dec( )        464
函数:atomic_dec_and_test( )        466
函数:atomic_inc( )        467
函数:atomic_inc_and_test( )        469
宏:atomic_read( )        470
宏:atomic_set( )        471
函数:atomic_sub( )        472
函数:atomic_sub_and_test( )        474
函数:atomic_sub_return( )        475
函数:down( )        477
函数:down_interruptible( )        479
函数:down_killable( )        481
函数:down_read( )        483
函数:down_read_trylock( )        485
函数:down_timeout( )        487
函数:down_trylock( )        489
函数:down_write( )        491
函数:down_write_trylock( )        492
函数:downgrade_write( )        494
宏:init_rwsem( )        496
宏:read_lock( )        498
函数:read_seqbegin( )        499
函数:read_seqretry( )        500
宏:read_trylock( )        503
宏:read_unlock( )        504
宏:rwlock_init( )        505
函数:sema_init( )        508
宏:seqlock_init( )        509
宏:spin_can_lock( )        511
宏:spin_lock( )        513
宏:spin_lock_bh( )        514
宏:spin_lock_init ( )        516
宏:spin_lock_irq( )        518
宏:spin_lock_irqsave( )        520
宏:spin_trylock( )        522
宏:spin_unlock( )        525
宏:spin_unlock_bh( )        526
宏:spin_unlock_irq( )        526
宏:spin_unlock_irqrestore( )        527
宏:spin_unlock_wait( )        527
函数:up( )        529
函数:up_read( )        531
函数:up_write( )        532
宏:write_lock( )        532
函数:write_seqlock( )        534
函数:write_sequnlock( )        534
宏:write_trylock( )        535
宏:write_unlock( )        537
参考文献        537
第9章 linux文件系统内核api        539
函数:__mnt_is_readonly( )        539
函数:current_umask( )        541
函数:d_alloc( )        542
函数:d_alloc_root( )        544
函数:d_delete( )        547
函数:d_find_alias( )        547
函数:d_invalidate( )        549
函数:d_move( )        550
函数:d_validate( )        551
函数:dput( )        553
函数:fget( )        554
函数:find_inode_number( )        557
函数:generic_fillattr( )        559
函数:get_empty_filp( )        561
函数:get_fs_type( )        563
函数:get_max_files( )        565
函数:get_super( )        566
函数:get_unused_fd( )        569
函数:have_submounts( )        570
函数:i_bdev( )        572
函数:iget_locked( )        573
函数:inode_add_bytes( )        575
函数:inode_get_bytes( )        576
函数:inode_needs_sync( )        578
函数:inode_set_bytes( )        580
函数:inode_setattr( )        581
函数:inode_sub_bytes( )        584
函数:invalidate_inodes( )        586
函数:is_bad_inode( )        587
函数:make_bad_inode( )        588
函数:may_umount( )        590
函数:may_umount_tree( )        591
函数:mnt_pin( )        593
函数:mnt_unpin( )        594
函数:mnt_want_write( )        596
函数:new_inode( )        596
函数:notify_change( )        598
函数:put_unused_fd( )        600
函数:register_filesystem( )        602
函数:unregister_filesystem( )        604
函数:unshare_fs_struct( )        604
函数:vfs_fstat( )        606
函数:vfs_getattr( )        608
函数:vfs_statfs( )        610
参考文献        613
第10章 linux设备驱动及设备管理api        614
函数:__class_create( )        614
函数:__class_register( )        615
函数:cdev_add( )        616
函数:cdev_alloc( )        617
函数:cdev_del( )        619
函数:cdev_init( )        624
宏:class_create( )        628
函数:class_destroy( )        629
宏:class_register( )        631
函数:class_unregister( )        632
函数:device_add( )        637
函数:device_create( )        638
函数: device_del( )        640
函数:device_destroy( )        640
函数:device_initialize( )        646
函数:device_register( )        652
函数:device_rename( )        652
函数:device_unregister( )        657
函数:get_device( )        663
函数:put_device( )        663
函数:register_chrdev( )        667
函数:register_keyboard_notifier( )        668
函数:unregister_chrdev( )        669
函数:unregister_keyboard_notifier( )        675
部分相关函数说明        679
参考文献        679
附录 linux内核api快速检索表        680

1. 本站所有文章及资源来源于用户上传和网络,如有侵权请联系站长处理!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律,否则后果自负!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

中国站长社区 » linux内核api完全参考手册 (邱铁,周玉,邓莹莹) pdf扫描版

发表评论