Sponsored Content
The Lounge What is on Your Mind? Technology Illustrated Concept Architecture of Unix Systems Post 302712965 by bakunin on Wednesday 10th of October 2012 05:30:38 AM
Old 10-10-2012
I think "kernel" is a way to broad category. When you examine what a kernel does there are two different groups of services a kernel has to offer:

A) Drivers These are programs which interface with a piece of hardware and create a generic interface with which other programs can work - usually a device file. If there is any one distinguishing concept of Unix and all Unixoid systems that is "everything is a file". Unix uses "files" (loosely defined, anything with an entry in the filesystem) for about everything: inter-process communication (semaphores, pipes, FIFOs), device interaction, even networking! It fits that the "generic interface" a driver presents to the rest of the OS is usually a device file which can be written and/or read.

Drivers are usually processes in their own right but run with kernel privileges. It is a matter of definition if you see them as part of the kernel or as add-ons to it.

B) Service threads These are all sorts of services a kernel offers to keep the system going: (process) accounting, scheduling, resource management, etc.. Nano- (Micro-)kernel advocates (like Andrew Tanenbaum) argue that only these make for the "kernel" at all and that even some of these could be removed from the "core kernel" to make drivers.

As we all know Nanokernels didn't win out because even the last kernel to be developed - Linux - was a monolithic kernel with the drivers included, much to the chagrin of the Microkernel-advocates. This doesn't mean that monolithics are better at all, just that nobody every tried the other approach in a productive environment.


So my personal "onion image" would be:

hardware
drivers
(other) kernel threads
applications

Even more so because "compilers" (or linkers) are ordinary programs at all. They are in no way more special than "sed", "awk" or any similar text filter, because in fact they are filter programs too: the are fed an input file (the source, the object deck, ...) and produce an output file (the object deck, the executable, the archive, ...) from it by following some rules. Any programming language can be interpreted as command within these rules to produce a certain output (the relocatable or executable code) just like a sed script will produce a defined output from an input.

bakunin

Last edited by bakunin; 10-10-2012 at 06:36 AM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

distributers of unix systems

Well i've been looking for some unix systems to download but with all the technical stuff they talk about on the sites i think that it would be betterif i just bought oneat a store so it comeswith directions and stuff, but is there any unix system that will coincidentally run with MS-dos mode? and... (1 Reply)
Discussion started by: shag134
1 Replies

2. SCO

Sharing unix drives from two unix systems

I have two SCO openserver systems, 1 in the US and 1 in the UK. I am setting up a vpn to connect the two local networks that also have windows pc's on them. Is there a way that either unix system can see the hard drive on the other unix system so that I can share data between them. I run a cobol... (1 Reply)
Discussion started by: rongrout
1 Replies

3. UNIX for Dummies Questions & Answers

Trivial Unix Architecture question

Hi, I am becoming very curious as to why viruses attach only Windows system and not any UNIX and Linux. Does that has to do something with the architecture or something else. (11 Replies)
Discussion started by: vibhor_agarwali
11 Replies

4. UNIX for Dummies Questions & Answers

Having difficulty with UNIX concept. Please help!

Hi, I would be very happy if someone could help me please. I am relatively new to UNIX, and still learning. My understanding of things are: Say I have a PC running Windows. This machine has a name. If I have 10 PC's, then I have 10 names, one for each PC. Each PC is independent of the other.... (4 Replies)
Discussion started by: ALon
4 Replies

5. UNIX for Dummies Questions & Answers

UNIX box architecture

Hi Gurus, I am new to UNIX environment. We have our DataStage tool installed on UNIX box.We have Dev,test and Prod environments.The architecrue is as given below. Now my problem is I am not able to know what is meant by Physical name,Logical name,Cluster etc. also we need to do failover in case a... (5 Replies)
Discussion started by: pratyusha
5 Replies

6. UNIX for Dummies Questions & Answers

trying to understand rationale of unix stream i/o concept

