Unix is a family of operating systems primarily designed for servers, mainframes, and high-end workstations. First created in 1969, Unix systems are renowned for their security and stability.

3,082 Questions
The Difference Between

What is the difference between Linux and Unix?

To put it very generically, Linux is an operating system kernel, and UNIX is a certification for operating systems. The UNIX standard evolved from the original Unix system developed at Bell Labs. After Unix System V, it ceased to be developed as a single operating system, and was instead developed by various competing companies, such as Solaris (from Sun Microsystems), AIX (from IBM), HP-UX (from Hewlett-Packard), and IRIX (from Silicon Graphics). UNIX is a specification for baseline interoperability between these systems, even though there are many major architectural differences between them. Linux has never been certified as being a version of UNIX, so it is described as being "Unix-like." A comprehensive list of differences between Linux and "UNIX" isn't possible, because there are several completely different "UNIX" systems.

The Difference Between

What is the difference between Unix and DOS?

Unix usually refers to a family of operating systems that are similar in function or descendants of the original Unix operating system developed at AT&T Bell Laboratories. This includes a large portion of modern operating systems, including:

  • All Linux distributions (Red Hat, SuSE, Fedora, Debian, etc.)
  • BSDs (FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Mac OS X)
  • Solaris
  • HP-UX
  • AIX

Unix-like systems are multi-user and multiprocessing operating systems; that is, more than one user can be using the machine at one time, and each user can run multiple processes, or programs. The most common way to interact with a Unix-like system is a text command shell, but many users choose to use graphical desktop environments as well.

On the contrary, DOS refers to a family of single-user operating systems first developed for IBM-compatible PCs. Generally, DOS is also single-tasking, meaning that the operating system can only run one program at a time. DOS is not a very modern operating system; a program bug can easily crash the entire computer whereas on modern operating systems (Windows, Mac, Linux, Unix, etc.), program bugs are "caught" by the operating system.

Unix has traditionally been used primarily in server environments, but is also gaining ground as a desktop operating system. Most open source Unix-like operating systems have advanced considerably in terms of user-friendliness. Despite this, Unix's simplicity also means that users are expected to know more, and are generally still more difficult to use than Windows or Mac.

DOS has been mostly replaced by Windows and Mac as PCs. DOS installations still remain today to run older DOS applications, including games to military accounting software.

Windows Server 2003

What is IIS server Why it is used?

Internet Information Services is used to make your computer a web server. If we want to have a web server for developing dynamic website or want to publish website on our own server then we install the IIS. IIS is used on windows plate form

IIS takes request from user and executes the required files and sends result back to the user. IIS server also provides the services of SMTP (Simple Mail Transport Protocol). We can send emails using SMTP. FrontPage server extensions are also the part of IIS. Using FrontPage server extension we can use the dynamic features of IIS like form handler, Hit counter and etc.

Additional information:

The most popular web server on the Internet is the Apacheweb server. The Apache web server is available from The Apache Software Foundation at


To view hosting information on Apache and IIS, please visit


and scan the page for the Web Server Survey.

Computer Programming

Write a shell program in unix to add two numbers?

echo "enter the value of a"

read a

echo "enter the value of b"

read b

c=`expr $a + $b`

echo "the sum of a and b is $c"

Or, alternatively, one could also...




C=`echo "$A + $B"|bc -l`

echo "$A + $B = $C"

The above examples illustrate the use of back ticks to fork a child process in shell, however the first example uses the 'expr' command to perform the arithmetic while the second example uses the 'bc' command to perform the calculation. As is nearly always the case in Unix or Linux, there are multiple methods of arriving at the same correct solution.

While the wonderful and all powerful Perl language is perhaps, technically, not a shell, it is theoretically possible to accomplish this goal in Perl as well. Let me see now, to make this example as educational as possible, I'll use a couple of subscripts of the array @array to store our values and an off-the-shelf printf function to display the results of our calculations...

