Unix/Linux Go Back    


Fedora is an operating system centered on the Linux open source kernel and is developed by the community-supported Fedora Project. Fedora is sponsored by Red Hat. Fedora contains software distributed under a free and open-source license. Fedora focuses on innovation, integrating and adopting new technologies and working closely with various Linux communities. The default desktop in Fedora is the GNOME desktop environment and the default user interface is the GNOME Shell. Other desktop environments include KDE Plasma, Xfce, LXDE, MATE and Cinnamon. Security is an important aspect of Fedora with one specific security feature, Security-Enhanced Linux, implementing a variety of software security policies, including mandatory access controls.

Is UNIX an open source OS ?

Fedora


Tags
architecture, faq, history, noob

Closed    
 
Thread Tools Search this Thread Display Modes
    #8  
Old Unix and Linux 07-24-2014
Don Cragun's Unix or Linux Image
Don Cragun Don Cragun is offline Forum Staff  
Administrator
 
Join Date: Jul 2012
Last Activity: 19 October 2017, 2:25 AM EDT
Location: San Jose, CA, USA
Posts: 10,540
Thanks: 550
Thanked 3,691 Times in 3,149 Posts
Quote:
Originally Posted by sreyan32 View Post
Okay first of a great many thanks for taking the time out to give me such a detailed explanation. I could'nt have got better. But I have a couple of questions.


Are you saying that for example I have a piece of source code like -:

