This repository contains C codes to know linux in a better way.
It contains: -
The basic idea of a message queue is a simple one.Two (or more) processes can exchange information via access to a common system message queue. The sending process places via some (OS) message-passing module a message onto a queue which can be read by another process.
A pipe is a form of redirection that is used in Linux and other Unix-like operating systems, to send the output of one program to another program for further processing. IPC - Inter Process Communication
A process is an instance of a program running in Linux or in any OS .
The scheduler is the component of the kernel that selects which process to run next. The scheduler (or process scheduler, as it is sometimes called) can be viewed as the code, that divides the finite resource of processor time between the runnable processes on a system.
A semaphore is a value in a designated place in operating system (or kernel) storage that each process can check and then change. Depending on the value that is found, the process can use the resource or will find that it is already in use and must wait for some period before trying again.
Signals are a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. A signal is an asynchronous notification sent to a process or to a specific thread within the same process in order to notify it of an event that occurred.
The kernel scheduler takes care of scheduling the threads,just like it schedules regular processes. The threads are created with the Linux clone() system call, which is a generalization of fork() allowing the new process to share the memory space, file descriptors, and signal handlers of the parent.
- Author: Sanyam Arya
- ersanyamarya@gmail.com