Linux Basic Learning-03-Operating System Development History and System Version Selection

Chapter 1 Introduction to Linux

1.1 What is an operating system?

Simply put: an operating system is an intermediary between a person and computer hardware.

  • Operating system, English name Operating System, referred to as OS, is an essential basic system software in a computer system. It is the basic environment support necessary for application program operation and user operation, and is the core of a computer system.
  • The role of the operating system is to manage and control the hardware and software resources in the computer system. For example, it is responsible for directly managing various hardware resources of the computer system, such as the management of CPU, memory, disk, etc., and the priority of supply and demand of system resources. to manage. The operating system can also control the input and output of the device, as well as operate the network and manage the file system. At the same time, it is also responsible for the management of various software resources in the computer system. For example, the installation of various application software, operating environment settings, etc.
    Screenshot 2016-12-23 PM 8.53.42.png-725.1kB

  • The operating system is the system program software used to transfer information between the user and the computer system hardware. For example, the operating system will, after receiving the information input by the user, transmit it to the hardware core of the computer system for processing, and then return the processing result of the computer system hardware to the user.
    Screenshot 2016-12-23 8.56.25 PM 8.56.25.png-265kB

Think about what operating system is the most used in the world?

1.2 What is Linux?

  • Similar to windows, Linux is also an operating system software, Linux is a set of open source programs, and can be freely disseminated Unix-like operating system software, multi-user, multi-tasking and supporting multi-threading and multi-CPU operating system.
  • The Linux system is mainly used in the three major fields of server-side , embedded development and personal PC desktop , among which the server-side field is the most important. BAT (Baidu, Ali, Tencent)
  • The large and super-large Internet companies (Baidu, Sina, Taobao, etc.) that we are familiar with all use the Linux system as the server-side program running platform, and the mainstream systems used by the top ten global and domestic websites are almost all Linux systems.
  • The large and super-large Internet companies (Baidu, sina, Taobao, etc.) that we are familiar with all use the Linux system as their server-side program running platform. The mainstream systems used by the top ten global and domestic websites are almost all Linux systems.

As can be seen from the above, the Linux operating system is so popular because it has the following characteristics:

  • It is an open source program software that can be freely modified
  • Compatible with Unix systems, with almost all the excellent features of Unix
  • Can be distributed freely without any commercial copyright restrictions
  • Computer skills suitable for Intel and other X86CPU system architectures
    : learning a summary of phased knowledge is the key to learning good operation and maintenance

1.3 The origin of Linux

1.3.1 History of Unix

The Unix system was born in AT&T's Bell Labs in 1969. It gradually became popular in the 1970s. During this period, a more important branch was produced, which was the BSD (Berkeley Software Distribution) system born around 1977. Starting from the BSD system, major manufacturers and commercial companies began to develop Unix systems based on their own hardware architecture and BSD systems, resulting in various versions of Unix systems , such as: Solaris from SUN, IBM The company's AIX, HP's HPUNIX and so on.
Screenshot 2016-12-23 9.14.51 pm.png-1071.3kB

5 Advantages of Unix

  • Mature technology and high reliability
  • Strong scalability
    Unix supports many CPU processor architectures, including Intel/AMD and HP-PA, MIPS, PowerPC, UltraSPARC, ALPHA and other RISC chips, as well as SMP, MPP and other technologies

Tip: It may be that in the early days, major manufacturers developed their own hardware based on Unix. Therefore, Unix supports more CPU architectures.

  • Powerful network functions
    The most important protocol for Internet interconnection, TCP/IP, was developed and developed on Unix. In addition, Unix also supports a lot of commonly used network protocols, such as NFS, DCE, IPX/SPX, SLIP, PPP, etc.
  • Powerful database support capabilities
    Oracle, DB2, Sybase, Informix and other large databases all use Unix as their main database development and operation platform, and this is still the case so far.
  • Powerful development capabilities
    It is Unix that led to the birth of the C language

