LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
Search this Thread
Old 08-13-2005, 12:32 PM   #1
sundialsvcs
Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 5,360

Rep: Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106
Tip: The parts of a Linux system


My initial experience with Linux is probably typical. Although I've got years of experience with many different OS's, I started with a commercial "distro" (Red Hat) and, I freely admit, didn't really understand it. ... I installed and used packages, let Red Hat Network install whatever updates it wanted, and slowly began to learn how this system actually worked. I found that probably the hardest thing of all was to grok how the various parts of this system worked together, because it is loosely-connected. In the "hope this helps" department, here goes ...

The Linux Kernel:
This what Linus Torvalds started writing. It resides in the /boot directory and gets loaded into memory when you turn on the computer, by means of a "boot loader" such as grub or the older LILO. Once loaded, it always remains in memory (although it also contains "kernel modules" that can be loaded or removed, which is another story).
The Kernel is what IBM likes to call a System Control Program, and that is exactly what it does: it controls the system (hardware), and not much more. It parcels out memory, schedules CPU time, controls hardware devices, and deals with the "interrupts" they produce. All very low-level stuff. The term device driver refers to a part of the kernel (usually a kernel module) that is responsible for recognizing and controlling a particular type of device.

System Libraries (e.g. glibc):
Most programs do not make direct calls to the kernel. Instead, they work with libraries, which are found in /lib. Like Windows .DLL files, they are usually shared by many applications at once. Unlike Windows, there's a well-defined system by which many different versions of the same library can be installed at once. Well-behaved programs request the "latest" version but some applications require specific ones. The system command ldconfig is important here.

Daemons (services):
This fanciful name refers to a program that is (usually) started when the system is booted, remains up all the time, and provides services to other programs. Everything from printing to file-sharing to the act of logging on is handled by them. When the system starts up, one process (process #1) named init is started, and it starts all the other ones as directed by the file /etc/inittab. Different arrangements of daemons can be requested by the mechanism of runlevels. (See the files in /etc/rc.n, where n=0..6, which link to files in /etc/init.d.)

X-windows:
Unlike Microsoft Windows, Linux uses a de-centralized, client-server arrangement for handling graphics. An interesting feature of this system is that you can graphically log-on to a machine that has no graphics card of its own, through the network. Found in /etc/x11, it is an unexpectedly complex but sophisticated subsystem.

Window managers; desktop (e.g. KDE, Gnome):
With Microsoft Windows, your graphical user interface (GUI) only looks and feels one way. With Linux you have a broad choice. The X-windows system mentioned previously relies upon window managers to control the arrangement of windows on the screen and desktops such as KDE, Gnome, FluxBox and AfterStep to specify how things look. The choice is yours.

The Shell (e.g. bash):
You can log-in to Linux using a command-line. You can open a "terminal" window (vdt) and issue commands. The program that accepts and processes these commands is called a shell, and a common one is named "bash."

Commands, Paths:
Most of the commands recognized by a shell aren't built-in to the shell; they're programs. They're usually found in /bin, /usr/bin, /usr/local/bin, and maybe /sbin. The command echo $PATH will tell you where bash knows to look.
Command files can also be located in the current directory, but bash won't automatically look for them there. Commands found in the current directory must be prefixed by ./ (period slash). (Which is why you see people talking about ./configure)

To be sure, a system like this that is loosely-connected, unlike Windows, does take time to "get to know." I hope that this high-level road map might help a little in figuring out just where a particular problem you're having might lie. And instead of calling yourself a and feeling somehow embarrassed by it ... you'll start to see that, when you ... there's a good reason for it! (And I assure you, it happens to us all.)

Last edited by sundialsvcs; 08-13-2005 at 01:19 PM.
 
Old 08-13-2005, 01:05 PM   #2
titanium_geek
Senior Member
 
Registered: May 2002
Location: Melbourne Australia
Distribution: it died/ macosx
Posts: 2,478

Rep: Reputation: 50
nice article. perhaps you could submit it to the wiki
 
Old 08-13-2005, 01:13 PM   #3
sundialsvcs
Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 5,360

Original Poster
Rep: Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106Reputation: 1106
I don't quite know how to do that, but Feel Free...
 
Old 08-13-2005, 03:30 PM   #4
eddiebaby1023
Member
 
Registered: May 2005
Posts: 378

Rep: Reputation: 33
The key to Linux, and UNIX before it, is that it was designed as a set of simple tools, each of which does one thing well. If you want complexity, you combine several simple tools into a more complex whole. That philosophy, and the standardisation of the tool interface (stdin, stdout, stderr) with wildcarding performed by the shell, give a consistent, usable system, unlike DOS, which does wildcard name matching differently, if at all, in each of the (rather poor) tools it provides.

It also, unlike Windoze, had security designed in from the start rather than having it cobbled in as an inadequate afterthought.
 
Old 08-13-2005, 08:58 PM   #5
titanium_geek
Senior Member
 
Registered: May 2002
Location: Melbourne Australia
Distribution: it died/ macosx
Posts: 2,478

Rep: Reputation: 50
http://wiki.linuxquestions.org/wiki/...t%27s_Linux%3F

the wiki is quite easy to get into- I encourage you to get into it and have a go.

titanium_geek
 
Old 08-14-2005, 12:25 AM   #6
Charred
Member
 
Registered: Mar 2005
Location: Utah, USA
Distribution: Slackware 11
Posts: 816
Blog Entries: 2

Rep: Reputation: 30
Your order us up; one big ol' fat slab o' "well done, stick it in the wiki" to go!
 
Old 08-14-2005, 11:49 AM   #7
adssse
Member
 
Registered: May 2005
Distribution: Ubuntu, Jolicloud
Posts: 136

Rep: Reputation: 15
Very nice, thanks for the info.
 
Old 08-14-2005, 11:50 AM   #8
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
That's a good read .
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Tip: Isolating a Linux problem sundialsvcs Linux - Newbie 1 09-01-2005 10:17 AM
Put System Together From Parts firefly2442 General 10 07-31-2004 11:10 PM
Parts KrYpToN Linux - Hardware 1 03-24-2004 11:13 PM
can i view current HFS parts with linux PPC? icyfire Linux - Software 2 11-10-2002 02:51 AM
Tip for those of you with Linux +Samba + Win2K trouble RedHat123 Linux - Networking 0 02-11-2002 07:52 AM


All times are GMT -5. The time now is 03:15 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration