One day, I learned about the development of Linux/Uinx in Linux.

Source: Internet
Author: User
Linux overview Linux is a free-of-charge and freely-spread Unix-like operating system. it is mainly used on computers based on Intelx86 series CPUs. The core program (kernel) that controls the basic services of the entire system is developed by Linus. The Linux name is Linus & amp; rsquo...

 

Linux overview

Linux is a free and free-to-use Unix-like operating system. it is mainly used on computers based on Intel x86 series CPUs. The core program (kernel) that controls the basic services of the entire system is developed by Linus. The Linux name is named Linus's unix) GPL is used to issue the program. this copyright allows anyone to copy and spread the Linux original program in any form. In other words, Linux is actually free. Users can get the original program code of Linux on the network, and copy and change the original program of Linux as they wish, with the increasing prevalence of the Internet and the copyright to Linux's openness, it has attracted countless computer experts to develop and improve Linux's core programs, making Linux's functions increasingly powerful, so today we can download Linux for free on the Internet, or get the Linux CD at a very small cost, because Linux is a GPL copyright.

 

 

In recent years, Linux has become another competitor of Microsoft and Sun. With its low price, good quality, and stable competitive advantage, Linux is spreading to many PC-based work platforms. In the early days, due to lack of commercial application software, tool programs with strong academic taste alone were unable to break into the mainstream operating systems of general businesses. However, the current Linux environment is far from the past. KDE, Gimp, Gnome and other plans are successively carried out, providing X with more Desktop operating environments and applications for graphic interfaces.

 

Unix Development history

As early as the 20 years before the emergence of Linux (around the 1970 s), there was a fairly stable and mature operating system, that is, the Linux big brother Unix. Next, let's take a look at the history of Unix.

Before 1969: a great dream-Bell, MIT and GE's "Multics" system

Before and after 1965, Bell Labs, MIT, and GE, also known as General Electric, jointly launched the Multics program, the purpose of the Multics program is to enable large hosts to achieve the goal of providing more than 300 terminals for online use.

 

April 1969: Ken Thompson's small file server system

Bell's research office withdrew from the Multics program after it was deemed impossible to succeed. However, Ken Thompson, who originally participated in the Multics program, has obtained some ideas from the program. Because of your own needs, we hope to develop a small operating system to provide your own needs. After four weeks of hard work, he finally wrote a set of core programs in Assembler language, including some core tool programs and a small file system. That system is the prototype of Unix. At that time, Thompson simplified Multics's huge and complex system, so his friends in the lab called it Unics. (There was no Unix name at the time)

 

Thompson's file system has two important concepts:

All programs or system installations are archives

No matter whether the editor or the affiliated file is constructed, the program written has only one purpose and must effectively accomplish the goal.

These concepts have a significant impact on the development of Linux.

 

1973: the official birth of Unix. Ritchie and others wrote the first official Unix core in C language.

Since the operating system written by Thompson is so easy to use, it has been widely circulated in Bell Labs and has been revised several times. Since Unics was originally written in an assembly language and the assembly language is specific, and the current computer machine architecture is not the same, every time you install it on a different machine, you have to re-compile the assembly language, it is inconvenient. Later, Thompson partnered with Ritchie to write Unics in higher-level programming languages. At that time, there was a ready-made high-level programming language with B. However, the core efficiency compiled by language B is not very good. Later, Dennis Ritchie changed the B language to the C language, and then re-wrote and compiled the core of Unics in the C language. Finally, the official Unix version was named and released!

 

1977: The Birth of BSD, an important Unix branch

Although Bell belongs to AT&T, AT&T adopts a more open attitude towards Unix at this time. In addition, Unix is written in high-level C language and theoretically portable, as long as the original Unix Code is obtained and the original Source Code is modified for the characteristics of a large host, Unix may be transplanted to another different host header. So after 1973, Unix was developed in collaboration with academia! The most important contact was the cooperation with the University of Berkeley.

After obtaining the original Unix core code, Bill Joy of the University of Berkeley began to modify it into a version suitable for his own machine, and added a lot of tool software and compilation programs, finally, it is named Berkeley Software Distribution (BSD ). This BSD is a very important branch of Unix, and Bill Joy is also the founder of Sun! Sun developed its commercial Unix version at the core of BSD development. (Now we can install FreeBSD on the x86 hardware architecture, which is a BSD version !)

 

July 1979: important System V architecture and copyright announcement

Thanks to the high portability and powerful performance of Unix and the absence of copyright disputes at that time, many commercial companies started the development of Unix operating systems, for example, AT&T's own System V, IBM's AIX, HP, DEC, and other companies have launched their own host with their own Unix operating systems.