1.4 The revolution of the Unix operating system

  • In the mid-to-late 1970s, since the Unix and built-in software developed by various manufacturers and commercial companies were aimed at their own company-specific hardware, they basically could not run directly on the hardware of other companies.
  • In the late 1970s, Unix faced a sudden major problem of being revoked by AT&T, especially the requirement to prohibit the supply of Unix system source code to the student community.
  • Also in the early 1980s, due to the copyright and source code restrictions of the previous Unix system, the teaching of Unix systems in universities at that time was very restrictive. Therefore, a professor at a university at the time, named Andrew Tanenbaum, developed a system that can run on the x86PC platform based on the open source Unix part. The name of this system is Minix
  • Since the purpose of the Minix system developed by Tan Ningbang is only for teaching, the functions of the Minix system cannot meet the needs of commercial use, but the production of Minix is ​​a crucial part of the birth of Linux.
  • In 1984, Richard Stallman launched a movement to develop free software and established the Free Software Foundation (FSF) and the GNU Project.
  • The purpose of launching this free software movement and creating the GNU project at that time was actually very simple. It was to develop a Unix-like system and a complete operating system for free software, that is, to solve the Unix copyright problem in the late 1970s and the closed source software source code. The problem with this system is called the GNU operating system.
  • This GNU system did not catch on later. The current GNU system usually uses the kernel of the Linux system, and some components contributed by the GNU project plus other related programs. This combination is called the GNU/Linux operating system.

    2.4 The Birth of Linux

    The birth of the Linux system began with a computer student at the University of Helsinki, Finland, named Linus Torvalds.
    The logo and mascot of Linux is a penguin named Tux -- Torvalds' Unix
    Screenshot 2016-12-23 9.55.47 pm 9.55.47.png-58kB

1.5 The development history of Linux

1. Introduction to the development process of linux

1) In 1984, Andrew S. Tanenbaum developed a Unix system for teaching, named MINIX.
2) In 1989, Andrew S. Tanendaum ran the MINIX system on the x86 PC computer platform
3) In 1990, Linus Torvalds, a student at the University of Helsinki, Finland, first contacted the MINIX system
4) In 1991, Linux Torvalds began to write various drivers on MINIX and other operating system kernel components.
5) At the end of 1991, Linus Torvalds released version 0.02 of the Linux kernel source code. Note that the Linux kernel source code disclosed here is not the whole of the Linux system we are using now, but only the code of the Linux kernel kernel part.
6) In 1993, Linux version 1.0 was released, and Linux turned to the GPL copyright agreement.
7) In 1994, the first commercial distribution of Linux, Slackware, came out.
8) In 1996, the National Institute of Standards and Technology's Computer Systems Laboratory confirmed that Linux version 1.2.13 (packaged by the Open LInux company) was POSIX compliant
9) In 1999, a simplified Chinese distribution of Linux came out
10) After 2000, Linux As the system matures, a large number of applications based on Linux server platform emerge, and are widely used in embedded systems based on ARM technology.

2. Relevant figures in the development of Linux
We must pay deep respect to our predecessors. Without them, today's Linux system would not exist.
Screenshot 2016-12-23 PM 10.14.11.png-637.4kB

Chapter 2 Knowledge of Linux Core Concepts

2.1 Free software and FSF

1. Free software
Simply understand, the core of free software is that there is no copyright restriction of commercial software, the source code is open, and it can be freely disseminated without restriction.

Note: Free software emphasizes rights, not whether it is free. Everyone must understand this concept. Freedom in free software is "freedom" in "freedom of speech", not "free" in "free beer".

Free means freedom, and free means free, which are completely different concepts. For example: RedHatLinux is free but not free, CentOS Linux is free and free.
Free software is about the freedom of users to run, copy, distribute, study, modify and improve the software.

2, 2 Free Software Foundation FSF

FSF (Free Software Foundation) in Chinese means Free Software Foundation, which was initiated and founded by Richard Stallman in 1984. The main project of the FSF is the GNU project. The main software produced by the GNU project itself includes: Emacs (God-like software) gcc, bash and programming languages, and gawk (GNU's awk), etc.

2.3 GNU knowledge

The whole process of GNU is GNU's not unix, which means "GNU is not UNIX". The GNU Project, also known as the Genu Project, was publicly initiated by Richard Stallman in 1984 and is the main project of FSF. As mentioned earlier, the goal of this project is to create a completely free and portable Unix-like operating system.
But GNU's own kernel, Hurd, is still under development and is still far from practical.
The current GNU system usually uses the kernel of the Linux system, plus some components contributed by the GNU project, and other related programs. This combination is called the GNU/Linux operating system.
When the linux kernel was released in 1991, the GNU The project has completed the development of various necessary software except the system kernel. With the efforts of Linus Torvalds and other developers, some components of the GNU project run on the Linux kernel, such as Emacs, gcc, bash, gawk, etc. in the GNU project, which are still very important basic software in the Linux system. .

Screenshot 2016-12-23 PM 10.52.41.png-82.5kB

2.4 GPL knowledge

The full name of GPL is the General Public License , and the Chinese name is the General Public License . It is the most famous open source license agreement. The most famous Linux kernel in the open source community is released under the GPL license. The GPL license was created by the Free Software foundation.
In 1984, shortly after Richard Stallman launched the movement to develop free software, with the collaboration of others, he created the General Public License (GPL), which played a crucial role in promoting the development of free software, so, this What exactly does GPL mean?
To put it simply, the core of the GPL license is to ensure that anyone has the freedom to share and modify free software, and that anyone has the right to obtain, modify and redistribute the source code of free software, but must also give specific changes to the source code. .
Although the entire Linux kernel is licensed under the GNU General Public License, the Linux kernel is not part of the GNU project. Please don't confuse this.
FSF (company) ==> GPL (project) ==> emacs gcc bash gawk
FSF (company) ==> GPL (project) ==> Freely disseminate the modified source code but the modified source code must also be released
Linus Torvalds==>linux kernel

2.5 Linux system composition

Linux操作系统=linux内核+GNU软件及系统软件+必要的应用程序

Screenshot 2016-12-23 PM 11.04.57.png-227.2kB

Chapter 3 Features of Linux

3.1 Why is Linux popular?

There are two main reasons why the Linux system is loved by the majority of computer enthusiasts:
First, Linux is a free software. Users can obtain the system and the source code of the system without paying any fees, and can modify the source code according to their own needs. Make the necessary modifications, use it free of charge, and distribute it freely without restriction.
Second, Linux has all the excellent features of Unix. Anyone who uses the Unix operating system or wants to learn the Unix operating system can learn about Unix by learning Linux, and can also get almost all the excellent features in Unix, and the Linux system is more Open, community development and users around the world are also more active.

Chapter 4 How to Choose a Linux Distribution

4.1 Introduction to Linux distributions

  • There are mainly 4 series of Linux kernel (kernel) versions, namely Linux kernel2.2, Linux kernel2.4, Linuxkernel2.6, Linux kernel3.x. For more updated versions, please visit the kernel official website and click
  • Distributors of linux include Slackware, Redhat, Debjan, Fedora, TurboLinux, Mandrake, SUSE, CentOS, Ubuntu, Hongqi, Kylin...
    Let's take a look at some of the important distributions.

1) Red Hat: The kernel of Red Hat Linux 9.0 is 2.4.20. After version 9.0, Red Hat no longer follows the GPL protocol and becomes a paid product (but still open source), and the new version developed is Red Hat 3.x , Red Hat 4.x, Red Hat 5.x, Red Hat 6.x, Red Hat 7.x.
2) Fedora: a branch of Red Hat, still follow the GPL agreement, can be considered as a RedHat pre-release version. (Game beta)
3) CentOS (Community Enterprise Operationg System): It is exactly the same as redhat at the binary level. Another important branch of RedHat is to rebuild the Linux system that conforms to the GPL license agreement with the source code released by RedHat. It is a version compiled after removing the trademark LOGO and non-free software parts of the Red Hat Linux source code. At present, CentOS has been Acquired by RedHat, but still open source and free. CentOS Linux is the Linux system version most used by domestic Internet companies.

