Linux and Solaris
Came across an article by Max Bruning [ The Solaris internals Guru ] on differences between Solaris and Linux.
Just noting down few points from the detailed article for quick reading later on.
For ppl interested in the complete article please refer to
http://www.opensolaris.org/os/article/2005-10-14_a_comparison_
of_solaris__linux__and_freebsd_kernels/
Linux
=========================================================================
=========================================================
Just noting down few points from the detailed article for quick reading later on.
For ppl interested in the complete article please refer to
http://www.opensolaris.org/os/article/2005-10-14_a_comparison_
of_solaris__linux__and_freebsd_kernels/
Linux
=========================================================================
- Uses a Virtual File Switch mechanism for abstracting file system details from users
- Inode is the file system indepent data struct
- Default local file system is ext3fs .ext3fs is an extent based journalling fs
- Uses LRU as a page replacement algorithm
- Uses a pagedaemon called kswapd for page replacement
- Basic unit of scheduling is task_struct
- Processes and threads are rep by task_struct
- A single-threaded process in Linux has a single task_struct
- Scheduling decisions are based on priority :the "lower" the priority value, the better
- Supports time-shared scheduling of threads
- Favor interactive threads/processes. Interactive threads run at better priority than compute-bound threads, but tend to run for shorter time slices.
- Debugging tool : gdb
=========================================================
- Uses a Virtual File System mechanism for abstracting file system details from users
- Vnode is the file system independent data structure
- Default local file system is ufs
- ufs is based on BSD Fast file system
- Uses LRU as a page replacement algorithm
- Uses a pagedaemon called pageout for page replacement
- Each process is rep by proc_t and each thread in a process is rep by kthread_t structures
- A single-threaded process in Solaris has a
proc_t
, atask_struct
singlekthread_t
, and aklwp_t.
- Scheduling decisions are based on priority: The "higher" the priority value, the better
- Supports time-shared scheduling of threads
- Favor interactive threads/processes. Interactive threads run at better priority than compute-bound threads, but tend to run for shorter time slices.
- Kernel visibility tools : mdb,kdb,"Dtrace"
Comments