分页系统的实现问题
1. 与分页有关的工作
操作系统在四段时间里做与分页有关的工作:进程创建时,进程执行时,缺页中断时和进程终止时。
-
当在分页系统中创建一个一个新进程时,操作系统需要确定该进程的程序和数据在初始时有多大,并为它们创建一个页表。操作系统还要在内存中为页表分配空间并对其进行初始化。当进程被换出时,页表不需要驻留在内存中,但当进程运行时,页表必须在内存中。
另外,操作系统要在磁盘交换区中分配空间,以便在一个进程换出时在磁盘上有放置此进程的空间。操作系统还要用程序正文和数据对交换区进程初始化,这样当新进程发生缺页中断时,可以调入需要的页面。某些操作系统直接从磁盘上的可执行文件对程序正文进行分页,以节省磁盘空间和初始化时间。
最后,操作系统必须把有关页表和磁盘交换区的信息存储在进程表中。
-
当调度一个进程执行时,必须为新进程重置MMU,刷新TLB,以
版权声明:本文为github_37129174原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。