SSE3044F16.Projects History

Hide minor edits - Show changes to markup

December 19, 2016, at 07:11 AM by 115.145.211.195 -
Added line 105:
December 19, 2016, at 07:09 AM by 115.145.211.195 -
Changed lines 103-104 from:
  - mutex_unlock, cond_signal 내부에서 unblocked thread를 깨우고 난 후, scheduling은 호출하지 않습니다.
to:
  - mutex_unlock, cond_signal 내부에서 unblocked thread를 깨우고 난 후, scheduling은 호출하지 않습니다.
  - xv6 project #4,5 result
November 28, 2016, at 11:36 AM by 115.145.211.195 -
Changed lines 102-103 from:
  - Project4에서 구현하셨던 본인의 thread support를 과제에 이어서 사용합니다.
to:
  - Project4에서 사용하셨던 본인의 priority scheduler, thread support를 과제에 덧붙여 사용합니다.
  - mutex_unlock, cond_signal 내부에서 unblocked thread를 깨우고 난 후, scheduling은 호출하지 않습니다.
November 28, 2016, at 06:47 AM by 115.145.211.195 -
Changed line 98 from:
to:
November 28, 2016, at 06:47 AM by 115.145.211.195 -
Changed lines 93-102 from:
  - [11/22] thread_create시 argument를 trapframe->esp에 넣은 후, 다음 사용을 위해 위치를 -4 해주어야 합니다.
to:
  - [11/22] thread_create시 argument를 trapframe->esp에 넣은 후, 다음 사용을 위해 위치를 -4 해주어야 합니다.

Project #5 (Deadline: 12/11 11:59PM)

  • Implement mutex & condition variable in xv6
  • xv6 project4 template
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#5-YOURID-YOURNAME"
  • [Notice]
  - Project4에서 구현하셨던 본인의 thread support를 과제에 이어서 사용합니다.
November 28, 2016, at 06:02 AM by 115.145.211.195 -
Added line 73:
November 22, 2016, at 01:22 PM by 115.145.211.195 -
Changed lines 91-92 from:
    참고하여 parent로부터 어떠한 정보를 받아내는지 유심히 살펴보시기 바랍니다.
to:
    참고하여 parent로부터 어떠한 정보를 받아내는지 유심히 살펴보시기 바랍니다.
  - [11/22] thread_create시 argument를 trapframe->esp에 넣은 후, 다음 사용을 위해 위치를 -4 해주어야 합니다.
November 22, 2016, at 11:38 AM by 115.145.211.195 -
Changed lines 89-91 from:
    고정하고 이후 만들어지는 thread의 tid는 2부터 부여되도록 만들어주시면 됩니다
to:
    고정하고 이후 만들어지는 thread의 tid는 2부터 부여되도록 만들어주시면 됩니다.
  - [11/22] Thread가 만들어지는 과정은 fork()를 통해 process가 만들어지는 과정과 매우 유사합니다. fork()함수를
    참고하여 parent로부터 어떠한 정보를 받아내는지 유심히 살펴보시기 바랍니다.
November 22, 2016, at 06:51 AM by 115.145.211.195 -
Changed lines 88-89 from:
  - Proc의 isthread가 1인 경우, proc의 pid는 thread id를 나타냅니다. Parent(main thread)의 tid를 1로 고정하고
    이후 만들어지는 thread의 tid는 2부터 부여되도록 만들어주시면 됩니다
to:
  - [11/22] Proc의 isthread가 1인 경우, proc의 pid는 thread id를 나타냅니다. Parent(main thread)의 tid를 1로
    고정하고 이후 만들어지는 thread의 tid는 2부터 부여되도록 만들어주시면 됩니다
November 22, 2016, at 06:51 AM by 115.145.211.195 -
Changed lines 87-89 from:
    (process, thread 모두 동일한 struct proc으로 관리)
to:
    (process, thread 모두 동일한 struct proc으로 관리)
  - Proc의 isthread가 1인 경우, proc의 pid는 thread id를 나타냅니다. Parent(main thread)의 tid를 1로 고정하고
    이후 만들어지는 thread의 tid는 2부터 부여되도록 만들어주시면 됩니다
