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
pnmpaste(1)						      General Commands Manual						       pnmpaste(1)

NAME
pnmpaste - paste a rectangle into a portable anymap SYNOPSIS
pnmpaste [-replace|-or|-and |-xor] frompnmfile x y [intopnmfile] DESCRIPTION
Reads two portable anymaps as input. Inserts the first anymap into the second at the specified location, and produces a portable anymap the same size as the second as output. If the second anymap is not specified, it is read from stdin. The x and y can be negative, in which case they are interpreted relative to the right and bottom of the anymap, respectively. This tool is most useful in combination with pnmcut. For instance, if you want to edit a small segment of a large image, and your image editor cannot edit the large image, you can cut out the segment you are interested in, edit it, and then paste it back in. Another useful companion tool is pbmmask. pnmcomp is, a more general tool, except that it lacks the "or," "and," and "xor" functions. pnmcomp allows you to specify an alpha mask in order to have only part of the inserted image get inserted. So the inserted pixels need not be a rectangle. You can also have the inserted image be translucent, so the resulting image is a mixture of the inserted image and the base image. The optional flag specifies the operation to use when doing the paste. The default is -replace. The other, logical operations are only allowed if both input images are bitmaps. These operations act as if white is TRUE and black is FALSE. All flags can be abbreviated to their shortest unique prefix. SEE ALSO
pnmcomp(1), pnmcut(1), pnminvert(1), pnmarith(1), pbmmask(1), pnm(5) AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer. 21 February 1991 pnmpaste(1)
All times are GMT -4. The time now is 11:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy