进程管理
文章平均质量分 89
古井无波 2024
这个作者很懒,什么都没留下…
展开
-
arm64内核进程创建从内核态到用户态过程分析。
第一:sp的值 init_thread_union+#THREAD_SIZE大小地址。第二:sp_el0的值init_task的地址。可知sp_el0 指向task_struct。THEAD_SIZE 是内核栈的大小。最终最早的第一个进程。原创 2022-12-15 12:53:46 · 1383 阅读 · 0 评论 -
arm64平台进程全局页表pgd的创建和切换
分配每个进程的pgd。//exec加载新二进制程序pgd_alloc函数: arch/arm64/mm/pgd.c{}上述PGD_SIZE在PA_BITS为48bit的机器上:PTRS_PER_PGD 64 * sizeof(pgd_t) 8 = 512。因此会用kmem_cache_create接口slub来分配小块内存。返回pgd表虚拟地址。pgd_cache 的kmeme_cache对象初始化在arch/arm64/mm/pgd.c#L31。原创 2022-12-26 14:57:01 · 836 阅读 · 2 评论