November 22, 2016, at 06:21 AM by 115.145.211.195 -
Added line 78:
November 14, 2016, at 12:44 PM by 115.145.211.195 -
Changed lines 80-86 from:
  • [Notice]
to:
  • [Notice]
  - Project 1-2에서 구현하셨던 본인의 priority scheduler를 과제에 사용합니다.
  - 새로운 thread가 만들어질 때, thread의 parent는 가장 처음있던 main thread가 됩니다. (thread가 thread_create할
    경우에도 main thread가 parent가 됩니다)
  - Struct proc의 pid인자는 isthread가 0인 경우에는 process id, isthread가 1인 경우에는 thread id로 생각합니다.
  - Schedluer에서 process냐 thread냐를 구분할 필요 없이 그대로 사용하시면 됩니다.
    (process, thread 모두 동일한 struct proc으로 관리)
November 14, 2016, at 12:27 PM by 115.145.211.195 -
Added lines 66-72:
  - [11/14] page fault handle에서 page table 연결을 새로이 하기 위해서 mappages 함수를 많이 사용하시는듯 합니다.
    mappages 함수의 내부에 *pte & PTE_P 구간에 의해 무조건 panic이 발생합니다. 굳이 함수를 사용하지 마시고 *pte
    값을 직접 설정하시는 것 만으로도 새로 할당 받은 page를 연결할 수 있습니다. (mappages 내부에도 있습니다)
  - [11/14] 지난 과제에서 사용했던 esp-addr > 32 는 제거하시면 됩니다. (stack pointer의 이동을 나타내는 것으로
    이번 과제와는 상관이 없습니다)
  - [11/14] lcr3는 TLB를 flush해주는 함수로, page table이 수정되어 새로운 연결이 만들어졌을 경우, 기존의 연결을
    무효화시키기 위해 넣어야합니다.
November 14, 2016, at 07:53 AM by 115.145.211.195 -
Added line 56:
November 14, 2016, at 07:49 AM by 115.145.211.195 -
Deleted line 44:
Changed lines 64-72 from:
    read-only이기 때문에 fault가 발생한 것이므로 flag만 수정해주시면 됩니다.
to:
    read-only이기 때문에 fault가 발생한 것이므로 flag만 수정해주시면 됩니다.

Project #4 (Deadline: 11/27 11:59PM)

  • Implement thread-support in xv6
  • xv6 project4 template
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#4-YOURID-YOURNAME"
  • [Notice]
November 11, 2016, at 04:25 AM by 115.145.197.112 -
Changed lines 60-62 from:
  - COW가 발생한 child process의 page table entry는 writable하게 됩니다
  - Parent process의 page table entry는 reference count를 참조하여 writable로 변경할 것인지를 결정합니다
    (page fault handler내에서 parent process page table entry에 접근할 수 있습니다)
to:
  - COW가 발생한 child process의 page table entry는 writable해야 합니다.
Changed lines 62-65 from:
  - Test code도 곧 준비해드리겠습니다
to:
  - Test code도 곧 준비해드리겠습니다
  - [11/11] 본 과제에서 page fault handler가 발생하는 이유는, user가 read-only 상태인 page에 수정을 시도했기 때문입니다.
    해당 page의 count가 2 이상이라면 새로이 할당을 해주면 되고, count가 1인 경우는 자신 혼자 사용중이지만, 해당 page가
    read-only이기 때문에 fault가 발생한 것이므로 flag만 수정해주시면 됩니다.
November 09, 2016, at 11:03 AM by 218.209.137.143 -
Changed lines 62-64 from:
    (page fault handler내에서 parent process page table entry에 접근할 수 있습니다)
to:
    (page fault handler내에서 parent process page table entry에 접근할 수 있습니다)
  - Template code에 본인이 구현한 page fault handler를 추가하셔서 사용하시면 됩니다
  - Test code도 곧 준비해드리겠습니다
November 09, 2016, at 03:25 AM by 115.145.244.152 -
Added lines 60-62:
  - COW가 발생한 child process의 page table entry는 writable하게 됩니다
  - Parent process의 page table entry는 reference count를 참조하여 writable로 변경할 것인지를 결정합니다
    (page fault handler내에서 parent process page table entry에 접근할 수 있습니다)
