- 博客(3)
- 收藏
- 关注
原创 task_struct结构详解 进程控制块
内核中会给每个进程分配一个4kb或者8kb的空间,其中栈顶为task_struct结构,其余空间为内核栈,一般为7kb。task_struct包括了下列信息:标识符:与进程相关的唯一标识符,用来区别正在执行的进程和其他进程。状态:描述进程的状态,因为进程有挂起,阻塞,运行等好几个状态,所以都有个标识符来记录进程的执行状态。优先级:如果有好几个进程正在执行,就涉及到进程被执行的先后顺序的问题,这和进...
2018-05-23 16:08:55 468
原创 LINUX内存管理 PCB相关。
本文描述进程控制块的地址管理以及linux分页存储机制。还包括linux的数据存储方式。想到哪里就写到哪里。进程缓冲区是为进程分配的一块缓冲区,内核缓冲区是内核自带的缓冲区,当进程需要调用数据时,先查找数据是否存在于内核缓冲区中,如果存在则把数据从内核缓冲区复制到进程缓冲区,如果不存在,则把数据从磁盘拷贝到内核缓冲区,此时可以切换到其他进程等到内核缓冲区已经拷贝好数据时再切换回来。缓冲区的出现是为...
2018-05-21 23:54:28 352
原创 fork函数+exec函数
并发服务器开发的三种方式是多进程,多线程和IO复用。用fork+exec可以实现多进程。首先理解fork函数,最困难的地方在于调用它一次,它却返回两次。进程调用fork()创建一个新的进程,新进程复制了父进程的task_struct(PCB,process control block,进程控制块),以及task_struct中的各个子模块,比如内核堆栈等,然后对各个子模块做了修改。系统调用通过ea...
2018-05-10 22:58:08 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人