Code:
#include<stdio.h>
main()
{
printf("Hello World"\n");
}

And I compile it on a SCO UNIX machine and take the executable to Solaris Machine the executable won't run. Are you saying that I would need the source of the hello world program and then I would have to build it back on the Solaris Machine ?


I am sorry but could you elaborate what you mean by this. The kernel is at the end responsible for how software interacts with hardware, so it kinda does everything.

One last question it may be off-topic. You said -:


How do I contact someone like Don Cragun ? I am not saying that your answers were wrong or insufficient in any way but if I wanted to contact him then how would I do it ? By private message ?


Yes it did immensely.
I try to read through all posts concerning the shell and the "standard" utilities and will usually comment if I see something that doesn't look right; but I may miss a posting once in a while. If there is something that you think needs my attention and I haven't commented on it, send me a PM with a link to the discussion thread and state what you think needs to be clarified/verified. I won't make any promises about how quickly I'll get to it, but I try to be responsive. Linux

If you build an application on SCO UNIX and try to run the binary produced on any other operating system (Linux, HP/UX, AIX, Solaris/SunOS, ...) it probably won't work (but some minimal applications like HelloWorld might actually run successfully more often than many of us would expect. You certainly can't run a Solaris/SunOS SPARC or Motorolla chipset binary on an SCO UNIX x86 box, but you can rebuild that program from source on all of those systems and get the same results. (Of course your application source code can't get any guarantees about portability if it uses anything that the standards don't specify; or if it uses what the standards call "implementation-defined", "unspecified", or "undefined" behavior.)

To expand on what bakunin said, the POSIX Standards and the Single UNIX Specifications (which defines part of what is required to be certified by The Open Group as a UNIX System) are API (Application Portability Ineterface) standards; not ABI (Application Binary Ineterface) standards. Some systems also adhere to ABI standards. (For example, the SPARC Compliance Definition standards (SCDs) allowed you to build a binary on certain SPARC based Sun/Oracle Solaris systems and be guaranteed that it would also run correctly on some Fujitsu SPARC systems without rebuilding and vice versa.)

Cheers,
Don
The Following 4 Users Say Thank You to Don Cragun For This Useful Post:
Corona688 (07-28-2014), Scrutinizer (07-31-2014), sreyan32 (07-30-2014), wisecracker (07-24-2014)
Sponsored Links
    #9  
Old Unix and Linux 07-24-2014
wisecracker's Unix or Linux Image
wisecracker wisecracker is offline
Registered User
 
Join Date: Jan 2013
Last Activity: 12 October 2017, 4:05 PM EDT
Location: Loughborough
Posts: 1,221
Thanks: 367
Thanked 323 Times in 253 Posts
It does not really matter these days whether UNIX per-se is completely open sourced or not.
As some versions are, some are not, however the simplicity coupled with power at your fingertips is legendary these days...

As a novice at the *NIX family of OSes the single beauty to me is that everything is a __file__.
These __files__ can technically be read from and written to without much of a fuss.

Take the following, (this assumes /dev/dsp exists and an internal mic on your system)......

Code:
cat < /dev/dsp > /dev/dsp

......records a few seconds of voice then replays that recording from from the same device, continuously.
This could be the basis of a simple baby alarm all with the simplicity of "everything is a file".

So from one line of 25 characters of an open sourced command, cat , you have tremendous power at your fingertips.

This alone is both elegant and beautiful, and 'cat' along with other *NIX commands IS/ARE open source...
Sponsored Links
    #10  
Old Unix and Linux 07-25-2014
fpmurphy's Unix or Linux Image
fpmurphy fpmurphy is offline
Registered User
 
Join Date: Dec 2003
Last Activity: 12 June 2016, 11:03 PM EDT
Location: /dev/ph
Posts: 4,996
Thanks: 73
Thanked 475 Times in 437 Posts
Quote:
Originally Posted by Corona688 View Post
Do you get disk devices? Yes -- as drive letters, c:\ d:\ etc, not as direct files.
On Windows, if you use '\\.\' you get access to the device namespace. File namespace (the default) is accessed via '\\?\'

WinObj from the Sysinternals suite will allow you to browse the NT device namespace
The Following User Says Thank You to fpmurphy For This Useful Post:
jim mcnamara (07-25-2014)
    #11  
Old Unix and Linux 07-28-2014
Corona688 Corona688 is offline Forum Staff  
Mead Rotor
 
Join Date: Aug 2005
Last Activity: 18 October 2017, 6:35 PM EDT
Location: Saskatchewan
Posts: 22,467
Thanks: 1,142
Thanked 4,260 Times in 3,934 Posts
Quote:
Originally Posted by fpmurphy View Post
On Windows, if you use '\\.\' you get access to the device namespace. File namespace (the default) is accessed via '\\?\'
Only by certain special means. As usual the user gets none of that.

That's what I see as the big difference between UNIX and Windows... The shell on UNIX is there to help you access what's there, the shell on Windows is there to stop you from accessing what's there.
Sponsored Links
    #12  
Old Unix and Linux 07-30-2014
sreyan32 sreyan32 is offline
Registered User
 
Join Date: Nov 2012
Last Activity: 11 August 2017, 5:07 AM EDT
Posts: 54
Thanks: 25
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Corona688 View Post
Linux is not UNIX. Linux and the GNU utilities were actually made in a spirit of competition with UNIX.
The thing is, Linux and GNU weren't made to be a UNIX -- they were made in direct competition with it. GNU even stands for "GNU's not UNIX". This stems right from the bad old days when a license for the UNIX source could set you back a cool hundred grand in 1980 dollars...
Okay I am making this post to clarify one of the most confusing topics that I have had about Unix and Linux.

Why do you say that Linux is not Unix ? I mean they are both POSIX compliant and they use the same commands. Agreed that some options that are found in Solaris is not present in Debian, but the general working is same for both OSes.

Also since my college syllabus includes the UNIX OS this semester so I have been doing some amount of reading on the subject. And the book that is recommended to engineering students in India (UNIX Concepts and Applications by Sumitabha Das) goes as far to say -:

Quote:
The reason why Linux can't replace UNIX is that Linux uses the same system calls; Linux is UNIX
Now I just want to know how accurate this really is. And if so why do all the experts that Linux is not UNIX. Also as Corona688 mentioned above GNU is not Unix.

Why is it not ? Is it just because it does not have an official certification ? Or are there actual differences at the kernel level ?


---------- Post updated at 06:39 PM ---------- Previous update was at 06:26 PM ----------

Quote:
Originally Posted by Corona688 View Post
Do you get terminal devices? Not really, unless you use a com port, and the emulation is still limited.
Okay once again another ultra noobish question. What is a terminal device that you are referring to above. I know its not the terminal in Linux or the command-prompt in Windows. What exactly are they ?

Quote:
Originally Posted by Corona688 View Post
Do you get partitions? Yes, each mounted on their own root, not (usually) nested.
What do you mean by nested partitions ? The partitions in Linux/Unix are separate right ? Like I have my /home partition on my Debian system on a separate drive itself. Are you saying that partitions like /dev, etc can be nested under the root partition ? If so why would I want to do that ? What are the advantages of nested partitions ? I mean then if I lose the root partition I lose all the other partitions nested within that.(Assuming my understanding of partition nesting is right)

Quote:
Originally Posted by Corona688 View Post
And in the end, Windows' kernel just isn't suited to running UNIX-like things. UNIX can run thousands of tiny, short-lived processes in a few moments without a hiccup, that being one of the things it's designed for. Try and do that on Windows and it lags, hiccups, and kills random ones here.
Please don't misunderstand when I say - Are you sure about the Windows kernel not being able to run numerous processes simultaneously ? It may have been true for older Windows like XP, but from Windows 7, Windows is pretty good at multitasking.
Sponsored Links
    #13  
Old Unix and Linux 07-30-2014
Corona688 Corona688 is offline Forum Staff  
Mead Rotor
 
Join Date: Aug 2005
Last Activity: 18 October 2017, 6:35 PM EDT
Location: Saskatchewan
Posts: 22,467
Thanks: 1,142
Thanked 4,260 Times in 3,934 Posts
Quote:
Originally Posted by sreyan32 View Post
Okay I am making this post to clarify one of the most confusing topics that I have had about Unix and Linux.

Why do you say that Linux is not Unix ? I mean they are both POSIX compliant and they use the same commands.
Well, for starters, because they say so. GNU is short for "GNU's not UNIX".

Second, because nobody's bothered to certify it. They say they implement POSIX commands portably, but haven't actually been through the UNIX group's rigorous battery of tests. Testing isn't free AFAIK, and Linux changes very fast, so I can understand not bothering.

Quote:
Why is it not ? Is it just because it does not have an official certification ? Or are there actual differences at the kernel level ?
It hasn't undergone certification. Just implementing the right system calls isn't enough, an OS has to go through a rigorous battery of tests.

How the kernel works inside matters less, to a degree. There's only one obvious way to do some things, but others, there's lots of choices.

Quote:
Okay once again another ultra noobish question. What is a terminal device that you are referring to above. I know its not the terminal in Linux or the command-prompt in Windows. What exactly are they?
The terminal device is a serial port -- either a real, physical serial port, or an emulated one(i.e, a vterm). Any proper terminal in UNIX, even a graphical one, will use one.

This is because UNIX serial devices come with lots and lots and lots of built-in software features. Have you ever hit ctrl-C to kill a stuck program? The serial port, even an emulated one in a GUI, does that directly. It has a "send SIGINT when you hit this key" setting.

Quote:
What do you mean by nested partitions ? The partitions in Linux/Unix are separate right?
Imagine you're running out of space on drive C in Windows, and add another hard drive to deal with it. Now you have a drive D with lots of space -- which is no help at all since C is where you need it.

In UNIX, you could attach the new drive's partitions wherever you wanted -- /home/ for example, if that particular folder is very big. The new partition would be empty, though -- you'd have to copy the old contents into it before it could be used.

That's all I mean.

Quote:
Please don't misunderstand when I say - Are you sure about the Windows kernel not being able to run numerous processes simultaneously ? It may have been true for older Windows like XP, but from Windows 7, Windows is pretty good at multitasking.
This isn't about multitasking, it's more like a memory leak. Running many tiny processes -- even in a row, load/run/quit/load/run/quit -- fills up some queue or table inside the Windows kernel. Eventually it tells you "can't do that, out of room". It's not quite a leak since it's temporary.

In UNIX, once you've wait()ed for a program it's gone -- all its memory returned, its slot in the process table free, etc, etc. But Windows seems to give the "all clear" the instant the program you're waiting for wants to quit. This might be higher-performance -- you can do things instead of waiting while it cleans up -- but means that, under certain kinds of loads, resources can be used faster than Windows cleans them up.

I have seen this happen here on unix.com with many different versions of Windows, when people use things like Cygwin or Busybox to run UNIX shell scripts under Windows. Things which are merely inefficient in UNIX -- running awk 100,000 times to process 100,000 lines -- actually break down randomly in Windows.

Last edited by Corona688; 07-30-2014 at 01:00 PM..
Sponsored Links
    #14  
Old Unix and Linux 07-30-2014
sreyan32 sreyan32 is offline
Registered User
 
Join Date: Nov 2012
Last Activity: 11 August 2017, 5:07 AM EDT
Posts: 54
Thanks: 25
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Corona688 View Post
The terminal device is a serial port -- either a real, physical serial port, or an emulated one(i.e, a vterm). Any proper terminal in UNIX, even a graphical one, will use one.

This is because UNIX serial devices come with lots and lots and lots of built-in software features. Have you ever hit ctrl-C to kill a stuck program? The serial port, even an emulated one in a GUI, does that directly. It has a "send SIGINT when you hit this key" setting.
I am sorry for being blunt first of all. But what you said makes absolutely no sense to me. Why would a terminal need a serial port to function ? Also I have used the terminal in both Debian and Fedora distributions. I have never made any connection to any serial port before using them !
Why would I need to do so ? OSes like Windows also offer ctrl+c combination to kill the program(not that I like comparing Windows and UNIX I am just trying to get my point across). And what do you mean by it does that directly ? How can a serial port send signals to the CPU ?

I am sorry but I don't understand what you are saying probably because I am starting out with UNIX. Do you think I should post a separate thread about this topic dealing with serial ports and terminal devices ? Because its getting off topic here.

Quote:
Originally Posted by Corona688 View Post
Imagine you're running out of space on drive C in Windows, and add another hard drive to deal with it. Now you have a drive D with lots of space -- which is no help at all since C is where you need it.

In UNIX, you could attach the new drive's partitions wherever you wanted -- /home/ for example, if that particular folder is very big.
If I am not mistaken you mean that you can move around partitions right ? For example I can unmount the /home partition and put it in a different hard disk all together and use it from there right ?
But then why would you call it "partition nesting" ? because that sounds a partition within another partition.
Sponsored Links
Closed

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Linux More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Open-source projects to learn concurrency-managed network programming in Unix? TheTaoOfPhil UNIX for Dummies Questions & Answers 2 08-25-2012 04:40 AM
need open source KB software for UNIX RJ45 UNIX and Linux Applications 0 02-03-2011 10:38 AM



All times are GMT -4. The time now is 03:31 AM.