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
- Install VirtualBox 6.1.26 on your machine
- Install Ubuntu 20.04.3 LTS in your VirtualBox
- Download the reference Linux kernel 5.10.61
$ wget https://kernel.org/pub/linux/kernel/v5.x/linux-5.10.61.tar.xz
$ tar xvf linux-5.10.61.tar.xz
- Install prerequisite packages
$ sudo apt install build-essential ncurses-dev libssl-dev flex bison libelf-dev
- Compile the Linux kernel 5.10.61 (use
x86_64_defconfigto configure your kernel)
$ 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.