Projects

No Title Team Name
1 Optimizing SSD Access via Graph Reorganization in Graph Learning ARC조 김동현,
김수성,
최현지
2 Lustre Adaptive Progressive File Layout 진리조 홍재기,
고병현,
신준식
3 Improving F2FS Hotness Classification Performance based on File Usage Pattern Analysis OS60조 박하연,
유서환
4 LC-CB: Low Computational Victim Selection Policy in Garbage Collection 자료구조 한종우,
전해주,
신동민
5 F2FS Performance Evaluation and Analysis 리쌍조 이준석,
이의동,
손태형
6 F2FS-Z: Metadata on ZNS by LSM-tree KV Store FAST가조 임민우,
서윤형,
한형석

Assignment #1: System Call

Add a new system call named readbytes() that returns the total number of bytes returned by the read() system call so far. Set the system call number of readbytes() to 500.

Due: 11:55PM, September 26.

Submission: Click here to upload your compressed patch file and design document (Note: The submission is closed on 11:55PM September 26). Note that you should also upload a 1-page design document file (in PDF format) that briefly describes your implementation.

How to setup your Linux kernel

$ wget https://kernel.org/pub/linux/kernel/v5.x/linux-5.10.61.tar.xz
$ tar xvf linux-5.10.61.tar.xz
$ sudo apt install build-essential ncurses-dev libssl-dev flex bison libelf-dev
$ cd linux-5.10.61
$ make x86_64_defconfig
$ make all
$ sudo make modules_install
$ sudo make install

How to prepare your compressed patch file

You can prepare a compressed patch file as follows. Assume that the vanilla 5.10.61 kernel is in the ./linux-5.10.61-vanilla directory, while your modified kernel is in the ./linux-5.10.61 directory.

$ (cd linux-5.10.61-vanilla; make distclean)
$ (cd linux-5.10.61; make distclean)
$ diff -uprN linux-5.10.61-vanilla linux-5.10.61 > studentID.patch
$ gzip studentID.patch

Please double-check your patch file whether it contains some unnecessary materials. Also, please make sure that you should build your kernel with the x86_64_defconfig configuration file.

For more details on generating a patch file, please refer to here.

Reference Platform

The following shows the reference platform used in this course.

Linux Kernel Resources