Linux study Notes-related to Linux

Source: Internet
Author: User
Linux Study Notes & mdash; Linux related summaries: I have extracted some Linux-related notes from the Internet.

Abstract: I have summarized the history of Linux from the internet and have a rough understanding of the source of Linux. in this way, I will be able to provide some help for future study and expand my knowledge.

I. operating system

To put it simply, the operating system is divided into two parts: one is the kernel, the other is a bunch of core tools, and the other is the so-called operating system.

The kernel is responsible for controlling the allocation of hardware resources. if only the kernel is available, only the computer hardware can run without any functions. Therefore, the system calls must be provided to developers to develop applications; the kernel can control the hardware, such as CPU computing and hard disk data reading and writing. only the kernel can run the computer, but we cannot control the computer.

System calls are the call interfaces provided by the operating system to developers. No hardware is controlled by the operating system by default. developers need to develop drivers based on the interfaces provided by the operating system. only drivers installed can control hardware devices.

II. Linux origin

The Unix operating system was conceived and implemented in 1960s, and was first released in 1970. It is widely used, replicated, and modified by academic institutions and industrial and commercial enterprises for its high accessibility and portability. Its design has a great impact on the authors of other systems.

In 1983, Richard Stallman created a GNU program to create a free software, Unix-like, POSIX-compatible operating system. As part of this plan, he wrote the GNU General Public License (GPL ). In early 1990s, enough software was available to create a complete operating system. However, GNU Hurd, the GNU kernel, failed to fully attract developers.

In 1980s, there was another project on the free operating system, the Berkeley software package. This was developed by UC Berkeley from AT&T's sixth Unix version. Because it contains AT&T's Unix code, AT&T filed a legal lawsuit against the University of California in early 1990s. This severely limits the development and application of BSD.

In February 1987, Andrew Stuart tanebaum released a Unix-like system for teaching. Although the source code of the system is easy to obtain, modification and re-release of the source code are limited. In addition, MINIX's 16-bit design is not well compatible with Intel 80386 architectures that were getting cheaper and popular at the time, and personal computers.

These factors led Torvalds to start his project. He once said that if there were available GNU or javasbsd kernels at that time, he would probably not write his own kernel.

2. Linux was born:

In Helsinki in 1991, LinusTorvalds began to become a Linux kernel project. Initially, it only had one Torvalds used to access the virtual terminal of a large Unix server in the university. He wrote a program dedicated to the hardware he was using and unrelated to the operating system, because he wanted to use his new PC with a 80386 processor. The development is on Minix and is still completed using the first compiler-GCC.

Torvalds said in his book only for joy that he finally realized that he had written an operating system kernel. In August 25, 1991, he published the system to Usenet of the newsgroup "comp. OS. minix:

"Hello, everyone who uses the minix operating system!

I am writing a (free) operating system for 386 (486) AT clones (just a hobby, not a broad and professional operating system like GNU ). This plan has been brewing since March, and is now ready. I want to get any feedback on the advantages and disadvantages of minix, because my operating system has a similar aspect (because of the feasibility, the physical layout of the file systems is the same ). I just transplanted bash (1.08) and gcc (1.40) to the system and it seems to be running well. This means that I can make it practical in a few months. I want to know what features you want. Please give me any suggestions, but I don't guarantee that I will implement your suggestions :-)

Linus (torvalds@kruuna.helsinki.fi)

Also: Yes, it does not contain any minix code; its file system is also multi-threaded. It has no portability (it uses 386 of the task scheduling algorithm and so on), and it is likely to always only support AT hard disks (I only have this hard disk :-()

"

-- Linus Torvalds

3. origin of Linux name

Linus Torvalds was supposed to call its launch as a synthesis of Freax-"fread", "free", and "x" (which implies Unix. In the first six months of the development system, he stored the files in the file name "Freax. Torvalds considered the Linux name, but gave up using it because he thought it was too self-reliant.

For ease of development, in September 1991, he uploaded those files to the FTP. funet. fi server of the Helsinki University of Technology (HUT ). Torvalds's colleague Ari Lemmke, who is responsible for managing the server in HUT, thought that the name of "Freax" was not very good. he changed the project name to "Linux" without consulting Torvalds ". However, Torvalds also agreed to the "Linux" name: "After many discussions, he admitted that the Linux name is better. The 'freax 'name is still used in the makefile of the source code of version 0.01 Linux, and is used only after the 'Linux' name. Therefore, the Linux name is not preconceived, but widely accepted ".

4. origin of the Linux mascot

The mascot of Linux is Penguin (English name: Tux). I was very impressed because Torvalds was bitten by penguins when I was a child;

5. Advantages and disadvantages of Linux:

A) stable system: Linux is an operating system developed on Unix. Therefore, Linux has program interfaces and operation methods similar to Unix systems, of course, it also inherits the stability and efficiency of Unix. It is common to hear that Linux-based hosts have been running for more than one year without being a host or shutting down;

B) free or a little charge: Since Linux is a product based on GPL, anyone can freely access Linux. as for some publishers of "installation kits, they only need to pay a little fee to release the installation disc! Unlike Unix, which requires huge copyright fees, Microsoft needs to update your system one by one and three again, and pay a lot of fees!

C) security and vulnerability repair: If you often play on the Internet, you should most often hear "no absolutely secure host 』! That's right! However, since Linux is widely used by many enthusiastic groups and individuals, users can obtain the latest security information and update it at any time, that is, it is relatively safer!

D) multi-task and multi-user: different from Windows systems, a Linux host allows multiple users to work online at the same time, and resources are allocated fairly, it is much more stable than Windows's single-person fake multi-task system! This multi-person and multi-task is a good Unix-Like function. how can this problem be solved? You can plan users of different levels on a Linux host, and the working environment for each user to log on to the system can be different. In addition, you can also allow different users to log on to the host at the same time to use the resources of the host at the same time.

E) user and group planning: in Linux machines, the attributes of a file can be defined by parameters such as "readable, writable, and executable". In addition, these attributes can also be divided into three types: Archive owner, archive owner group, and other non-owner and group owner 』. This provides good system confidentiality for project or other program developers.

F) systems with relatively low resource consumption

Disadvantages:

A) some professional software does not have the Linux version;

B) the graphic interface is not good enough.

6. Linux Development history

In 1960s, MIT developed the CompatibleTIme-Sharing System, which allows 30 terminals to access hosts;

~ The host is responsible for calculation, while the terminal is responsible for input and output;

In 1965, Bell Labs, MIT, and GE (General Electric) were preparing to develop the Multics System. to support 300 terminals to access hosts at the same time, they failed in 1969;

~ At the beginning, there was no mouse or keyboard, and the input device only had a card machine. Therefore, if you want to test a program, you need to insert the read card into the card machine. if there is an error, you need to repeat it;

~ Multics: MultiplexedInformation and Computing Service

In 1969, Ken Thompson developed the FIle Server System (Unics, a Unix prototype) using the assembly language)

~ Because assembly languages are dependent on hardware, they can only be used for specific hardware;

~ Just to transplant a space tourism game;

In 1973, Dennis Ritchie and Ken Thompson invented the C language and then wrote the Unix kernel.

~ The C language is changed to the C language, resulting in the father of the C language;

~ 90% of the code is written in C language, and 10% of the code is written in sink. Therefore, you only need to modify the 10% code during porting;

In 1977, Bill Joy of the University of Berkeley modified the Unix source code for his machine, known as BSD (BerkeleySoftware Distribution)

~ Bill Joy is the founder of Sun;

In 1979, Unix released System V for personal computers;

In 1984, due to Unix rules: "The source code cannot be provided to students", Tanenbaum wrote Unix-compatible Minix for teaching;

In 1984, Stallman started the GNU (GNU's NotUnix) project and founded the FSF (Free Software Foundation) Foundation;

~ Products: GCC, Emacs, Bash Shell, GLIBC;

~ Advocate "free software ";

~ GNU software lacks an open platform and can only run on Unix;

~ Free software means that the user can make any modification to the software or even release it again, but the GPL copyright is always required;

~ Free software can be sold, but not software, but services and manuals;

In 1985, a General Public License (GPL) was created to prevent free software developed by GNU from being used as patented by others;

In 1988, MIT established the XFree86 organization to develop the GUI;

In 1991, LinusTorvalds, a graduate student at Helsinki University in Finland, developed the Lniux kernel for 386 machines based on gcc and bash;

Torvalds released Linux-v1.0 in 1994;

In 1996, Torvalds released Linux-v2.0, identified the Linux mascot: Penguin;

7. Linux kernel version introduction

Linux kernel versions are classified into stable and development versions;

If this version is an even number, it is a stable version. if it is an odd number, it is a development version, which is used by kernel developers;

Releasing a version is a change to the next version, that is, adding some features;

The number of times the version is compiled. add one at a time;

8. Linux terminology

A) Linux Distribution

Linux Distribution: An installable system consisting of Kernel + Softwares + Tools; Ubuntu, Fedora, SUSE, and Redhat are all LinuxDistribution;

Linux Distribution is divided into RPM Package and dpkg installation based on the software installation method;

Linux Distribution is divided into the team version (applicable to personal computers) and the commercial version (applicable to servers) according to the released version );

B) Unix Like

It is similar to a Unix operating system;

C) authorization mode

Open Source: Open Source code;

Close Source: No Source code;

Freeware: free but not open-source;

Ware: free trial at the beginning, and charges will be collected after a period of time;

D) POSIX specification

POSIX is the specification for interfaces between applications and system calls;

E) SELinux

SecurityEnhanced Linux: developed by the National Security Administration of America to control access to Linux system files;

F) KDump function

When an error occurs in the kernel, messages in memory at that time are written to the file for kernel developers to view;

MORE: Linux study Notes-start
Related Article

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.