-
Notifications
You must be signed in to change notification settings - Fork 1
/
group25_log.txt
443 lines (384 loc) · 17.8 KB
/
group25_log.txt
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
/* Log Template
Log #
Start Date & Time: YYYY MM DD HH:MM
Duration: HH MM
End Date & Time : YYYY MM DD HH:MM
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1.
2.
File(s) involved with relevant functions:
1. filename: function name
Estimated Lines of Code Added/Modified:
*/
-----------------------------------------------------------------------------------
Log 23
Start Date & Time: 2018 10 22 19:30
Duration: 01 30
End Date & Time : 2018 10 22 21:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Comment the code.
Session Highlights:
1. Commented the modified code section to provide better understanding.
File(s) involved with relevant functions:
Almost all files and functions previously modified or added during the completion of UP04.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 22
Start Date & Time: 2018 10 10 10:30 (16:30 - 18:30 break)
Duration: 05 30
End Date & Time : 2018 10 10 18:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Debug previously written code.
2. Implement exec and wait.
Session Highlights:
1. Debugged previously written code.
2. Implemented exec and wait.
4. Successfully compiled 6 out of 76 test cases failed.
File(s) involved with relevant functions/struct:
1.syscall.h : struct thread, wait, exec
2.process.c : start_process
Estimated Lines of Code Added/Modified: 130
-----------------------------------------------------------------------------------
Log 21
Start Date & Time: 2018 10 09 21:00
Duration: 04 00
End Date & Time : 2018 10 10 01:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Create data structure for manipulation of child threads of a thread.
2. Write synchronization code for information passing between child and parent.
Session Highlights:
1. Created data structure for manipulation of child threads of a thread.
2. Wrote synchronization code for information passing between child and parent.
3. Successfully compiled 76 out of 76 test cases failed.
File(s) involved with relevant functions/struct:
1.thread.h : struct thread
2.process.c : process_wait, start_process
Estimated Lines of Code Added/Modified: 130
-----------------------------------------------------------------------------------
Log 20
Start Date & Time: 2018 10 06 16:45
Duration: 03 00
End Date & Time : 2018 10 06 19:45
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement create, remove, open, filesize, seek, tell and close in syscall.
2. Add files attribute to all thread list which contains the pointers to all opened files by that thread.
Session Highlights:
1. Successfully implemented above mentioned functions in syscall.
2. Successfully added file list and updated the fd accordingly.
3. Successfully compiled 15 out of 76 test cases failed.
File(s) involved with relevant functions/struct:
1.syscall.c : create, remove, open, filesize, seek, tell and close
2.thread.c : struct thread
Estimated Lines of Code Added/Modified: 103
-----------------------------------------------------------------------------------
Log 19
Start Date & Time: 2018 10 04 19:00
Duration: 01 00
End Date & Time : 2018 08 25 20:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Comment the code.
Session Highlights:
1. Commented the modified code section to provide better understanding.
File(s) involved with relevant functions:
Almost all files and functions previously modified or added during the completion of UP02.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 18
Start Date & Time: 2018 10 01 21:30
Duration: 03 30
End Date & Time : 2018 10 02 1:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement process_wait()
2. Implement sanitation check
Session Highlights:
1. Successfully implemented process_wait()
2. Successfully implemented sanitation check
3. Successfully compiled 57 out of 76 test cases failed.
File(s) involved with relevant functions:
1.syscall.c : sanity_check, syscall_handler, halt, exit, write
2.process.c : process_wait
3.thread.c : is_dying_by_tid
Estimated Lines of Code Added/Modified: 35
-----------------------------------------------------------------------------------
Log 17
Start Date & Time: 2018 09 30 14:00
Duration: 04 30
End Date & Time : 2018 08 30 18:30
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement syscall_handler()
2. Implement halt(),exit() and write() system calls
Session Highlights:
1. Successfully implemented syscall_handler()
2. Successfully implemented halt(),exit() and write() system calls
3. Successfully compiled 65 out of 76 test cases failed.
File(s) involved with relevant functions:
1.syscall.c : syscall_handler, halt, exit, write
Estimated Lines of Code Added/Modified: 60
-----------------------------------------------------------------------------------
Log 16
Start Date & Time: 2018 09 29 21:00
Duration: 04 00
End Date & Time : 2018 08 30 01:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Understand the task and what code changes has to be implemented.
2. Go through the relevant section of PintDoc.
Session Highlights:
1. Identified the files which had to be changed.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 15
Start Date & Time: 2018 09 24 21:00
Duration: 04 00
End Date & Time : 2018 08 25 01:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Comment the code.
Session Highlights:
1. Commented the modified code section to provide better understanding.
File(s) involved with relevant functions:
Almost all files and functions previously modified or added during the completion of UP01.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 14
Start Date & Time: 2018 09 12 18:00
Duration: 09 00
End Date & Time : 2018 08 13 03:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Get the arguments of command line arguments.
2. Implement the stack.
3. Write to print stack.
Session Highlights:
1. Successfully separated the arguments and file name.
2. Successfully implemented the stack.
3. Successfully print as given in Assignment.
File(s) involved with relevant functions:
1.process.c : load, test_stack, start_process, process_execute
Estimated Lines of Code Added/Modified: 80
-----------------------------------------------------------------------------------
Log 13
Start Date & Time: 2018 09 11 21:00
Duration: 04 00
End Date & Time : 2018 08 12 01:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Understand the task and what code changes has to be implemented.
Session Highlights:
1. Followed code changes as per Assignment's appendix to get familar with user programs code.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 12
Start Date & Time: 2018 09 10 21:30
Duration: 01 30
End Date & Time : 2018 08 10 23:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Comment the code .
Session Highlights:
1. Commented the modified code section to provide better understanding.
File(s) involved with relevant functions:
Almost all files and functions previously modified or added during the completion of T03.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 11
Start Date & Time: 2018 09 08 22:30
Duration: 05 30
End Date & Time : 2018 09 09 04:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Create a thread whose purpose is to decay recent_cpu usage and re-compute priority every 100th tick
2. Implement nice attribute, recent_cpu usage attribute and load_avg.
3. Implement reducing of thread priority after each time slice.
Session Highlights:
1. Implemented nice, recent_cpu usage and load_avg attribiutes by completing their respective functions.
2. Implemented thread (scheduler thread) for recalculation of priority and recent usage.
3. Implemented reducing of thread priority after every time slice.
4. Successfully compiled pintos and all test cases passed.
File(s) involved with relevant functions:
1.thread.h : struct thread
2.thread.c : thread_init,init_thread,thread_priority_recalculate,
scheduler,scheduler_thread_start,thread_start,thread_update_recent_cpu,
update_load_avg,thread_set_nice,thread_get_nice,thread_get_load_avg,thread_get_recent_cpu
3.fixed-point.h : defined various macros
Estimated Lines of Code Added/Modified: 80
-----------------------------------------------------------------------------------
Log 10
Start Date & Time: 2018 09 07 21:30
Duration: 04 30
End Date & Time : 2018 09 08 02:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Create a managerial thread whose purpose is to unblock the threads blocked on alarms .
Session Highlights:
1. Implemented the managerial thread (wake_up thread) by changing the existing method of unblocking
respective sleeping threads on each timer tick.
2. Successfully compiled pintos and 7/27 test cases failed.
File(s) involved with relevant functions:
1.thread.c : thread_ticks(), wakeup(), wakeup_thread_start, thread_start
Estimated Lines of Code Added/Modified: 20
-----------------------------------------------------------------------------------
Log 9
Start Date & Time: 2018 09 03 21:30
Duration: 01 30
End Date & Time : 2018 08 31 23:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Comment the code .
Session Highlights:
1. Commented the modified code section to provide better understanding.
File(s) involved with relevant functions:
Almost all files and functions previously modified or added during the completion of Task 2.
Estimated Lines of Code Added/Modified: -
-----------------------------------------------------------------------------------
Log 8
Start Date & Time: 2018 09 01 17:30
Duration: 03 30
End Date & Time : 2018 08 31 21:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement lock priority for each lock.
2. Implement priority donation for threads considering all possibilities.
Session Highlights:
1. Successfully implemented lock priority.
2. Successfully implemented priority donation for threads involving lock and condvar.
3. Successfully compiled pintos and 9/27 test cases failed initially
4. Successfully implemented priority donation for semaphores.
5. Successfully compiled pintos and 7/27 test cases failed.
File(s) involved with relevant functions:
1.thread.h : struct thread
2.thread.c : init_thread,thread_get_priority
2.synch.c : lock_release,lock_acquire,priority_donate
Estimated Lines of Code Added/Modified: 35
-----------------------------------------------------------------------------------
Log 7
Start Date & Time: 2018 08 31 17:30
Duration: 05 30
End Date & Time : 2018 08 31 23:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement acquired_lock list for each thread storing the locks it has acquired_lock.
2. Implement seeking link for each thread to the lock it is seeking to acquire.
3. Implement the addtion and deletion of the lock from its respective holder's accquired_locks list.
4. Implement priority donation for threads
Session Highlights:
1. Successfully implemented the acquired_lock list attribute in each struct thread along with the
its updation on addition of new locks and deletion of acquired ones.
2. Successfully implemented seeking link for each thread pointing to the lock it is seeking.
3. Successfully complied pintos and 14/27 test cases failed in make_check till current state.
4. Encountered KERNEL_panic condition on implementing priority donation in several cases while applying the
algorithm for priority donation.
File(s) involved with relevant functions:
1.thread.h : struct thread
2.thread.c : init_thread
2.synch.c : lock_init,lock_release,lock_acquire,before_lock
Estimated Lines of Code Added/Modified: 25
-----------------------------------------------------------------------------------
Log 6
Start Date & Time: 2018 08 29 20:30
Duration: 05 30
End Date & Time : 2018 08 30 02:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement thread_set_priority() and thread_get_priority as per requirement in PintDoc section 2.2.3
2. Modify sema_up function to release the highest priority thread first.
3. Modify Conditions function to prefer the highest priority thread
Session Highlights:
1. Successfully complied pintos and 14/27 failed in make_check.
2. Successfully modified the respective function mentioned in the objectives as per requirement.
File(s) involved with relevant functions:
1.thread.c : thread_set_priority,thread_get_priority.
2.synch.c : sema_up,cond_wait
Estimated Lines of Code Added/Modified: 15
-----------------------------------------------------------------------------------
Log 5
Start Date & Time: 2018 08 16 12:00
Duration: 02 00
End Date & Time : 2018 08 15 02:00
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Implement lock functionality allowing only one thread to access
the sleeper_list at a time.
1. Comment the code to provide a better understanding.
Session Highlights:
1. Successfully complied pintos and 19/27 failed in make_check.
2. Successfully implemented the lock functionality on sleeper_list
File(s) involved with relevant functions:
1.thread.h : acquire_sleeper, release_sleeper.
2.Almost all functions involved in previous log, as comments were added
on each function and variable introduced or modified.
Estimated Lines of Code Added/Modified: 25
-----------------------------------------------------------------------------------
Log 4
Start Date & Time: 2018 08 14 20:36
Duration: 05 54
End Date & Time : 2018 08 15 02:30
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Debug the functions implemented in previous session.
1. Complete Subtask 2 & 3.
Session Highlights:
1. Successfully complied pintos and 19/27 failed in make_check.
2. struct sleeper was replaced with struct thread, augmented with wakeup_at
3. Insert thread to appropriate to ready & sleeper list
File(s) involved with relevant functions:
Almost all functions involved in previous log, as struct had to be replaced.
thread.h:thread_wake;
Estimated Lines of Code Added/Modified: 80
--------------------------------------------------------------------------------------
Log 3
Start Date & Time: 2018 08 12 12:00
Duration: 03 47
End Date & Time : 2018 08 12 15:47
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Start implementing T01
Session Highlights:
1. Completed Subtask 1 by completing set_priority_temporarily_up()
2. Understood (doubly) Linked list implementation in list.h/list.c through comments.
3. Partially implemented sleeper_list, insert, before but not compiled.
File(s) involved with relevant functions:
1. timer.c/timer.h thread_block_till(wakeup_at,before);
thread_set_next_wakeup();
thread_priority_restore(current_priority);
before();
2. list.h/list.c
Estimated Lines of Code Added/Modified: 50
----------------------------------------------------------------------------------------
Log 1
Start Date & Time: 2018 08 08 14:00
Duration: 01 55
End Date & Time : 2018 08 07 15:55
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
Complete setup of PintOS.
Read "Overview of Threads and User Programs within PintOS"
and T01 problem statement "PintOS-T01: Timer Alarms without Busy Waits"
Session Highlights:
Absolute path had to used in place of $HOME in .bash_profile
Mutual discussion on working of threads and the context where we start implementation.
File(s) involved with relevant functions: None
Estimated Lines of Code Added/Modified: None
------------------------------------------------------------------------------------------
Log 0
Start Date & Time: 2018 08 07 14:00
Duration: 02 30
End Date & Time : 2018 08 07 16:30
Team Member(s) Present: Abhinav Mishra, Nitin Kedia, Sparsh Bansal, Vivek Raj
Objectives:
1. Setup PinOS and Boschs Emulator using Readme
2. Setup CVS
Session Highlights:
1. Despite stringently following readme instructions, we were unable to make check.
2. CVS setup attempts which can be found in folder "junk". Tutorial at
"http://www-mrsrl.stanford.edu/~brian/cvstutorial/" came to rescue.
File(s) involved with relevant functions: pintos, cvs folder
Estimated Lines of Code Added/Modified: None