March 05 2011

A PRACTICAL (COMPARATIVE) STUDY OF SCHEDULING POLICIES IN LINUX AND WINDOWS 2K OPERATING SYSTEMS

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

A  PRACTICAL (COMPARATIVE) STUDY OF

 SCHEDULING POLICIES

IN

LINUX AND WINDOWS 2k  OPERATING SYSTEMS

 

*B.Madar

Abstract

Shared-memory multiprocessors are frequently used as compute servers with multiple parallel applications executing at the same time. In such environments, the efficiency of a parallel application can be significantly affected by the operating system scheduling policy.

 

It is common to evaluate scheduling policies based on their mean response times. Another important, but sometimes opposing, performance metric is a scheduling policy’s fairness.

 

Then, how do we evaluate a scheduling policy:

Ability to satisfy all deadlines.
CPU utilization—percentage of time devoted to useful work.
Scheduling overhead—time required to make scheduling decision.

 

 

We will concentrate on scheduling at the level of selecting among a set of ready processes. Scheduler is invoked whenever the operating system must select a user-level process to execute:

• After process creation/termination

• A process blocks on I/O

• I/O interrupt occurs

• Clock interrupt occurs (if preemptive).

 

Introduction on Scheduling Policies.

 

Types of processes:

• Interactive jobs

• low priority, cpu bound jobs that use excess processor capacity (e.g., calculating _ to

101000000 decimal places)

• Somewhere in between

Distinguish between a short and long process. Based on the time a process runs when it

gets the CPU. An I/O bound process is short and a CPU bound process is long.

Note; The idea of short vs. long is determined by how much of its time slice that a process uses, not the total amount of time it executes.

 

 

 

 

Criteria

 

Criteria for a good scheduling algorithm:

 

• Fairness: all processes get fair share of the CPU

• Efficiency: keep CPU busy 100% of time

• Response time: minimize response time

• Turnaround: minimize the time batch users must wait for output

• Throughput: maximize number of jobs per hour

They are competing. Fairness/efficiency, interactive/batch

 

Measurements

In order to compare different short-term policies, we need a measure of performance.

Assume that a process needs t time in execution before it leaves the ready list:

Execution time (t) — execution time

Response time (T) — finish time – arrival time. (Wall clock time)

Missed time (M) — T – t; time spend on the ready list or in blocked state.

Penalty ratio (P) — T/t; penalty of 1 ideal (lower penalty is good)

Response ratio (R) — t/T; response of 1 ideal (higher response is good)

 

Other useful measures:

• Kernel time — amount of time the spent by the kernel in making policy decisions and carrying them out. Context switching. A well tuned O.S. Uses between 10-30%.

• System time — kernel time devoted to a process.

• Idle time — amount of time spend when the ready list is empty. Thus running a

NULL process or running NULL routine code.

 

Scheduling Policies of LINUX OS

Linux offers 3 different ways to deal with scheduling, 2 of them for real-time applications and 1 for normal processes. A static priority value, sched_priority, ranging from 0 to 99, is assigned to each process. This static priority value can be changed only via system calls. The scheduler keeps a list of runnable processes with these priority values. The way Linux determines which process will be running next is by looking at such list for the highest priority number, and then takes the process at the head of the list. The scheduling policy determines where a process will be inserted in the event that it has an equal priority value with another process. Likewise, it will determine how it will move once inside the list.

Most processes use SCHED_OTHER which is the default universal time-sharing scheduler policy. Other most time-critical applications that require precise control use SCHED_FIFO and SCHED_RR. When using SCHED_OTHER, processes must be assigned an static priority value of 0. Otherwise, if using the two other algorithms, the priority value shall range from 1 to 99. Only such processes with super user privileges can have a priority value greater than 0, therefore they may use SCHED_FIFO and SCHED_RR.

All scheduling is preemptive, meaning that if a process with a higher priority is ready to run, the currently running process is preempted and taken to the wait list. It is the task of the scheduling policy to determine the ordering within the list of runnable processes with equal static priority value.

SCHED_FIFO: First In – First Out Scheduling

SCHED_FIFO is used only with priority values ranging from 1 to 99, that is, a SCHED_FIFO process ready to be run will always preempt a normal, SCHED_OTHER, process currently running. SCHED_FIFO does not deal with time slicing. If a SCHED_FIFO process has been preempted by a higher priority process, it will go to the top of the wait list and will resume running as soon as all processes with higher priority values have been blocked.

 