I am an entry level programmer with no formal training in computer science. I am trying to enhance my conceptual knowledge about operating systems in general. I have been using the C programming language on Linux systems for some time and have used the traditional unix stream I/O APIs. The... (1 Reply)
Discussion started by: kaychau
1 Replies

7. Shell Programming and Scripting

Regarding Mail concept in unix

Hi, I am new to this mail concept in unix. i have requirement to read the mail from mailbox. Now to get the mail where i have to configure the mail id and also the mail server. Kindly suggest me. Thanks in advance. (3 Replies)
Discussion started by: krishna_gnv
3 Replies

8. UNIX for Dummies Questions & Answers

A question about Unix Architecture.

I want to know the memory capacity and types of memories, processor and more... What kind of aplications this OS attends? Archicture/system classification (Hybrid, monolithic, multitasking, micro-kernel, layered, Another..? Explain it to me... I really need to understand and know that. Any... (3 Replies)
Discussion started by: AlissonManson
3 Replies

9. What is on Your Mind?

What exactly is the concept of BITS in this unix.com forum?

Is there a detailed page on the explanation of concept behind BITS and score used in this forum. Just saw the index on my Banking page. (Clicked the Banking hyperlink below my profile name on the topmost right corner of this screen) Thanks in advance. (2 Replies)
Discussion started by: Manjunath B
2 Replies
DIFF3(1)							     GNU Tools								  DIFF3(1)

NAME
diff3 - find differences between three files SYNOPSIS
diff3 [options] mine older yours DESCRIPTION
The diff3 command compares three files and outputs descriptions of their differences. The files to compare are mine, older, and yours. At most one of these three file names may be -, which tells diff3 to read the standard input for that file. Options Below is a summary of all of the options that GNU diff3 accepts. Multiple single letter options (unless they take an argument) can be com- bined into a single command line argument. -a Treat all files as text and compare them line-by-line, even if they do not appear to be text. -A Incorporate all changes from older to yours into mine, surrounding all conflicts with bracket lines. -B Old behavior of -A. Shows non-conflicts. -e Generate an ed script that incorporates all the changes from older to yours into mine. -E Like -e, except bracket lines from overlapping changes' first and third files. With -e, an overlapping change looks like this: <<<<<<< mine lines from mine ======= lines from yours >>>>>>> yours --ed Generate an ed script that incorporates all the changes from older to yours into mine. --easy-only Like -e, except output only the nonoverlapping changes. -i Generate w and q commands at the end of the ed script for System V compatibility. This option must be combined with one of the -AeExX3 options, and may not be combined with -m. --initial-tab Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal. -L label --label=label Use the label label for the brackets output by the -A, -E and -X options. This option may be given up to three times, one for each input file. The default labels are the names of the input files. Thus diff3 -L X -L Y -L Z -m A B C acts like diff3 -m A B C , except that the output looks like it came from files named X, Y and Z rather than from files named A, B and C. -m --merge Apply the edit script to the first file and send the result to standard output. Unlike piping the output from diff3 to ed, this works even for binary files and incomplete lines. -A is assumed if no edit script option is specified. --overlap-only Like -e, except output only the overlapping changes. --show-all Incorporate all unmerged changes from older to yours into mine, surrounding all overlapping changes with bracket lines. --show-overlap Like -e, except bracket lines from overlapping changes' first and third files. -T Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal. --text Treat all files as text and compare them line-by-line, even if they do not appear to be text. -v --version Output the version number of diff3. -x Like -e, except output only the overlapping changes. -X Like -E, except output only the overlapping changes. In other words, like -x, except bracket changes as in -E. -3 Like -e, except output only the nonoverlapping changes. SEE ALSO
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1). DIAGNOSTICS
An exit status of 0 means diff3 was successful, 1 means some conflicts were found, and 2 means trouble. GNU Tools 22sep1993 DIFF3(1)
All times are GMT -4. The time now is 09:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy