Introduction
Recently, there has been a large influx of Linux users. As a rule, these are people who already have quite a decent experience in communicating with a computer, but this experience is in most cases limited to one system. Naturally, this system is the most common Microsoft OS MS Windows operating system on desktops today.
A large number of Windows users also put Linux, or launch it from the "Live CD" "to look at."
And here there are several problems related to the fact that new Linux users expect to see "another Windows" in front of them. And Linux is not a clone of Windows at all, it is a completely different system, with a different foundation, different traditions, different capabilities and different user requirements.
')
In my opinion, it is precisely this misunderstanding that is one of the sources of so many so-called "holy wars". Perhaps this article will allow if not reduce the number of such wars, then at least give a greater understanding of the positions of the opponents and reduce the heat in wars.
I think it’s useless to get into the device of these two operating systems very deeply, we will consider them mainly from the user's point of view.
History tour (very short)
For comparison, I think it is harmless to refresh in memory a brief history of compared operating systems.
Unix history
The UNIX operating system was created before the era of commercial software. It was written by engineers, as a system "for themselves." Therefore, advanced concepts at that time were laid in it. In its further development with the addition of new features, it was usually thought that what should be done “correctly”. Those. for example, if it was necessary to choose from two solutions, one of which was “wrong” from an engineering point of view, for example, it increased productivity today, but could bring difficulties later, as a rule, such a solution was rejected and the “right” solution was chosen, albeit with a certain loss of performance.
The first versions of UNIX were written in Assebler, then the system was rewritten in SI. This gave the system a unique portability. On PC, UNIX was ported, or rather re-written (Linux) as soon as PC development, or rather PC release on an i386 processor, allowed it.
In 1985, the POSIX project started. This is a standard for UNIX-like operating system interfaces. Largely due to the presence of such a standard, so quickly could be born and reach the maturity of Linux - the free incarnation of UNIX.
The development of the Internet from the very beginning to our time is inextricably linked with servers running UNIX. First with commercial, and now more and more with free.
From the point of view of commercialization, the development of UNIX can be divided into three stages.
- Noncommercial distribution in universities.
- Distribution of commercial UNIX systems.
- The emergence of free implementations (Linux, FreeBSD) and the displacement of commercial systems (present).
Before the advent of the X Window System, UNIX was a text-based system, then a graphical interface was added, but traditionally the text-based interface retains its importance.
It is very important that UNIX was a multitasking and multi-user system from the very beginning. Those. Multiple users can work on the same machine at once, and run several programs at the same time.
Reliability is and remains the signature feature of all UNIX-like operating systems.
Plate:
Year | Event | Comment | Razr | Multi-user | Multitasking. |
1971 | The first version of UNIX | Assembly language | 32 | there is | there is |
1973 | The third version of UNIX | On C | 32 | there is | there is |
1983 | TCP / IP | - | 32 | there is | there is |
1983 | GNU project started | Prepared free strapping for UNIX-like OS | 32 | there is | there is |
1984 | X Window System | Window system | 32 | there is | there is |
1985 | POSIX project started | Interface Standards for UNIX-like Systems | 32 | there is | there is |
1991 | The advent of Linux | The first free implementation of the UNIX kernel for PC, 32-bit, network | 32 | there is | there is |
1993 | The advent of FreeBSD | Another free UNIX kernel implementation for PCs, 32-bit, network | 32 | there is | there is |
Windows history
The origins of the Windows operating system should be found in the previous operating system of the same company - DOS. All Microsoft operating systems are primarily commercial projects. This must always be remembered, especially when you are trying to understand the origins of these or other solutions, both commercial and technical.
The first OS from this family was DOS. It may seem that DOS itself is indirectly related to the subject under discussion. But, many traditions, the base of users and developers, their habits, come from there.
DOS was a single-user, single-user text-based operating system. The first version of Windows was something that was unfit for work and did not spread. It became possible to work in Windows starting from version 3. In the version of Windows For Workgroups 3.1 the opportunity to work with the network appeared. Series 3 Winodws was a DOS-based startup system. Notable for low reliability.
In 1995, a new version was released - Windows 95. The code was partially 32-bit, partially 16-bit, embedded network. Compared to Windows Series 3, this was a serious step forward. Reliability increased, but the reliability of UNIX-like operating systems was still far away. As a workstation with a stretch, of course, there was enough reliability; as a server, no. Later, two more operating systems of this line, Windows 98 and Windows Me, were released. After that the line was closed.
In 1993, a new version was released - Windows NT 3.1. It was already a fully 32 bit system. It was developed from scratch, well-known specialists were hired to develop it. New concepts have been introduced. This raised the reliability to almost the level of reliability of UNIX-like systems. This OS could already work as a server. The continuation of this line, the operating systems Windows 2000, Windows XP and Windows Vista.
The NT line operating systems were multi-tasking, starting with Windows XP, the ability to work for several users appeared, although it was more limited and much less convenient than the UNIX-like operating systems.
Plate:
Year | Event | Comment | Razr | Multi-user | Multitasking. |
1981 | Dos | - | sixteen | Not | Not |
1985 | Windows 1.0 | Add-on DOS | sixteen | Not | Not |
1990 | Windows 3.0 | Add-on DOS | sixteen | Not | there is |
1992 | Windows For Workgroups 3.1 | Add-on DOS network | sixteen | Not | there is |
1995 | Windows 95 | network | 16/32 | Not | there is |
1993 | Windows NT | network | 32 | since 1998 | there is |
2000 | Windows 2000 | network | 32 | there is | there is |
2005 | Windows xp | network | 32 | there is | there is |
2007 | Windows vista | network | 32 | there is | there is |
| | | | | |
Technical device from the user's point of view
UNIX
From the user's point of view, UNIX is like this:
- Core. Works with devices, manages memory and processes.
- Text subsystem, work with the system through the terminal. And to manage all the features of the OS, only the text subsystem is sufficient. It is possible to log in through this subsystem of many users. A rich set of built-in utilities, and applications running in text mode.
- Graphic subsystem Xwindow. Runs as a process in the system.
- Remote access system in text mode. Allows full work with the OS in text mode. Consumes few resources. Allows you to work on relatively weak computers at the same time dozens and hundreds of users. The number of sessions is limited by computer resources.
- Remote access system in graphical mode. Allows multiple users to work simultaneously in graphical mode. The number of sessions is limited by computer resources.
- The system of transferring the graphic window of the application to another computer Allows running the application on one computer, manage it from another computer, through the application window, transmitted to this other computer. The number of sessions is limited by computer resources.
Windows
- Core. It works with devices, manages memory and processes, manages the graphics subsystem.
- Graphic subsystem. Provides user interface. Priority system for user interface.
- Text subsystem. Provides a text-based user interface. The text interface is very truncated. The set of text mode utilities, both built-in and from other manufacturers, is very limited. The syntax and composition of text mode commands varies from version to version. Runs only on top of the graphics mode.
- Remote access system Appeared for the first time, as embedded in the system, in Windows NT Server 4.0. Before that, there were only products from other companies. Due to the fact that a full-fledged graphical session is launched, it eats a lot of resources. The presence of a remote access system and the number of simultaneous sessions may be completely absent or limited in different versions for commercial reasons.
Comparison of concepts
Let's now consider the difference between the approach to work in these two systems.
UNIX: Toolbox Concept
Since UNIX was developed by engineers and for engineers, it was based on the concept of a toolbox (toolbox). What does it mean? This means that when creating software and built-in utilities for UNIX, no universal programs were done, each of which would perform all the actions necessary for the user, and for each small task there was created its own utility that performed its task, only one, but OK. The user's case was using a set of these utilities to perform the operations that he needs to do.
In this case, from this set of utilities, you can make chains and sequences of actions, which makes it easy to automate routine, often repetitive operations.
In order for utilities to share the results of their work among themselves, a text file was chosen as the information carrier. To exchange information between utilities, "pipes" were invented. With the help of "pipes" information from the output of one command can be transmitted to the input of the second one, that it processes it, gives its information to the output, which can be transferred to the input of the third one and so on.
In general, as a result, UNIX allows the user to easily create simple software systems that perform repetitive actions both at the user's command and offline.
This approach has both advantages and disadvantages. On the one hand, it gives more control over the system, flexibility in setting up, but it increases the threshold for entry into the system, or in simple words, before doing something, as a rule, you need to learn the basics.
Windows: Toaster Concept
In Windows, another concept dominates. This concept - to facilitate the entry of the user in the task. Programs in Windows are usually large, for every action there is an item in the menu or an icon. In the program system are usually associated with great difficulty.
Worsening the situation about building complexes based on Windows is that most programs are commercial and use their own, binary and usually closed data and file formats. Such an approach turns a computer into a device that can perform a limited set of functions by the software manufacturer, in the limit into a kind of "toaster" that performs only what the manufacturer intended.
The advantage of this approach is the ease of entry of an unprepared user. The downside is that the user, deceived by seeming ease, does not want to learn anything at all and not perform the necessary actions. On the subject are the manufacturers of software. This is one of the reasons for such an abundance of documents formatted with spaces, neglect of security and, as a result, of virus outbreaks.
Conclusion
Of course, both systems do not dominate their approach by 100 percent. As in Windows, it is possible to use a text console and create .bat files, so in UNIX there is a large set of programs with properties inherent in the rather "toaster" approach. And yet, the described difference in approaches is there and it is quite pronounced.
Literature
1. http://en.wikipedia.org/wiki/UNIX2. http://en.wikipedia.org/wiki/Windows3. http://ru.wikipedia.org/wiki/DOS4. http://posix.ru/5. http://en.wikipedia.org/wiki/POSIX