Android培训班(113)start_kernel函数10

来源:互联网 发布:华东电脑旗下华讯网络 编辑:程序博客网 时间:2024/04/30 08:40

numa_policy_init();

这个函数是初始化NUMA的内存访问策略。所谓NUMA,它是NonUniform Memory AccessAchitecture的缩写,主要用来提高多个CPU访问内存的速度。因为多个CPU访问同一个节点的内存速度远远比访问多个节点的速度来得快。


if(late_time_init)

late_time_init();

这段代码是主要运行时钟相关后期的初始化功能。

calibrate_delay();

这个函数是主要计算CPU需要校准的时间,这里说的时间是CPU执行时间。如果是引导CPU,这个函数计算出来的校准时间是不需要使用的,主要使用在非引导CPU上,因为非引导CPU执行的频率不一样,导致时间计算不准确。


pidmap_init();

这个函数是进程位图初始化,一般情况下使用一页来表示所有进程占用情况。


pgtable_cache_init();

这个函数是页表缓存实始化。


prio_tree_init();

这个函数是初始化优先搜索树,主要用在内存反向搜索方面。


anon_vma_init();

这个函数是初始化反向映射的匿名内存,提供反向查找内存的结构指针位置,快速地回收内存。


#ifdefCONFIG_X86

if(efi_enabled)

efi_enter_virtual_mode();

#endif

这段代码是初始化EFI的接口,并进入虚拟模式。EFIExtensibleFirmware Interface的缩写,就是INTEL公司新开发的BIOS接口。


thread_info_cache_init();

这个函数是线程信息的缓存初始化。


fork_init(num_physpages);

这个函数是根据当前物理内存计算出来可以创建进程(线程)的数量,并进行进程环境初始化。


proc_caches_init();

这个函数是进程缓存初始化。


buffer_init();

这个函数是初始化文件系统的缓冲区,并计算最大可以使用的文件缓存。


key_init();

这个函数是初始化安全键管理列表和结构。


security_init();

这个函数是初始化安全管理框架,以便提供访问文件/登录等权限。


vfs_caches_init(num_physpages);

这个函数是虚拟文件系统进行缓存初始化,提高虚拟文件系统的访问速度。


radix_tree_init();

这个函数是初始化radix树,radix树基于二进制键值的查找树。


signals_init();

这个函数是初始化信号队列缓存。

原创粉丝点击