SCHED_RR: Round Robin Scheduling

SCHED_RR works just like SCHED_FIFO, but with one difference: each SCHED_RR process is allowed to run for a specified time quantum. As soon as a running process reaches its allotted time quantum it will be put back at the end of the same-priority-value list. If a SCHED_RR process has been preempted by a higher value priority process, it will complete the unexpired portion of its allotted time quantum when it resumes execution.

SCHED_OTHER: Default Linux Time-Sharing Scheduling

This is the usual time-sharing scheduling algorithm used for all normal processes, or processes that do not require special static priority real-time mechanisms. The process that runs is determined by a dynamic priority inside the list of the same static priority values processes, namely 0. The dynamic priority is based on the nice level and increased for each time quantum the process is ready to run, but denied to run by the scheduler. This way ensures fairness among all static priority 0 processes.

Nice Level – the ‘nice’ command changes the priority level value of a process. The priority that may be adjusted by ‘nice’ runs from -20, the highest, to 19 the lowest.

 IMPLEMENTATION

Each of the three programs in both, the Kernel and User Levels, was run 25 times, which produced varying time results depending on the random numbers generated by them. An average was computed of these 25 results to come up with a final result for each algorithm.

The time was accurately measured using the following commands:

start_time = clock ();
end_time = clock ();
cpu_time_used = ((double) (end_time – start_time)) / CLOCKS_PER_SEC;
system (“date”);

 IMPLEMENTATION OF SCHEDULING AT KERNEL LEVEL

SCHED_FIFO: First In – First Out Scheduling

Three different programs were written in C to implement and test the FIFO algorithm. Each program creates 10 threads, and each thread, in turn, generates between 300,000 and 3,000,000 random numbers so they utilize CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

SCHED_RR: Round Robin Scheduling

Three different programs were written in C to implement and test the Round Robin algorithm. Each program creates 10 threads, and each thread, in turn, generates between 300,000 and 3,000,000 random numbers so they utilize CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

SCHED_OTHER: Default Linux Time-Sharing Scheduling

Three different programs were written in C to implement and test the other algorithm. Each program creates 10 threads, and each thread, in turn, generates between 300,000 and 3,000,000 random numbers so they utilize CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

 IMPLEMENTATION OF SCHEDULING AT USER LEVEL

SCHED_FIFO: First In – First Out Scheduling

Three different programs were written in C to implement and test the FIFO algorithm. Each program creates 10 threads, and each thread, in turn, increases or decreases the number of random numbers by a random number so each utilizes CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

Shortest Job Fist Scheduling

Three different programs were written in C to implement and test the Shortest Job First algorithm. Each program creates 10 threads, and each thread, in turn, increases the number of random numbers so they utilize CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

 

 

Longest Job Fist Scheduling

Three different programs were written in C to implement and test the Shortest Job First algorithm. Each program creates 10 threads, and each thread, in turn, decreases the number of random numbers so they utilize CPU resources in varying time slots.

A completely different program from the ones indicated in the paragraph above runs the 3 main programs.

 TEST RESULTS

After running each of the programs for each of the algorithms 25 times, as specified earlier, the average time results have been placed in the table below:

 

 

Program 1
Time (secs)

Program 2
Time (secs)

Program 3
Time (secs)

TOTAL
TIME (secs)

sched_setscheduler (pid, SCHED_FIFO, &p)

31

11

8

50

sched_setscheduler (pid, SCHED_FIFO, &p)

31

11

8

50

sched_setscheduler (pid, SCHED_RR, &p)

17

13

18

48

sched_setscheduler (pid, SCHED_OTHER, &p)

29

11

11

51

SJF

40

31

30

101

LJF

36

32

29

97

 

 

Scheduling in Windows 2000

 

Windows 2000 schedules at the thread granularity.
Priority-driven, preemptive scheduling system
The highest-priority runnablethread always runs.
Time-sliced, round-robin within a priority level.
Windows 2000 uses 32 priority levels
System level (0), Variable levels (1-15), Real-time levels (16-31)

from Win32 point of view

Processes are given a priority class upon creation:

Idle, Below Normal, Normal, Above Normal, High, Real-time

Changeable by Task Manager.
The individual threads have a relative priority within the class:
Idle, Lowest, Below-Normal, Normal, Above Normal, Highest, Time-Critical.

 

 

 

 

 

 

 

