Site Loader

[General Info]

Class Time: 18:00 ~ 21:45 (Thu.)

Room Number: Workstation Lab. #400212, Semiconductor Building

Official Language: Korean

Instructor: Prof. Jinkyu Jeong

Course Description: This course is intended to make students be familiar with Linux systems. We will learn how to install and setup your own Linux system and review the basic Linux commands. We move on to various system calls provided by Linux systems for advanced programming. No prior knowledge on the Linux system is required.



  • 10% Class attendance
  • 90% Assignments


  • Gyusun Lee (
  • Jiwon Woo (
Week Topic Reading Assignment
Week1 Course overview    
 Week2 National holiday    
 Week3 Introduction to Linux  


 Week4 File I/O   PA1
 Week5 National holiday    
 Week6 Process   PA2
 Week7 IPC (Pipes and FIFOs)    
 Week8 Signals   PA3
 Week9 Class Cancelled    
Week10 Sockets    
Week11 Pthreads    
Week12 Concurrent Programming ex PA4
Week13 Threads synchronization    
Week14  Shell   PA5
Week15 Makefile, Git ex  
Week16 Final exam week    

Q&A Spreadsheet
*과제 진행 시 질의 확인 필수

Programming Assignment #5

PA5 Score (updated 12/26 3:10 pm)

화요일(Dec 24th) ~오후 6시, 목요일(Dec 26th) 오전 11시~오후10시 방문시간 메일 후 ( 본인 노트북 지참하여 방문해주세요.

DUE: Sunday 11:59pm, Dec 22th (updated 12/13)


# Aligned buffer allocation example (align buf with 4KB)
char *buf = (char *)malloc(size);
posix_memalign((void **)&buf, 4096, size);

Programming Assignment #4

PA4 Score (updated 12/23)

PA4 채점 관련 질문:

금요일(Dec 20th), 월요일(Dec 23th) 오후 2시~4시 방문시간 메일 후 ( 본인 노트북 지참하여 방문해주세요

DUE: Thursday 5:59pm, Dec 5th



Programming Assignment #3

PA3 Score (new)

DUE :  Thursday 5:59pm, Nov 21th

PA3 skeleton


Programming Assignment #2

PA2 Score (updated)

PA2 채점 관련 질문:

화요일(Dec 10th), 수요일(Dec 11th) 오후 8시 이후 방문시간 메일 후 ( 본인 노트북 지참하여 방문해주세요

(Update! 10/19 pm7:08)

DUE :  Sunday 11:59pm, Oct 27th


Programming Assignment #1

PA1 Score

DUE :  Thrusday 11:59pm, Oct 10th



Programming Assignment #0

PA0 Score (New! Oct 10th)

DUE :  Sunday 11:59pm, Sep 29th

$ sudo apt-get install unzip
$ unzip


  • 실행파일을 향하는 꺽쇠(<)는 해당 파일의 내용을 실행 프로그램이 Standard Input으로 받아옴을 뜻합니다.
    나가는 방향의 꺽쇠(>)는 실행 프로그램이 Standard Output에 출력하는 내용을 해당 파일에 받아옴을 나타냅니다.
    ./[실행파일] <[stdin파일] >[stdout파일]

    Standard Input은 터미널로부터의 입력을 나타내고,
    Standard Output은 터미널로의 출력을 나타냅니다.

    Standard Output을 나타내는 file descriptor #는 1입니다.
            write(1, buffer, buf_size);
    을 통해 Standard Out으로의 출력을 나타낼 수 있습니다.
    Standard Input을 나타내는 file descriptor #는 0으로
            read(0, buffer, buf_size);
    을 통해 Standard Input으로부터 입력받을 수 있습니다.

  • 오름차순으로 정리 시 어퍼스트로피(‘), 하이픈(-), 알파벳 순(같은 알파벳의 경우 대문자가 소문자에 우선) 의 우선순위를 갖습니다.
    어퍼스트로피 기호로는 ASCII code 39번째(0x27) 기호인 작은 따옴표만을 사용하겠습니다.
            [정렬순서]     apple  ⇒  apples  ⇒  apples  ⇒  appleS ⇒  apple⇒  appleT  ⇒ applet


Post Author: