摘要: 整个虚拟内存空间一分为二,一部分是用户态地址空间,一部分是内核态地址空间,这两部分的分界线由 task_size 来定义。 struct task_struct => struct mm_struct *mm; => unsigned long task_size; /* size of task 阅读全文
posted @ 2021-06-20 22:56 jingmojing 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在 Linux 里面,无论是进程,还是线程,到了内核里面,统一称为任务(Task)。 Linux内核通过一个被称为进程描述符的 task_struct 结构体来管理,这个结构体包含了一个task所需的所有信息。 task_struct 定义在 include/linux/sched.h 文件中。 s 阅读全文
posted @ 2021-06-20 20:41 jingmojing 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 创建线程 #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #define NUM_OF_TASKS 5 // 1. 定义线程函数 void * 阅读全文
posted @ 2021-06-20 12:59 jingmojing 阅读(82) 评论(0) 推荐(0) 编辑