Quantum in Windows 2000
By default, threads start with a quantum value of

      6 on Windows 2000 Professional

36 on Windows 2000 Server
The rationale for longer default value on Windows 2k Server is to minimize context switching.
Each time the clock interrupts, the clock-interrupt routine deducts a fixed value (3) from the thread quantum.
The clock interval for most x86 uniprocessorsis 10ms, and for most x86 multiprocessors, 15ms.

 

Partial quantum decay–The reason quantum is expressed in terms of a multiple of 3 quantum units per clock tick is to allow for partial quantum decay on wait completion.–When a thread executes a wait function, its quantum is reduced by 1 quantum unit. –This partial decay addresses the case in which a thread enters a wait state before the clock interval timer fires.–If this adjustment is not made, it would be possible for threads never to have their quanta reduced.

 

 

 

 

 

•Foreground quantum boost

–The field is an index into a three-entry quantum table used to obtain the quantum for the threads in the foreground process.

•The value of 3 is invalid and treated as 2.

–The quantum for threads in background processes is taken from the first entry in this quantum table.

–The foreground process is the process that owns the thread that owns the window that’s in focus.

 

CONCLUSIONS

The results at the Kernel Level were much better for the Round Robin algorithm and much worse for the other algorithm.

The results at the User Level were best for LJF and worst for SJF.

Scheduling performance criteria and goals are dependent on environment

There exist several different algorithms targeted for various systems

Traditional OSes like Windows, Linux, Unix….Usually uses a priority level algorithms

We conclude that there exists a false dichotomy between schedulers based on proportional share techniques and schedulers. The important question is not which class of algorithms is better, but rather, for a given operating system and set of applications,

(1) to what degree must existing infrastructure such as a periodic timer interrupt and system for manipulating priorities be utilized; (2) how much pessimism and context switch overhead is acceptable; and, (3) what scheduling parameters can the developers of real-time applications be reasonably expected to provide?

 

  BIBLIOGRAPHY

1. Operating Systems Class Website
2.Operating Systems, Harvey M. Deitel, Paul J. Deitel, David R. Choffnes, Third Edition
3.Understanding the Linux Kernel, O’Reilly Online Catalog
4.Linux Process Scheduling
5.Linux Process Scheduling – Summary.

6. Various websites related to OS

 

 

* Faculty in Alluri Institute of Management Sciences, Hunter Road Warangal,Andhra Pradesh-506001

February 26 2011

Battle of the Hosting Platforms: Windows vs. Linux vs. Mac

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , , ,

With the Mac OS X being increasingly used in the server environment, many are now adding new wind to the debate of which platform is better for web hosting: Windows, Linux or Mac?  Believe it or not, this battle is getting even more difficult to call as each system has been greatly enhanced over the years.  Let’s take a closer look to see what these platforms have to offer.

Price Factor

If you are looking to make your determination on price, you will likely find that Linux if usually more affordable than both Windows and Mac web hosting plans.  This is because Windows and Mac OS X are the property of Microsoft and Apple, therefore, expensive licensing fees are attached.  Linux on the other hand, is an open-source operating system that can often be obtained for free.  This factor alone plays a large role in the price of a Linux hosting plan versus most other platforms.

System Stability and Performance

Stability is something that definitely needs to be considered when choosing your web hosting platform.  Linux is well known throughout the industry for being as stable as they come, able to maintain a hosting operation under a wide range of demanding situations.  The Mac OS X is based on the BSD system, which just like Linux, borrows many characteristics from Unix, the granddaddy of them all.  This essentially means that Mac servers also tend to be very stable and well suited for the hosting environment.  Windows on the other hand, has a history of infamous blue screens, freezing and system crashes.  While the system has been dramatically improved through version releases, a Windows server will still have a tough time competing with Linux in the stability and performance department.  Above all, Linux is the operating system that can truly help you harness the processing power of the underlying machine.

Simplicity and Ease of Use

This section mainly applies when running and maintaining your own server.  Despite its power, Linux has also been known as one of the most difficult operating systems to use.  In order to make more resources available to the computer and users, Linux utilizes a command line similar to old DOS systems, making it a real challenge for those who lack technical experience.  Windows and Mac OS X platforms both offer graphical user interfaces, presenting vivid backgrounds, icons and links to greatly simplify the administration process.  Because Windows offers an environment similar to the desktop setting gracing so many homes, it is arguably the easiest to use.

