System Programming
Course overview
Course overview
In this course, we will learn UNIX/Linux system calls and its back ground concepts. The goals of this course are
- Getting familiar UNIX/Linux development environments
- Learning how to find required system call and the usage (e.g., man page, MSDN)
- Improving your C-programming skill and ability for solving a given problem
- Achieving better presentation and lecturing skill
Classes (Fall, 2018) - Class overview (pdf)
Classes (Fall, 2018) - Class overview (pdf)
- CPH341-01 (Mon. 11:00~13:00, Wed. 09:00~11:00) / 2nd Eng. Building #401
- CPH341-02 (Mon. 09:00~11:00, Wed. 11:00~13:00) / 2nd Eng. Building #401
Setup Linux development environments
Setup Linux development environments
- Linux(Ubuntu) Dev. environment setup on Windows 10 [Slides(Kor)]
- Windows 10의 sub-system을 이용하여, Linux/Unix 개발 환경 구축하기 (Message queue is not supported)
- Cygwin Dev. environment setup on Windows [Slides(Kor)]
- Windows에서 Linux 개발 환경 구축하기 (Support IPC)
Lecture notes (in Korean)
Lecture notes (in Korean)
- Some of figures and sample code comes from our textbook (Unix System Programming, Hanabit Academy, Inc.).
- 강의 슬라이드의 일부 그림 및 코드는 본 교과목의 주교재(Unix System Programming, 한빛 아카데미) 에서 가져 왔습니다.
Lecture 1. System Programming Overview
Lecture 1. System Programming Overview
- What is and Why system programming?
- Why Unix/Linux, Basic commands
- Compiling Environments
- GNU C Compiler, Makefile & Make
Contents (schedule)
- Slides (9/5)
Lecture 2. Low-level File I/O (system call)
Lecture 2. Low-level File I/O (system call)
- What is File?
- Basic shell commands for files
- File descriptor (fd)
- Basic system calls for handling files
Contents (schedule)
- Slides (9/12)
- Lab. (9/17) / Message for Lab. 2-3
- Summary
Lecture 4. File an Directory
Lecture 4. File an Directory
- File organization
- filename, i-node, data block
- Directory organization
- Hard link and Symbolic link
Midterm Exam (10/24)
Midterm Exam (10/24)
Final Exam (12/12)
Final Exam (12/12)
Review for the final exam (12/17)
Review for the final exam (12/17)
★ HPC Lab. 대학원생(진학 희망자), 학부 연구생 모집 중 ★
★ HPC Lab. 대학원생(진학 희망자), 학부 연구생 모집 중 ★
- 고성능 컴퓨팅, GPGPU, 컴퓨터 그래픽스 등을 함께 공부/연구하고 싶으신 분들 연락주세요~! (bluekds 'at' koreatech.ac.kr)
- 연구실 소개 (클릭)