PakProject.com
A Free Source of Learning
You are here: Home > Lecture Notes > System Programming
  System Programming
NOTE: Most of the contents presented on this page are taken from book "Beginning Linux Programming" by Wrox. The content presented here is just for educational purpose.

Class Lectures

Lecture-1

What is System Programming? - Difference between System and Application Programming? - System Programming Applications - System Programming History What is Unix? - What is Linux? - Kernel - Installing Linux - Text editors for C Programming - Compiling & running C Program - The C compilation model - The Preprocessor - C Compiler - Assembler - Link Editor - Library Files - Compiling with library reference - Static Libraries (.a) Shared Libraries (.so) -

Lecture-2

Passing arguments to a C program through command line - Running and creating a C program from a shell file - Running a shell program through C program - exec function : to replace a running program with another program - Using Argument String in execvp function - EXAMPLE using exec with fork -

Lecture-3-4

Installing Ubuntu - From windows desktop - From bootable CD - Makefiles - Makefile ( a simple make file demonstration ) - Explanation - What can be values in Target, Dependency, Instructions - Compiling a multiple files C programs, each file having its own main function - making library

Lecture-5

Shell Programming - What is a shell - Redirecting output - Redirecting the input - Pipes - Creating a Shell script - Interactive Programs - Shell Syntax

Lecture-6

Creating a Shell script - cat - grep - Interactive Programs - Creating the script - Shell Syntax - Quoting

Lecture-7

Linux Commands - mkdir - cd - man - wc - seq - rmdir - bc - chmod

Lecture-8

Shell Programming - Conditions - Control Structures - if - elif - for - while - Until

Lecture-9

Shell Programming - ls - Setting Parameters - case - Putting patterns together - Executing Multiple Statements

Lecture-10

Shell Programming - Lists - The AND List - The OR List - Functions - Returning a Value -

Lecture-11

Shell Programming - Commands - break

Lecture-12

Shell Programming - continue - echo - printf - unset - Arithmetic expansion, while loop - Creating a table of 2 using for loop - Shell Arithmetics - Here Documents - Dialog application

Lecture-13

System Calls and Device Drivers - Low-Level File Access - write - read - Read example - Open - Permissions - ioctl - A File Copy Program

Lecture-14

unlink - mkdir and rmdir - chdir - Scanning Directories - opendir - readdir - closedir - A Directory-Scanning Program

Lecture-15

What Is a Process? - Process Structure - Process Control Block - The Process Table - Viewing Processes - System Processes - Starting New Processes

Lecture-16

exec function - execv and execvp

Lecture-17

Duplicating a Process Image - fork

Lecture-18

Waiting for a Process - wait system call

Lecture-19

Zombie Process

Lecture-20

Input and Output Redirection

Lecture-21

Signals - signal library function - signal examples

Lecture-22

SIG_DFL and SIG_IGN - A program in which a signal is generated when ctrl+C is pressed during execution

Lecture-23

POSIX THREADS - What is a Thread - Advantages and Drawbacks of Threads

Lecture-24

POSIX THREADS - A Simple Threaded Program

Lecture-25

POSIX THREADS - Simultaneous Execution - Synchronization - Synchronization with Semaphores - Thread Semaphore

Lecture-26

POSIX THREADS - Synchronization with Mutexes

Lecture-27

Inter-Process Communication: Pipes - The Pipe Call - EXAMPLE: Pipes across a fork

Lecture-28

Inter-Process Communication: Pipes - Parent and Child Processes

Lecture-29

Inter-Process Communication: FIFOs - Named Pipes: FIFOs - Accessing a FIFO File - Opening a FIFO with open - Reading and Writing FIFOs - EXAMPLE: Inter-Process Communication with FIFOs


  Advertise with US
  

Assignments

Assignment-1

Assignment from Shell programming, C programming, Linux Commands

Assignment-1 Solution

Assignment_2_3

Assignment from linux commands, fork, exec

Assignment_2_3 Solution

Assignment-4

Assignment from Threads, semaphore, mutex

Assignment-4 Solution

MySQL Installation in Linux

Step by step installation of MySQL in linux

Practice Problems - Part 1

29 solved problems, in shell programming and C programming

Practice Problems - Part 2

24 solved problems, in linux commands, shell programming and C programming

Practice Problems - Part 3

28 solved problems, in linux commands, shell programming and C programming. How to connect with database MySQL in C programming. Performing database select query through C. Inserting and deleting record from database using C. How to make GUI based software in C. Some very important linux commands for ubuntu.

Quizzes

Quiz-1

Quiz-1 Solution

Quiz-2

Quiz-2 Solution

Quiz-3

Quiz-3 Solution

Quiz-4

Quiz-4 Solution

Quiz-5

Quiz-5 Solution


Exams

Sessional-1

Sessional-1 Solution

Sessional-2

Sessional-2 Solution

Final Exam

Final Exam Solution

Lab Sessional-1

Lab Sessional-1 Solution

Lab Sessional-2

Lab Sessional-2 Solution

Lab Final

Lab Final Solution

For any suggestions, feedback, complaints and advertisement contact us at info @ pakproject . com -- Copyrights © pakproject.com Disclaimer