Making the Choice

Although Linux is the most experienced, all of these operating systems have a deep history in the web hosting business.  Though definitely not as widely available, Mac hosting is becoming more popular and definitely makes a solid choice in the right scenario.  Unless you have a need for your own server or certain web technologies, there is no wrong choice as you can get a decent price, great performance and equally superb value out of either platform.

February 24 2011

Battle of the Hosting Platforms: Windows vs. Linux vs. Mac

Tagged Under : , , , ,

With the Mac OS X being increasingly used in the server environment, many are now adding new wind to the debate of which platform is better for web hosting: Windows, Linux or Mac?  Believe it or not, this battle is getting even more difficult to call as each system has been greatly enhanced over the years.  Let’s take a closer look to see what these platforms have to offer.

Price Factor

If you are looking to make your determination on price, you will likely find that Linux if usually more affordable than both Windows and Mac web hosting plans.  This is because Windows and Mac OS X are the property of Microsoft and Apple, therefore, expensive licensing fees are attached.  Linux on the other hand, is an open-source operating system that can often be obtained for free.  This factor alone plays a large role in the price of a Linux hosting plan versus most other platforms.

System Stability and Performance

Stability is something that definitely needs to be considered when choosing your web hosting platform.  Linux is well known throughout the industry for being as stable as they come, able to maintain a hosting operation under a wide range of demanding situations.  The Mac OS X is based on the BSD system, which just like Linux, borrows many characteristics from Unix, the granddaddy of them all.  This essentially means that Mac servers also tend to be very stable and well suited for the hosting environment.  Windows on the other hand, has a history of infamous blue screens, freezing and system crashes.  While the system has been dramatically improved through version releases, a Windows server will still have a tough time competing with Linux in the stability and performance department.  Above all, Linux is the operating system that can truly help you harness the processing power of the underlying machine.

Simplicity and Ease of Use

This section mainly applies when running and maintaining your own server.  Despite its power, Linux has also been known as one of the most difficult operating systems to use.  In order to make more resources available to the computer and users, Linux utilizes a command line similar to old DOS systems, making it a real challenge for those who lack technical experience.  Windows and Mac OS X platforms both offer graphical user interfaces, presenting vivid backgrounds, icons and links to greatly simplify the administration process.  Because Windows offers an environment similar to the desktop setting gracing so many homes, it is arguably the easiest to use.

Making the Choice

Although Linux is the most experienced, all of these operating systems have a deep history in the web hosting business.  Though definitely not as widely available, Mac hosting is becoming more popular and definitely makes a solid choice in the right scenario.  Unless you have a need for your own server or certain web technologies, there is no wrong choice as you can get a decent price, great performance and equally superb value out of either platform.

February 15 2011

Confusse of choosing linux or windows web hosting?

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , ,

When selecting a web hosting provider for your hosting business, it’s actually crucial to select a right one as thousands of companies are aggressively competing in the market. Wrong selections with whom you going to host can actually make you lose lots of your revenues, time and energy being spent. This can be prevented by spending your time to research the options in market.

When it comes to pick a web hosting provider,one of the important thing you needs to put in mind is what is or are the operating system you will go for to run your application. What type of pages your website will contain?

 If you are thinking to host only standard HTML pages and nothing else, then you do not need confusse of which operating you should select for as HTML pages can be provided from both Linux hosting Provider and a Window hosting provider. But if you are thinking to create your website to create huge, database driven web pages you have to do some research. For example if you are building website that sell phone card or calling card,you need to show a long list of calling cards from database, then it is considered as database driven website.

 You also required to consider if you want to use some special back end software languages in the current website you are building or in the future. And if this is the circumstances, then selecting a good and reliable web hosting provider becomes an important key. If you are thinking of appyling languages like PHP, Perl or CGI in your website than you have to select Linux hosting provider. However,On the contrast, if you are using languages like ASP, ASP.NET, or other Microsoft based languages than you should select for Windows hosting provider as these Microsoft technologies will not operate on Linux operating system.

Another point to be considered is the type of Database that Web Site will be using. When you ought to use database with your website, you are required to put in mind on what type of database you will choose.

 Microsoft access is cheap in price and user-friendly database used in conjunction with websites which operate only on Windows hosting provider. However if a company only provides Linux hosting facilities, then it will not operate with Windows hosting. The answer to this access problem is MySQL which can be served from Linux host or a Windows host. MySQL is currently being utilized as a standard database as it can be relocate from one server to other server.

