Jump to content

What's the difference??? Help me.


Guest Revolver
 Share

Recommended Posts

Guest Revolver

I have one question,

 

I think to you should be an easy one,

 

So what i want to know is, when i'm searching for mandrake software wich is different of windows (i have only one file to download of) most of the times i have something like this.

 

If i'm wrong tell me

 

Source code: Wich is the full package for me to compile with ./configure and make install and so on

 

Something like this

 

Visualboy advance_1.5.1sc.tar

 

and the Rpm's (That's my question)

 

visualboy advance_1.5.1i386.rpm

 

Visualboy advance_1.5.1i586.rpm

 

 

What's the difference between i386 from i586 rpm???

 

It's for two different versions of linux????

 

I have seen that for instance for mandrake the most of the packages are i586.

 

 

Thanks for your help. :wink:

Link to comment
Share on other sites

source code is just that, source code. it needs to be compiled with a compiler. it's the actual programming code that the person who wrote the program wrote out.

 

RPMs are part of a packaging system, and usually contain binaries which do not need to be compiled. although you can get RPMs that "install" source code, this code is usually used when compiling something that you can't get in RPM format. usually, when you download an RPM, it installs a binary (read: executable)-a program fully compiled and ready to go.

 

ok...i just reread your post and saw what i just told you you already new...eh, oh well, there it is for anyone who was wondering...

 

as for your real question, 3lade is right, i386 and i586 are different architectures. that is, different processes are of different architecture types. i386 is the most generic (nowadays) and will run on practically any processor. i586 will only run on architectures of type i586 and higher (i believe pentium pros and AMD K6's and up are of i586 arch), i686 is a bit newer-in fact it's the newest architecture (right?), although i'm unsure exactly what set of processors are of i686 architecture....

Link to comment
Share on other sites

First to avoid any confusion, from http://www.rpm.org:

 

The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating computer software packages. Each software package consists of an archive of files along with information about the package like its version, a description, and the like.

 

Now as I understand source can be compiled for all kinds of processors --- 80086 (or 86) was like the first. A 80386 processor ran with 1 or 2 megs of ram on a 40 MB harddrive (my first computer encounter anyway). The pentium was introduced on a 80586 (586) system. Today's systems are usually the 686 variety.

 

In short, your can run the 386 packages on just about all systems, but the 586 packages probally won't run on pre-pentium systems.

Link to comment
Share on other sites

I have an AMD 750 MHz (K7?) and I believe it is i686. The benefit of different arch packages is the closer to your actual arch without going above that you can get, the better/faster/more efficient it will run. It means the architecture that it was compiled for/on. I try very hard to only install *.i586.rpm or *.i686.rpm files if I have to use RPMs. If you install from source *.tar.gz/*.tar.bz2/*.tgz/*.src.rpm/etc, then they don't use the arch naming system since it hasn't been compiled yet.

 

Ok, so I've probably only said what others have already said. :wink:

Link to comment
Share on other sites

That's why you can instlal a i386 rpm and it will work on a 586 or 686. It's backwards compatible. However, it may not be optimized for your 686 so you might suffer some performance problems where it is executing 10 steps for 1 steps. Basically, when you compile code, you end up with a binary. The binary has machine language instructions (hex code) inside of it. The rules for converting an english typed program into machine language can vary based on what architecture you are compiling for. Newer architechures may have a machine language instruction that accomplishes a task much quicker than an older chip. But if you are using a i386 binary, it relies on backward compatibility and does it however, the binary's instructions insist on doing it.

Link to comment
Share on other sites

The CISC chips get more and more complex by adding more supprt onto the actual CPU.

This started with new instruction sets to do something repetitive faster.

i386 was the first 32bit intel capable chip.

This means in theory it can address 4TB of memory ...It can't becuase the bios support on the motherboard doesn't allow it....

 

Anyway, further along in history we got the pentium i586.

This added more instreuctions (not to mention the inability not to be able to do simple arithmetic) :D

Then came the PII- and PII MMX - This added multimedia specific instruction sets.

 

Then we kept adding and adding ...

Anyway, until the 64bit Intel/AMD the whole was backwards compatibe with i386. That is if you compiled for i386 it just didn't use the advanced offloading of MM etc.

 

CASE <gentoo> do aside

CASE <slackware> do aside

CASE RH do <no aside>

end CASE

 

Aside:

Certain fanatics (:D t) want to use the processor they paid for and therefore use distro's that compile everything for their processor.

We argue about whether it really makes much diferenece ...

I didn't bite at first but boot-up Isn't a valid test. Try using multimedia etc and see what differences it makes there.

#fall-through

End Aside

 

No aside:

So using the specific architecture allows you to take better advantage of the CPU you paid for.

However, since people want click and install pre-compiled packages exist.

Linux doesn't just run on Intel/AMD through... It runs on SPARC, SPARCII, POWER 4, SGI RX000..... not tomention Motorola MAC, PDA's and dah dah dah.

 

When people develop software they might package it or not. Someone else may package it for them and create an RPM/DEB ..

But no-one says you must do it for all architectures... in fact they are only likely to do it for architectures they have.

 

So the source code is always available (if its GPL) and if you want the best performance you'll compile it yourself.

This is a personal decision and not always as easy...

 

If its mutlimedia intensive the good idea.

Kernel good idea.

A little utility using <1% CPU probably not worth the hassle....

 

Not everything needs to run REALLY fast. Take a mail sender. If it takes 1 sec or 1.1 sec to start-up its no big deal...

If I'm ripping a DVD then I'd expect a bigger difference.

 

If you do want to compile your own then recomile GCC and GDB etc. for your archtitecture...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...