forked from ITSophia/Pintos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
131 lines (124 loc) · 5.83 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
斯坦福大学CS140 Pintos操作系统课程官方网址:
http://www.stanford.edu/class/cs140/projects/pintos/pintos.html
详细文档可参阅我的个人博客:
http://mthli.github.io/tags/#Pintos
文件说明:
1. Doc -- 用于存放一些Pintos相关的参考资料
2. Release -- 存放了各个Project的完成部分,源码部分包含详细的注释
3. Test -- 当前正在进行相关代码实现的文件夹
4. Trash -- 回收站
5. README -- README文件
进度:
下列目录树可能没有包含全部修改的文件,参考的时候请注意。
不过我还是会尽量完善这颗目录树的。
Project 1 -- Threads (已完成,2014年08月03日)
|
| -- Alarm Clock(已完成,2014年05月31日)
| |
| | -- 修改pintos/src/devices/timer.h文件:
| | 增加ticks_cmp()函数声明
| |
| | -- 修改pintos/src/threads/thread.h文件:
| | 修改thread结构体
| |
| | -- 修改pintos/src/devices/timer.c文件:
| 修改timer_sleep()函数,
| 修改timer_interrupt()函数,
| 增加ticks_cmp()函数的实现
|
|
| -- Priority Scheduling(已完成,2014年06月21日)
| |
| | -- 修改pintos/src/threads/synch.h文件:
| | 增加cmp_sem_priority()函数声明
| |
| | -- 修改pintos/src/threads/synch.c文件:
| | 修改sema_down()函数,
| | 修改sema_up()函数,
| | 修改lock_acquire()函数,
| | 修改lock_try_acquire()函数,
| | 修改lock_release()函数,
| | 修改cond_wait()函数,
| | 修改cond_signal()函数,
| | 增加cmp_sem_priority()函数的实现
| |
| | -- 修改pintos/src/threads/thread.h文件:
| | 修改thread结构体定义,
| | 增加refresh_priority()函数声明,
| | 增加donate_priority()函数声明,
| | 增加remove_with_lock()函数声明,
| | 增加cmp_priority()函数声明,
| | 增加test_yield()函数声明
| |
| | -- 修改pintos/src/threads/thread.c文件:
| 修改thread_create()函数,
| 修改thread_unblock()函数,
| 修改thread_yield()函数,
| 修改thread_set_priority()函数,
| 修改thread_get_priority()函数,
| 修改init_thread()函数,
| 增加refresh_priority()函数的实现,
| 增加donate_priority()函数的实现,
| 增加remove_with_lock()函数的实现,
| 增加cmp_priority()函数的实现,
| 增加test_yield()函数的实现
|
| -- Advanced Scheduler(已完成,2014年08月03日)
|
| -- 使用了Alarm Clock中全部修改的文件,
| 使用了Priority Scheduling中全部修改的文件
|
| -- 在pintos/src/devices/timer.c文件中:
| 修改timer_interrupt()函数
|
| -- 在pintos/src/threads/synch.c文件中:
| 修改sema_down()函数,
| 修改sema_up()函数,
| 修改lock_acquire()函数,
| 修改lock_try_acquire()函数,
| 修改lock_release()函数
|
| -- 在pintos/src/threads/thread.h文件中:
| 修改thread结构体
| 增加calculate_load_avg()函数声明,
| 增加calculate_recent_cpu()函数声明,
| 增加calculate_mlfqs_priority()函数声明,
| 增加recent_cpu_increment()函数声明,
| 增加update_recent_cpu_and_load_avg()函数声明,
| 增加int_to_fp()函数声明,
| 增加fp_to_int_round_zero()函数声明,
| 增加fp_to_int_round_nearest()函数声明,
| 增加fp_add()函数声明,
| 增加fp_sub()函数声明,
| 增加fp_add_int()函数声明,
| 增加fp_sub_int()函数声明,
| 增加fp_mul()函数声明,
| 增加fp_div()函数声明,
| 增加fp_mul_int()函数声明,
| 增加fp_div_int()函数声明
|
| -- 在pintos/src/thread/thread.h文件中:
增加calculate_load_avg()函数的实现,
增加calculate_recent_cpu()函数的实现,
增加calculate_mlfqs_priority()函数的实现,
增加recent_cpu_increment()函数的实现,
增加update_recent_cpu_and_load_avg()函数的实现,
增加int_to_fp()函数的实现,
增加fp_to_int_round_zero()函数的实现,
增加fp_to_int_round_nearest()函数的实现,
增加fp_add()函数的实现,
增加fp_sub()函数的实现,
增加fp_add_int()函数的实现,
增加fp_sub_int()函数的实现,
增加fp_mul()函数的实现,
增加fp_div()函数的实现,
增加fp_mul_int()函数的实现,
增加fp_div_int()函数的实现
Project 2 -- User Programs
|
| -- Process Termination Messages(实现中...)
参考:
1. https://github.com/rtwilson/Pintos-Project-1
2. https://github.com/codyjack/OS-pintos
协议:
http://www.stanford.edu/class/cs140/projects/pintos/pintos_14.html#SEC172