perl -e '@array = (5, 10); printf("%s + %s = %s\n", $array[1], $array[0], ($array[0]+$array[1]));'

As the purpose of this site is to teach, I briefly entertained and then discarded a notion to shoot for maximum obfuscation. Larry, Randy and Nathan will be proud of me I hope. :)

Naturally, there are numerous other ways to accomplish this goal in Linux.


What is the purpose of a chroot jail?

A 'chroot' on Unix operating systems is an operation that changes the apparent root directory for a certain process and its children. The 'chrooted' program cannot 'see' the actual root directory, only the directory in which it has been 'jailed' in. This is usually done to improve system security.

While chroot(8) can protect a filesystem, it cannot restrict access to the process ID table, the network stack, and device nodes.

Computer Terminology
C Programming

Cross platform IDE for unix based C system?

Eclipse with CDT (C/C++ development tools)

see: http://eclipse.org/cdt


What do you mean by file permission -rw-rwx-wx?

There are 10 characters in a string for a Unix-style file permission.

The format is:

dooogggaaa (where d is a directory flag, oindicates the permissions for the file owner, g indicates the group the file belongs to, and a is for everyone else [all])

The permission values breakdown:

  • d is only available on the first character, and if toggled, this means that the file is a directory (folder).
  • - means no permission (or in the case of the first character, it means it's a file and not a directory).
  • r grants read permissions.
  • w grants write permissions.
  • x grants execute (run) permissions, which is generally used on program files.

In your case, -rw-rwx-wx means:

  • It's not a folder (the directory flag is not there)
  • The file owner is allowed to read and write to the file
  • The group is allowed full access (read, write, execute)
  • Everyone else is only allowed write and execute permissions.

If you find it hard to memorize those, there's a different way to memorize it (as 3 digits).

Your file has a value of 673.

Like the previous representation of file permissions, the first digit represents the owner's permissions, the second digit represents the group permissions, and the last digit represents the everyone's permissions.

To get these numbers:

A "read" permission is assigned the number 4.

A "write" permission is assigned the number 2.

A "execute" permission is assigned the number 1.

If you add them together, you'll get a sum for the permissions.

For example, your 673:

  • File owner: read + write = 4 + 2 = 6
  • Group: read + write + execute = 4 + 2+ 1 = 7
  • All: write + execute = 2 + 1 = 3

What is smitty in aix?

'smit/smitty' is the administrator tool for configuration in AIX.

Microsoft Windows

What does the -m switch do with the useradd command?

There are many variations of the useradd command; most standard installations may not have this switch. Please identify which Unix system you are talking about.

Software and Applications (non-game)

Did exe file runs in solaris?

The ".exe" file extension is exclusive to Microsoft products, including MS-DOS and Microsoft Windows. While Solaris does have "executable" files, there is no requirement for those files to have an ".exe" extension. Technically speaking, ".exe" programs run only on Microsoft-based operating systems. Therefore, Solaris does not run ".exe" files.

Microsoft Windows

Which command is used to create a sub processes?

For Unix, any command is run as a sub-process. You don't need an actual command to create the subprocess. You can also force the process to run in the background by appending a '&' symbol at the end of the command.


What does chmod 654 stand for?

chmod is a utility that allows you to change the file permissions. The octal value 654 equals to -rw-r-x-r-- (or drw-r-x-r-- if it's a directory). This means that the file owner can read and write to the file (but not execute), users in the file's group can read and execute (but not write), while for everyone else it's read-only.


  • The "read" permission is assigned the value of 4
  • The "write" permission is assigned the value of 2
  • The "execute (program)" permission is assigned the value of 1
  • A "revoked" or "rejected" permission has the value of 0

You add these up according to what permissions are granted, except if the permissions for any one of the following categories are revoked or rejected (e.g. 000[probably not practical or possible] = nobody can access the file).

  • There are 3 digits, and the first digit is for owner, the second is for group, while the last one is for all.

What is ioctl system call?

The ioctl system call is a low level I/O system call that allows the developer a fine-grained ability to change certain things about devices. For example, it can let you use asynchronous I/O handling instead of synchronous, blocking or unblocking, etc.

Since this is such a low level command the abilities will vary widely with the Operating System and the actual device. It should only be used by device handling code that knows exactly what the effect will be.

Computer Networking

What are the UNIX Network Management?


Microsoft Windows
Hard Disk Drives

How do you use a different file system?

It depends on what you are referring to - the file system for the partition/volume that the operating system sits on, or the partition/volume that non-system data sits on.

For operating systems, there are usually certain restraints on which types of file systems you can use. Generally Windows versions after XP will work only with NTFS. The main reason is that it's a journaled filesystem (it keeps records of what was done on the disk to help it recover in the case of a crash), and it supports a larger filesize per file (as opposed to 4GB file limits on a FAT32 volume), as well as supports ACLs (for resource access permissions), filesystem-level compression (LZNT1) and encryption (EFS), hard links, and more.

Generally you cannot change the filesystem unless if you format it (which will wipe the filesystem tables only, but does not delete the data [although it will appear to have been lost, but is still recoverable via data recovery])


Define the purpose for writing shell scripts as a superuser?

I presume you mean writing shell scripts that operate under the super user account - scripts are written for any reason to help automate tasks and make them much less error prone than issuing commands as a user. Running as the superuser merely means that the commands in the shell script require superuser priviledge to execute.


What are the common shell variables in unix?

The common shell variables differ according to which shell you are talking about. In general, they control the shell environment behavior, terminal behavior, and other external things.

You can get a list per shell by using the 'man' command with the shell name to list out the common variables used in that shell environment.

Mobile Phones
Affiliate Marketing

What is fullform of posix?

"posix" is a latest version of a operating system of "unix",published by ieee 1003.2 standard.

Specifically, it's an acronym for Portable Operating Systems Interface. When used, it should specify which version of the specification is being referenced. E.g. POSIX.1-2008 is the latest.

Microsoft Windows
The Difference Between

What is the difference between Windows and Unix?

Windows and UnixAs far as operating systems go, to some it would seem as if UNIX has a clear advantage over Windows. UNIX offers greater flexibility than Windows operating systems; furthermore, it is more stable and it does not crash as much as much as Windows. To some, UNIX is just as easy to use as Windows, offering a GUI interface as well as command line. But there are users out there that believe UNIX is for only for computer gurus only, claiming that the fragmentation of the UNIX GUI is its greatest competitive weakness.

One thing that has been established though, UNIX is quite a bit more reliable than Windows, and less administration and maintenance is needed in maintaining a UNIX system. This is a huge cost saver for any organization. Rather than employing many individuals to maintain a Windows based system, one part-time employee would be needed for the upkeep of a typical size UNIX system. One key difference between UNIX and Windows is the implementation of multiple users on one computer. When a user logs onto a UNIX system, a shell process is started to service their commands. Keeping track of users and their processes, a UNIX operating system is able to keep track of processes and prevent them from interfering with each other. This is extremely beneficial when all the processes run on the server, which demands a greater use of resources - especially with numerous users and sizeable applications.

Another main difference between UNIX and Windows is the process hierarchy which UNIX possesses. When a new process is created by a UNIX application, it becomes a child of the process that created it. This hierarchy is very important, so there are system calls for influencing child processes. Windows processes on the other hand do not share a hierarchical relationship. Receiving the process handle and ID of the process it created, the creating process of a Windows system can maintain or simulate a hierarchical relationship if it is needed. The Windows operating system ordinarily treats all processes as belonging to the same generation.

UNIX uses daemons, Windows has service processes. Daemons are processes that are started when UNIX boots up that provide services to other applications. Daemons typically do not interact with users. A Windows service is the equivalent to a UNIX daemon. When a Windows system is booted, a service may be started. This is a long running application that does not interact with users, so they do not have a user interface. Services continue running during a logon session and they are controlled by the Windows Service Control Manager.

UNIX has a novel approach to designing software. Since UNIX is open-sourced, it attracts some very intelligent programmers who develop many applications free of charge. With this in mind, many designers choose to resolve software problems by creating simpler tools that interconnect rather than creating large application programs. In contrast, Windows applications are all proprietary and costly. With UNIX, each generation extends, rather than replaces the previous like Windows it is rarely necessary to upgrade - old and new Unix are all compatible. The main reason for this is the way UNIX is built, which is on a solid theoretical foundation. There are many advantages to this, for instance, a book written 20 years ago that discusses programming UNIX can still be used today. Imagine trying to figure out how to run Windows XP with a Window 3.1 manual - it can't be done.

One argument to be made about UNIX is its lack of standardization. Some feel there are too many choices to be made regarding which GUI to use, or which combination of UNIX hardware and software to support. UNIX operating systems make great high-performance servers, but for end-users, every application on each arrangement of UNIX platform requires a different set, and each application has a different user interface. Microsoft has "the" Windows operating system; there simply isn't one standardized UNIX operating system, or for that matter, a single standardized UNIX GUI. One could argue and say this is a downfall for UNIX, but on the other hand, these variations add flavor and versatility to a solid, reliable operating system.

In summary, the best way to choose between UNIX and Windows is to determine organizational needs. If an organization uses mostly Microsoft products, such as Access, Front Page, or VBScripts, it's probably better to stick with Windows. But, if reliability, universal compatibility, and stability are a concern, UNIX would probably be the way to go.

Here is more input:

  • Simply stated, the main difference is Windows uses a GUI (Graphical User Interface) and UNIX does not. In Windows one uses the click of a mouse to execute a command where as in UNIX one must type in a command. There are GUIs that can be used in a UNIX environment though very few UNIX users will stoop that low to use one.) Before there was a Windows environment, DOS (Disk Operating System) was used on PCs. DOS was based on and was similar, but only a poor subset, to the UNIX system.
  • Differences between UNIX and WINDOWS: Unix is safe, preventing one program from accessing memory or storage space allocated to another, and enables protection, requiring users to have permission to perform certain functions, i.e. accessing a directory, file, or disk drive. Also, UNIX is more secure than Windows on a network because Windows is more vulnerable than UNIX. For example, if you leave a port open in Windows it can be easily used by a hacker to introduce a virus in your environment.
  • Unix is much better at handling multiple tasks for a single user or for multiple users than windows. For each user, Unix in general, and especially Sun's Solaris provides many more utilities for manipulating files and data than windows does. For a corporate environment, Unix ( especially Solaris ) provides much more control for the administrator than windows does. Solaris, for example, enables the administrator to mirror or stripe data across several disks to minimize risk or optimize performance without 3rd party products. In general, for a programmer or for an administrator, Unix provides more power and flexibility than windows. For the less sophisticated user, Windows can often more easily be installed and configured to run on cheaper hardware to run a desired 3rd party product. In short -- Unix is better, Windows is easier for less sophisticated users.

When multiple programs or processes are running on a Unix machine how do you find out much memory is being used by each program?

to find out the memory of each processes running on our unix/ Linux box type "PS -aux | more" would list u all the processes running with their respective processor id's (pid) and the memory used by the respective programs ...

if u are running out of memory what we can do is note down the pid which is taking lot of memory and if u feel the process is not so important for u

then use the command "killall"to quit or stop that particular process

I am using red-hat Linux, here u can use a top command to c the amount of memory utilized by each running processes.

You can use "top" or the native "prstat" in Solaris. In order to see how much memory is used by a process, not including that shared with other processes ( through shared libraries ), you can execute "pmap -x $pid" giving your processes PID.


How does a child process become a Zombie process?

See related links


Which company did sco sue for using code unix in its operating system?

They tried to sue several companies, including IBM

Microsoft Windows
The Difference Between

How will you know the time taken by each process or program on Unix?

Use "time".

For example instead of using "ls" to get a directory listing, using "time ls" will give the directory listing as well as the time to execute the ls command.

You can execute "ps -ef" and look in the TIME column to see how many minutes and seconds of CPU time each process has used.


What are similarities and differences between MS-DOS and UNIX?

Difference: Back in the days before Microsoft Windows dominated the PC market, operating system were controlled by commands. Prior to MS-Windows, PC users were required to learn these commands in order to perform routine tasks. During the 1980s, Microsoft DOS dominated the PC market while the early UNIX command systems were used on larger multi-processing servers. The main difference between UNIX and DOS is that DOS was originally designed for single-user systems, while UNIX was designed for systems with many users. While PC's have evolved into GUI interfaces such as Windows, UNIX systems have never evolved into GUI environments. Hence, The Oracle professional must master a bewildering number of cryptic UNIX commands in order to manage their Oracle databases, both on Windows NT and UNIX. One of the most confounding issues for the UNIX neophyte is being confronted with a complex UNIX command. The cryptic nature of UNIX is such that even the most seasoned UNIX professional may have trouble deciphering the purpose of the command. Because UNIX and MS-DOS were developed at the same time they share some common syntax, and the UNIX neophyte will be happy to find many common commands and concepts.

Similarities: Both has CLI option and both are quick.


What is a core dump in Unix?

While I'm not familiar with any Unix OS that creates files named core.dmp (Unix systems do not typically use 3 letter suffixes), I can speak to the file commonly called just "core". This file gets created when an application performs an illegal activity, such as referencing an address outside its address space or dividing by zero. Illegal activities result in a synchronous signal being sent to the offending process. Unless handled, the typical result is for an image of the process to be saved to the file called "core". Tools such as "gdb" or "adb" can be used to examine the core file in order to determine what the process was doing that caused it to receive the signal. However, unless the process was compiled with debug information (e.g., -g) and linked with symbols intact, there's precious little that can be deduced. If the process has no symbols nor debug information, the simplest thing to do is to use the "file" command: file core in order to view an abbreviated description (name of the process and the signal that terminated the process). For more information, see the signal(2) and signal(5) man pages on any decent Unix system. (p.s. I speak from 25 years as a Unix developer.)

AnswerCORE DUMP are images of application failure messages during there execution in LINUX/UNIX they give little clue about what happened to that particular application while run. Cause of application failure may be anything e.g. memory violation ,not enough memory or anything that makes an application to stop run. For further refrences please refer to the System Administration Handbook on LINUX that comes from different writers but one that I have read is by Nemeith . Any even I can suggest you more at rupesh_joshi@sify.com rupesh.joshi@gmail.com Rupesh Kumar Joshi India Answer

This response is anecdotal but may also be informative. In the early 1990s we operated a 3 processor Unix server which one day had what is known as a kernel panic. When a Unix kernel panics, it attempts to write out a core dump containing the state of the CPU registers and memory at the time of the panic. Typically, the Unix or Linux crash utility or program is then used on the core dump to help in determining the cause of the panic.

Unfortunately, since we discovered that our server was experiencing a second kernel panic while in the process of writing it's core dump from it's first kernel panic, the core dump failed and was not properly written out to disk thus using the crash utility was not possible. Eventually, the problem was identified as a failed CPU and, after replacing the failed CPU, all kernel panics stopped and the server ran normally. Had our kernel not panicked while experiencing a kernel panic, we would have been able to use the core dump to determine the cause of the kernel panic by using the crashprogram to analyze the core dump.


Copyright © 2020 Multiply Media, LLC. All Rights Reserved. The material on this site can not be reproduced, distributed, transmitted, cached or otherwise used, except with prior written permission of Multiply.