Profile 1.Project GNU
The origin of Project GNU, from ten years ago, Richard Stallman, currently for Project GNU's plan host, an article in the network discussion district (http://www.cs.pdx.edu/~trent/gnu/begin 10 YEARS AGO on Internet. Richard Stallman clearly understood why he launched this plan. This article is later GNU Manifesto, GNU Declaration. More detailed background information can be referred to the introduction of Mr. Yang Jingxiang, Yang Jingxiang, IT Research Institute. Richard Stallman was established to establish the work of the Project GNU, which is FSF's lifelong volunteer.
GNU is the abbreviation of GNU's Not Unix, and Stallman, Stallman, which is in Manifesto, is not the best job system, but at least will not be too bad, and he is self-confident that makes it unique to complement the unix, so that it becomes a good job. The system is a job system named GNU.
GNU original strategy is to develop UNIX existing programs. (Because the GNU will be a system with Unix, the standard interface under UNIX is already quite complete, as long as the standard completed, the GNU Kernel (Note) will be completed, and there can be all UNIX Utilities), therefore, there is an Emacs, GCC, etc. Utility. Among them, GCC is the main force that Project GNU can be reached (do not need to rely on Non-Free Software to generate / compile yourself), and now the program development tools are ripe, and everyone will wait, it is gnu kernel, which is hurd. Once Hurd is completed, the GNU is a set of self-power, really self-sufficient, complete work systems.
Note 1: A set of OS is the common program of the surrounding formality plus a kernel, ie system resource management program.
Hurd is the core of the work system on the Micro Kernel of Mach. The origin of Micro Kernel is the final BSD (UNIX) to finally, the better the KERNEL, the more new features, it is necessary to change and replace the Reboot system, which is very unmoluminated, and there is no flexibility. The idea of Micro Kernel also came into being, the purpose is to extract the most basic part of KERNEL, the most hardware-related part, forming micro kernel. Other parts are lowered to the User Program, called Server. It can be said that Micro Kernel puts hardware abstraction / encapsulation, forming a virtual machine, Server runs on this virtual machine, providing the functions that traditional OS should provide. Server has two kinds, a kind of Si Ngle Server, a kind of MultiServer.
Single Server is a Server to complete the functions of all OS Kernel. CMU Carnegie's institute original Micro Kernel plans, first remove 4.3 BSD into two parts, a Micro Kernel (Mach) and a Single Server. Because of a Micro Kernel can perform a lot of Server, this is indeed a lot of way, modifying the OS, can perform another server to observe the result, do not have to reeot the entire system each time. But such a design still has a blind spot, which is to be more useful, or to terminate (shutdown) the server, and then execute the new Server. At the moment, it is just a more portable OS. Therefore Multi Server is born. MS opens kernel into several small units, and cooperates with each other. For example, there is a NetWork Server to handle TCP / IP networks, File System Server, Exec Server is used to execute, and so on. In this way, it can increase flexibility, such as an Exec Server can perform Linux's binary. A binary, several file system Server, which can perform (load) FreeBSD, handles different File System, etc., and also reduce the chance of replacement Server needs Reboot. Hurd is a group of Server (s) (see Toward a new strategy of os design, http://www.cs.pdx.edu/~trent/gnu/hurd-paper.html )Hurd is currently I386 The PC is the development platform, with CMU's Mach as Micro Kernel, but will use Utah (Utah) University Mach4, which is FlexMach for Micro Kernel, FlexMach is the meaning of Fast & Flexible. Micro Kernel brings a lot of Overhead. FlexMach introduces some new IDEA, let Micro Kernel are not only convenient, but also well. Since Hurd is on the MACH, so as long as MACH can run on those machines, Hurd can also quickly Support this hardware architecture, in other words, GNU can be the OS of the machine.
Hurd is not Unix, the truly let the program feel Hurd is Unix, it is its library, glibc - hur's c library. Hurd's Glibc is used to process system calls with UNIX, and convert to HURD system calls, let the user feel that hurd is UNIX, is those written in accordance with UNIX standards (IEEE 1003.1, POSIX.1) (This is the so-called Personality)
GCC is one of the most famous programs of FSF, currently C, C . PBECTOVE C three-in-one Compiler. The GCC's method is a prior drawing, converts C, C , Objective C syntax into an internal pattern (a high-order combination language similar to Lisp, called RTL, or first forward the high-order language As a combination of an imaginable CPU), then BACKEND is optimized in this virtual combination language, and finally the combination of destination CPU (UNIX's philosophy is Compiler generates a combination language, and then generates a machine by Assembler Code), so as long as you write a new language of Frontend, then because GCC backend supports a lot of architectures, the language immediately can be completed in many different architectures. With a new CPU, as long as the virtual ASM is converted into a part of the real ASM, there are many language optimization compilers. In addition to the C family, GCC also has FORTRAN 90, ADA9X, PASCAL's Frontend, where Fortran is the latest Frontend, version number 0.5. The GUI interface of the Project GNU will be schema on the MIT X WINDOW. Since NEXT company announced the OpenStep standard, after the NEXT STEP OS API is open, it has caused a group of people's interest to develop a more complete GUI interface for GNU, which is GNU Step and hopes to confirm the OPENSTEP through NEXT. standard. NEXT has become a professional system software company since the abandonment of hardware careers, and the original operating system has port (ported) to I486, HP-PA RISC, and the GUI interface also has port to Solaris, OSF / 1, NT, WINDOW 95 plan. Briefly, OpenStep can be regarded as a NEXTSTEP independent of the OS, the object-oriented application interface.
OpenStep consists of 3 parts, Display PostScript, Foundation Kit, Appkit. GNU Step Plates Modify GhostScript to complete the functionality of Display PostScript. PostScript is originally used in a drawing language in the printer. DPS is to make the PostScript instruction can also act on the screen for drawing. Display and Printing uses the same set of set-up to achieve the function of What you see what you get.
The NEXTSTEP / OPENSTEP development environment is used by Objective C, another object-oriented language based on C. The OBJC program code in GNU C Compiler is the development of the NEXT company, contributing. In addition to the definition of the full syntax and compiler support, a program is more necessary to write, which is the Foundation Kit in OpenStep. The content of the Foundation Kit is the function necessary when the OBJC is handled. Gnu Step's practice is to expand the libbobject set library to reach the target. The most important part of OpenStep is Appkit. The most important thing to write a Gui Application is a good Library. Appkit is the most attractive part of OpenStep, a quite a good Library architecture. GNU Step already has a shading in this regard, ie OBJCX. Objcx is currently written by Motif Widget. Since Motif is not Free Software, other methods will be replaced in the future.
2.GPL - General Public License
The spirit of GNU is clearly understood in GNU Manifesto. It is to think that the original code of the software should be freely circulated. The software company should do. It should not be the original code as yours, earn money, but integrate With the cost of service, because the original code freely circulating can make the quality of the software improve the quality of the software, so that the software programming can exchange experience with others, not being bound by smart property rights. However, the real environment is bad. In order to be afraid that there is a good profit, the soft-circulated software accounts for the GPL developed by the FSF, first obtains the smart property rights of the software, and then release this power through the GPL to the public: You abide by GPL, don't put the original code, and your modification you have for the original code, you have the power to use the GPL software. GPL's regulations don't apply to library, (too strict, some people do not agree) In order to encourage more people to use GNU software, FSF has additionally set LGPL - Library GPL, which is relatively loose.
GNU Maniesto / GNU General Public License / Libray GPL can be found in GNU Mirror Sites (where GPL is placed in a file named Copying, LGPL is in copying.lib). In addition, the FSF will issue a document named GNU Bulletten, which is regularly published in January and July, indicating that FSF current status and dynamics. GNU Bulletin electronic version is only announced on gnu.announce.
3. Undecent guests ~ Linux
1992 (at the end of 1991?) A young information on Finland, Linus Torvards bought his first 486PC in order to practice MINIX job system in Andrew S. Tanenbaum. But he found that there is a lack of many features he wants in Minix, so he started his great career - write a job system in protective mode. At the beginning, Linus is in the USENET discussion area, COMP.OS.Minix calls friends, then this doll homework system (name Linux) will quickly grow up with two weeks a revised version of the version, discussion The area is also independent from the original parasitic COMP.OS.Minix, and is called comp.OS.Linux. After that, because the user is numerous, the discussion is then divided into comp.os.linux. *. Linux is so popular, it is a continuum of orthodox UNIX. Early version of Linux, because developers are afraid that their programs have been steady, they are even smashing, so I use a quite strict copyright statement that prohibits all business banks. Later, everyone hoped that someone would like to press Linux into CD-ROM, promote Linux, and benefit those who are not convenient to Internet FTP, so copyright declaration into GPL. Since then, Linux is a recognized GNU job system.
The Kernel mentioned earlier will be hurd. However, Linux rises in just a few years, and also uses GNU's copyright statement, and has replaced Hurd. There are even many people think that hurd should stop developing, because Linux is already mature, GNU can actually use Linux as Kernel, is also a complete system. The FSF's person also admits that if Linux appears in the early years, it may not be necessary to develop Hurd. But Linux is still a late step, Hurd has planned for a long time, and it is a very avant-garde design, which can support more machines, not complete, unfortunately. In November 1994, Hurd's first prototype (Snapshot) has been published; in April 1995, the second Snapshot was also published. No Snapshot, Hurd should be packaged into a simple self-made security set. Then repeat the history of Linux. Of course, it is necessary to emphasize that hurd and linux are not hostile relationships, and there is no problem with each other, because they have the market, their respective positioning is different.
In fact, FSF also has a GNU system plan for issuance with Linux as a core. This plan is the Debian Linux supported by FSF. Debian Linux is the most thorough integration of GNU Software in recent years (it is a system that is completely used for GNU and PD, and there is a system of Commercial OS). Linux is currently in that it is a vacuum before Hurd's unfinished, and the power of GNU and PD software is aggregated, which is the basis of the future GNU system. The HURD 386 can then be able to perform the Binary of Linux386, complement each other.
4. The silkworm changes again - BSD
After Berkerley's BSD UNIX developed to Ver. 4.4, because DARPA (National Defense First Research) no longer continued to support the plan, there is a sound stop, and there is a late BSD. Coupled with the AT & T accono BSD containing its program code, the original code of 4.4 cannot be disclosed, and the day is not seen. At the same time as Linux started development, Mr. William Jolitz has also begun to use BSD4.3 (Net / 2 published by Berkerley), put BSD to the 386 PC, as a continuation of the BSD plan, and The researchers of the facilities for the work system continue to use BSD as the base of OS research. This is 386BSD. At the beginning, the 386BSD's development speed was too slow, so it caused a variation, almost simultaneously had two groups of people to publish their own 386BSD, namely NetBSD and FreeBSD. NetBSD is mainly based on an OS research, and it is quickly transplanted back to the machine of the original BSD support. FreeBSD is based on real, the purpose is to make the BSD packaging drift, easy to get started with the installed system.
These BSD families can be said to be developed in Berkerley VS AT & T's lawsuit until the end of the lawsuit, Berkerley issued BSD4.4Lite in accordance with the decision, and after the BSD Source Code without violation of AT & T rights, it has been updated to 4.4Lite-based, truly Get rid of the shadow of AT & T.
The copyright declaration used by BSD and GPL big phase. We can say that the BSD is free to belong, they think that the public program should not be made, even if others take the Source Code to change, it doesn't matter, as long as they don't wear their Contribute. This is the generally recognized definition of PD (Public Domain). Because of this reason, FSF and PD software are usually maintained, they prefer to rewrite some of the PDs, and the purpose is to confuse the PD and GPL. Simply put, the process of the GPL restriction code and the processed product of the program is GPL and must be freely circulated. The PD is allowed to allow private changes to the machining parts that do not belong to the PD. As for the GPL and PD, it is the problem of seeing the helody.