Understanding Linux_unix Linux

Source: Internet
Author: User
Tags documentation ftp site memory usage posix domain name server

The name "Linux" I think we will not be unfamiliar now, this more than a year with the domestic media of the competing propaganda and reports, Linux has become a hot topic.
I would like to talk about these aspects of the history and development of linux:linux, design purposes and methods, the main features, composition, Linux common software, Linux applications, and finally the development trend of Linux.

Perhaps the first thing we should do today is to understand the reading of the word Linux. Many of us have different pronunciations of Linux, and there are roughly these kinds of sounds that we may all have heard of, such as "Come to the fox" and "Lynch" and "Twist the Fox". Not only among us, but also in the world, there is a great difference in the pronunciation of Linux. Because this is the reason Linus himself recorded a paragraph of his pronunciation on Linux on the Internet, let everyone download. The contents of this recording are as follows: "Hello,this is Linus Torvalds and I pronounce Linux as Linux". He read the pronunciation is [' li:nэks], so we think or should be Linus Torvalds my pronunciation as prevail.

So what is Linux?

Linux has two different meanings. From a strict technical definition, Linux refers to the kernel of an open source Unix-like operating system. However, most people now use it to represent the entire operating system based on the Linux kernel. In this sense, Linux refers to open source, Unix-like operating systems that contain kernels, system tools, complete development environments, and applications.

It is a powerful and stable operating system that supports multiple users, multiple processes, and good real-time performance. It can run in x86 Pc,sun Sparc,digital ALPHA,680X0,POWERPC, MIPS and other platforms, it can be said that Linux is currently running the most hardware platform operating system, but it is mainly facing the Intel PC hardware platform. So it can be said that Linux is the complete implementation of UNIX on the PC.
The History of Linux

How does Linux develop?
The earliest Linux was developed by Linus Torvalds in 1991, when he was a computer department student at the University of Helsinki in Finland, aged 23. Initially, he wrote a program in assembly language in the MINIX environment for multitasking switching in 80386 protection mode, and was inspired by Minix (a small UNIX operating system written by Professor Andy Tanenbaum, mainly for operating system teaching), Further produced an idea----write a better minix than Minix, so began to write some hardware device drivers, a small file system,......, so a few months later, 0.0.1 version of Linux came out, in fact, Linus began to want to name the system as " Freax ", but he put all the source code in Finland's largest FTP site in Linux (it means the Linus Minix) directory, then the name of Linux was accepted and retained. We know that the software will only be able to give the 1.0 version when it is theoretically complete or is basically out of the problem, so the 0.01 version is quite rudimentary. It only has the rudimentary embryonic form of the operating system kernel, and cannot even run, you must compile the Minix machine before you can use it. So this version has never been officially announced. At this time Linus has been completely fascinated by the development of the system, he decided to completely put aside the Minix. So on October 5, 1991 he released Linux version 0.0, like the world, and posted the message in the Comp.os.minix News discussion group, Linux 0.0.2. A number of programs can already be run in this release. These include bash (the GNU Bourne Again Shell----A software that communicates with the operating system kernel) and GCC (GNU C compiler) and gnu-make,sed,compress.

Since version 0.02, more and more people participate in the development of the system, so the development of Linux more and more quickly, so that only a year later, by 1994 Linux1.0 was published. and Linus Toralds at this year's LinuxWorld professional meeting announced that Linux can be upgraded to 2.4.x this year, we know that Linux is the development of the Internet now is really changing, basically every few months there is a new version, especially the third digit change is too fast, so it is difficult to locate the current version. We just saw 2.4.x, what does it mean?
The version number of Linux is more complex than other software, it is divided into two types: kernel (kernel) version and release (distribution). The current kernel version number is approximately 2.2.x: The distribution is most often slackware3.5redhat6.0, Turbolinux4.0 et: In fact, we see the distribution on the market is a large package of Linux, quite with the kernel version, the release version number with the publisher different, and the system kernel version number is relatively independent. such as slackware3.5,redhat6.5,debian1.3 and so on.

We mainly talk about Linux kernel version

Linux has two different version numbers since version 1.0, called the version tree. A version tree is made up of one experimental version and one is a product version. Each version is made up of three digits, and the second digit indicates the version type. If the second digit is an even number, this version is a product version, and if it is an odd number, it is an experimental version, for example, the version 1.2.0 is a product version, and 1.3.0 is the experimental version. The two versions are related and are completed one after the other. Each version of the tree starts at the same time, and then, the two versions are constantly growing, the stable code is added to the product version, and the test phase code is added to the experimental version. When Linus determines that the experimental version has enough new functionality and is stable in performance, he is called code freeze. At this time the stable experimental version becomes the new x.y.0, and the development is carried out according to the new version.

For example: 1.0.0 and 1.1.0 are the same, 1.0.1 is the first bug fix for version 1.0 code, and 1.1.1 is the first to add new features to version 1.1. The error in the 1.0.9 was fixed in 1.0, and the 1.1.9 was finally 1.1. Finally, as new features continue to grow to enough new features, the code freezes, the version upgrades to 1.2.0 and 1.3.0, and then continues 1.2.0 fix errors, 1.3.0 add functionality.
We can see that Linux has a much shorter history than the rest of the operating system, and its reasons are manifold, but when it comes to the development of Linux we have to talk about the Free Software Foundation and its GNU program. We know that the current popular software can be roughly divided into three modes according to its mode of delivery: commercial software, shareware, free software. Commercial software is sold by developers to sell copies and provide technical services, users only use the right, but not unauthorized copy, spread, modify or add new features; shareware is the developer to provide a copy of the SOFTWARE trial program, users in the use of a period of time, the developer must pay the cost of use, The developer provides the corresponding upgrade and technical service;
Free software is the developer to provide all the software source code, any user has the right to use, copy, spread, modify the software. Users are also obligated to expose their modified program source code.

In fact, in the early days of the development of the computer industry, there are no these three models, at that time the software is only a hardware accessory. The company only sells hardware, with the system gift software. In this period, the software design idea, the new algorithm and the software source code in the expert and the company technical personnel exchange freely, promoted the software rapid development. However, the company quickly recognized the value of the software, implemented copyright control over the software, and restricted the release of the source code. Many of the intellectual wealth originally created by the public now become private property of the company. The development of software has also changed, and become a closed development model with the company as the main body. UNIX is such an example. Although AT&T pioneered the history of UNIX, the Development and perfection of Unix are inseparable from the efforts of many university experts and technicians. In fact, Unix was developed on a collaborative basis. When AT&T enforced copyright control over the use and release of Unix in the late 70, it was disappointing to those early contributors to UNIX development.
Richard Stallman, a former Harvard student with BillGates, has launched a campaign to support the development of free software in software development groups. MIT has been supporting him since 1984, leading to the establishment of the Free Software Foundation (Software FOUNDATION,FSF).

In the same year, Richard Stallman developed an entirely free software based software system program--GNU (GNU ' not Unix) program designed to develop a completely free, Unix-like but more powerful operating system. In order to provide all computer users with a full-featured performance of the basic system. The GNU name is interesting and is named after an infinite recursive rule, which is "GNU ' not Unix", meaning that GNU is not UNIX. The initials of each of its words make up "GNU". When the GNU project was launched, there was not much quality free software available for the project to use. So the people who contributed to the GNU project (member of the FSF) developed a lot of free software first from the application software and tools of the system. But the development of the core GNU Hurd is slow, until now it has not been officially released and is still in beta.

Richard Stallman has also organised a common public license, the GPL, for the GNU program, to regulate the distribution, replication and modification of these "free software" License. The GPL may have been heard, but a lot of people are still not clear about him or misunderstood. Many people think that the software under the GPL is public domain software, without any copyright, it belongs to the public. In fact, the GPL is copyrighted, its copyright belongs to the developer, and is protected by standard International copyright law. The purpose of the GPL clause is to ensure that the software is freely released and modified. It is prohibited to make a profit on the issue and use of a transaction and does not allow anyone to restrict the rights of others in relation to publication and modification. But the GPL clause is confusing to many people by allowing groups or individuals to profit from the software that deals with the GPL, in other words, by allowing them to charge a certain fee or even make a profit at the time of issue.

This at first glance looks like a paradox, why is it allowed to sell software to profit while allowing anyone free access on the other hand? In fact, it is not difficult to understand. Free doesn't mean it doesn't cost money. Although this is usually the case. The acquisition of the code is free, and we can think of a company that would have to charge a fee to pay for the production and release of CD-ROM if it was ready to put a lot of free software on CD-ROM for distribution. If the company profited from it, it would also be allowed under the GPL clause. Allowing companies to issue and sell free software is a pretty good thing to think about, not everyone has access to free GPL software over the Internet, and the GPL allows companies or groups to sell GPL software to expand the scope of the software, Greatly expanded the global user base of these software. The GNU project of the Free Software Foundation laid a solid foundation for the rapid development of later Linux operating systems.

In 1994, when Linus released Linux's first "product" version of Linux1.0, it was released in accordance with the full free release of copyright. This copyright requires all source code to be made public and no one can profit from the Linux transaction. This pure free software approach is actually a hindrance to Linux publishing and development because it restricts the possibility of Linux publishing in the form of media such as disk or CD-ROM, as well as limiting the willingness of some business companies to participate in the further development of Linux and provide technical support. So six months later, Linus decided to turn Linux to the GPL copyright. This step is important for Linux development. It has won the support of many professionals who have ported many of the benefits of the GNU project to the Linux system. Including many system toolkits, program development environments, applications, and so on, even standard file tools (such as LS,MV,CP and RM) are part of the GNU Utility Kit. So we start by saying what is Linux when there is a more scientific version is that Linux is just an operating system kernel, in fact, Linux itself only some disk access code and a few software. It gets a lot of benefits from GNU.

In addition to the GPL, many powerful and market-capable commercial software companies joined the free Software movement. They distribute the kernel, the original code, and related applications together, so Linux has a different publisher (distributor) version, a more famous publisher and a corresponding version, including:
Linux distribution version: (more than 10 kinds)

1. OpenLinux (Caldera):
Publisher: Caldera Co., Ltd.
Introduction: Caldera Company's openlinux includes some practical tools, graphical interface,
Installation guides, 3rd party applications, and so on. OpenLinux is the public
The ideal choice for the division to optimize its existing systems and protect its investment in training.
URL: http://www.caldera.com

2. Red Hat Linux (Red Hat):
Publisher: Redhat Software
Introduction: Easy to install, provide a stable package system RPM, so you can use
A simple command to install, upgrade, and remove the entire package of the software.
Each version is fully tested and supported by the Intel,alpha
and SPARC platforms. This is also the most proud place of Redhat company.
Redhat is the most used abroad.
URL: http://www.redhat.com

3. S.U.S.E Linux:
Publisher: S.U.S.E Linux
Introduction: Extra attention to detail, quality package control, excellent support staff;
A total of 5 discs, including the Linux operating system and more than 800,
A preset package and a 400-page reference manual. One of the yast practical
Tools allow users to install, set up, and further configure the system themselves.
S.U.S.E supports the high-end graphics card of x servers.
URL: http://www.suse.com

4. Slackware (Walnut Creek Software):
Publisher: Walnut Creek
Introduction: Slackware Linux supports most Intel PCs. It supports symmetrical multiple places
(up to 16 processors), PCI, and 486, Pentium
And Pentium Pro for special coding optimizations. Great for the internet
servers and routers; it is also a good tool for self-study;
URL: http://www.cdrom.com

5. Debian Gnu/linux:
Publisher: Debian
Introduction: Debian Gnu/linux is an operating system based Linux
Free release. It is maintained and upgraded by a group of volunteers. It's advanced
Management Toolkit makes installation and maintenance extremely simple. Full before publishing
The test of the face ensures the high reliability of the system. Can be small pieces of the form under
It's functional, diverse and pervasive aspects can be compared with redhat in
Technology-literate people are popular, but unskilled users can be a bit of a hassle,
Because it is more complex to install configuration.
URL: http://www.debian.org.

6. Linux Mandrake: (i.e Nelson Mandela hat)
Publisher: Mandrake
Introduction: Linux Mandrake is a high-quality commercial version. It was in the early
Built in the Redhat version, its openness and scalability did not
The Redhat release is high, but it comes with some commercial software.

7. Turbolinux:
Publisher: Pacific HiTech
Introduction: Turbolinux includes a series of applications, a GUI (Xfree86 3.3)
Desktop, documentation, and technical support

8. LINUXPPC:
Publisher: PowerPC Linux Project
Introduction: It is the Linux PowerPC release.

9. MkLinux:
Publisher: Apple computer/the Open Group Group
Introduction: Linux Release for power Macintosh platform.

10. Linux Ware:
Publisher: Trans-ameritech

11. Linuxpro:
Publisher: WorkGroup Solutions

12. Stampede Linux:
Publisher: Stampede
Of course, there are several distributions in our country recently: Xteam Linux, Bluepoint Linux red Flag Linux, Cosix Linux and so on.

There are also many well-known commercial software development companies such as Oracle, Informix, Sun They have also embarked on the development of Linux based business software. Later, Linus himself: "Making Linux a part of the GPL is the most beautiful thing I've ever done in my life."

The design tenet and method of Linux

Linux is a very unique operating system, we now look at its development model and the purpose of the design.

We know that in commercial software development, the whole system design is carried out in accordance with a series of steps, (Quality management, change control of the source program, program description, error problem reporting and correction, etc.) developers are not free to add new features or change key parts of the code, And each developer is responsible for only part or part of the system program. Only the person responsible for a certain part of the program can remove the part of the source program for modification.

The development of Linux systems is completely different. There is no such thing as an organized development, which is basically a group of operating systems developed by volunteers on the internet across the world. Every one of us has the opportunity to help Linux develop, test, and transplant new software. We can also go to develop the core. Of course, if you want to add your program to Linux's official core code, you have to send the code to Linus Toralds. Let him test. Linus in 92, his main work has been transformed into a coordinated core code.

The entire system of Linux is designed to be open and functional, and a new version of a core program is typically released every few months. As long as the system does not have any serious or obvious problems, it will be considered stable, so it can be issued. There is no strict quality management and control in this. Speaking of which, we should recognize the purpose of Linux development, that is not to release a perfect program, more importantly, let users use and test a program as early as possible. That is, it put development on the stability, of course not to say that it only development. We don't think Linux is unstable, and Linux uses this development model to inspire the enthusiasm and creativity of software developers around the world. A large number of software developers are involved in the development of free software. The collective wisdom of software developers has been fully developed, greatly reducing unnecessary duplication of effort, many people are testing Linux, so that the vulnerabilities of Linux can be found and overcome in time. It is impossible for any company to devote such a powerful manpower to developing and testing commercial software. This development model gives Linux a powerful vitality.

Linus's Linux core development team, which is led by the world, is still moving ahead at a high speed. In fact, this development pattern was used when UNIX began to develop. Its security vulnerabilities are more thorough than other operating systems.

The main features of Linux

As an operating system, Linux meets almost all the requirements of today's UNIX operating system, and therefore has the basic characteristics of UNIX operating systems.
1. Meet POSIX 1003.1 Standard
The POSIX 1003.1 standard defines a minimal UNIX operating system interface that can run UNIX programs only if any operating system complies with this standard. UNIX is rich in applications, and most of today's operating systems are fulfilling the POSIX 1003.1 standard as a goal, Linux is no exception, it fully supports the POSIX 1003.1 standard.

2. Support multiuser access and multitasking programming
Linux is a multi-user operating system that allows multiple users to access the system at the same time without causing interference between users. In addition, Linux also supports real multi-user programming, where a user can create multiple processes and make each process work together to fulfill the user's needs.

3. Use of page storage management
Page storage management enables Linux to make more efficient use of physical storage space, and the swapping of pages provides greater storage space for users.

4. Support for dynamic links
The implementation of user programs often depends on the support of the standard library, common systems often use static link, that is, the assembly phase of the user program and the standard library link good, so that when more than one process running, the library code in memory can have multiple copies of the situation of waste storage space. Linux support dynamic Link, when the runtime is the library link, if the required library has been loaded into the memory by other processes, you do not have to mount, otherwise the library from the hard drive to transfer. This ensures that the library program code in memory is unique.

5. Support for multiple file systems
Linux can support multiple file systems. Currently supported file systems are: EXT2, EXT, Xiafs, Isofs, HPFS, MSDOS, Umsdos, PROC, NFS, SysV, MINIX, SMB, UFS, NCP, VFAT, affs. Linux's most common file system is EXT2, which has a file name of 255 characters long and has many unique features that make it more secure than regular UNIX file systems.

6. Support for TCP/IP, slip and PPP
In Linux, users can use all network services, such as network file systems, remote logins, and so on. Slip and PPP support the use of TCP/IP protocols on the serial line, which means that users can connect to the Internet via a telephone line with a high-speed modem.

In addition to the above basic features, Linux also has its own unique features:

Dynamic cache support for hard disks is similar to Smartdrive in MS-DOS. The difference is that Linux can dynamically adjust the size of the cache memory used to fit the current memory usage, when there is no more storage space available, the cache will be reduced to increase the amount of free storage space, once the storage space is no longer tight, cache size will increase.

Supports executable files in different formats Linux has a variety of emulators that enable it to run target files in different formats. Among them, DOS (DOSEMU) and Ms-windows (WINE), IBCS2 Simulator can run SCO UNIX target program. (IBCS2 Simulator is not part of the Linux standard core, but can be downloaded from ftp.informatik.huberlin.de:/pub/os/linux)

The structure of Linux

The main components of Linux:
Linux is mainly composed of storage management, process management, file system, interprocess communication and other parts, in many algorithms and implementation strategy, Linux borrowed from the successful UNIX experience, but also have their own characteristics.

1. Storage Management:

Linux uses a page-type storage management mechanism, and the size of each page varies with the processor chip. For example, the Intel 386 processor page size can be 4KB and 2MB two, while the Alpha processor page size can be 8KB, 16KB, 32KB, and 64KB. The choice of page size will have a certain impact on the Address Transformation algorithm and page table structure, such as the virtual address of alpha and the effective length of the physical address varies with the size of the page, which is bound to be reflected in the Address Transformation and page table entries.

In Linux, each process has a much larger process virtual space than the actual physical space, in order to establish the mapping between the virtual space and the physical space, each process also retains a page table, which transforms the virtual address in this process space into the physical address. The page table also makes provision for access to physical pages, defines which pages to read and write, and which pages are read-only pages, in the actual transformation, Linux will be based on the page table to determine the access to physical address is legitimate, so as to achieve the purpose of storage protection.

Linux storage space allocation follows the principle of never allocating physical space when there is a real need. When a program load execution, Linux only for it to allocate the virtual space, only to access a virtual address and a page break, it is allocated to the physical space, so that some of the program may be completed after the completion of some of these pages have never been loaded into memory. The benefits of this storage allocation strategy are obvious because it maximizes the use of physical storage.

Although Linux is very cautious about the use of physical storage resources, there is often a shortage of physical memory resources. Linux has a process called KSWAPD that is dedicated to swapping out pages, when the free page in the system is less than a certain number, KSWAPD will select some pages according to a certain elimination algorithm, or simply discard (the page has not been modified), or write it back to the hard disk (the page has been modified). This swap is different from an older version of Unix, which writes all pages of a process back to the hard disk. Linux, by contrast, is more efficient.

2. Process Management

In Linux, a process is the basic unit of resource allocation, and all resources are allocated with processes as objects. During the lifetime of a process, it will use a lot of system resources, will run its instructions with the CPU, storage of its instructions and data, it will open and use the file system files, directly or indirectly use the physical devices in the system, so, Linux design a series of data structure, They can accurately describe the state of the process and the use of its resources, so that system resources can be used fairly and efficiently. Linux's scheduling algorithm ensures that some processes are not overly occupied with system resources, causing other processes to wait indefinitely.

The creation of a process is a very complex process, with the usual practice of reallocating physical space to the child process and copying the contents of the parent process space into the child process space, which is expensive. To reduce the overhead of process creation, Linux uses the Copyonwrite technology, which does not copy the parent process's space, but copies the parent process's page table so that the parent process and the child process share the physical space, and the access rights of the space are read-only. When the parent process and one side of the child process write, Linux detects an illegal operation, and then the page that is being written will be copied. This approach reduces overhead by eliminating the duplication of read-only pages.

3. File system:

One of the most important features of Linux is the support of several different file systems, as we have seen earlier, Linux currently supports more than 10 file systems, and over time, this number continues to increase.

In Linux, a separate file system is not accessed through a device identifier (such as a drive letter or drive name), but instead is combined into a single directory tree structure, accessed through a directory, much like UNIX. Linux installs a new file system into a directory of the system's single directory tree with the installation command, and once the installation is successful, all content under that directory will be overwritten by the newly installed file system, and the files under the installation directory will be restored when the file system is removed.

Linux's original file system is Minix. The file system has too many restrictions on the file and has low performance, such as the file name length cannot exceed 14 characters, the file size cannot exceed 64MB. To solve these problems, Linux developers designed a Linux-specific file system ext. Ext to file requirements relaxed a lot, but in the performance is not a big change, so there is the back of the EXT2 file system. EXT2 file System is a very successful file system, whether it is limited to the file or performance is significantly better than the Ext file system, so EXT2 since the introduction has been the most common Linux file system.

To support multiple file systems, Linux uses an interface layer called a virtual file system (VFS) to separate the real file system from the operating system and system services. VFS allows users to transparently install multiple different file systems at the same time.
The VFS masks differences between different file systems, making all file systems equal to the operating system and user programs. 4. Inter-process communication:

Linux provides a variety of interprocess communication mechanisms, in which signals and pipelines are the two most basic. In addition, Linux provides system V interprocess communication mechanisms, including Message Queuing, semaphores, and shared memory. To support process communication between different machines, Linux also introduced the BSD socket mechanism.

Common software on Linux

An important part of an operating system is the various interfaces and applications it supports, and the software on Linux has a feature that is free.

1. Basic commands and tools

It should be said that Linux has already ported almost all the apps available on standard UNIX systems, including some basic commands Ls,cp,mv,more and so on, Linux has a lot of text editing programs, like Vi,ed,joe, and GNU Emacs, There are also a variety of shells, such as C shell, Bourne shell, Bash (GNU Bourne Again Shell), Tcsh, (c shell with many extensions), Zsh (a similar to Bourne Shell's small shell). The shell is an important application for many users, and it is equivalent to MS-DOS batch files (batch file), but the shell is much more powerful, the shell program reads the user's commands, and executes, The most important feature of the shell is the command language that contains a description of the task.

The biggest difference between multiple shells on Linux lies in the command language, where the command language of the C shell is much like the C language, and the Bourne shell uses a different language. One of the most widely used is bash, which is the bianben of the Bourne Shell, which includes complete operations such as task control, History command, redirection, and completion commands. With these different shells, we can design the work environment we need ourselves.

2. Programming language

Linux provides a complete UNIX programming environment, including standard libraries, programming tools, compilers, and debuggers. In UNIX environments, applications and system programs are usually designed in C or C + + languages, and standard C or C + + compilers on Linux are GNU GCC,GCC is a more advanced compiler with a variety of options. In addition to the C language, many other language compilers and interpreters are also ported to Linux. such as Fortran, PASCAL, PERL, Gwk and so on. There are also advanced debugger gdb. Help the user to run their own programs step-by-step, debugging.

Linux also implements the dynamic link mechanism for shared libraries, referred to as DLLs. This reduces the length of the program's binary code considerably.
It is convenient to develop applications on Linux, and there are many very small and useful languages (Gawk languages) on Linux, in addition to the language we have just mentioned. ETC)

3. X Window System

X-window is a standard graphics interface developed by MIT, the current version of x11r6.3, unlike the Windows and Macintosh graphics interface, is a platform-independent basic graphical function invocation interface that does not include hardware and specific display styles. Therefore, the X-window has a highly configurable nature. But the MIT release of the X-window source code does not include the implementation of specific hardware, so if you let it run on the hardware, you also need to develop the corresponding hardware driver, Linux under the X-window system is XFREE86, now the version is 3.3.3. It includes a variety of applications, libraries, and documentation.

Standard x applications have terminal emulators for the text-oriented applications of the X Window xterm, as well as Chinese environment cxterm, managing user login x Management programs XDM, clock display xclock, and Xman Online User manual for X window, etc.
We know that the appearance and use of the X Window graphical interface depends to a large extent on the window management program. Standard Xfree86 include TWM, which is a classic window management program. Of course, the most used or FVWM.

4. Network Settings

Linux supports two basic UNIX network protocols: TCP/IP, UUCP. It also supports the slip and PPP protocols. It provides a standard socket programming interface, so basically any application that uses the TCP/IP protocol can be ported to Linux. UUCP (Unix to Unix COPY) is not used much, it is an older protocol, mainly for the mechanism of file, mail and news transmission between UNIX machines. The original UUCP is working between the machines connected by a telephone line, and can later be used on TCP/IP networks.

5. Other applications

Other business software vendors have joined the team of Linux application contributors. There are several relational databases on Linux, there are postgres,oracle8i,imgres,mbase and so on. Because Linux supports the POSIX1003.1 standard, we can also compile the free software running on UNIX on Linux, and we should not encounter any difficulties.

Application of Linux

Personal UNIX Workstation:

Linux for companies that can't afford sun or HP workstations is a great product for every engineer and all those who have trouble at x terminals, while retaining some of the old format files and using the same DOS and Windows mixed-environment users to continue using the original program.
X Application Server:

Using Linux as an application server to speed up RISC workstations and use Linux as a workstation is a very reasonable choice. If you configure Linux as an application server, you can reuse the 286, 386, and other low-level machines as dumb terminals by running a DOS x server. This also shows that Linux is the choice of a low budget x Windows network.

UNIX Development Platform:

Linux can support UNIX development, support not only the mainstream language, but also other languages; its cross-platform environment can also generate binary code for other UNIX operating system platforms; GNU C, GNU + +, GNU Fortran 77, ADA, Pascal, Modula 2 and TCL/TK, Scheme, and smalltalk/x are free to use, with a detailed working code base, and popular motif widgets can also be purchased from several vendors; multiple language compilers help save development time. All of this, coupled with flexible shell language editors (case sensitive), source code packages, and detailed documentation, give programmers a full customizable environment. In addition, it can be an ideal computer learning system, in the environment without disturbing users to share facilities, to control this complex system.

Commercial development:

In a commercial development system, the implementation of Ca/clipper (Object-oriented compilers based on dBASE and Fox superset) means that Clipper developers can adapt to Linux only with minimal changes to the software. The result is the same functionality, and performance improved, under the same hardware conditions, faster than the DOS version of 20~200 times faster.

Network server:

Linux can be configured to use the NFS, Apple talk, and NetBIOS protocols. It is attractive because of its characteristics of high quality and low price. Generating a WAN from a LAN bridge is also a good use for Linux. When Linux runs on RISC and SMP (symmetric multi-processing) hardware systems, it can be convenient and easy to use for rigorous background processing.

Internet servers:

Internet server usage is an important application of Linux. Internet and intranet servers based on Linux and Apache are inexpensive, performance-friendly, and easy to maintain. In the United States, most inexpensive servers are based on Linux. According to Infobeads's review, 26% or more ISPs are using Linux. Linux can be used as WWW server, domain name server, firewall, FTP server, mail server and so on. Use a single server to provide all of these features.

iOS has done a survey on the operating system of Web servers. Internet Operating system Counter (ios++) conducted a special survey in September in 1998, with the basic idea of identifying and counting the operating systems used by all servers on the Internet, ios++ Using a program to automatically collect computer addresses on the Internet, query the computer and judge the use of the system, although some systems do not recognize, but most of the system can be identified. Unfortunately, this investigation is not complete, the system will scan all the hosts in the network, its behavior is similar to the practice of hackers. An Israeli cyber-security company was forced to interrupt when it ran a network query on an Italian computer, but this time it took about 10 days to scan millions of servers, and its results can actually reflect the real situation of the network operating system. http://www.leb.net/hzo/ioscount/.
Ranking operating system host ratios

1 Linux 26.3%
2 Window95/98/nt 23.4%
3 BSD Family 22.6%
4 Solaris/sunos 14.4%
The shortage and development trend of Linux

Linux from the advent to today only experienced a short period of 9 years, but its development speed is amazing, which is inseparable from its openness and excellent performance. However, we should see that there are many deficiencies in Linux, specific performance in the following areas:

First of all, the installation of the configuration is inconvenient, Linux makes each program into a package, so that when installed, users can choose to install the package. This is certainly a good thing for people who are very familiar with Linux systems, and can be more efficient at installing the Linux that they use. But for the vast majority of PC users unfamiliar with Linux installation and configuration, the great flexibility of Linux installation has caused them a great deal of confusion, so that most people will have to go back to other fool-mounted operating systems. This prevents Linux from being pushed to commercial PC operating systems.

The second is the slow graphics interface, Linux in the graphical interface to run the program faster than Win95, while the Linux graphical interface is far less operable than Win95. If Linux is used only for network servers, all operations can be done in the character interface, and the work efficiency is very high. However, the current PC operating interface is popular with the graphical operating interface, like the mouse more than people like the keyboard, has very few people are willing to use the character interface, so Linux to rush into the PC operating system market, it must be in the human-machine operating interface has greater progress, to provide better operability and friendliness, Make the majority of PC users happy to use.

Another disadvantage is that Linux-based applications are very rare, especially in the absence of powerful text processors. Because Linux is free software, Linux application development is also free, so its application development and not too many large companies support, in the development of large applications, Linux can be said to be congenitally deficient. And when today, to stand on the PC operating system market, there is no powerful, easy to use the text processor is not possible, from this point of view, Linux heavy responsibilities. At present, the text processor (staroffice,wordperfect) under Linux is much different from Microsoft Office, and it cannot be compatible with many kinds of text file formats today, which makes it impossible for the document processor to be widely used. Greatly hindered its progress towards the Office system.
In addition, for our users, Linux in the culture of the problem is still a long way to go, although it is blue point to the core of the culture, but the application, the description of the documents are basically in English.

Although Linux has such and such deficiencies, but its development potential can not be underestimated, its development is driven by the global, numerous Linux enthusiasts. In the future, Linux will be in the direction of improving functionality and improving efficiency. We believe that the era of Linux, UNIX and NT tripod will not be far off.

First of all, by providing a complete installation customization program, to provide users with more convenient system installation and system maintenance. According to the different needs of different users, recompile the system kernel, carefully select the package installed for the user, try not to let the user too much install useless software. Because the Linux operating system source code is open, so the price of its operating system is very low, even if for the user to design a special installation customized when charging a certain service fee, its overall price is very low, or can be accepted by the user. In addition, when the user is in the process of a problem, or want to update the system, you can consult the system customizer, because the system customizer is extremely familiar with the design of the installation customization, it can be imagined that the provision of Linux system customization installation and installation maintenance services in China will be a big market industry.

Second, the development of Linux based on the GUI-oriented special system to improve the performance of graphics applications. The graphical interface is a necessary interface for personal PC users, and the speed of application on it affects the user's choice to a great extent. Remove a large number of Linux applications related to network and system management, the development of individual users of the Linux graphical interface of the special system, improve the Linux X-win Dow speed, and the operation to achieve a fool-type operation. Take advantage of Linux system in price, strive to occupy a position in personal PC teaching?

In addition, the development of Linux platform based applications, so that Linux on the PC platform to display the world. Linux can be widely used only with the support of a large number of application software. Word processing tools, media playback tools and games are the most widely used software on the PC platform. So, the most urgent thing is to develop the Chinese word processing tools and media playback tools based on Linux. Enables the user to obtain the Good document processing function and the multimedia function under the Linux. This will enable a large number of business users to safely turn to Linux.

At present, the development of Linux in China has just begun, a variety of views are endless, but so far, there is no definite development model, just said a little personal ideas. In fact, the development model of Linux itself has provided a good model for China's software industry, that is, open, collaborative, and common. The development of Linux itself is based on the open Internet, because only the open things can not be subject to people, in order to maintain fresh vitality for a long time. Therefore, China's Linux industry to develop also must conform to the rules of free software, at the same time, according to the actual situation of China's existing software industry, to develop their own Linux development plans. At present, China's software industry has not yet formed a large scale, especially in the field of operating system long-term backwardness, compared with foreign countries, competitiveness is almost "0"; If you want to rely solely on their own strength to develop the operating system, the inevitable cost, and the probability of success is very small. But the advent of Linux, so that we develop their own operating system has a high starting point, because of its openness, so that we and foreign development is almost synchronous. Have a self operating system, for the cause of our country has a very high strategic significance. So our country based on Linux to develop their own operating system, or to develop their own Linux operating system is imperative. Although today's world is a profit-driven world, it is also a symbiotic world. Only by sharing the benefits can we get common development, only to survive together. Operating system, application and system integration services must work closely together to form a good development system, which is less the development of Linux will be hindered.

Facing the new opportunities and challenges of Linux, the current development model of our national software industry can only be: unity and cooperation, create a better future.
I said here, because my level is very limited, maybe a lot of places did not talk about, just want to play a role, let everyone have a little harvest, deepen the understanding of Linux. (Source: Pacific Special section)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.