Tip: For Linux operating systems, just remember Redhat, CentOS, Ubuntu, Fedora, SUSE, DEbian, etc. The difference and connection between Redhat and CentOS are sometimes asked by interviewers and need to be understood.

4.2 Application Scenarios of Linux Distributions

Screenshot 2016-12-23 PM 11.36.32.png-754.9kB

4.3 Mainstream version of CentOS and application status of domestic Internet companies

  • CentOS 5 series: about 25%, the mainstream versions are CentOS 5.5, CentOS 5.11, and learning is not recommended. ===>Linux 2.4
  • CentOS 6 series: about 45%, the mainstream versions are CentOS 6.2, CentOS 6.4, CentOS 6.6, CentOS 6.8 ===>Linux 2.6
  • CentOS 7 series: It has just been released, and very few enterprises are officially using it, so it is not recommended to play it. There is a big environmental problem for enterprises to use, because there is no place to talk about it after learning. You will not be able to use the CentOS 5 and CentOS 66 series that are actually used by enterprises. In that case, you will abandon the basics, learn 6 first, and wait for the enterprise to use it for 2 years. On CentOS7, you can easily switch to the past, and it is wise to choose according to the mainstream application of the enterprise.

4.4 Why choose 64-bit operating system for enterprise environment?

  • At present, the vast majority of enterprise production environments use 64-bit CentOS systems, and the positioning and difference between 32-bit and 64-bit systems.
  • Difference 1: The positioning is different in the original design. The design orientation of 64-bit operating system is to meet the fields of mechanical design and analysis, 3D animation, video editing and creation, as well as scientific computing and high-performance computing applications. The common feature of these application fields is the need for a large amount of system memory and floating point performance. Simply put, a 64-bit operating system is designed for high-tech personnel to run on the industry-specific software. The 32-bit operating system is designed for ordinary users.
  • Difference 2: The installation requirements are different. A 64-bit operating system can only be installed on a 64-bit computer (the CPU must be 64-bit), and will only perform optimally when targeting 64-bit software. A 32-bit operating system can be installed on a 32-bit (32-bit CPU) computer or on a 64-bit (64CPU) computer. Of course, the 32-bit operating system cannot play the 674-bit hardware performance at this time.
  • Difference 3: Different computing speeds:
    64-bit ===> 8-lane road (2^8)
    32-bit ===> 4-lane road (2^2)
  • Difference four: different addressing capabilities, different
    maximum supported memory
    32-bit system 4GB memory
    64-bit system 128GB memory

Screenshot 2016-12-24 AM 12.09.06.png-98.4kB

Small interview question: What version does your company server use?
CentOS 6.8 x86_64 kernel version 2.6.32

Summary:
This chapter focuses on reviewing:
1) Understand what an operating system is and the simple schematic diagram of an operating system
2) Understand the history of Unix development
3) Understand the common Unix system versions on the market
4) Understand several key figures in the birth and development of Unix and Linux
5) Focus on the knowledge of GNU GPL FSF
6) Understand the characteristics of the Linux system
7) Understand the common distribution versions of the Linux system, choose different scenarios
8) Focus on understanding the difference and connection between CentOS and Redhat
9) Understand the application scenarios and enterprise applications of various versions of CentOS Case
10) Learning to build an environment for learning Linux

Knowledge-related interview questions in this chapter :
1) Please describe the relevant knowledge and historical events of GNU in detail?
2) Please describe what is GPL and the content details of GPL?
3) How to choose various Linux distributions in enterprise work?
4) What is the difference and connection between Red Hat Linux and CentOS Linux?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325680625&siteId=291194637