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

NAME
afterimage-libs - script to get information about the installed version of libAfterImage SYNOPSIS
afterimage-libs [--external-only] [--have-afterbase] [--preferred-image-format] DESCRIPTION
afterimage-libs is a tool that is used to configure to determine the linker flags that should be used to link programs that use libAfterIm- age library. When called without any options, prints the linker flags that are necessary to link a program using libAfterImage. OPTIONS
afterimage-libs accepts the following options: --external-only Print the linker flags containing only external (i.e. not coming from afterstep package) libraries needed to link a program using libAfterImage. --have-afterbase Print `yes' if libAfterBase is available. --preferred-image-format Print the image format set as preferred when libAfterImage was compiled. COPYRIGHT
libAfterBase Copyright (C) 1999-2004 Sasha Vasko <sasha at aftercode.net> Copyright (C) 2000,2001 Andrew Ferguson <andrew@owsla.cjb.net> Copyright (C) 1999 Ethan Fischer <allanon@crystaltokyo.com> Copyright (C) 1998 Pierre Clerissi <clerissi@pratique.fr> libAfterImage Copyright (C) 1999-2004 Sasha Vasko <sasha at aftercode.net> Copyright (C) 2004 Valeriy Onuchin <Valeri dot Onoutchine at cern dot ch> Copyright (C) 2001 Eric Kowalski <eric@beancrock.net> Copyright (C) 1999,2001 Ethan Fisher <allanon@crystaltokyo.com> Copyright (C) 1999-2001 Free Software Foundation, Inc. Copyright (C) 2004 Maxim Nikulin <nikulin at gorodok.net> This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. AUTHOR
This manual page was written by Robert Luberda <robert@debian.org>, strongly based on the cppunit-libs man page, which itself is an almost word-for-word copy of the gtk-libs manpage, written by Owen Taylor. The cppunit-libs man page was modified by E. Sommerlade <eric@som- merla.de>. September 1st, 2009 AFTERIMAGE-LIBS(1)
All times are GMT -4. The time now is 10:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy