Hao-Ran Liu
email: hzliu123 at gmail dot com
Education
Courses
  - Embedded Linux Kernel Programming handout (Nov.2005@tl.ntu)
- Linux Kernel and Driver Programming handout (June.2006@tl.ntu) 
 (pdf) (audio)
  
- Linux Kernel and Driver Programming (May.2010@tl.ntu)
    - Linux Network drivers (trace sis900.c) (pdf)
    
- Homework: snull porting to 2.6.3x kernel and snull_tx_timeout() bug fix (answer)
    
- Linux Kernel and Driver Programming (June.2010@tl.ntu)
    - Homework #1: embed_example.zip porting to kernel 2.6 (pdf)
    
- Homework #2: mini-kernel development: scheduling and synchronization (pdf)
    
- Linux Kernel and Driver Programming (Oct.2011@tl.ntu)
- Linux Kernel and Driver Programming (Jan.2013@tl.ntu)
- Linux Kernel and Driver Programming (Aug.2013@tl.ntu)
- Linux Kernel Architecture (Aug.2014@tl.ntu)
- Linux Driver Programming (July.2015@tl.ntu)
- Linux Kernel Architecture (Apr.2016@tl.ntu)
    - Using GNU Compiler and Binutils by Example (source code)
    
- Page Cache in Linux 2.6 (reference reading) (pdf)
    
- Linux Driver Programming (May.2016@tl.ntu)
    - Homework: mini-kernel development: scheduling and synchronization (platform)
    
- Introduction to Linux Block Drivers (pdf)
    
Talks and Presentation Slides
Linux Kernel
  - Introduction to the Linux Kernel (pdf)
 
- Introduction to Linux start-up (pdf)
 
- Physical Memory Management in Linux (pdf)
- Linux I/O Schedulers (pdf)
- Linux Kernel Synchronization (pdf)
- Linux Interrupt Handling (pdf)
- Linux Kernel Debugging - QEMU and KGDB (html)
 
Other topics
  - Building Linux Systems with QEMU (pdf)
- GDB Tutorial (html)
- Using GNU Compiler and Binutils by Example (pdf)
(source code)
- Introduction to CVS (pdf)
and Administration of a CVS Server (pdf)
- Introduction to PPP (pdf)
 
Publications
Journal Papers
Last
Updated: September 4 2016