• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

How exactly does 64-bit linux work?

FacelessNobody

Senior member
OK

I'm using Slackware 10 (I'm a newb, but my friend is a Slack guru). Lets say I compile the latest kernel (which I believe has x86-64 support) on an Athlon 64 machine, when the current kernel is a 2.4.x. Now I 'swaret --upgrade gaim' and it shows a new gaim available. When it upgrades, will it configure gaim as a 64 bit program? Would it do that on any package or tarball, and if so, would everything have to be reconfigured? Or must the program be specifically written in 64-bit code? And all of that taken into account, is there much of a performance increase using Linux in 64-bit mode?

It's a lot but I know someone knows the answer 🙂
 
From what I know, and I'm very new to the 64bits-world, is that the programs should be specifically for 64-bit systems otherwise it will be run in 32-bits mode.
I installed SuSe 9.1 Pro 64-bits last week, and I must say that it runs like I've never seen linux run before!
But, all core programs for SuSe are made for 64-bits, when you upgrade your 32-bits kernel to 64, I don't think that you're gaining much.
You will also need to update all compilers, libs and so on which will be a lot of work!
There is a free for download version of Gentoo which does have native 64bits support and Mandrake also has a version for x86-64.
But, SuSe has worked with AMD to make SuSe 9.1, so that should be the best choice..
I'm using kernel 2.6.5-7.95 for x86_64 right now. Although I have a few problems installing software like the ATI v-card drivers and Vmware because of the new kernel..

But, you can ofcourse always try the newest kernel for your slackware config, just make sure you've got a failsave in your bootloader 😉
Good luck!
 
A 64bit OS needs to be compiled entirely as 64bits in order to be 64bits....

Kinda stupid explanation.

How about this: Linux is mostly coded in C. C was a programming langauge developed originally to be portable. Before C every program had to be completely rewritten from the ground up in order to function on different computers. This is because the computers for different computer archatectures used different "machine code", which is the patterns of 1's and 0's that the computer actually reads. Programs were written in assembly code or languages developed for specific computers so you couldn't take a IBM program and run it on a motorola computer.

So C is a human readable programming language. This means that it uses almost-english words with almost-english syntax that most programmers can comfortably use. After the program is written then you can take the source code (the actual text written by the programmer.) and then compile it using a compiler. This compiler then turns it into the machine code that is actually used by the computer.

Now x86 computers (32bit Intel/AMD-based, remember: 286 computers? 286, 386, 486, 586, and now 686. x86) mostly use compatable machine code.

(the x86 ISA is a standard way assembly/machine code interacts with the hardware.)

However AMD extended this stuff (extended the 32 bit ISA and turned it into x86-64 ISA) and x86-64 uses different setup so that it can be 64bit. It has 32bit compatably mode so that it can run programs compiled for x86, but that will only work in 32bits.

