Sample Header Ad - 728x90

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, enter image description here -------------------------------------------------- -------------------------------------- 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