Android培训班(113)start_kernel函数10

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();

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值