flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Unix > Why Linux != Unix ?

Goto page 1, 2, 3  Next
Author
Thread Post new topic Reply to topic
m



Joined: 28 Dec 2006
Posts: 304
Location: in
Why Linux != Unix ?
I mean is it not the case that whatever applies to Unix also applies to Linux?
Is Linux not fully compatibl with Unix?
Then why two separate threads for Linux and Unix?

_________________
Attitude!
Post 30 Jun 2007, 11:06
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7111
Location: Slovakia
unix thread is for BSD kernels. Linux thread is for Linux kernels.
Post 30 Jun 2007, 11:36
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
m



Joined: 28 Dec 2006
Posts: 304
Location: in
So if we separate them based on kernels, I wonder if we have to
make a thread for Win95, Win98, WinNT, WinXP and Vista each...
Post 30 Jun 2007, 11:57
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4641
Location: Argentina

Quote:
unix thread is for BSD kernels.

What a discriminatory guy you are vid!! Wink

Unix is forum is for general Unix like OSes (FreeBSD, Linux, OpenBSD, Solaris, etc). But additionally there is a Linux forum in case you have to discuss something realated to Linux-only things. Since the others are not popular enough here I think it's not worth to create forums for them.

As for Windows, the user-mode land doesn't differ much between each other, only driver development really takes difference (except when using WDM no Win98 and above).
Post 30 Jun 2007, 14:36
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7111
Location: Slovakia
Loco: sorry, i missed the solaris. but still, AFAIK it's always about BSDs
Post 30 Jun 2007, 17:34
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
There may be more discussion of Solaris in the future since Sun has open-sourced it... Also MacOS X could fall into the Unix category as well. (When I find time to update the binaries for fasm on the various Unices, I'll try to build it on Solaris and Minix as well. No guarantees on success though)
Post 01 Jul 2007, 04:16
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)
The saying is that "All the world's a VAX" has become "All the world's a Linux" these days (i.e., lots of stuff will only compile on Linux). And GCC breaking older code in order to be more "strict / conformant" doesn't always help, IMO. Technically, you can (try to) install an older toolset, but who wants to do that for every little app??

In short, if you don't stick to POSIX etc. very strictly, it may indeed only compile on (your variant of) Linux (e.g. > 2.2).

P.S. This is just my perception, no offense intended, clarification welcome.
Post 01 Jul 2007, 22:09
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
Well, if you want to do high-performance software, you'll eventually need to do OS-specific calls, and can't just stick with POSIX...

If you're writing a torrent client and have the choices of "spawn a process for each connection", "use a pthread for each connection", and "write /dev/kqueuem /dev/epoll and IOCP variants", which would you choose? Smile
Post 02 Jul 2007, 11:23
View user's profile Send private message Visit poster's website Reply with quote
pjd



Joined: 15 Jul 2007
Posts: 47

LocoDelAssembly wrote:

Quote:
unix thread is for BSD kernels.

What a discriminatory guy you are vid!! Wink

Unix is forum is for general Unix like OSes (FreeBSD, Linux, OpenBSD, Solaris, etc). But additionally there is a Linux forum in case you have to discuss something realated to Linux-only things. Since the others are not popular enough here I think it's not worth to create forums for them.

As for Windows, the user-mode land doesn't differ much between each other, only driver development really takes difference (except when using WDM no Win98 and above).



Technically windows 9x has a DOS kernel (just a newer 32bit version compared with real DOS) and the NT to vista kernels are just different versions of each other. The major differences between Linux and UNIX do lie in the kernel but are roughly consistent in all modern BSDs and Solaris... UNIX uses different calling conventions on the kernel to Linux. most UNIXs use aoutb executables (FreeBSD is the main exception I think) and the list could probably go on with small differences.

The main reason all the differences are in the kernels is that Linux is a kernel and no more.

By the way anything that sticks to posix/libc/qt/gtx/x11/sdl/opengl calls should compile on any modern UNIX or freeBSD
Post 17 Jul 2007, 10:58
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
I wouldn't call Win9x a "DOS kernel", since it's a lot more than that... protection (although not very well done), a driver model, etc. I do often joke that Win9x is basically a "dos extender on steroids" though Smile
Post 17 Jul 2007, 13:14
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4641
Location: Argentina

Quote:

most UNIXs use aoutb executables (FreeBSD is the main exception I think)


If by UNIXs you mean plain UNIX versions I can't comment but If you mean UNIX-like OSes then it is pretty strange considering that ELF has defined constants for lots of ABI. Here a list

Code:
EI_OSABI            equ                 7 ; Operating System/ABI indication
ELFOSABI_NONE       equ                 0 ; UNIX System V ABI
ELFOSABI_HPUX       equ                 1 ; HP-UX operating system
ELFOSABI_NETBSD     equ                 2 ; NetBSD
ELFOSABI_LINUX      equ                 3 ; GNU/Linux
ELFOSABI_HURD       equ                 4 ; GNU/Hurd
ELFOSABI_SOLARIS    equ                 6 ; Solaris
ELFOSABI_AIX        equ                 7 ; AIX
ELFOSABI_IRIX       equ                 8 ; IRIX
ELFOSABI_FREEBSD    equ                 9 ; FreeBSD
ELFOSABI_TRU64      equ                10 ; TRU64 UNIX
ELFOSABI_MODESTO    equ                11 ; Novell Modesto
ELFOSABI_OPENBSD    equ                12 ; OpenBSD
ELFOSABI_OPENVMS    equ                13 ; OpenVMS
ELFOSABI_NSK        equ                14 ; Hewlett-Packard Non-Stop Kernel
ELFOSABI_AROS       equ                15 ; Amiga Research OS
ELFOSABI_ARM        equ                97 ; ARM
ELFOSABI_STANDALONE equ               255 ; Standalone (embedded) application  

