Linux - NewbieThis 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!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Dear Linux experts,
I would like to know what does i386 or i686 mean in linux.Kindly elaborate it for me .when i give uname -a, i get "i686 athlon i386 GNU/Linux" .. in this case does athlob i386 refer to the hardware?..
i686 refers to the type of processor that is detected. i386 in this context refers to to the type of processor on what linux can run (an i386). As the processors are backwards compatible you can run i386 code on a i686; the other way around is not possible as the code is optimized for i686 and therefore contains instructions that are not understood by an i386.
It refers to which hardware architecture the kernel was compiled.
i686 refers to Pentium Pro or later achitectures (incl. AMD equivilants)
i386 refers to pre Pentium Pro, thus also older hardware, and tends to be generically compiled (but performs a bit slower on i686 systems because of the missing optimizations). So old AND new hardware can use it.
Linux Dev's usually provide (for generical distributions) a i386 kernel, as a fail safety. And to make sure a broader userbase can run the distribution out of the box.
If you want an optimized kernel, you could check for the repository of your distribution, for an optimized one (i686). If this is not provided, then you need to compile the kernel yourself manually from sourcecode. If you want a truely optimized kernel for your architecture.
I could understand everything expect the "kernel" part.
Uname doesn't tell you about the hardware Linux is running on. It tells you about the way the kernel was compiled.
The Kernel is the central part of an operating system. It is the part of a Linux distribution that makes it Linux.
I'm not sure of the relationship between the three ?86 values you get from uname -a. They are documented as "machine", "processor" and "hardware platform" but I think they are all aspects of which CPU model the kernel was compiled for. (On an x86_64 CPU, they will all say x86_64 if the kernel was compiled for x86_64 and none will say x86_64 if it wasn't).
I think the 486, 586, 686 numbers represent the successively larger subsets of the full x86 instruction sets supported by those generations of x86 CPU models. But I think the meaning of 386 (in Linux CPU architecture specifications) long ago shifted and now represents a much larger subset of full x86 than was ever supported by actual 386 chips.
I would not refer to subset but use superset. I don't think that Intel designed the 8086 30 years ago as a subset of something that they saw in the future. The original 8086 has grown (16 bit, 32 bit, 64 bit, new registers, probably new instructions (I'm not familiar with x86 assembly)). So the i686 is a superset of the i386 in my opinion.
the Intel processor is only a modified x86, infact they are close to the same thing. AMD is x86, Intel is just x86 with some added extentions I believe. I may be wrong, but that's what I remember reading somewhere.