一、需求分析
为了更好地理解操作系统内存分配和管理的过程和机制,决定通过编程模拟操作系统内存分配的过程,以更好的理解操作系统内存分配过程中的具体执行流程。
题目描述如下:
编写一个程序,包括两个线程,一个线程用于模拟内存分配活动,另一个用于跟踪第一个线程的内存行为,要求两个线程之间通过信号量实现同步,模拟内存活动的线程可以从一个文件中读出要进行的内存操作。每个内存操作包含如下内容:
时间:每个操作等待时间
块数:分配内存的粒度
操作:包括保留一个区域、提交一个区域、释放一个区域、回收一个区域、加锁与解锁一个区域。可将它们的编号放置于一个文件中
保留是指保留进程的虚地址空间,而不分配物理地址空间
提交是指在内存中分配物理地址空间
回收是指释放物理地址空间,而保留进程的虚地址空间
释放是指将进程的物理地址与虚拟地址空间全部释放
大小:块的大小
访问权限:共五种 PAGE_READONLY, PAGE_READWRIYE, PAGE_EXEXUTE, PAGE_EXEXUTE_READ, PAGE_EXEXUTE_READWRIYE
点击下载源码