= 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
