Skip to content

24-1 / 시스템프로그래밍실습 / Prof. 한환수

Notifications You must be signed in to change notification settings

wanip17/skku-SPL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Programming Lab Project Assignments

Instructor: Hwansoo Han

A lab course for Linux systems programming: file I/O, processes, IPC, sockets, threads, and synchronization.

PA1: Streaming Text Search

  • Objective: Implement a memory-constrained, streaming text search program supporting single-word, multi-word, quoted phrase, and *-wildcard queries.
  • Grade: 77.5/100
  • Key Features: Stream large files (can be tens of GB), 1 GB memory assumption, per-test hard time limits; strict header restrictions and exact output format.

PA2: Mini Shell

  • Objective: Build six coreutils-style executables, then extend a Bash-like shell with pipes, redirection, job control, signals, and built-ins.
  • Grade: 5/100
  • Key Features: Implement pa2_head/tail/cat/cp/mv/rm, shell grammar (EBNF), background jobs (&), fg/bg/jobs, cd/pwd/exit, and robust error handling; no system()/popen().

PA3: Reservation Server

  • Objective: Design and implement a multi-client reservation service with a thread-pool server (pa3_server) and a client (pa3_client).
  • Grade: 93.98/100
  • Key Features: 256 seats, one active user per client, synchronization per seat, NUM_CORES-sized thread pool; build & run via make, ./server port, ./client addr port [file].

Lab assignments

Weekly lab exercises covering topics such as file I/O, processes, multiplexing, IPC, daemon processes, threads, and synchronization.

About

24-1 / 시스템프로그래밍실습 / Prof. 한환수

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published