Research Papers /
Research Paper: Linux vs Windows: A Comparative Analysis [2]
Hi. I wrote a research paper that compares Windows and Linux, and I'd really like some feedback on whether it's understandable enough. Thanks.
In the Philippines, the most widely used operating system to date is Windows. Every time one enters an internet café or uses a school computer, it is likely that that computer is running some on version of Windows. But is Windows really the most efficient operating system? The majority of common users will have to agree, but a select few believe otherwise. Many programmers and computer enthusiasts believe Linux to be a far more efficient and usable system because of its flexibility and efficient code. Even so, among the common users, Linux is probably the least known and most underused computer system in the country. The objective of this paper is to determine which system truly is better for users both common and adept.
This research compares both operating systems with each other as to determine which is more customizable, easier use, and faster to run. To provide an objective and thorough comparison, this paper looks at key features present in each operating system. After assessing each system, it can be concluded that, although Windows is definitely more widely used than Linux, Linux is the better operating system because of its usability, open source code, and efficient language. However, before analyzing the necessary components, ample background for each operating system must first be provided.
The main objective of Windows was "...to provide a personal computing environment for the common user," (Alampay) the common user being people who don't have in-depth knowledge in computer technology (i.e. Programmers, system analysts, etc.). This operating system was built using the corporate model (Microsoft) and therefore has a closed source code to protect their system from their competitors.
The goal of Linux, on the other hand, was to provide an open source version of UNIX, a very prominent operating system in the government and in the academe (Alampay). Linux was meant to target computer hobbyists so that anyone mildly interested in operating system can opt to build their own version. This is why, in this day and age, Linux has become the basis for many operating systems like Fedora, Ubuntu, and EasyPC.
After understanding the motivations and objectives of each operating system, it will be easier to understand and justify the reasoning behind the components present in each operating system, starting with the open source code of Linux.
There are basically two types of software being compared in this paper: the proprietary software (Windows) and the open source software (Linux). Proprietary software is basically software that companies use to make a profit while open source software is usually free software that distributes its source code to the public (Stair and Reynolds 89-94). There is nothing users can do about proprietary software since it is up to the corporation to decide what features to add and what bugs to fix. Open source software, however, is another matter entirely.
Open source systems, unlike proprietary ones, allow multiple users from anywhere around the globe to look for and fix any errors found in the code. In the context of Linux, there is a huge community present that works on strengthening and optimizing the code. Opening the source code allows the entire community to participate in debugging the system and in making the system run more efficiently (Đurković, et al., 31-32). "When a bug is spotted in proprietary software, the only people who can fix it are the original developers, as only they have access to the source code (Wilson)." However when a bug is spotted in an open source system, people can either immediately attempt to fix it, report it to others with the ability to fix it, or join with others in fixing the code. People in this country can decide to work with others from any corner of the globe to fix whatever bug that was found. Yet, open sourcing does not only benefit users on a macroscopic level.
Open sourcing also allows individual users, whether it's people trying to use their computers at home or major companies who want to personalize their systems to suit their company, to add or remove features that would best fit their use of the system as long as they are proficient enough in the system's language or have access to someone who is. For example, a company wants a certain feature that is present in another operating system that is not present in their Linux based system. Instead of going through the process of switching systems, the company could easily just hire a programmer to add that certain feature to their current system. According to Dr. Alampay, this is the reason why Linux comes in so many "flavors" (Ubuntu, Fedora, EasyPC, etc.).
Another aspect that aids in customizing Linux is the language the system is written in. Linux is written in the C programming language (Wheeler). This is a very useful feature because not only does it widen the compatibility of the system to the point where it can transcend its original hardware specifications, but the language itself is easier to understand as C is a high-level programming language. As such, if people want to edit the code, it will no longer be necessary to write the long, complex algorithm in machine code, rather, the users will practically be coding in the English language (Widom). This element in the Linux code makes editing the code easier for the people who wish to customize their system's settings.
Although open sourcing comes with multiple benefits, it also has its dangers. In an open source model, it is also entirely possible that the open source model may become inefficient when debugging because of multiple people searching and finding the same bugs without any communication with each other. For example, one person finds bug A. Another finds bug A. They both try and fix bug A without knowing that the other person is fixing the same bug. When one person finishes fixing bug A, the other's work would have been useless (Đurković, et al., 32). This may not be as big of a problem in proprietary software like Windows because there are only a select few programmers with access to the code, however since Linux is a very large community that even has various sub-communities for each of its many different versions, it is not possible for all the users to be in perfect communication with each other. In the Philippines alone, there could be tens of thousands of people working on the Linux code. All around the world, there could be hundreds of millions. It will be practically impossible to optimize the workload of all those people even if it is assumed that all of them will be willing to work together.
Open sourcing is not the only point of comparison between Linux and Windows another issue would be the usability of the "systems".
Confusion usually arises when people compare the usability of two computer systems because when people talk of systems, it usually refers to the interaction between the system software and the computer's hardware. However, when people compare usability, they typically compare not the systems per se, but the desktop environments because the desktop environment is simply the design of the desktop (Alampay). The systems themselves aren't really talked about, rather what is assessed is usually how the desktop's layout is easier to use compared to the other.
In the context of Linux and Windows, a study was conducted in 2003 that concluded that the desktop environment of SuSE, one of the most popular Linux based systems, neared the usability of Windows with only a 17% difference in feedback (Blau). Currently, according to Dr. Alampay, Linux and Windows are definitely at par when it comes to usability, and some people even argue that the usability of Linux desktop environments even surpasses that of Windows today. Nevertheless, the usability of desktop environments remain a very subjective aspect of system software, Linux has one thing that Windows does not have that will aid in making the system more usable for all users, namely, open sourcing.
Although Linux, at its purest, unadulterated state, will continue to remain as a system that is mostly appreciated by computer enthusiasts, Linux's open sourcing has opened many avenues for Linux to be more usable for the common user (Alampay). Systems like Ubuntu and EasyPC provide systems that take the Linux system and pair it up with a more usable desktop environment while systems like Fedora and Red Hat can still cater to those who prefer greater flexibility when it comes to the system's features. Even if none of the current desktop environments provided by the different "flavors" of Linux suit a particular user, Linux's open sourcing allows the user to alter any of the existing environments to suit their needs.
Lastly, the two systems must be compared in terms of the language of their code. To avoid further confusion and to make this section more understandable to readers, the actual code itself will not be discussed in this paper, rather, what will be tackled is the construction of the code and how that affects the overall efficiency of the system.
In the case of Windows, the code focuses more on scalable multiprocessing and internal process control while on Linux, the code mostly focuses on adaptable controls
(Murphy). For example, in the memory management of Windows, there are several background system processes that run alongside the applications (Murphy). These are the "key processes" of Windows and the memory manager is set to run every one second to prioritize these processes (Murphy). As such, the efficiency of the processes that run parallel with the system processes lose concurrency control in favor of the processes prioritized by the memory manager.
Linux, however, also has a free memory manager, but along with its other system processes, it will only run when the system needs it (Murphy). Though, since Linux does not constantly run other processes, it will rely more on the computer's hardware which may result in greater RAM usage when running multiple processes. This is because, since the memory manager is not constantly running, it will work less efficiently which will affect interprocess communications (Murphy). Since it is more difficult to manage processes in Linux, it may be better for large companies with complex databases to use Windows unless the system is changed.
All in all, both systems have their own problems with their code. Although, with regard to how the code currently works and manages data, Microsoft Windows may seem ideal, Linux's open source system should still be taken into account. Unlike Window's problems, Linux's issues with memory management and concurrency control may not be experienced by everyday user. Large companies may have concerns about Linux's problems, but they can easily be fixed by a competent programmer. Window's system, on the other hand, cannot be fixed by someone outside of Microsoft's corporate model.
Another important factor is how the code is debugged. Earlier, it was mentioned that for Linux, there is a large community that aids in the debugging and for Windows, the programmers within the company maintain the system. But how is the debugging done for each system?
In Windows, there is the factor of market pressure wherein the consumers demand that the problems are fixed immediately. Because of this, the Microsoft programmers result in using kludges (meaning dirty fixes) to fix the code (Murphy). The programmers then continuously gather data so they can address special cases that aren't covered by the kludge. However, what actually happens is that after the kludge is implemented, the programmers just fix whatever problems that come up. This is why Microsoft constantly requires updates to be installed on people's computers. As a result, the code fills up with so much kludge, that the company eventually needs to release another wholesale version of Windows (Murphy). For example, Windows Vista was definitely not popular among users. Several complaints regarding the system's speed, especially in file transferring, computer security, and system crashes were filed. Because of the large amount of negative feedback, Microsoft had to quickly release several updates as well as two data packs just to attempt to fix the issues (Callaham). Eventually, the company just left Vista users hanging and Microsoft decided to just release a new system to the market: Windows 7. This issue is not an isolated case. In fact, because this has been one of Microsoft's issues for a long period of time, there are even a great amount of users that believe that only every other software released by the company is worth buying.
Linux on the other hand, does not have this problem. Although Linux also has its own kludges, the community makes it a point to research each and every kludge to come up with a more permanent solution to the bug. Since Linux started out as an operating system for hobbyists based on a system used by the academe, one of its primary objectives, which is understood by the users and programmers, is research (Alampay). This means that there isn't any marketing pressure that will affect how the code is debugged. In fact, a lot of the consumers aid in the debugging process both as people who report the bug, and people who create a solution for it. Other than the fact that Linux's open sourcing allows users to aid in the debugging process, Microsoft's codes are also assumed to be much more complicated than Linux's, therefore, kludges are more difficult to remove as compared to Linux which has its kludges removed to preserve the system's original design (Murphy).
Based on the criteria described in this paper, Linux appears to be the better operating system. Yet even if this is the case, most programs today run on Windows but not Linux. This is because of Window's corporate model. The reality is that programmers create applications for Windows because of two reasons: the fact that it entered the market first and the fact that it's a proprietary system.
According to Dr. Alampay, one of the biggest reasons why Macintosh and Windows are the leading operating systems of this era is simply because they got to the market first. This gives them the competitive advantage of a loyal customer base. As such, it will be more profitable for programmers to create applications for either of the two systems especially Windows since it was released to consumers first. Linux was released much later as an operating system for hobbyists and not the common user. Because Linux was not very big in the market at the time of its release, professional programmers never spent the time to make their programs compatible with the system. It's only in this decade that Linux is starting to be more visible in the market, but by the time this occurred, Microsoft had almost 20 years of providing systems to consumers followed closely by Mac with almost 15 years (Alampay). Meaning that by the time people started to notice Linux as a decent operating system; several computer users would have already used Mac or Windows for years and would suffer steep learning curves to be able to use Linux. Several companies would have adopted or partnered with Apple or Microsoft as their chosen system software, and if they were to switch to Linux, they would suffer severe switching costs such as the hiring of new programmers and the training of their employees (Economides and Katsamakas 217). The fact that not many are choosing to adopt Linux as their system software means that there will be less consumers which would cut the market value of Linux applications (Alampay).
The second reason why Linux is still underused is, ironically, Linux's open sourcing. When someone creates and markets a program for an open source system, by convention, the code of that program should be released to the members of the community. This creates a huge deterrent for programmers to create applications for Linux because even if they charge for the application, they won't have any means of protecting their product (Alampay). For example, a certain programmer creates a game with an extremely complex algorithm. If it is to be marketed to Linux, and that algorithm is released to the public, what's to stop another programmer from taking that application's code, improving it, and releasing it as his or her own distinct game? This eliminates one the first programmer's competitive advantages because his own algorithm was used in someone else's work, and since Linux and all its applications must be open sourced, it is not a case of plagiarism because, by definition, an open source application can be taken and edited by anyone. This means that anything released for Linux is automatically assumed to be public domain. Although this is definitely good for users, the profits of the programmers responsible will be severely reduced.
However, software companies have been noticing the boom in open source technology, and they are starting to create provisions for their applications to become OS independent which would mean that it would become compatible with almost if not every operating system (Alampay). Even with the open sourcing in play, companies have found ways to protect their software and still run it on Linux by using rich internet applications-an application that has the functionality and complexity of traditional application software, but runs in a Web browser and does not require local installation-as their medium of distribution (Stair and Reynolds 196). Nonetheless, as of now, applications will still take years to improve on compatibility and the two corporate giants will still remain on top.
Despite the fact the most companies choose to ignore Linux, there are still some companies in the Philippines have been known to have implemented the use of the Linux system in their companies. According to Dr. Alampay, the shipping company he used to work for even used Linux systems and servers for their day-to-day operations. The programmers thoroughly took advantage of Linux's open source code to customize their system to suit their needs. Though there are still only a handful of companies who have adopted this system, the fact that there are groups that have decided to take the risk of choosing to use Linux could be a crucial stepping stone for the system's usage to extend to other company and individual users.
In conclusion, in terms of the standards set-up in this paper, Linux definitely stands as the better operating system because of how its usability and language aids the users and system designers in using, developing, and debugging the system, and how the Linux's open source code extends to and strengthens all of its advantages. However, if programmers and software companies continue to ignore Linux and peg them as an operating system that is currently unprofitable and used only by those interested in computer technology, Linux will never be able to grow.
Linux definitely has a large amount of potential, but unless people use the system's full capabilities and support it with usable applications, it is not possible for Linux to compete with the software tycoons of Microsoft. Until a time comes when software becomes universally available for all systems, Windows and Mac will remain the dominant operating systems. One thing is for certain. Linux is and will forever be an operating system created for and by hobbyists and computer enthusiasts. The question is whether or not these hobbyists can make it even greater and extend the scope of this system software to the common users.
Works Cited:2013. Web. 12 Dec. 2013.