启动一个进程时候,首先调用fork,申请内存用于存储页表项,然后该页表项赋值父进程的页表项,一个进程需要的页表项空间:64M/4M*4K=64K,64个进程全部启动需要的页表空间:64K*64=4M。16M(全部物理内存)-4M(高速缓存+内核)-4M(页表项)=8M,还剩8M用于程序。
进程启动后有写操作就会调用写时赋值,写时赋值就会申请一页物理内容,如果需要硬盘的数据,还会把硬盘的数据通过文件管理读到高速缓存中,然后同步到该申请的内容。
本文探讨了操作系统中启动进程时的内存管理和页表机制。在启动一个进程时,首先通过fork创建子进程,分配页表项并复制父进程的页表。每个进程需要约64K的页表空间,若启动64个进程则需4M内存。在16M物理内存中,减去高速缓存、内核和其他需求,剩余8M供程序使用。当进程有写操作时,会触发写时复制,申请物理页面,并可能从硬盘加载数据到高速缓存。这个过程涉及到内存、高速缓存和硬盘的交互,以及页表的更新。
启动一个进程时候,首先调用fork,申请内存用于存储页表项,然后该页表项赋值父进程的页表项,一个进程需要的页表项空间:64M/4M*4K=64K,64个进程全部启动需要的页表空间:64K*64=4M。16M(全部物理内存)-4M(高速缓存+内核)-4M(页表项)=8M,还剩8M用于程序。
进程启动后有写操作就会调用写时赋值,写时赋值就会申请一页物理内容,如果需要硬盘的数据,还会把硬盘的数据通过文件管理读到高速缓存中,然后同步到该申请的内容。
934
1434
2487
1193

被折叠的 条评论
为什么被折叠?