Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

More specifically, how is the UNIX kernel treated differently from other parts of the Operating System?

share|improve this question

closed as not constructive by slm, Herman Torjussen, Renan, vonbrand, jasonwryan Apr 28 '13 at 23:32

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
Please add more details to your question. It's too vague. Are you asking what a kernel is? Are you asking about the difference between kernel and user space? Please elaborate... –  Joseph R. Apr 28 '13 at 20:39
1  
I specifically want to know what makes the UNIX kernel so fundamental to the UNIX O/S as a whole and how it differentiates itself from other parts of the O/S. –  Referential Apr 28 '13 at 20:42
6  
A simple search will lead you to a reliable source where you can read and understand everything on the subject. –  Rany Albeg Wein Apr 28 '13 at 21:06
1  
Old but still relevant ;) Ken Thompson and Dennis Ritchie Explain UNIX –  Sukminder Apr 29 '13 at 10:22
    
The kernel is vital to any OS. In a way, the kernel is the OS: without it, your computer is a non-interactive machine. The kernel is the program that turns the machine into a tool. It is the process that always runs, from which you fork processes (a program to run programs). Process management, memory allocation (and protection), hardware I/O, the filesystem, resource allocation (the CPU), the kernel does all this. The kernel, while software, is the interface between the machine (hardware) and anything you do with a computer (with software!). It is not a Unix specific thing. –  Emanuel Berg Apr 29 '13 at 13:21
add comment

2 Answers 2

The kernel is a piece of software acting as a mid layer in what consists a computer, often administering the hardware resources and offering services to the various applications.

The services provide by the kernel, include, but are not limited to:

  • Abstracts and administers the applications running on a user machine so that they share effectively hardware resources, such as:
    • The CPU (via algorithms that decide which process should make use of the CPU, and when it had its fair share and its time to replace it with another proccess)
    • The memory (the kernel is responsible for managing the memory, saying what should be in the memory at all times, when something should leave the memory for something else to take its place, etc)
    • Any input/output devices there are (by providing simpler interfaces that the applications can use to effectively use those devices)
  • It implements a mechanism called IPC (InterProcess Communication) two or more processes to communicate with each other and allow synchronization between them or sharing of data.
share|improve this answer
add comment

It is loaded in memory all the time, and handles the most basic abstractions of the system (devices, files, network connections). It certainly is very central.

share|improve this answer
    
I know you are able to write a much better answer than this. Otherwise, this answer would fit in a comment (as to its length). –  Emanuel Berg Apr 30 '13 at 22:18
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.