Post 17 Jul 2007, 14:38
View user's profile Send private message Reply with quote
Furby



Joined: 01 May 2007
Posts: 74
Location: Kraków, Poland
simply Linux is not as Unix as FreeBSD Smile

Linux kernel is derived from Minix and FreeBSD is derived from BSD4.3 to main Unix source :O or something Smile
Post 17 Jul 2007, 16:00
View user's profile Send private message Reply with quote
pjd



Joined: 15 Jul 2007
Posts: 47

LocoDelAssembly wrote:

Quote:

most UNIXs use aoutb executables (FreeBSD is the main exception I think)


If by UNIXs you mean plain UNIX versions I can't comment but If you mean UNIX-like OSes then it is pretty strange considering that ELF has defined constants for lots of ABI. Here a list

Code:
EI_OSABI            equ                 7 ; Operating System/ABI indication
ELFOSABI_NONE       equ                 0 ; UNIX System V ABI
ELFOSABI_HPUX       equ                 1 ; HP-UX operating system
ELFOSABI_NETBSD     equ                 2 ; NetBSD
ELFOSABI_LINUX      equ                 3 ; GNU/Linux
ELFOSABI_HURD       equ                 4 ; GNU/Hurd
ELFOSABI_SOLARIS    equ                 6 ; Solaris
ELFOSABI_AIX        equ                 7 ; AIX
ELFOSABI_IRIX       equ                 8 ; IRIX
ELFOSABI_FREEBSD    equ                 9 ; FreeBSD
ELFOSABI_TRU64      equ                10 ; TRU64 UNIX
ELFOSABI_MODESTO    equ                11 ; Novell Modesto
ELFOSABI_OPENBSD    equ                12 ; OpenBSD
ELFOSABI_OPENVMS    equ                13 ; OpenVMS
ELFOSABI_NSK        equ                14 ; Hewlett-Packard Non-Stop Kernel
ELFOSABI_AROS       equ                15 ; Amiga Research OS
ELFOSABI_ARM        equ                97 ; ARM
ELFOSABI_STANDALONE equ               255 ; Standalone (embedded) application  




Yeah I meant proper UNIX (like BSD) the post should have mentioned that elf is default on linux but I think the Net and Open BSDs use aoutb as the default.

The biggest difference between Linux and UNIX is the use by GNU (because GNUs Not Unix)
Post 17 Jul 2007, 18:02
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)
None of the BSDs, last I heard, use much (if any) old code left over from the old AT&T stuff. And Linux never borrowed any code from Minix, it was written from scratch (and basically started because Minix's license was too restrictive), hence it using the GPLv2. Linux is really only Unix-like ("UNIX" is actually a trademark). And even the BSDs, which don't prefer GPL, use GCC a lot these days (hey, why not? good is good).
Post 17 Jul 2007, 19:13
View user's profile Send private message Visit poster's website Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]

Quote:
Yeah I meant proper UNIX (like BSD) the post should have mentioned that elf is default on linux but I think the Net and Open BSDs use aoutb as the default.



ELF is used as the default on recent NetBSD and OpenBSD releases. So it is used across the mainstream BSD world as well as on Linux.
Post 17 Jul 2007, 22:00
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)

crc wrote:
ELF is used as the default on recent NetBSD and OpenBSD releases. So it is used across the mainstream BSD world as well as on Linux.



I was actually glancing through a FreeBSD book today (yikes, a bit too much to memorize, and too hardware savvy, IMO), and apparently newer BSDs don't run a.out except via KLD ("kernel loadable driver" or whatever). So yeah, they now use ELF instead of relying on weird hacks in a.out for shared libraries. And there's supposedly only one FreeBSD distro (as opposed to hundreds for GNU / Linux).

The differences to average users probably seem less pronounced these days, especially when books like this (The Complete BSD) mention GCC, GNU Emacs, bash, KDE, etc.
Post 18 Jul 2007, 21:39
View user's profile Send private message Visit poster's website Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
What's is the easiest to install BSD and also more suitable for Desktops?

I'm thinking about trying BSDs.
I also requested free DVDs for OpenSolaris from Sun. Very Happy
Post 22 Jul 2007, 21:13
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
The most commenly known BSDs would be OpenBSD, NetBSD and FreeBSD, with Free being the easiest to obtain and work with (from what I know, anyway). BSD is not as fast-moving as linux, but it tends to feel more solid, and a bit more well-planned... again, just my opinion.

You might want to check out http://www.dragonflybsd.org/ - I never got so far, but it sounds interesting.
Post 22 Jul 2007, 21:31
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4641
Location: Argentina
In the case of FreeBSD I warn you that the instalation is more or less difficult as Gentoo Linux. You will need to follow a handbook as Gentoo.

I heard what f0dder says and also I must tell that the driver support is not good as on Linux. Also, FreeBSD can execute Linux binaries (when kernel is compiled with such support), but I'm not sure if it provides a good environment for full compatibility, only ABI emulation is what I'm sure it has.
Post 22 Jul 2007, 22:15
View user's profile Send private message Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
FreeBSD installation isn't that bad (especially compared to OpenBSD, where I did need a guide). Though if you want to use it as a desktop, you might be better off using PC-BSD (http://www.pcbsd.org/) which is based on FreeBSD, but already comes with X, KDE, etc ready to use.
Post 22 Jul 2007, 23:28
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3  Next

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.