SWE3004S17.Projects History

Hide minor edits - Show changes to output

May 30, 2017, at 05:18 AM by 115.145.179.147 -
Changed lines 54-58 from:
* Implement thread-support on xv6
to:
* Implement thread-support on xv6

!!! [[Attach:pa6.pdf|Project #6]] (Deadline: 6/11 11:59PM)

* Support mutex and condition variable
on xv6
May 16, 2017, at 07:30 AM by 115.145.179.147 -
Changed lines 50-54 from:
* Implement copy-on-write on xv6
to:
* Implement copy-on-write on xv6

!!! [[Attach:pa5.pdf|Project #5]] (Deadline: 5/28 11:59PM)

* Implement thread-support
on xv6
May 02, 2017, at 07:38 AM by 115.145.179.147 -
Changed lines 46-50 from:
* %red%Since a page-size bitmap has up to 2^15 entries, we modifies the maximum number of allocated pages per each slab from 100 to 64 (in case of 8bytes slab). %%
to:
* %red%Since a page-size bitmap has up to 2^15 entries, we modifies the maximum number of allocated pages per each slab from 100 to 64 (in case of 8bytes slab). %%

!!! [[Attach:pa4.pdf|Project #4]] (Deadline: 5/14 11:59PM)

* Implement copy-on-write on xv6
April 28, 2017, at 03:56 AM by 115.145.179.147 -
Changed line 46 from:
* %red%Since a page-size bitmap has up to 2^15 entries, we modifies the maximum number of allocated pages per each slab from 100 to 64(in case of 8bytes slab). %%
to:
* %red%Since a page-size bitmap has up to 2^15 entries, we modifies the maximum number of allocated pages per each slab from 100 to 64 (in case of 8bytes slab). %%
April 28, 2017, at 03:55 AM by 115.145.179.147 -
Changed lines 45-46 from:
* Implement a byte-level allocator on xv6
to:
* Implement a byte-level allocator on xv6
* %red%Since a page-size bitmap has up to 2^15 entries, we modifies the maximum number of allocated pages per each slab from 100 to 64(in case of 8bytes slab). %%
April 18, 2017, at 12:35 AM by 115.145.179.147 -
Changed line 16 from:
* When: 19:00 - 21:00 (Tuesday)
to:
* When: 19:30 - 21:00 (Tuesday)
April 18, 2017, at 12:34 AM by 115.145.179.147 -
Changed line 45 from:
* Implement the byte-level allocator on xv6
to:
* Implement a byte-level allocator on xv6
April 18, 2017, at 12:34 AM by 115.145.179.147 -
Changed lines 41-45 from:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%

!!! [[Attach:pa3.pdf|Project #3]] (Deadline: 4/30 11:59PM)

* Implement the byte-level allocator on xv6
April 09, 2017, at 06:52 AM by 175.223.14.243 -
Changed lines 41-42 from:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
* %red%Because of the ambiguity of test program caused by timer interrupt in xv6, PA#2-2 will be tested manually
.%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
April 08, 2017, at 02:16 PM by 220.75.242.221 -
Changed lines 41-42 from:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
* %red%Because of the ambiguity of test program caused by timer interrupt in xv6, PA#2-2 will be tested manually
.%%
April 05, 2017, at 03:44 PM by 115.145.179.147 -
Changed line 41 from:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice)%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice).%%
April 05, 2017, at 03:43 PM by 115.145.179.147 -
Changed line 41 from:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from 20-nice to 40-nice%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from (20-nice) to (40-nice)%%
April 05, 2017, at 03:42 PM by 115.145.179.147 -
Changed line 41 from:
* %red%CSince we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from 20-nice to 40-nice%%
to:
* %red%Since we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from 20-nice to 40-nice%%
April 05, 2017, at 03:41 PM by 115.145.179.147 -
Changed line 41 from:
* %red%Change TICK_SCALE macro from 20-nice to 40-nice%%
to:
* %red%CSince we use nice value in range of [0, 40], you must change NICE_TO_TICKS macro from 20-nice to 40-nice%%
April 05, 2017, at 03:37 PM by 115.145.179.147 -
Changed lines 40-41 from:
* [[http://stackoverflow.com/questions/10534798/debugging-user-code-on-xv6-with-gdb|gdb on xv6]]
to:
* [[http://stackoverflow.com/questions/10534798/debugging-user-code-on-xv6-with-gdb|gdb on xv6]]
* %red%Change TICK_SCALE macro from 20-nice to 40-nice%%
April 04, 2017, at 02:48 PM by 218.209.136.8 -
Changed lines 39-40 from:
* [[Attach:using-gdb.pdf|Using @@gdb@@]]
to:
* [[Attach:using-gdb.pdf|Using @@gdb@@]]
* [[http://stackoverflow.com/questions/10534798/debugging-user-code-on-xv6-with-gdb|gdb on xv6
]]
April 04, 2017, at 02:44 PM by 218.209.136.8 -
Changed line 39 from:
* [[Attach:gdb.pdf|using GDB]]
to:
* [[Attach:using-gdb.pdf|Using @@gdb@@]]
April 04, 2017, at 02:43 PM by 218.209.136.8 -
Changed lines 38-39 from:
* [[Attach:linux2.4scheduler.pdf|Linux 2.4 scheduler]]
to:
* [[Attach:linux2.4scheduler.pdf|Linux 2.4 scheduler]]
* [[Attach:gdb.pdf|using GDB
]]
April 04, 2017, at 10:09 AM by 115.145.179.147 -
Changed lines 37-38 from:
* Implement Linux 2.4 scheduler on xv6
to:
* Implement Linux 2.4 scheduler on xv6
* [[Attach:linux2.4scheduler.pdf|Linux 2.4 scheduler]]
April 04, 2017, at 09:13 AM by 115.145.179.147 -
Changed lines 33-37 from:
* Implement priority-based scheduler on xv6
to:
* Implement priority-based scheduler on xv6

!!! [[Attach:pa2-2.pdf|Project #2-2]] (Deadline: 4/9 11:59PM)

* Implement Linux 2.4
scheduler on xv6
March 28, 2017, at 05:55 PM by 115.145.179.147 -
Changed lines 29-33 from:
* %red%When a process calls fork() system call, the nice value of child process is same as its parent process.%%
to:
* %red%When a process calls fork() system call, the nice value of child process is same as its parent process.%%

!!! [[Attach:pa2.pdf|Project #2]] (Deadline: 4/2 11:59PM)

* Implement priority-based scheduler on xv6
March 23, 2017, at 03:08 AM by 115.145.179.147 -
Changed line 29 from:
* %red%When a process call fork() system call, the nice value of child process is same as its parent process.%%
to:
* %red%When a process calls fork() system call, the nice value of child process is same as its parent process.%%
March 23, 2017, at 03:08 AM by 115.145.179.147 -
Changed line 29 from:
* When a process call fork() system call, the nice value of child process is same as its parent process.
to:
* %red%When a process call fork() system call, the nice value of child process is same as its parent process.%%
March 23, 2017, at 03:07 AM by 115.145.179.147 -
Changed lines 28-29 from:
* Implement getnice, setnice, and ps system calls in xv6
to:
* Implement getnice, setnice, and ps system calls in xv6
* When a process call fork() system call, the nice value of child process is same as its parent process.
March 21, 2017, at 08:16 AM by 115.145.179.147 -
Changed lines 24-28 from:
* Submit your screenshot to the TA.
to:
* Submit your screenshot to the TA.

!!! [[Attach:pa1.pdf|Project #1]] (Deadline: 3/26 11:59PM)

* Implement getnice, setnice, and ps system calls in xv6
March 14, 2017, at 09:34 AM by 115.145.179.147 -
Changed line 19 from:
!!! [[Attach:project0.pdf|Project #0]] (Deadline: 3/19 11:59PM)
to:
!!! [[Attach:project0_v2.pdf|Project #0]] (Deadline: 3/19 11:59PM)
March 14, 2017, at 09:33 AM by 115.145.179.147 -
Changed line 19 from:
!!! [[Attach:project#0.pdf|Project #0]] (Deadline: 3/19 11:59PM)
to:
!!! [[Attach:project0.pdf|Project #0]] (Deadline: 3/19 11:59PM)
March 13, 2017, at 01:09 PM by 115.145.179.147 -
Changed lines 19-21 from:
!!! [[Attach:project#0.pdf|Project #0]] (Deadline: 3/13 11:59PM)

* Install Ubuntu 14.04 -- This is an official Linux distribution we will use.
to:
!!! [[Attach:project#0.pdf|Project #0]] (Deadline: 3/19 11:59PM)

* Install Ubuntu 16.04 -- This is an official Linux distribution we will use.
March 13, 2017, at 01:09 PM by 115.145.179.147 -
Changed lines 17-24 from:
* Where: #26312
to:
* Where: #26312

!!! [[Attach:project#0.pdf|Project #0]] (Deadline: 3/13 11:59PM)

* Install Ubuntu 14.04 -- This is an official Linux distribution we will use.
* Install xv6 & qemu
* Print your student ID and name in the xv6 boot message. Your name and student ID should be printed before the shell is running. This means that you have to insert a code (yeah, just a single line) into one of the xv6 kernel code.
* Submit your screenshot to the TA.
March 13, 2017, at 01:08 PM by 115.145.179.147 -
Changed lines 16-22 from:
* When: 20:00 - 22:00 (Tuesday)
* Where: #330110
* [[Attach:week2.pdf|Week 2]]
** Trap handling procedure in Intel architecture & xv6
* [[Attach:week3.pdf|Week 3]]
* [[Attach:project3.pdf|Week 6]]
** Page fault handling procedure in Intel architecture & xv6
to:
* When: 19:00 - 21:00 (Tuesday)
* Where: #26312
March 13, 2017, at 01:08 PM by 115.145.179.147 -
Changed lines 12-22 from:
** Ability to read a large, complex program
to:
** Ability to read a large, complex program

!!! [Lab. Class]

* When: 20:00 - 22:00 (Tuesday)
* Where: #330110
* [[Attach:week2.pdf|Week 2]]
** Trap handling procedure in Intel architecture & xv6
* [[Attach:week3.pdf|Week 3]]
* [[Attach:project3.pdf|Week 6]]
** Page fault handling procedure in Intel architecture & xv6
February 13, 2017, at 04:19 AM by 115.145.179.182 -
February 13, 2017, at 04:18 AM by 115.145.179.182 -
Added lines 1-12:
!! SWE3004: Operating Systems (Spring 2017)

!!! [Projects]

* You will have several projects based on the xv6 instructional operating system. To successfully complete these projects, you must have excellent C programming skill and be familiar with the Linux platform.

* Required skills
** Fluent C programming (must!)
** Basic knowledge on Intel x86 architecture
** Intel x86 assembly programming
** Basic knowledge on Unix/Linux systems
** Ability to read a large, complex program