Abstract For many, the UNIX family of operating systems seems to be have a smaller share of the market than Microsoft. This is not necessarily the case, since more internet servers and education servers are running UNIX than Microsoft Windows. In actuality, the server market share for both UNIX and MS Windows operating systems is almost balanced. UNIX Family versus Microsoft Windows: Comparisons For Business Companies often face the issue of choosing a UNIX based system or a Microsoft Windows based system for their network Operating Systems.
To many IT managers in today’s market, this can be an even more daunting task because there are often more opinions than facts available. Within this paper, the attempt is to clarify the differences to help an astute IT Manager make the decision with confidence. Most IT personnel, with the plethora of opinions, quickly tend to forget that all GUI operating systems stem from the same source. That source is the X(erox) Windows, which makes up the core of both groups of OSes on the market today.
For this reason, understanding what truly sets the two groups apart can help companies be more confident with a choice of one over the other. For the purpose of the paper, we will compare the UNIX family of OSes (which includes Linux) to Microsoft Windows. UNIX is often a misunderstood and under-represented OS, other than Apple, Inc. ’s OSX. Cost Analyst firms have been releasing total cost of ownership calculations for leading operating systems, with Linux and Windows neck-in-neck for the low end, and UNIX numbers somewhere up in the stratosphere.
Things get murky, when considering total cost of ownership costs, and to some extent, return on investment for these systems. Since it’s almost impossible to calculate potential ROI for an operating system implementation, analyst firms have been concentrating on tracking total cost of ownership numbers for Linux versus UNIX versus Windows. What they’re finding is Windows and Linux cost the same in hardware, with support costs tipping the equation one way or the other. However, analysts do not agree on whether Windows or Linux support costs more over the long run.
Commercial UNIX is another story, which analysts say just plain costs more in both hardware and support. The cost for UNIX was $1,407 per user, compared to $256 for Linux. In an Internet or Web-based setting, the difference narrowed to $685 for Unix versus $377 or Linux. IDC cited hardware costs, accounting for the fact that older Intel-based processors could be recycled as Linux servers. Administrative costs also were higher for UNIX, due to greater complexity. The management decision to run UNIX or Windows will certainly be biased toward the operating system your administrators are most familiar with.
A few reports that compare the cost of Windows with Linux state that even with the administration overhead and learning curve, Linux is still more cost-effective than paying for Windows. The power of UNIX may never be realized if the administrator doesn’t already understand it. That’s just how things are. That’s also why good administrators can thoroughly test a service before it goes live. If you aren’t locked into proprietary software, the cost performance benefits of Unix-based operating systems may well make it worthwhile to consider migrating some core services like e-mail and Web servers. Market Share
For many, the UNIX family of operating systems seems to be have a smaller share of the market than Microsoft. This is not necessarily the case, since more internet servers and education servers are running UNIX than Microsoft Windows. In actuality, the server market share for both UNIX and MS Windows operating systems is almost balanced. It was noted (Singh, 2004) that Microsoft Windows operating systems had 95% of the desktop operating system market. This has become important, as most companies prefer to stay within the same distributor for their server operating systems that they select their desktop operating systems from.
This means that there will need to be less adaptation between versions and technologies. UNIX is also faced with the fact that the majority of commercial 3rd party application developers are producing for the Microsoft systems. This means that reliable software choices, with solid backing for support and upgrading, is limited for UNIX. With UNIX systems, IT Managers are generally faced with keeping their own development team and working with Open Source applications. What holds Microsoft’s market share at bay is the press and opinions that state that Microsoft is less secure than UNIX.
There is little direct evidence to prove this, but with the directly modifiable setups, it is possible for companies to fine tune a UNIX server or OS beyond what is possible for Windows without adding additional commercial software. Unless you consider Apple, UNIX is greatly behind on commercial implementation for businesses. Considering Apple OSX (a UNIX certified OS), UNIX and Microsoft hold a more comparable portion of the overall market share. Operating Systems are shifting in the market share world. Microsoft has led the market in the majority of operating systems with the exception of wireless operating systems.
According to RCS Wireless News, written by Phil Caron (2008) the article reads that Windows Mobile is second to Blackberry in the installed base of users. Looking at the server arena Microsoft has noted an increase of only 7 % in the first quarter of 2009. RedHat ‘s overall increase of 18% over the same quarter is a profitable gain, and Novell posting 24% of gains yearly (Vizard, 2009). Seeing a projected increase implementing Linux’s executives present that the cost is a major factor in a Novell sponsored survey (Vizard, 2009). Analyzing these numbers indicate that Microsoft is definitely relinquishing ground to other operating systems.
Another interesting point from the survey is that 49% of those surveyed are planning to make a change to Linux as their primary operating system within the next 5 years (Vizard, 2009). The current numbers indicate a shift in the constant growing numbers that will eventually replace some of the current Windows operating systems. Using the next 5 years as a goal, the market will measure the change in revenue. If Linux is as reliable and performs as expected, then Microsoft will have a hard time maintaining the market in the leadership position.
With the recent competition, Microsoft users are benefiting, as Microsoft has implemented improvement. Vizard reported that the Open source Community needs to focus so they can keep up with the system management tools. Doing so should increase usability, which would assist in building Windows integration tools. This will allow the system to integrate as a peer. Market share shows that Linux may be gaining. However, Linux has a long road ahead of them before becoming a major contender in the operating system world. Linux is an Open Source community that will have to focus on improving operational functionality.
Doing so will build a reputation that they are reliable and offer a cost effective alternative to Windows. Hardware Requirements Microsoft Requirements The system requirements for a Windows server can be but are not limited to the following. The processor must be a four core and 64-bits. The RAM must have for development at least 4 Gigabytes. For an evaluation or single-server production use is 8 GB, for multiple-server production use, 16 GB is recommended. The following memory amounts are recommended for the computer that is running SQL Server in a production environment.
Total size of content databases Recommended RAM. Minimum for multiple-server farm 16 GB. Using and Up to 2 terabytes requires 32 GB Hard Disk Drive is 80 GB for system drive. In addition to the 80 GB minimum for the system drive, for production use, the computer should have twice as much free disk space as it has RAM. The search system stores the full-text index in the file system of the query servers. Hard disk space required for the full-text index can vary from approximately 2 GB for a full-text index that contains 300,000 items to approximately 1 terabyte for a full-text index that contains 100 million items.
Each Server is different on how it is installed and what type of software to use. For the Windows sever there is Web Server (IIS) role (required for Web servers only), Application Server role (required for application servers only), SQL Server 2008 Native Client, Microsoft . NET Framework 3. 5 SP1, Microsoft Sync Framework Runtime v1. 0 (x64), Microsoft Filter Pack 2. 0 Microsoft Chart Controls for the Microsoft . NET Framework 3. 5, Microsoft SQL Server 2008 Analysis Services ADOMD. NET, ADO. NET Data Services Update for .
NET Framework 3. 5 SP1, Windows PowerShell 2. 0, Windows Identity Foundation (WIF) and many different types of server software that is easily available but at a bigger price than most of us want to spend at any one time. (Microsoft Corporation, 2010). UNIX Requirements A minimum of 256 MB of RAM is recommended. The actual memory required for a particular problem will depend on the size of the mesh, the physical models that are enabled, and the complexity of the domain. Disk Space Requirements for the software installation require 20-30 MB.
Storage for user files (case, data, and post-processing files) will vary by problem and whether the files are stored as formatted (ASCII) or unformatted binary files. Binary files are usually smaller in size. Media Requirements The software can be supplied via the Internet on CD-ROM (default media, ISO 9660 format). Graphics Support. Fluent Inc. products support various graphics display drivers depending on the system. The software will attempt to choose the best driver depending on the graphics hardware and software found on the system.
Support for the X11 windows driver is universal over all UNIX systems and this driver will be selected if a better choice is not detected on your system. Fluent Inc. products run remotely over a network on a UNIX system will only support the X11 display driver regardless of the hardware. (ANSYS, 2010) File Processing Analysis In comparing UNIX systems to Windows some of the characteristics found in UNIX include: the use of plain text for storing data; a hierarchical file system; UNIX treats devices such as printers, mouse and keyboard as well as other devices as files.
The UNIX system also treats directories and processes as files. There is only one root directory in the UNIX operating system hierarchical tree. UNIX uses tools and programs through the command line as opposed to using a single monolithic program that includes all of the same functionality. The kernel provides services to start and stop programs, handles the file system which stores and organizes the computer files and data. The kernel typically moves data into as databases for storage and usage. Both UNIX and Windows file systems are hierarchical and both support long names up to 255 characters.
File Processing Comparison UNIX systems which are based on plain text files for configuration utilize many powerful tools which are used to process text files. Piping is extensively used to redirect the output of one command to the input of the next command. UNIX handles most command in a sequential order (first in first out) however the process can be overridden through the use of parameters and options (ADD). This allows commands to be strung together and executed without saving all the results to an output file.
UNIX uses commands such as: Echo – displays text on screen Grep- searches files for pattern data and returns all lines where the pattern is found Cat – concatenates and prints file or used to pipe input to other process Other commands – UNIX also uses other file command that allow users to sort file contents, compare files and display differences line by line by line, and display search result in the shell one page at a time using the more command. UNIX based systems utilize the piping feature which allows for redirection of input or output of one process to another.
UNIX can take the input from the keyboard or a file and send it as output to another file or device. It can also take the input from a file and use it as command criteria to produce results to another file. While most of these features may not be utilized in the windows environment some such as ‘echo’ or redirection can be found through the use of the command prompt in what is know as the windows DOS environment and also through Windows Powershell. ‘Windows Powershell is an extensible automation engine from Microsoft, consisting of a command-line shell and associated scripting language. (Wikepedia, 2010) For example: the echo command can be used to display contents on screen; the more / ‘|’command can be used to display contents one page at a time and redirection ‘>’ can be used to send output to a printer or file. Windows handles most file processing functions through the use of GUI interface user applications. Windows allows users to create, open, edit, and save files to specific directories stored with local, remote, networked, or removable drives. It accepts input from different sources including USB, wireless connection, DVD, and CD, sources and devices such as camera’s, and PDA’s.
UNIX treats all directories as files and has only one root directory. Windows on the other hand does not treat directories as files and can have multiple root directories depending on the number of drives and volumes installed. Also files needed by windows operating system are usually stored in the C: drive. Both systems allow permissions to files and directories to be setup or modified. Windows make a solid distinction between files, directories, and devices and keeps each of them segregated.
Devices – as previously mentioned devices such as mouse and keyboard and other input and output devices can also be found in the UNIX file tree. They can be found available in the /dev directory. UNIX also utilizes a null device which immediately trashes any output sent to it. Windows on the other hand keeps devices totally separate from the file structure and uses a device manager that is used to configure all devices attached. Programming Capabilities Both Windows and UNIX use the seven levels of networking principal, OSI, to he some degree with some difference, and once past the seven layers the sockets are what separate these two operating systems from each other, as was stated above. The first, of the seven, is the physical layer which defines physical means of sending data over network devices, interfaces between network medium and devices, and defines optical, electrical and mechanical characteristics. The second is the data link layers which frames the packets, detects and or corrects packets transmit errors, and defines procedures for operating the communication links.
Third is network layer which has the task of determining how data is transferred between network devices, also routes packets according to unique network devices addresses, and provides flow and congestion control to prevent network resource depletion. Fourth, transport layer, is responsible for managing end-to-end message delivery in networks, provides reliable and sequential packet delivery through error recovery and flow control mechanisms, and provides connectionless oriented packet delivery.
Fifth layer is called the session layer, the functionality of this layer is adding control mechanisms to the data exchange, reports upper layer errors , manages user sessions and dialogues, and controls establishment and termination of logic links between the users. (OSI Network Architecture 7 Layers Model, 2010) Since there is no set standard for TCP/IP, in regards to the layers, some say “… it is at layers 3 through 4 in the OSI model,” (Tangentsoft) while some say it is “…layers 2-5 are covered by protocol suites like TCP/IP… ” (7 layers of networking) in this paper layer four and under will be used. The basic concept of network programming is the API, Application Programming Interface which “…allows computer programmers to access the functionality of pre-built software modules…primary networking APIs have been implemented in socket libraries. ” (About. com, 2010) These sockets are holding network and data communication protocols. The Berkeley socket also known as BSD, which was developed at UC Berkeley, was the first to develop the socket but was sued by AT&T for copyright, which the product was just UNIX but with sockets.
UNIX then later came out with its own socket program within System V or also known has SysV, and Windows implemented the socket on the Windows 95 OS and up. “The primary networking protocol for UNIX and Windows is TCP/IP. The standard programming API for TCP/IP is called sockets. The Windows implementation of sockets is known as Winsock (formally known as Windows Sockets). Winsock conforms well to the Berkeley implementation, even at the API level. The key difference between UNIX sockets and Winsock exists in asynchronous network event notification.
There is also a difference in the remote procedure calls (RPC) implementation in UNIX and Windows. ” (Microsoft, 2010) Though one could argue that this is all bias coming from Microsoft on the TechNet portion of the website, this still does not explain the programming capabilities of these two OS, operating system, but does in fact present a basic idea. That idea is that both use the same concept in network programming; there are even software developers out there that develop one program to work cross-platform for the OS network programming needs. Examples of these developers are Java and Python just to name a few. (About. om, 2010) RPC is a network programming model for point-to-point communication within or between software applications. (About. com, 2010) What sockets are meant to do is to allow a software or application that the user has running say for example, Windows Media Player, that needs access to the internet or some type of access to the computer network, a single connection between the two. There are three interface types in a socket: Steam socket, implements “connection-oriented” and semantics, Datagram socket, connect-less semantics, and lastly the Raw socket, bypasses the library’s built-in support for standard protocols like TCP and UDP.
Raw sockets are used for custom low-level protocol development. “WinSock was created to allow different Microsoft Windows TCP/IP software applications to communicate. ” (About. com, 2010) This is present some security concerns because any program application can be let access to the internet, but can also be very beneficial by allowing these programming ability to update itself or notify you, allow streaming, and get the necessary fix to the issues at hand just to name a few.
The UNIX socket is more secure because there is a need for the administrator to allow these programs access; this can impede the software application the speed or functionality. Application Availability Application Availability is a very tricky subject when talking UNIX family operating systems. At first glance, when a search is run on the internet for UNIX family applications, the search will return thousands of applications compatible with UNIX/Linux. This can be deceiving, in the fact that many of these applications are far from being finalized and no single install packet is available for many of them.
Many of these applications do not have a support system, other than open user forums. This is both the pro, and the con, of Open Source applications (Eckert, 2006). In many cases, a company would have to find applications that will, individually, handle different features that would be part of a closed source application package. For many businesses, the biggest hurdle of Open Source applications for UNIX /Linux is the install process. Most of the Open Source applications available do not have complete installation packets.
Installers must acquire daemons from other sources that will allow the application to function, and then must manually follow the install instructions. This can become a tedious process, unless the company has a division that specializes in building install scripts for the programs. There are less close source applications than Open Source, yet there are benefits to the closed source. Closed source companies look to make the installation of their products as simple as possible. This allows users, or administrators, to insert a disk and run the install with little more than a few choices to declare.
Closed source software also has a defined support system for their products, allowing users to contact the support group when they encounter an issue. Open Source programs, which make up the majority of applications for UNIX family operating systems, are generally only found as downloads from the internet. This can make it harder for discretionary businesses to find stable and complete applications. Closed source applications can generally be bought from any software store, either physical store down the road, or online store on the web. As long as trustworthy sources are used, each new purchase of the application will be the same.
Open Source downloads, unless pulled from the same web source, may be completely different, even if they have the same name and general details. All of this considered, it is better, in a business environment, to stick with closed source programs that have the support, ease of install and ease of acquisition. Unless the company has its own programming/scripting division, or is willing to contract a group to script the installations, or assemble their own packages, many Open Source applications will only complicate the issues. In the end, it is up to the individual company as to what they are prepared for.
User Interface The UNIX and Windows Networking user interfaces have many similarities and differences. The first similarity that they share is that both have a graphical user interface, also known as a GUI. The GUIs have similarities also. Both of the GUIs have icons that the user can click on to execute programs or open files. They both make extensive use of windows. Windows are rectangular in shape and can contain a group of icons. The windows can be manipulated with a mouse. Ways that a window can be changed are moving, maximizing, minimizing, and restoring.
The windows also contain menus that allow the user to carry out a multitude of commands. Examples of commands are close, copy, paste, refresh, delete, and sort by. The second similarity is that both have a command prompt. Not many users know about the command prompt. The command prompt in both Windows and UNIX can be used for a variety of tasks. According to mahalo. com, “Using Command Prompt isn’t just a hangover from the old days of PC computing in MS-DOS. Mastery of this interface can save you a lot of time on common chores that require a lot of repetitive clicking and window navigation” ( 2).
Instead of opening window after window and clicking on countless icons, just type in a command and its finished. The third similarity is the taskbar. Both UNIX and Windows have a taskbar, although they are different. The biggest difference is the ‘Start’ button. The Windows ‘Start’ button is iconic. UNIX has a button that performs the same function. The last similarity to be discussed is that programs written for one cannot be used on another. If a program is written for use with Windows, then it cannot be used. The reverse is also true; a program written for use with UNIX cannot be used with Windows.
A program, however, can have different versions written for both. Just as the Windows networking and UNIX interfaces have similarities they also have differences. The first difference is flexibility. The UNIX interface is notoriously flexible. The flexibility can be limited to individual users where the user makes changes to the interface for better productivity. The flexibility can also be taken to the extent of different version being created for specialized purposes. Windows has limited flexibility. The user can modify their interface and what loads and does not load, but the core functions cannot be modified.
The second difference is the extent that the command line can be used. While both Windows and UNIX have a command line, much more can be done with it in UNIX than in Windows. In Windows the GUI is how the majority of tasks get accomplished. In UNIX the GUI is completely optional. A PC cannot be completely run by the command prompt in Windows; however a PC can be ran completely from the command line with UNIX. A third difference is that different programs have very different interfaces. Since UNIX is open source and there are millions of programmers writing their own programs, the interface can vary widely.
Windows is proprietary which means that there are less developers and the interface is standardized. UNIX or MS Windows: The Choice With all of this information pulled together, it is easy to see that there is more of an “opinion by use” situation with UNIX. Companies that want a network that can be fully controlled to the finest detail will find that an UNIX operating system based network is a far better match for their company in the long run. The primary requirement for this to be successful would be competent administrators and developers.
Most companies that find themselves most successful with a UNIX network schema are those that have the resources to have their own packages and applications developed as needed, or that contract with a company such as Novell to provide and support their OS packages. References 7 layers of networking. (n. d. ). Retrieved june 17, 2010, from CS Dept. NSF-Supported Education Infrastructure Project / ei. cs. vt. edu: http://ei. cs. vt. edu/~mm/gifs/Net7. html About. com. (2010). Network Programming – Windows, Unix and Socket. Retrieved June 15, 2010, from About. com Amit, S. ; (2004); A Taste of Computer Security; Retrieved from http://www. ernelthread. com/publications/security/uw. html ANSYS. (2010). TGrid 3. 6 Unix/Linux Hardware Requirements. Retrieved from http://www. fluent. com/software/platform/fluent_hw. htm? path=/WWW/htdocs/fluent/software/platform/? =tgrid_3. 6. uhw. Eckert. (2006) Linux+ Guide to Linux Certification. Course Technology, Glyph Lefkowitz, I. S. -T. (n. d. ). Network Programming for the Rest of Us. Retrieved June 15, 2010, from Zoteca: http://www. zoteca. com/information/wp/twistedusenix. pdf Meadors, T; (2003); Linux Shell Script Programming; Boston, MA; Thomson Course Technology, a