Skip to content

introduction to the concepts, design, and structure of the UNIX operating system, using basic UNIX utilities, system resources in C programming, and POSIX threads to implement concepts and algorithms.

Notifications You must be signed in to change notification settings

pplevins/UNIX-Linux_Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNIX-Linux_Systems

Course Objective:

To introduce the concepts, design, and structure of the UNIX operating system. To know the use of basic UNIX utilities. To know the principles of UNIX shell programming. To understand how to use system resources in C programming to implementing some of the concepts from the course Operating Systems. To know how to use POSIX threads to implement various algorithms.

Course Description:

Part One: UNIX Shell commands

  1. History of UNIX.
  2. Basic commands: ls, cp, ln, mkdir, rm, pwd, head, tail, man, date, apropos, cat, less, chmod, chown, find, xargs, sort, file, which, who.
  3. Text Manipulation: grep, regular expressions.
  4. Shell Programming: Redirection, variables, built-in commands.
  5. Shell Programming: Bash: loops, functions and arrays.

Part Two: C programming in UNIX

  1. Compiling C and Running C programs: arguments, stdio, exit codes, environment, libraries, make.
  2. File Accessing: open/close/read/write.
  3. Process Management: ps/kill, creation (system, fork, exec), signals, termination, wait, zombies.
  4. InterProcess Communication: Pipes.
  5. Threads: creation, parameters, join, return values, attributes, cancellation, sync/async, critical section, thread data, cleanup.
  6. Process and Thread Synchronization: using mutexes and conditions on pthreads.
  7. Creating and Using thread pools.

Lab:

  1. Commands in UNIX (not handed it)
  2. Command-line scripts in Bash.
  3. Bash programming: Bubble sort.
  4. C programming: Reading and Writing files in C.
  5. Create a user shell interface in C.
  6. Producer consumer problem with threads.

About

introduction to the concepts, design, and structure of the UNIX operating system, using basic UNIX utilities, system resources in C programming, and POSIX threads to implement concepts and algorithms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published