Although each company's Unix architecture is similar, it can only support its own hardware. Therefore, earlier Unix systems can only work with servers or workstations) draw an equal sign. However, in 1979, after AT&T launched the seventh Unix version of System V, this situation had improved a little. The most important feature of this edition is that it supports personal computer systems with x86 architecture. that is to say, System V can be installed and operated on personal computers.

However, AT&T wants to remove Unix copyrights due to its commercial considerations and thoughts in the real environment at that time. As a result, AT&T mentioned in its seventh Unix release in 1979 that it imposes strict restrictions on "not providing original codes to students! At the same time, it also caused a tense atmosphere in the Unix industry and caused a lot of business disputes ~

 

One in 1984: The advent of the x86 Minix operating system

In the copyright statement of 1979, of course, the most influential is the professor who taught the Unix core primitive code. Without the core primitive code, how can students learn about Unix? This problem is really frustrating for Professor Andrew Tanenbaum. Since the seventh version of Unix in 1979 can be transplanted on Intel's x86 architecture, does it mean that Unix can be rewritten and transplanted to x86? On this idea, Professor Tan ningbang wrote the Minix Unix Like core program on his own! During the writing process, Tan ningbang did not read the original Unix core code to avoid copyright disputes! And stressed that his Minix must be compatible with Unix! Tan ningbang began to write core programs in 1984, and finally completed the process in 1986, and published Minix related books in the following year.

This Minix version is interesting because it is not completely free and cannot be downloaded on the network. it must be purchased through disks/tapes, although it is cheap. After all, because it is not spread on the network, Minix transmission speed is not very fast. In addition, the original Minix code will be attached to the disk at the time of purchase, which means that users can learn the core programming concepts of Minix. (This feature is very important for the start and development stages of Linux !)

 

1984: The establishment of the GNU program and the FSF Foundation

For GNU, we will give a detailed explanation in the next section, which is skipped here.

 

1988: graphic interface XFree86 plan

In view of the increasing demand for Graphical User interfaces (GUI), in 1984, MIT and other third parties published the X Window System for the first time, moreover, XFree86, a non-profit organization, was established in 1988. The so-called XFree86 is actually the integrated name of X Window System + Free + x86, and the XFree86 GUI was released in Linux's core version 1.0 in 1994, integrated into Linux!

 

August 1991: A message from Linus Torvalds, a Finnish college student

In 1991, Linus Torvalds from the University of Helsinki in Finland posted a message on the BBS, claiming that he had written a small core program using tools such as bash and gcc, this core program can run on Intel's 386 machine, which has become a great interest for many people and has started an extraordinary journey in Linux!

 

Linux Development history

We mentioned the history of Unix and Linux, which was invented by Torvalds. So why does trowaz invent Linux?

 

Linus Torvalds, born in 1969, is a statistician at the University of Helsinki. his grandfather wants to enable his grandson to learn something, so from an early age, tovas was taken around to manage some computers. In this period, towaz came into contact with Assembly Language, a program Language that talks directly with the chip, that is, the so-called low-level Language. You must be familiar with the hardware architecture. Otherwise, it is difficult to write programs in assembly language.

 

In 1988, towaz successfully entered the University of Helsinki and selected the computer science department. During school hours, towaz was connected to the Unix operating system due to academic needs and interests. At that time, Helsinki had only one of the latest Unix systems and provided only 16 terminals (terminal ). Early computers only had computing functions on the host, and terminal was only responsible for providing Input/Output. In this case, it is really difficult to meet the needs of towaz, because it is very time-consuming to wait for the time to use Unix. For this reason, he could not help but think: why don't I create a Unix program on my own? However, just like the GNU plan of Stallman, how easy is it to write core programs?

 

Soon afterwards, he knew that there was a Unix-like system that was fully compatible with Unix, and the operating system that could be run on Intel 386 machines, which we mentioned in the previous section, professor Tan ningbang's Minix system for educational purposes! After purchasing the latest Intel 386 pc, he immediately installed the Minix operating system. Thovas also learned a lot about the design concepts of core programming through this original code. Like other engineers, towaz found that although Minix was really great, Professor Tan ningbang was reluctant to enhance its functionality, leading to dissatisfaction with a bunch of engineers in operating system functions. At this time, the young owaz thought: in this case, why don't I rewrite an operating system I want myself? So he began to write the core program.

 

