COSC350 SYSTEM SOFTWARE, FALL 2025 (9/1/2025 ~ 12/12/2025)

 

Week

Lecture Notes

Announcement

Week-01

(09/01/25  ~ 09/05/25)

Note #0  .PDF

·         Introduction to System Software 

Note #0.1 .PDF

·         How to install VM for Linux on Window

Note #1 .PDF

·         About LINUX Operating System

·         What is GNU/LINUX Project

·         Introduction to C Programming

·         C System Environment

·         C compilers in LINUX

·         Linux System Roadmap

o   Header files

o   Libraries

·         Static Libraries

·         Shared Libraries

 

No Lab This week

Week-02

(09/08/25  ~ 09/12/25)

Note #2  .PDF

·         What is the shell

·         Simple Bash Commands

·         Redirecting Input and Output

·         Pipeline

·         Shell Scripts

Note #3  .PDF

·         Shell Syntax

o   Variables

o   Quoting

o   Environment Variables

o   Parameter Variables

o   Condition

o   The test or “[“ command

 

 

Week-03

(09/15/25  ~ 09/19/25)

Note #4  .PDF

·         Control Structures

o   if statement

o   if-else-if statement

o   for loop statement

o   while loop statement

o   until loop statement

o   case statement

Note #5  .PDF

·         Functions

o   Function with local variable

o   Function with return value

o   Bash recursive function

·         Other Commands

o   break Command

o   continue Command

o   eval

o   exit

o   export

o   expr

o   printf

o   set

o   shift

 

 

 

Week-04

(09/22/25  ~ 09/26/25)

Note #6  .PDF

·         File System

o   File Name, File Structure, File Types, File Access, File Attributes, File Operation

·         Directories

o   Directory Operations

·         File System Layout

·         Implementing File

o   Contiguous Allocation

o   Linked List Allocation

o   Linked List Allocation with File Allocation Table

o   Index-Node

·         Implementing Directories

·         Linux File Structure

·         File Implementation in Linux

 

Note #7  .PDF

·         System Calls vs. Library Functions

·         File Descriptors for a process

·         System Call for Managing Files

o   write()

o   read()

o   open()

o   close()

o   lseek()

o   pwrite(), pread();

 

Mini-Test #1 (9/25/25)

Solution .PDF

Note #1, 2, 3, 4, 5

Week-05

(09/29/25  ~ 10/03/25)

Note #8  .PDF

·         sync(), fsync()

·         File copy

·         Command Line Argument

·         File Sharing

·         dup() and dup2() System Cal

·         sat(), fsat(), lsat() system Call

·         ID’s for a process

·         File Access permission

·         access() System Call

·         umask() System Call

Note #9  .PDF

·         umask() system call

·         chmod(), fchmod() system call

·         File system in Linux

·         link(), unlink() system calls

·         File truncation with truncate()

 

 

 

Week-06

(10/06/25  ~ 10/10/25)

Note  #10  .PDF

·         link(), unlink() System Call

·         remove(), rename() System Call

·         Symbolic Links

o   Symbolic link to directory

o   Symbolic link to a executable file

·         symlink() System Call

·         File Times

o   utime() System Call

·         mkdir() and rmdir() System Call

·         chdir() Systemcall

·         Standard I/O Libaries

·         System Data Files and Information

·         Password File

 

Note #11  .PDF

·         System Data Files

o   Password File

o   Shadow Password File

o   Group Password File

o   Other System Data Files

§  Hosts

§  Networks

§  Protocols

§  Services

o   Login Account

o   Time and Date

 

 

Mini-Test #2(10/7/25)

Solution .PDF

Note #6,7, 8

Week-07

(10/13/25  ~ 10/17/25)

Note #12  .PDF

·         Process Environment in Linux

o   Process Termination

o   Environment List

o   Memory Layout of a C Program

o   Dynamic Memory Allocation and Deallocation

§  malloc()

§  calloc()

§  realloc()

§  free()

o   Environment Variables

 

Note #13  .PDF

·         Process Control

o   What is process?

o   Process identifier

o   The fork() System Call

o   File Sharing

o   Race Condition

 

Midterm #1 review note .PDF

Midterm #1 (10/16/25)

Note #1, 2, 3, 4, 5, 6, 7, 8, 9

Week-08

(10/20/25  ~ 10/24/25)

Fall Break (10/20/25., 10/21/25)

Note #14  .PDF

·         Process Termination

·         Zombie Process

·         wait() and waitpid() System Call

·         Orphan Process

·         exec System Calls

o   execl()

o   execv()

o   execle()

o   execve()

o   execlp()

o   execvp()

Note #15  .PDF

·         The waitpid() System Call

·         The system() System Call

·         Concept of Signals

o   Linux Signals

o   The signal System Call

o   Unreliable Signals

·         Signal() System Call

·         The kill() and raise() System Call

·         The alarm() System Call

·         The pause() System Call

 

 

Week-09

(10/27/25  ~ 10/31/25)

Note #16  .PDF

·         The pause() System call

·         The signal() system call

·         Signal set

·         The sigprocmask() system call

·         The sigaction() system call

·         Interprocess Communication

·         The sigsuspend() system call

·         The abort() system call

 

 

 

Week-10

(11/03/25  ~ 11/07/25)

 

 

 

 

Week-11

(11/10/25  ~ 11/14/25)

 

 

 

 

Week-12

(11/17/25  ~ 11/21/25)

 

 

 

 

Week-13

(11/24/25  ~ 11/28/25)

 

Thanksgiving Break (11/26/25 ~ 11/28/25)

 

 

Week-14

(12/01/25  ~ 12/05/25)

 

 

 

 

Week-15

(12/08/25  ~ 12/12/25)

 

 

 

 

Final Exam

(12/15/25  ~ 12/19/25)