COSC350 SYSTEM SOFTWARE, FALL 2026

Fall 2026 (08/31/26~ 12/11/26)

 

Week

Lecture Notes

Announcement

Week-01

(08/31/26  ~ 09/04/26)

Note #0  .PDF

·         Syllabus

Note #0.1  .PDF

·         How to install Linux VM 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

 

No Lab this week

Week-02

(09/07/26  ~ 09/11/26)

LABOR DAY HOLIDAY (9/7/26)

Note#2  .PDF

·         Linux System Roadmap

o   Libraries

·         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/14/26  ~ 09/18/26)

Note #4  .PDF

Shell Syntax

·         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

Shell Syntax

·         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/21/26  ~ 09/25/26)

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/24/26)

Note #1, #2, #3, #4, #5

Solution .PDF

Week-05

(09/28/26  ~ 10/02/26)

Note #8  .PDF

·         System Call for Managing Files

  • lseek() System call
  • pread() pwrite()
  • 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

·         System Call for Managing Files

  • umask() system call
  • chmod(), fchmod() system call
  • File system in Linux
  • link(), unlink() system calls

o   File truncation with truncate()

 

Week-06

(10/05/26  ~ 10/09/26)

Note #10  .PDF

·         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/6/26)

Note #6, #7, #8

Week-07

(10/12/26  ~ 10/16/26)

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

 

 

Week-08

(10/19/26  ~ 10/23/26)

FALL BREAK (10/19/26, 10/20/26)

 

 

Midterm #1 (10/22/26)

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

 

Week-09

(10/26/26  ~ 10/30/26)

 

 

 

 

Week-10

(11/02/26  ~ 11/06/26)

 

 

 

 

Week-11

(11/09/26  ~ 11/13/26)

 

 

 

 

Week-12

(11/16/26  ~ 11/20/26)

 

 

 

 

Week-13

(11/23/26  ~ 11/27/26)

 

THANKSGIVING BREAK

(11/25/26 ~11/27/26)

 

Week-14

(11/30/26  ~ 12/04/26)

 

 

 

 

Week-15

(12/07/26  ~ 12/11/26)

 

 

 

 

Final Exam

(12/14/26  ~ 12/18/26)