November 08, 2016, at 09:24 AM by 115.145.208.136 -
Changed lines 52-59 from:
  - 위의 template code에서 init.c / Makefile만 가져다 쓰셔도 무방합니다
to:
  - 위의 template code에서 init.c / Makefile만 가져다 쓰셔도 무방합니다

Project #3 (Deadline: 11/20 11:59PM)

  • Implement copy-on-write in xv6
  • xv6 project3 template
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#3-YOURID-YOURNAME"
  • [Notice]
October 21, 2016, at 04:22 AM by 115.145.211.195 -
Changed line 42 from:
to:
October 21, 2016, at 04:21 AM by 115.145.211.195 -
Changed line 42 from:
to:
October 21, 2016, at 04:20 AM by 115.145.211.195 -
Added lines 42-43:
October 18, 2016, at 06:23 AM by 115.145.211.195 -
Changed lines 49-50 from:
  • [Notice]
to:
  • [Notice]
  - 위의 template code에서 init.c / Makefile만 가져다 쓰셔도 무방합니다
October 10, 2016, at 07:18 AM by 115.145.211.195 -
Changed lines 41-49 from:
  - yield()함수와 관련하여 선언 error가 나는 경우, system call로서 구현이 되어있는지 확인이 필요합니다
to:
  - yield()함수와 관련하여 선언 error가 나는 경우, system call로서 구현이 되어있는지 확인이 필요합니다

Project #2 (Deadline: 10/30 11:59PM)

  • Implement stack growth in xv6
  • xv6 project #2 template
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#2-YOURID-YOURNAME"
  • [Notice]
October 06, 2016, at 08:25 AM by 115.145.148.175 -
Changed lines 38-41 from:
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_2-YOURID-YOURNAME"
to:
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_2-YOURID-YOURNAME"
  • [Notice]
  - yield()함수와 관련하여 선언 error가 나는 경우, system call로서 구현이 되어있는지 확인이 필요합니다
October 04, 2016, at 04:23 PM by 115.145.211.195 -
Added line 37:
October 04, 2016, at 04:22 PM by 115.145.211.195 -
Deleted line 36:
October 04, 2016, at 11:04 AM by 115.145.211.195 -
Changed lines 36-38 from:
  • Implement priority scheduler in xv6
to:
  • Implement priority scheduler in xv6
  • xv6 project #1-2 testcase
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_2-YOURID-YOURNAME"
September 26, 2016, at 12:41 PM by 115.145.211.195 -
Added line 36:
  • Implement priority scheduler in xv6
September 26, 2016, at 12:37 PM by 115.145.211.195 -
Changed lines 32-35 from:
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_1-YOURID-YOURNAME"
to:
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_1-YOURID-YOURNAME"

Project #1-2 (Deadline: 10/9 11:59PM)

September 20, 2016, at 04:10 AM by 115.145.211.195 -
Changed line 26 from:

Project #1-1 (Deadline: 9/25 11:59PM)

to:

Project #1-1 (Deadline: 10/2 11:59PM)

September 19, 2016, at 11:07 AM by 115.145.211.195 -
Changed line 30 from:
to:
September 19, 2016, at 11:06 AM by 115.145.211.195 -
Added line 30:
September 19, 2016, at 11:01 AM by 115.145.211.195 -
September 19, 2016, at 11:01 AM by 115.145.211.195 -
September 19, 2016, at 11:01 AM by 115.145.211.195 -
September 19, 2016, at 11:00 AM by 115.145.211.195 -
Changed line 26 from:

Project #1-1 Δ (Deadline: 9/25 11:59PM)

to:

Project #1-1 (Deadline: 9/25 11:59PM)

September 19, 2016, at 10:54 AM by 115.145.211.195 -
Changed line 26 from:

Project #1-1 (Deadline: 9/25 11:59PM)

to:

Project #1-1 Δ (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:39 AM by 115.145.211.195 -
September 19, 2016, at 09:38 AM by 115.145.211.195 -
September 19, 2016, at 09:38 AM by 115.145.211.195 -
Changed lines 26-27 from:

Project #1-1 (Deadline: 9/25 11:59PM)

to:

Project #1-1 (Deadline: 9/25 11:59PM)

