Friday, April 3, 2015

Terminology


I hope my kids will understand those simple explanations.


Linux Kernel | Shell | Time Sharing | Process |


Linux Kernel

Kernel is a master program (operating system) that controls computer resources, allowing different users and tasks (processes) access to computer's resources such as memory, cpu, keyboard, display, printer etc. Kernel does not interact with the user directly. Instead, it starts a separate interactive program called shell for each user of Linux operating system (Linux allows many users to use resources at the same time).

back to top


Shell

Shell is an interactive program that allows users talk to the kernel which in turn allows users access to computer resources. It is going to translate user's commands to kernel but is also a programming language.

back to top

Time Sharing

Linux is multi-user, multitask operating system. Many users can use Linux at the same time (for example using multiple ssh sessions to a device). Also, a single user can start multiple tasks or programs at the same time. Kernel is scheduling execution of all these processes in a fast manner, giving each individual process a time to complete its task. It is doing this so fast that the user has the illusion that the computer is doing many tasks all at once.

back to top


Process

Each task or program a computer is managing is called process.

back to top