In addition, a lot of web hosting providers consist of online MySQL tools which allow you to use the database tools with no extra money need to be spent on it. For JavaScript, Flash and other Multimedia Content ,if you do not use back end languages and data base connectivity, then you are not required to consider to which operating system your web hosting provider uses. For example,Scripts like which function on the “front end” of a web page can be operate good from Linux hosting provider as well as Windows hosting provider.

In addition to the above, flash or multimedia videos like YouTube videos is not hard to put to your webpage irrespective of the operating system that is used by your web hosting provider. Costs Windows , as being licensed operating system will surely making you paying more for Windows hosting than Linux hosting.

However, If you do not want and are not reuired to use Microsoft based database or web languages, then you just go for Linux hosting provider for your website. In general, Linux hosting will cost you less than per month, different windows hosting which will cost you less than per month. The sum total of extra windows hosting is value of money in the case when you want or need to host multiple web sites for your company. Hope this tips help and good luck!

February 04 2011

Linux and Windows Web Hosting Comparison

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , ,

When choosing a website hosting solution the first thing you should consider is the proper operating system for your system. The major hosting operating systems include Linux and Microsoft Windows. There are also unpopular solutions possible through Unix and Macintosh but you will often find less support for these platforms.

This article will focus on the popular solutions of Windows and Linux. Based on a given requirement each operating system serves their unique purpose. Comparisons below are made about important aspects of each operating system.

Security

Security is one of the most important areas within the industry. It is a common misunderstanding that windows servers contain more vulnerabilities than Linux servers. Security risks are often the fault of the administration rather than the operating system. Ensuring that your software updates and security patches as well as other tasks are always up to date is just part of a good security administrator?s job. As software evolves there will always be new security risks and this will not change. For security, look at your server management team rather than the operating system.

Access

The most common type of server access is FTP and both platforms allow this type of access. Both operating systems allow standard to advanced control panels. The major difference here is that Linux is able to support SSH and telnet access. Windows has the ability to support telnet however it is neither standard nor common.

File Types

Windows and Linux both support standard HTML, Cold Fusion and JavaScript files. At one point it wasn?t possible to use FrontPage extensions on a Linux server but it is now possible for Linux based servers to run FrontPage file types. Perl and CGI platforms are often supported by Linux rather than windows. If you need to use either of these file types on windows be sure that the software is specifically supported. PHP is commonly supported under Linux while ASP is commonly supported by Windows.

Databases

This is often where platforms can make a difference. Access databases are only supported by Windows where MySQL databases are more commonly found on Linux servers but are still supported by Windows servers. Many users maintaining their databases through access will want to run a windows server and vise versa.

There was a time where operating systems made a big difference. Currently, most platforms are supported on both Linux and Windows. Just be sure when shopping for a server that you have everything you need to fully develop your project.

February 01 2011

UNIX/Linux Enterprise Software Ecosystem to Grow as Fast as Windows’

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , , , , ,

The Linux Foundation announced April 8 its annual sponsorship of independent IDC predictions about how the Linux ecosystem will grow over time. The answer is “a lot” but exactly what you’d expect in relationship to the UNIX ecosystem. 

I usually measure Linux/UNIX usage growth/decline by following the IDC quarterly view of server shipments. The clear trend from that perspective is that factory shipments of servers with Linux is increasing basically at the rate that factory shipments of servers with UNIX decreases. It gets the rabid open source blogosphere foaming at the mouth to say this but Linux is basically the latest version of UNIX. So market researchers expect the two operating systems to move in this manner. 

From a market research perspective, looking at the Linux ecosystem separate from the UNIX ecosystem would be like looking at the growth of Windows 15 years ago without also watching the decline of DOS. Bascially,  you choose the IBM and HP versions of Linux et al for factory shipments if you used to choose AIX, HP/UX and so forth. In addition, leading server suppliers are partnering with Linux services suppliers such as Red Hat, Canonical and so forth for follow-ons. This is relatively low-margin services business the major systems suppliers used to take for themselves. 