Changed line 30 from:
  • Submit your tarball file to the TA by email with title of "[SWE3004]Project#1_1-YOURID-YOURNAME"
to:
  • Submit your tarball file to the TA by email with title of "[SSE3044]Project#1_1-YOURID-YOURNAME"
September 19, 2016, at 09:36 AM by 115.145.211.195 -
Changed line 26 from:

Project #1-1 Δ (Deadline: 9/25 11:59PM)

to:

Project #1-1 (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:33 AM by 115.145.211.195 -
Changed line 26 from:

Project #1-1 (Deadline: 9/25 11:59PM)

to:

Project #1-1 Δ (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:32 AM by 115.145.211.195 -
Added lines 25-26:

Project #1-1 (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:32 AM by 115.145.211.195 -
Deleted line 24:

Project #1-1 (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:20 AM by 115.145.211.195 -
Changed line 25 from:

Project #1-1 (Deadline: 3/27 11:59PM)

to:

Project #1-1 (Deadline: 9/25 11:59PM)

September 19, 2016, at 09:18 AM by 115.145.211.195 -
Changed line 28 from:
to:
September 19, 2016, at 09:17 AM by 115.145.211.195 -
Changed line 28 from:
to:
September 19, 2016, at 09:17 AM by 115.145.211.195 -
September 19, 2016, at 09:13 AM by 115.145.211.195 -
Changed lines 23-29 from:
  • Submit your screenshot to the TA.
to:
  • Submit your screenshot to the TA.

Project #1-1 (Deadline: 3/27 11:59PM)

  • Implement getnice & setnice system call in xv6
  • xv6 project #1-1 template
  • Submit your tarball file to the TA by email with title of "[SWE3004]Project#1_1-YOURID-YOURNAME"
September 12, 2016, at 12:32 PM by 115.145.211.198 -
Changed line 18 from:

Project #0 Δ (Deadline: 9/21 11:59PM)

to:

Project #0 (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:29 PM by 115.145.211.198 -
Changed line 18 from:

Project #0 (Deadline: 9/21 11:59PM)

to:

Project #0 Δ (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:28 PM by 115.145.211.198 -
Changed line 18 from:

Project #0 Δ (Deadline: 9/21 11:59PM)

to:

Project #0 (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:27 PM by 115.145.211.198 -
Changed line 18 from:

Project #0 (Deadline: 9/21 11:59PM)

to:

Project #0 Δ (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:26 PM by 115.145.211.198 -
Changed line 18 from:

Project #0? (Deadline: 9/21 11:59PM)

to:

Project #0 (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:26 PM by 115.145.211.198 -
Changed line 18 from:

Project #0 (Deadline: 9/21 11:59PM)

to:

Project #0? (Deadline: 9/21 11:59PM)

September 12, 2016, at 12:25 PM by 115.145.211.198 -
September 12, 2016, at 07:23 AM by 115.145.179.161 -
Changed line 18 from:

[Project #0] (Deadline: 9/21 11:59PM)

to:

Project #0 (Deadline: 9/21 11:59PM)

September 12, 2016, at 07:17 AM by 115.145.179.161 -
Changed lines 16-23 from:
  • Monday, 7:00 PM, #400212 in Semiconductor Bldg.
to:
  • Monday, 7:00 PM, #400202 in Semiconductor Bldg.

[Project #0] (Deadline: 9/21 11:59PM)

  • Install Ubuntu 16.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.
September 11, 2016, at 06:02 AM by 115.145.212.143 -
Changed line 16 from:
  • TBA
to:
  • Monday, 7:00 PM, #400212 in Semiconductor Bldg.
Changed line 16 from:
  • TBD
to:
  • TBA
Changed lines 3-16 from:

[Projects]

to:

[Projects]

  • From this semester, we will use the xv6 instructional operating system. To successfully complete these projects, you should have excellent C programming skills and be familiar with the Linux platform.
  • Required skills
    • Fluent C programming
    • Basic knowledge on Intel x86 architecture
    • Intel x86 assembly programming
    • Basic knowledge on Unix/Linux systems
    • Ability to read a large, complex program

[Lab. Class]

  • TBD
Added lines 1-3:

SSE3044: Operating Systems (Fall 2016)

[Projects]