360 Course Plan

   

CPTS 360 COURSE PLAN Spring, 2023 COURSE TITLE : CPTS 360 Systems Programming in Unix/Linux

TEXT 1:(REQUIRED) Systems Programming in Unix/Linux, K.C. Wang, Springer International AG, 2018

*

TEXT 2:(Highly Recommended) Design and Implementation of the MTX Operating System, K.C. Wang, Springer International AG, 2015

* CLASS NOTES : https://www.eecs.wsu.edu/~cs360/ INSTRUCTOR : K. C. Wang, Professor of EECS, Sloan 321 335-3769, kwang@eecs.wsu.edu Office Hours: T,Th: 9:00-10:00 AM via ZOOM TAs : Logan Kloft (Wednesday 1:45-3:45 PM via ZOOM) logan.kloft@wsu.edu Zoom link: https://wsu.zoom.us/j/9503813536 Meeting ID: 950 381 3536 Taylor West (Monday 3:30-5:30 PM via ZOOM) taylor.west@wsu.edu Zoom link: https://wsu.zoom.us/j/6147467952?pwd=YjJPbDMzMXA1OFYwbjBQS2RzNllyZz09 Meeting ID: 614 746 7952 Passcode: 316231 Brandon Cook (Tuesday 12-2:00 PM via Zoom) brandon.cook@wsu.edu Zoom link: https://wsu.zoom.us/j/3037527480?pwd=cUlrYnp5T1IrRlh5UHd3U252MkxrQT09 Meeting ID: 303 752 7480 Passcode: 2023 Gabriel Righi (Friday 12:30-2:30 PM via Zoom) gabriel.righi@wsu.edu Zoom Link: https://wsu.zoom.us/j/9498380968?pwd=UkxBaHhuNU45a2U0Rk5oWUN0dnN6UT09 Meeting ID: 949 838 0968 Passcode: 252054 PREREQUISITES : Basic knowledge and working experience in Unix commands. Ability to program in C or C++. COURSE CONTENTS: Introduction to Unix/Linux and MTX Operating Systems: Files, directories, special files, logical organization of Unix file system; user account, login process and command execution. Program development Source files; compiler, assembler and object files; linker, library and executable files; loader and execution images. Symbolic debugger and run-time support. Execution image of C programs Code, data and stack segments; function calling convention, stack frames and parameter passing; long jumps. File I/O System calls and low-level file I/O; open, close, read, write, lseek, file descriptors and file sharing. Execution of User mode and Kernel mode images, implementation and implications of system calls. File Control Permissions and access control, fcntl, chown, chmod, hard and soft links, file status and statistics. I/O redirection, pipes, filters and applications. Standard I/O Library Streams and high-level file I/O; user space buffering, relationship with low-level I/O, char and line mode I/O. Formatted I/O. File system implementation Inodes and file representation; mkfs and physical file system layout; traversal of the file system tree; booting system images. Processes Concept and implementation of processes, process execution environment, user mode and kernel mode images, process states transitions. Processes in the Unix system; init, login and user processes. Process Control fork, vfork, wait, exit, kill, exec operations. traps and signal handling. Process Synchronization and Communication Signals, pipes, semaphores, messages and shared memory segments. Sockets. Concurrent Programming Threads and parallel programming Networking Introduction to Internet; host, address resolution, routing; protocols, client and server; ftp, rlogin, nfs, and nis, Socket Programming. Project: To be announced later Misc Topics: sh and Perl programming, Linux system administration. COMPUTER SYSTEMS: YOU MUST have a PC/laptop running Linux AND you can compile and run C programs. Other Linux systems in EECS for general use. LAB SESSIONS NO formal Lab sessions. Lab assignments and DUE date will be given in class AND posted online HERE.

Academic Honesty Rule: Absolutely NO copying allowed!!

Exam#1: Thursday, February 23, 2023; in class Exam#2: Thursday, April 20, 2023; in class --------------------------------------------------------------------- GRADING: Programming Assignments %20 (DUE and DEMO to TA on Th) Quizz %10 (one per Lab assignment; in class OR demo) Exams %40 (2-23, 4/20, 2023, in class). Project %30 (DUE and DEMO in close week) -------------- Letter grades and score ranges ----------------------- A: 90-100 % B: 70-89 % C: 50-69 % D: 30-49 % F: 0-29 % --------------------------------------------------------------------- Late Policy: Late work is not allowed. Please reach out to the TA's in advance if you are sick or have an extraneous circumstance.