University of Tsukuba | Grad. Scho. Syst. and Info. Eng. | Dept. Comp. Sci. | List of Courses
E-Mail MAEDA Atusi:maeda at, TATEBE Osamu:tatebe at
URL Course page on LMS (manaba)
Office hours MAEDA Atusi: ACCC408 or SB1108, Tue. 6th period, Fri. 5th period. TATEBE Osamu: Room 304, Center for Computatiional Science 304, Thu. 4th perioid
Cource# 01CH307, 01CJ218
Area Software System
Basic/Advanced 基礎科目
Course style Lecture and Exercise
Term FallAB
Period Mon5,6
Room# 3B302
Keywords systems programming, system call, low-level programming
Prerequisites Programming skill with C language required. Basic knowledge on operating system (especially Unix) is desirable.
Outline Learn about system programming, basis of design and development of computer systems, through lecture and exercise based on concrete examples related to embedded systems.
Course plan
  1. Definition of system programming: programming models, process and its context, system calls and libraries
  2. Memory layout, system calls for memory management and higher-level libraries
  3. Various I/O system calls, network and file I/O
  4. I/O multiplexing
  5. Process and thread, synchronization and mutual exclusion, Pthread programming, I/O and threads
  6. Signals, signal and threads
  7. Extending OS functions, kernel modules, VFS interface
Textbook Course materials and report themes are on LMS course page. Handouts may be used if necessary.
  • W. Richard Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley
  • Bil Lewis, Daniel J. Berg, Multithreaded Programming With PThreads, Prentice Hall
Evaluation Evaluations are mainly based on weekly reports, with attendance additionally considered.