However if you want to run 64bits natively it will require much more then just the kernel. All programs must be 64bit clean (meaning that programmers didn't make assumptions about only dealing with 32 bit numbers) and then those programs all must be compiled to use all these new AMD 64bit extensions.

That means everything, all the C libraries (like .DLL files in Windows.) the kernel, services, etc etc etc.

So you have to use a OS that is built from the ground up to run specificly on the x86-64 platform. Also there are other platforms that Linux can run on, Sparc, Alpha, PowerPC, S/390. among others. Each of those reqiure a differently compiled OS to run on them.

Several Distros have x86-64 versions. Fedora, Mandrake, Suse, Gentoo are ones that have 64bit versions.
 
Hmm, I was under the impression that you could run both 64 bit and 32 bit apps side by side so long as you had versions of all required libraries compiled for both.
 
Hmm, I was under the impression that you could run both 64 bit and 32 bit apps side by side so long as you had versions of all required libraries compiled for both.

You can, but since you need duplicate libs for a lot of things it's generally impractical. Especially since things like gaim will never benefit from a 64-bit address space.

Gentoo is your friend if you want everything complied in 64bits.

IMO Gentoo is never your friend. If you just want 64-bit everything then any distro will work fine and some like SuSe already have the 32-bit compatibilty stuff already setup.

Or must the program be specifically written in 64-bit code? And all of that taken into account, is there much of a performance increase using Linux in 64-bit mode?

The program must be 64-bit clean and compiled for a 64-bit target. A lot of linux apps are already 64-bit clean since distros like Debian, RedHat, etc have been running on 64-bit systems like the Alpha for a while, but if swaret uses pre-built packages the chances are that it's 32-bit. Not that it would matter, only highly memory limited things, like Oracle, will benefit from a 64-bit address space. AMD64 has a lot more registers than x86 so that will most likely give a performance boost and the CPUs have generally more cache which will also help performance, but neither of those are related to the address width.
 
Thanks guys, very informative. 64-bit sounds good (great), but I guess like anything else it gets a little over-hyped. My questions were kind of like a reality check for me, in a way 🙂 (i.e. "is this really necessary?".
 
Originally posted by: Nothinman
Hmm, I was under the impression that you could run both 64 bit and 32 bit apps side by side so long as you had versions of all required libraries compiled for both.

You can, but since you need duplicate libs for a lot of things it's generally impractical. Especially since things like gaim will never benefit from a 64-bit address space.
Wait, doesn't the kernel have to have a special mode that allows it to fall back into 32 bit compatibility if the kernel is compiled for X86-64 in order to run both 64 bit and 32 bit at the same time? I know thats the big part about Windows XP 64 bit is they to redo the system so there was a special mode that can run 32 bit apps in 32 bit mode while there is a 64 bit kernel running. If they have changed the kernel to support this dual mode, what kernel versions support this?? I have never heard anything about this Linux capability. As far as I had heard, if you were running 64 bit EVERYTHING had to be compiled in 64 bit cause Linux doesn't have any mechanism to handle a 32 bit stack while operating in 64 bit mode. The CPU just can't swap into 32 bit mode (while in 64 bit mode) unless the kernel is aware that this is happening and can take measures to set up the OS environment to handle such a task...

Anyone have any better explination?

foxkm
 
Wait, doesn't the kernel have to have a special mode that allows it to fall back into 32 bit compatibility if the kernel is compiled for X86-64 in order to run both 64 bit and 32 bit at the same time?

Yes, but in order for it to work it needs 32-bit versions of the excutables and all the shared libraries it's linked with.

I know thats the big part about Windows XP 64 bit is they to redo the system so there was a special mode that can run 32 bit apps in 32 bit mode while there is a 64 bit kernel running.

It's the same thing, you need the 32-bit versions of everything along side the 64-bit ones on Windows as well.

As far as I had heard, if you were running 64 bit EVERYTHING had to be compiled in 64 bit cause Linux doesn't have any mechanism to handle a 32 bit stack while operating in 64 bit mode.

That's never been true, infact sparc64 has always used a 32-bit userland by default.

# uname -a
Linux <hostname> 2.4.24 #2 SMP Wed Jan 14 20:36:46 EST 2004 sparc64 GNU/Linux
# file /bin/ls
/bin/ls: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped
 
Originally posted by: Nothinman
Gentoo is your friend if you want everything complied in 64bits.

IMO Gentoo is never your friend. If you just want 64-bit everything then any distro will work fine and some like SuSe already have the 32-bit compatibilty stuff already setup.
Gentoo is always your friend. Everybody knows that only l33t gentoo users remember to -fomit-frame-pointer and use -O2... people making packages for other distros are too stupid to do that. 😉 I hear gentoo's optimizing compiler means bubble sort on gentoo is faster than quicksort on other distros!
 
# uname -a
Linux <hostname> 2.4.24 #2 SMP Wed Jan 14 20:36:46 EST 2004 sparc64 GNU/Linux
# file /bin/ls
/bin/ls: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped

Thats pretty cool.. Did not know this ability, still, what kernel versions have support for the dual mode
with the Athlon 64s?

On a side note, does 64 bit compiled code end up being larger than its 32 bit counterpart?

foxkm
 
Originally posted by: CTho9305
Originally posted by: Nothinman
Gentoo is your friend if you want everything complied in 64bits.

IMO Gentoo is never your friend. If you just want 64-bit everything then any distro will work fine and some like SuSe already have the 32-bit compatibilty stuff already setup.
Gentoo is always your friend. Everybody knows that only l33t gentoo users remember to -fomit-frame-pointer and use -O2... people making packages for other distros are too stupid to do that. 😉 I hear gentoo's optimizing compiler means bubble sort on gentoo is faster than quicksort on other distros!

I've never understood peoples hatred of Gentoo. From what I have seen it all stems from the Debian community and seems to be some form of 733t attitude. The fact is that if you want to make sure all your apps are complied with x86 64 you can either check each package from a distribution or you can do a gentoo install with x86 64 enabled. The second is easier. Gentoo has advantages that other linux distributions don't and anyone that denies that is smoking some good stuff. Sure it has disadvantages but the point of the OSS community is that there can be a distribution that fits everyones needs.
 
Thats pretty cool.. Did not know this ability, still, what kernel versions have support for the dual mode
with the Athlon 64s?

All of them AFAIK, as long as you have all the files you need.

On a side note, does 64 bit compiled code end up being larger than its 32 bit counterpart?

Generally yes, but my Alpha isn't booted up right now for me to get an example.

From what I have seen it all stems from the Debian community and seems to be some form of 733t attitude.

Probably, but once you use Debian most of the other distros seem poorly put together. Redhat, SuSe, etc aren't bashed as much because they're necessary for commercial support. If I wanted to compile everything myself I would install LFS or use apt-build on Debian.

The fact is that if you want to make sure all your apps are complied with x86 64 you can either check each package from a distribution or you can do a gentoo install with x86 64 enabled

There's no reason to check each package, if the arch is amd64 it's compiled with that as the target. The thing is, in 99% of the cases it just doesn't matter and running 64-bit apps without good reason can cause additional overhead. I mean do you really think you need things like Gnome, KDE, coreutils, etc to be 64-bit? Currently Debian has a 100% 64-bit AMD64 port because that's dead simple to setup, in the longterm bi-arch support is being added to dpkg and apt so that you can mix architectures, so that packages from i386 and AMD64 can be installed on the same machine straight through the package manager.

Gentoo has advantages that other linux distributions don't and anyone that denies that is smoking some good stuff.

Yea like the fact that no dependency checking is done on package removal :/
 
Gentoo is ok. I've used it in the past, and nobody "hates" gentoo realy. (well reasonable people).

I like the automatic compiling of source because that follows with the "distribute the source" mentality of the GPL and free/open software very closely.

I like the cutting edge-ness that you can get with Gentoo.

But compiling for speed thing is BS. Sometimes it makes some things faster, sometimes it makes it slower. Thinking that you can genericly apply gcc optimizations to all programs and expect good results isn't so hot. Some programs benifit from certian optimizations, certain programs break because of them, others still get slowed down because the optimizations, and most have very little effect at all.

Gentoo and Slackware is what I'd use if Debian didn't exist.
 
Originally posted by: Nothinman

Gentoo has advantages that other linux distributions don't and anyone that denies that is smoking some good stuff.

Yea like the fact that no dependency checking is done on package removal :/

Haven't used Gentoo in a while have you? It continues to mature as the community grows. Just goes to prove my point that those that bash it are Debian 733t and haven't used it since version 1.
 
Then this warning in the docs on the web page is wrong?

Warning: Portage doesn't verify if a package is a dependency for another installed package. It also doesn't warn you if the package is part of system, i.e. a core application necessary for the correct functioning of your system!

And on top of that portage is many magnitudes slower than apt, the difference between 'apt-cache search' and 'emerge search' is amazing. Same thing with 'apt-get update' and 'emerge sync'.
 
Originally posted by: rahvin
Originally posted by: Nothinman

Gentoo has advantages that other linux distributions don't and anyone that denies that is smoking some good stuff.

Yea like the fact that no dependency checking is done on package removal :/

Haven't used Gentoo in a while have you? It continues to mature as the community grows. Just goes to prove my point that those that bash it are Debian 733t and haven't used it since version 1.


hrmp. Get over it.

Their is a difference between people pretending to be 733t and real experiance.
 
Originally posted by: Nothinman
Then this warning in the docs on the web page is wrong?

Warning: Portage doesn't verify if a package is a dependency for another installed package. It also doesn't warn you if the package is part of system, i.e. a core application necessary for the correct functioning of your system!

And on top of that portage is many magnitudes slower than apt, the difference between 'apt-cache search' and 'emerge search' is amazing. Same thing with 'apt-get update' and 'emerge sync'.

We are apparently talking about two different things here, Gentoo does do dependency checking when removing upgraded packages. No it does not warn you if you deliberately remove a package previously installed, nor should it. An admin should know wether they need a package or not before removing it.

As far as it being slower than apt-get, big deal, it most likely has something to do with portage being built on python but I see little relevancy to that having any impact.

hrmp. Get over it.

Their is a difference between people pretending to be 733t and real experiance.

Oh yes more experienced one, I'm sure you know exactly how experienced I am. Debian users have a stick up their ass about Gentoo. Early on it was unstable, there is no doubt about that, I used it near the beginning and uninstalled promptly, I recently tried it again and it has MUCH improved. I don't use it for the stupid "optimized compiling", I use it because unlike Debian they don't have an 733t attitude that completely dismisses non-free packages like qmail plus I much prefer portage, but to each his own.
 
Dismisses Qmail? Were you get that from?

-{drag@spock}- 18:22:14
~ >: apt-cache search qmail |grep qmail
maildir-filter - Simple program to filter messages into Maildir folders from dot-qmail
masqmail - A mailer for hosts without permanent internet connection
phpgroupware-qmailldap - phpGroupWare qmailldap module
xfingerd - BSD-like finger daemon with qmail support.
autorespond - email autoresponder for qmail
blackhole-qmail - Spam filter - qmail version
qmail-qfilter - qmail-queue filter front end
qmailadmin - web interface for managing qmail with virtual domains
qmailanalog-installer - Installer package for building qmailanalog binary package
qmailmrtg7 - qmail mrtg graph generator
relay-ctrl - SMTP Relaying Control for qmail &amp; tcpserver
webmin-qmailadmin - qmail control module for webmin
ezmlm-src - easy-to-use high-speed mailing list manager for qmail (source)
qmail-src - Source only package for building qmail binary package

Oh, no, look! Nothinham dissed Gentoo, the bastard!


Look the reason that Debian can't distribute binaries of Q-mail is because it's illegal to do so. The author explicited stated that you are not allowed to distribute binary versions. So Debian makes a src package you can use to compile from.

Just like most of it's other packages you have the option to compile from source if you please.

That's why it's non-free, not because of a elite-ist attitude. Free packages are ones that have no liscencing issues to mess up users and get into legal difficulties. With Gentoo their is no distention usually so it's very easy to accidently step on developers toes. Nobody has the time to look up every single package and program and make sure that your not doing something wrong. So debian keeps strict guidelines on what is free and non-free, that way the package maintainers, (the ones most likely to know about these issues and gotchas) do the work and the users can trust that they are free to modify and reidistribute anything in the "free" section that they'd like. No sweat, no worries.

Non-free doesn't mean worthless, it just means non-free, as in not GPL compatable.

I don't know were you get the 733t crap from. Debian was formed for a very specific purpose, and has strict rules and guidelines that it follows.

And I don't know how experianced you are, but I can guess.
 
We are apparently talking about two different things here, Gentoo does do dependency checking when removing upgraded packages. No it does not warn you if you deliberately remove a package previously installed, nor should it. An admin should know wether they need a package or not before removing it.

So you know every package's dependency tree by heart? If so I feel sorry for you, package managers were written to handle that for you.

As far as it being slower than apt-get, big deal, it most likely has something to do with portage being built on python but I see little relevancy to that having any impact.

It's a big impact on slower machines, even on my 600Mhz Alpha it took a very long time to update and search via portage when apt takes seconds. It's probbaly I/O dependent since the drives are slow as hell, but the difference is amazing.

I use it because unlike Debian they don't have an 733t attitude that completely dismisses non-free packages like qmail plus I much prefer portage, but to each his own.

The point of Debian is to have a 100% free distribution and frankly when there's things like postfix to replace qmail I see no problem with that, the qmail author is an asshole anyway and as drag points out, it's the qmail author with the elitest atitude by not letting anyone distribute binary packages and not accepting patches for things that most people consider important, like expecting 0.0.0.0 to mean any interface or even making qmail compile properly on glibc 2.3.1.
 
Originally posted by: Nothinman
So you know every package's dependency tree by heart? If so I feel sorry for you, package managers were written to handle that for you.

Why would I want to uninstall a package I installed? Unlike other distributions only the core system is installed by default, anything added is added for a reason and the admin of that system should know why that package was added, if not there is a problem. As I said on upgrades portage clearly and easily handles all the dependencies and uninstalls only those packages that are clearly not needed in the dependency tree. The dependency checking on uninstalling random checking you demand is something that I consider absolutely NON critical. I know what I've got installed and why and I have nothing installed that I don't need unlike all the other base distributions out there.

It's a big impact on slower machines, even on my 600Mhz Alpha it took a very long time to update and search via portage when apt takes seconds. It's probbaly I/O dependent since the drives are slow as hell, but the difference is amazing.

I run it on a PII 450, sure it's slow to search, big deal I'm not constantly searching for packages. A few seconds or even minutes when I'm trying to get something installed is nothing considering how rarely I'm installing packages.

The point of Debian is to have a 100% free distribution and frankly when there's things like postfix to replace qmail I see no problem with that, the qmail author is an asshole anyway and as drag points out, it's the qmail author with the elitest atitude by not letting anyone distribute binary packages and not accepting patches for things that most people consider important, like expecting 0.0.0.0 to mean any interface or even making qmail compile properly on glibc 2.3.1.

Look, Debian has it's place and Gentoo has it's place as you said the qmail package isn't free and as such Debian doesn't include it and you have to compile and install yourself. I like the fact that Gentoo doesn't care about the politics and just gives you something that works, and that is what you and dork are attacking me for, liking something you dislike. It's no skin off my nose but don't put your nose up and call me an incompetent idiot because I value different aspects of a linux distribution than you do. I think Gentoo is a valueable addition to the linux community, whether you disagree or not has no bearing on me .
 
Look, Debian has it's place and Gentoo has it's place as you said the qmail package isn't free and as such Debian doesn't include it and you have to compile and install yourself. I like the fact that Gentoo doesn't care about the politics and just gives you something that works, and that is what you and dork are attacking me for, liking something you dislike. It's no skin off my nose but don't put your nose up and call me an incompetent idiot because I value different aspects of a linux distribution than you do. I think Gentoo is a valueable addition to the linux community, whether you disagree or not has no bearing on me .

Nobody called you a idiot, we are just having a discussion. This is how stuff works, dispense with the pleasentries and mutual but-kissing in order to have a good agruement.

Debian does include a qmail package, it's in source code NOT because of politics, but because the qmail author says "you may NOT distribute binaries without my expressed permission".

Meaning it's ILLEGAL to do so. He probably wouldn't care, but it still would be possible to sue you over that. So debian is respecting his wishes and not distributing it in binary form.

This "politics" is the only thing that keeps Linux working. If Linux users and developers do not respect other people's liscences and wishes, why should they respect things like free software and the GPL liscence?

If it's OK for people to distribute copies of Nvidia's binary-only drivers, in violation of their liscencing, then why would it be wrong for MS to steal parts of Mozilla to put into the next version of Internet Explorer? It's almost the same exact thing in the eyes of the law.

Because of this I know that I (for instance) sell Debian servers to any company and never have to worry about violating any liscencing issues, weither they use them for government, education, or private business, just as long as I use packages from the free section. Now if I did that with Gentoo and had software like qmail installed (out of ignorance on my part) then I would be violating other people's intellectal and property rights. I can develope and modify the software freely to maybe be used in something like custom routers and such.

Or build commercial software distributtions like the creators of Xandros and Linspire did.

Also Debian serves as a benchmark for other people to use when deciding on what software to distribute and use. Because Debian has such scrict rules and policies you can trust them.
 
Why would I want to uninstall a package I installed?

So you never experiment with other packages? Sounds to me like you just run Gentoo on non-desktop machines, either that or you just don't try anything new.

I run it on a PII 450, sure it's slow to search, big deal I'm not constantly searching for packages. A few seconds or even minutes when I'm trying to get something installed is nothing considering how rarely I'm installing packages.

I'm not surprised, considering you don't mind waiting for everything to compile either.

Look, Debian has it's place and Gentoo has it's place as you said the qmail package isn't free and as such Debian doesn't include it and you have to compile and install yourself.

It's included, just in a source package that has to be compiled into a Debian package locally because the qmail author is an ass.
 
Originally posted by: drag
Nobody called you a idiot, we are just having a discussion.

And I don't know how experianced you are, but I can guess.

Your implications of my skill level are nothing more than a veiled attempt at insult so get over it.

I am in fact well aware of the license of qmail, after all I've been using it close to 6 years and have experimented with all of Daniel Bersteins other software, he writes good stuff and I wish he would GPL it but he won't. What I like about Gentoo is that it isn't a source package I have to install myself, Gentoo just takes it a step further and compiles and installs it for me saving me the headache of having to setup DB's stupid tcpserver package and everything else required to get qmail working properly and the ebuild includes the approriate startup scripts which I have seen in no other package. I like that the Gentoo package maintainers take the time to make it trouble free by writing the ebuilds to handle the excentricies of the programs. I like that they have automated updating of conf files after rebuilding or building new versions. Gentoo is about simplicity to me and it's level of automation and cutting edge is not something I have seen in any of the other distributions I have played with.
 
Back
Top