What do I need to write a program? The first thing we need is a working environment, and then we can compile the original code into a compilation program for executable files. Fortunately, there are free software such as the bash working environment software provided by the GNU program and the gcc compiling program, so that towaz can successfully write core programs. He referred to the design concept of Minix and the program code in the book, and then carefully studied the performance optimization of 386 personal computers, then, the GNU Free software is used to closely combine the core program code with 386, and finally write the core program he needs. However, this gadget can actually run smoothly on 386 and read the Minix file system. That's great. However, it was not enough. he hoped that the program could get some suggestions for modification, so he put the core on the network for everyone to download, and posted a message on the BBS:

Hello everybody out there using minix-I'm doing a (free) operation system (just a Hoby, won't be big and professional like gnu) for 386 (486) AT clones.

I 've currently ported bash (1.08) and gcc (1.40), and things seem to work. this implies that I'll get something practical within a few months, and I 'd like to know what features most people want. any suggestions are welcome, but I won't promise I'll implement them :-)

This news attracted the attention of many people. they also downloaded this core from the website provided by tovas for installation. Interestingly, because the Directory of the FTP website with the core stored in towaz is Linux, we have called this core Linux. (Note: Linux is the kernel. In addition, the first core version of thowaz that is thrown to this directory is 0.02)

 

At the same time, in order to allow Linux to be compatible with Unix systems, towaz began to run some software that could operate on Unix on Linux. However, he found that many software could not run on the Linux core. At this time, he has two methods: one is to modify the software so that the software can run on Linux, and the other is to modify the Linux so that the Linux meets the specifications that the software can operate! Since Linux is expected to be compatible with Unix, towaz chose the second practice: modify Linux. In order to make all the software executable on Linux, tovas started to refer to the standard POSIX (POSIX is the abbreviation of Portable Operating System Interface, the focus is on the interface between the core and applications, a standard issued by the Institute of Electrical and Electronics Engineers (IEEE. Because the POSIX standard mainly targets Unix and some software runtime standard specifications, as long as the core and software are designed according to these standard specifications, theoretically, they can be executed together. The development of Linux is based on the POSIX standard specification. the software above Unix is also designed according to this specification. as a result, it is easy for Linux to share software with Unix compatibility. Because Linux is directly placed on the network to provide downloads, the speed of circulation is quite fast, resulting in a significant increase in Linux usage. These are several important factors that make Linux very popular.

 

Although Linux was invented by thowaz, its content will never involve the copyright of patented software. However, it would be very difficult for Linux to thrive if it was alone in towaz. Because the power of a person is very limited. Fortunately, towaz chose the Linux development method to be quite pragmatic. First, he places the released Linux core on FTP, and inform everyone of the new version information. after the user downloads the core and installs it, if any problem occurs, or because of special requirements that require drivers of certain hardware, these users will take the initiative to return to tovas. Within the scope of the problem towaz can solve, he can quickly update and correct the Linux core.

 

However, towasz is always unable to obtain some hardware, so he certainly cannot help with driver programming and related software improvement. At this time, some volunteers will jump out and say: I have this hardware. I will help you write related drivers. Because the core of Linux is Open Source, hackers can easily follow the original design architecture of Linux and write compatible drivers or software. What do volunteers think of the drivers and software tovas? First, he brings the driver/software into the core and tests it. As long as the test can run and there are no major problems, he will be happy to add the program code written by the volunteers to the core. For Linux core lack of projects, he always "first to have and can run, and then to further improve" mentality. This gives Linux users and volunteers great encouragement!

 

In addition, to adapt to this situation where program code is added at any time, Linux gradually develops into a module function, that is, some functions are independent of the core, it is loaded to the core only when necessary. In this way, new hardware drivers or program code of other protocols can be modularized, greatly increasing the maintainability of the Linux core.

 

Later, because too many features were added to the Linux core, it was too effort-consuming to test the core and add the original program. As a result, many of our friends jumped out to help with this pre-job. For example, Cox (Alan Cox), Stephen Tweedie, and so on, these important deputies will first test the patch or new function program code from volunteers, in addition, the results are uploaded to the owaz for display, so that the owaz can select and merge the original codes added to the final core. The result of this layered responsibility makes Linux development easier. These Linux development assistants and hacker volunteers who voluntarily send patches have never met each other and are in every corner of the Earth, we are working together to develop Linux. We call this group a virtual team. For the virtual team data transmission, so Linux was set up the core site: http://www.kernel.org

 

This is the core official version of Linux: version 1994, which was finally completed in 1.0 by this group of virtual teams. This version also supports X Window System. 1996 was completed in 2.0. In addition, towaz pointed out that penguins are the mascot of Linux. Since then, Linux has come to this day step by step.

From: Yufei blog

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.