HUST Operating System curriculum design 2018 Summer.
Environment: Arch Linux x86_64
Kernel version: 4.17.8
CMake minimum required: version 3.9
mkdir build
cd build
cmake ..
make
- Implement a program to copy file.
- Implement a fork demo using GTK+ 2.0
Adding a system call to copy file in linux kernel.
Here I use Arch Linux x86_64 and kernel 4.17.8, it may be a little diffient from the way it used to be on Ubuntu or Linux kernel version <= 4.15 because of the fucking NVIDIA. I need to install the Kernel Image manually, and fix the NVIDIA driver after install the new kernel.
The details can be seen here
Implement a character device driver by linux kernel module.
Here I added read, write, lseek, ioctl(for clear) functions. And the device driver can auto create and delete device file when load or unload the module.
The details can be seen here
My system monitor functions:
- Show Process information, search or kill processes.
- Show CPU basic parameters, utilization and frequency, utilization. The utilization rate is represented by a graph.
- Show Memory and Swap file usage with graph.
- Show Modules information.
- Show OS basic parameters.
- Show Network upload and download speed.
- Show Disk read and write speed.
Here I use GTK+ 2.0 for the graphical interface.
Information got from /proc
and /etc
.
Here are two screenshot for the system monitor.
The details can be seen here
Initial user: root
Initial password: 123456
Here are two screenshot for my file system.
The details can be seen in report.