C语言读取rtf文件模拟进程管理得到输出文件,求助!!!

oec2003 2015-03-31 01:49:09
要求:
需要读入输入文件中工作负载的特性然后模拟进程的执行以及内存管理器的决策。这个模拟器需要生成一个输出文件,文件中应包含重要“事件”的跟踪(TRACE)、内存映射以及每个事件结束后输入队列状态。所有进程完成后,模拟器也应结束,程序还需要输出每个进程的平均周转时间。

输入文件示例:
Memory Size: 2000
Memory Management Policy: PAG
Policy Parameter: 100

Process Id: 1
Arrival Time: 0
Lifetime in Memory: 1000
Address Space: 400

Process Id: 2
Arrival Time: 0
Lifetime in Memory: 2000
Address Space: 600

Process Id: 3
Arrival Time: 100
Lifetime in Memory: 900
Address Space: 300

Process Id: 4
Arrival Time: 100
Lifetime in Memory: 1900
Address Space: 200

Process Id: 5
Arrival Time: 200
Lifetime in Memory: 800
Address Space: 500

Process Id: 6
Arrival Time: 1200
Lifetime in Memory: 1800
Address Space: 250

Process Id: 7
Arrival Time: 1500
Lifetime in Memory: 500
Address Space: 800

Process Id: 8
Arrival Time: 1600
Lifetime in Memory: 500
Address Space: 100



输出文件示例:
t = 0: Process 1 arrives
Input Queue:[Process 1]
Process 2 arrives
Input Queue: [Process 1, Process 2]
MM moves Process 1 to memory
Input Queue:[Process 2]
Memory Map: 0-99: Process 1, Page 1
100-199: Process 1, Page 2
200-299: Process 1, Page 3
300-399: Process 1, Page 4
400-1999: Free frame(s)
MM moves Process 2 to memory
Input Queue:[]
Memory Map: 0-99: Process 1, Page 1
100-199: Process 1, Page 2
200-299: Process 1, Page 3
300-399: Process 1, Page 4
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1999: Free frame(s)

t = 100: Process 3 arrives
Input Queue:[Process 3]
Process 4 arrives
Input Queue: [Process 3, Process 4]
MM moves Process 3 to memory
Input Queue:[Process 4]
Memory Map: 0-99: Process 1, Page 1
100-199: Process 1, Page 2
200-299: Process 1, Page 3
300-399: Process 1, Page 4
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1099: Process 3, Page 1
1100-1199: Process 3, Page 2
1200-1299: Process 3, Page 3
1300-1999: Free frame(s)
MM moves Process 4 to memory
Input Queue:[]
Memory Map: 0-99: Process 1, Page 1
100-199: Process 1, Page 2
200-299: Process 1, Page 3
300-399: Process 1, Page 4
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1099: Process 3, Page 1
1100-1199: Process 3, Page 2
1200-1299: Process 3, Page 3
1300-1399: Process 4, Page 1
1400-1499: Process 4, Page 2
1500-1999: Free frame(s)

t = 200: Process 5 arrives
Input Queue: [Process 5]
MM moves Process 5 to memory
Input Queue:[]
Memory Map: 0-99: Process 1, Page 1
100-199: Process 1, Page 2
200-299: Process 1, Page 3
300-399: Process 1, Page 4
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1099: Process 3, Page 1
1100-1199: Process 3, Page 2
1200-1299: Process 3, Page 3
1300-1399: Process 4, Page 1
1400-1499: Process 4, Page 2
1500-1599: Process 5, Page 1
1600-1699: Process 5, Page 2
1700-1799: Process 5, Page 3
1800-1899: Process 5, Page 4
1900-1999: Process 5, Page 5

t = 1000: Process 1 completes
Memory Map: 0-399: Free frame(s)
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1099: Process 3, Page 1
1100-1199: Process 3, Page 2
1200-1299: Process 3, Page 3
1300-1399: Process 4, Page 1
1400-1499: Process 4, Page 2
1500-1599: Process 5, Page 1
1600-1699: Process 5, Page 2
1700-1799: Process 5, Page 3
1800-1899: Process 5, Page 4
1900-1999: Process 5, Page 5

Process 3 completes
Memory Map: 0-399: Free frame(s)
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1299: Free frame(s)
1300-1399: Process 4, Page 1
1400-1499: Process 4, Page 2
1500-1599: Process 5, Page 1
1600-1699: Process 5, Page 2
1700-1799: Process 5, Page 3
1800-1899: Process 5, Page 4
1900-1999: Process 5, Page 5

Process 5 completes
Memory Map: 0-399: Free frame(s)
400-499: Process 2, Page 1
500-599: Process 2, Page 2
600-699: Process 2, Page 3
700-799: Process 2, Page 4
800-899: Process 2, Page 5
900-999: Process 2, Page 6
1000-1299: Free frame(s)
1300-1399: Process 4, Page 1
1400-1499: Process 4, Page 2
1500-1999: Free frame(s)

....
Average Turnaround Time: 1175.00
...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,322

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