= An Introduction to Linux !
Apostolos rootApostolos@swarmlab.io
// Metadata:
:description: Intro and Install
:keywords: Linux, apt
:data-uri:
:toc: right
:toc-title: Table of contents
:toclevels: 4
:source-highlighter: highlight
:no-header-footer:
:nofooter:
:last-update-label!:
:icons: font
:sectnums:
== process
An instance of a running program is called a process.
Every time you run a shell command, a program is run and a process is created for it.
In any modern operating system there can be more than one instance of a program loaded in memory at the same time.
== Linux process management
Operating systems need some ways to create processes.
* In a very simple system designed for running only a single application (e.g., the controller in a microwave oven), it may be possible to have all the processes that will ever be needed be present when the system comes up.
* In general-purpose systems, however, some way is needed to create and terminate processes as needed during operation.
[NOTE]
====
*There are four principal events that cause a process to be created:*
* System initialization.
* Execution of process creation system call by a running process.
* A user request to create a new process.
* Initiation of a batch job.
====
Process creation in UNIX and Linux are done through *fork()* or *clone()* system calls.
There are several steps involved in process creation.
* process scheduling,
* interrupt handling,
* signaling,
* process prioritization,
* process switching,
* process state,
* process memory