Linux Vs UNIX - kernel - How to understand the difference?
2
votes
0
answers
4087
views
In 1980's, two most prevalent operating systems came out,
1) *System V* created by AT&T
2) *BSD* created at UOC, Berkeley
Some of the *BSD* variants are *OpenBSD, FreeBSD, MAC OS X*
Some of the *System V* variants are AIX/HP-UX/Solaris
------------------------------------------
*Linux* is created in 1991, which is made of,
*GNU tools(user space) + Linux kernel(kernel space)*
-------------------------------
Comparing *UNIX kernel vs GNU hurd vs Linux kernel*, **primary**/**relevant** difference to be known to UNIX/Linux kernel user, is in **kernel integration(build) policy** approach,
**In UNIX**, core kernel and service layers(like MemoryMgmt/ProcessMgmt/IPC/..) are statically compiled and linked to create a kernel executable. A single static binary file.
**In GNU Hurd**, core kernel only is built into a static executable and services are built as dynamic modules. At boot up time core kernel gets loaded and stay resident in memory. Core kernel will dynamically load a service layer when it is required. Services will be unloaded when they are not required. Kernel with loadable modules.
Adv/Disadv:
- A single static binary file has less response time.
- Kernel with loadable modules has more response time
- A single static binary file takes more memory since the foot print carries complete static image with all services
- Kernel with loadable modules take less memory
**Linux** kernel integration(build) policy called “Modular kernel”, which is a mixture of above two policies. Hope you got the reason to mention *GNU Hurd*.
------------------------------
Mechanics of Linux/UNIX kernel, **1) working of kernel with its services** **2) providing interface to user(shell & system calls)**, were always same, as shown below,
--------------------------------------------------
--------------------------------------
So, for Linux/UNIX kernel user,
1) **It is more important** to understand the difference in the aspect of **kernel integration(build) policy** approach.
2) If mechanics of UNIX vs Linux kernel, are same, then, one can further think about **less important** aspect that talks on **different implementation** of service layers(Memory_mgmt_policy/drivers/FileSy stems/.....) using C. why less important? Because, this is an abstraction to Linux/UNIX kernel user and implementation always varies(never same) in each OS and also varies in time.
-----------------------------------------------
My question:
To understand the difference,Unix vs Linux kernel, Do you agree with the two reasons, mentioned(above)?
If no, please correct me.

Asked by overexchange
(1596 rep)
Jan 19, 2017, 08:58 AM
Last activity: Jan 20, 2017, 12:52 PM
Last activity: Jan 20, 2017, 12:52 PM