The IDC report released April 8 looks at the same trend from a different perspective. By the way and not coincidentally, the Linux Foundation is funded by platinum sponsors Fujitsu, Hitachi, HP, IBM, Intel, NEC, Novell and Oracle along with dozens of other Gold, Silver and Affiliate sponsors. Rather than measuring your choice of servers, the new IDC research predicts your “Linux-related software spending.” The forecast says Linux-related software revenue will grow from billion to billion between 2008 and 2013 while “Unix spending” goes almost almost flat (from billion to billion). This statistic forecasts not only the Linux- and other open source operating software (e.g., Solaris) revenue flowing in the market but the revenue of license fees, maintenance and related subscriptions for application servers, ESBs, databases, ERP, BI and even consumer software running on those operating systems. Note that much of this software is not tied to open source terms and conditions (Ts&Cs). As an example, an Oracle database and SAP R/3 running on a Linux server would be considered Linux-related software spending in this case. 

The IDC report also has some interesting information about cloud computing, virtualization and the effects on the market of the current economic downturn. It is available free from the Linux Foundation Web site. I wrote about a companion piece of IDC research sponsored by Novell here

By comparison, “Windows-related” revenue, according to the same IDC white paper, will grow from 9 billion to 6 billion during the same period. That is, both ecosystems are growing at about the same compound annual growth rate of 6 percent to 7 percent. That’s also as one would expect because both ecosystems are rapidly becoming the two dominant choices you have in the marketplace. As has been the trend for a few years, Linux- and other open source-based software is replacing UNIX-system-based software while Windows-based software is displacing OS/400 and other similar less IT-personnel-intensive systems. 

As always, be careful of statistics. These statistics do not tell the whole story of the marketplace and your choices in it. For example, just as a lot of the software in the open source operating system ecosystem is deployed with traditional Ts&Cs (the Oracle/SAP example above), a lot of the software revenue measured in the Windows ecosystem is distributed with open source Ts&Cs. Examples are JBoss or MySQL running on Windows

January 31 2011

Linux Vs Windows – Which One To Pick?

Tagged Under : , , , , , , , , , , , , , , , , , , , , , ,

Choosing the appropriate operating system is based on the server`s function. Linux is powerful and has a versatile operating system while Windows is well-known for its easy to use operating system and versatility. Deciding the right server was certainly a trial as a decade ago, Microsoft`s Windows NT and Novell`s NetWare4 were prominently in use, but today NetWare has totally disappeared and the Linux version is found to be a good choice. Both Windows and Linux come in server and desktop editions.

Maintenance and security are one of the significant areas to comprehend the actual differences between the operating systems. Linux are commonly referred to as distributions, also known as `distros`, and are released around the same time frame using the same kernel version (operating system). Linux needs careful consideration of hardware drivers as the hardware newly released should be appropriate and this includes the motherboard as well. Linux installation should be done by people who have proper knowledge to run the operating system and its applications. Linux is stable and more secure than Windows.

On the other hand, Windows offers easy installation and runs even in default modes, besides it includes a series of drivers regardless of the hardware type and has the extensive variety of software. However it suffers with frequent security problems demanding critical patches involving rebooting. Moreover it is expensive right from the purchase price to the applications, besides ongoing maintenance is a must to keep it updated and stable.

The comparison of Linux vs. Window includes other considerations such as the price, specialized options and support. Linux has server oriented versions available with vendors and some are offered with 24/7 paid support. There are less expensive distribution versions obtainable at Mepis, Centos and Xandros and others, which are offered at a very low cost to get started, while Debian, Slackware, Mint, Mandriva, Fedora of Red Hat and Ubuntu are all free versions.

On the other side Microsoft Windows server is regular with 32 and 64 bit versions with specialized options such that it is ideal for small as well as medium sized businesses. However, the biggest hit is that Windows is buoyed up by a multi billion dollar company and is compatible with the majority of software, besides it is very easy in using and understanding that even an average user can make the best of it. Windows pricing varies dramatically based on the numbers purchased and on the yearly maintenance agreement or the licensing plan.

The significant difference in Linux version does not speak about the software quality or the drivers` availability, but the support offered. Depending upon the Linux distribution package, the user may get a quick and 24/7 paid support, and this should well suit any corporate environment. Purchasing the operating system and hardware together ensures the support for installed hardware, else it may be required researching to ensure the motherboard, network adapter, chipset and others are supported by the Linux version. The other non-Linux options include OpenSolaris and many variants of Berkley Software distribution.