EEE3052: Introduction to Operating Systems (Fall 2017)


  • 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

[Lab. Class]

  • When: 22:00 - 24:00 (Monday)
  • Where: Lecture room #400126, Semiconductor Bldg.
  • Please take your laptop, if possible

[Project 1-2 Presentation Time Table Link]

  • Please write your possible presentation time
  • 본인이 발표할 날짜보다 적어도 하루 전에는 시간을 등록하여 사전에 어느 정도 조교들이 시간을 파악할 수 있도록 작성해주시기 바랍니다.

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

  • Install Ubuntu 16.04 -- This is an official Linux distribution we will use.
  • Install xv6 & qemu
  • Print your student ID, name, and message in the xv6 boot message. Your result 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.

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

  • Implement getnice & setnice system call in xv6
  • Implement minitop command in xv6
  • xv6 project #1-1 testcase
  • Submit your tarball file to the TA by email with title of "[EEE3052]Project-1_1-STUDENTID-YOURNAME"
  • setnice의 인자 중 nice 값의 범위를 -20~19가 아닌 0~39로 수정하겠습니다. 즉, nice 값이 바로 priority에 적용되면 됩니다.

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

  • Implement priority scheduler in xv6
  • Implement yield & getyieldcnt system call in xv6
  • xv6 project #1-2 testcase
  • Submit your tarball file to the TA by email with title of "[EEE3052]Project-1_2-STUDENTID-YOURNAME"
  • getyieldcnt 함수의 인자는 pid 한 개 입니다.
  • 프로젝트 미제출자 확인 바랍니다.
    • Show List

김현우, 류승범, 손현국, 신재호, 양성열, 왕위동, 장준배, 정영석

Project #2-1 (Deadline: 10/8 23:59:59 PM, Last update: 9/18(Mon.) 22:00PM)

  • Lab will be taken on 9/25(Mon.) 15:00 PM~ and it will be videotaped.
  • Implement stack growth in xv6