Linux Research (basic cognition article)

Source: Internet
Author: User

Linux Research (basic cognition article)

What is Linux?

Linux is an open-source Unix-like system, the mere term Linux only refers to a kernel-space operating system kernel (kernel) that was developed and released in 1991 by Linus. Torvalds.

Why would you develop a kernel?

        to start talking about how an application is running on a computer, early applications need to understand that CPU instruction sets are developed using languages such as compilations. Common instruction set architectures for CPUs: x86, x64 (earlier known as AMD64) are compatible with x86, m68000 (m68k), ARM, Power, Power PC (PPC, desktop-level power). These different manufacturers of CPU instruction sets are mostly different, based on the development of the program is incompatible with each other, therefore, each development of a software for different instruction set of CPU rewrite software to achieve the same function, directly facing the hardware development of the program is very difficult to transplant. In order for the program to run on the computer, the hardware device must be driven to accept the program's control, which means that the program developer must write the driver development of different devices into the program. Simply speaking of this, you must know the answer! To overcome the incompatibility of programs developed for different CPU architectures, porting and its energy-intensive need for a high-level development language that does not have much to do with hardware such as CPUs. The programs developed by this high-level language are translated into executable assembly code on the hardware architecture that the compiler runs through the compiler (compile). Of course, the compiler can also run on a computer, for a different CPU architecture of the B computer to convert the program to B executable code, that is, cross-compiling. Similarly, in order to overcome the programmer for the underlying hardware development, the need for a variety of hardware-driven and organized to abstract it into a unified interface of the middle tier, translation officer, no matter where you go, different regions of the language will be translated by the official, translated into your understanding of the mother tongue, If you want to make any comments, you just have to face the translator. So the protagonist Linux kernel, from kernel down to the complexity of various hardware specifications, and upward to abstract it into a unified interface called System call.

The code for the public part of the kernel functionality is encapsulated again as a library (libraries), providing a uniform, standardized interface for program invocation. Because libraries in different operating systems in the same language encapsulated library and call interface and its internal encoding implementation, resulting in the program is incompatible between different operating systems, to the program operation and porting trouble, so the International organization Committee launched the POS (POSIX) standard to standardize.

There are two forms of system calls

    • API (Application programing Interface) : The system calls the programming interface, guarantees the program portability, relies on the C library (LABC) implementation, follows the POSIX standard;

    • ABI (Application Binary interface) : Application binary interface, after the program is compiled to form a fixed-format binary file, Windows. Exe,linux elf, etc., interprets the binary interface between the application and the operating system.

Linux kernel is a good implementation of the above functions.

We know that a complete operating system is composed of kernel space (kernel state) and lower privilege user space (user state) with higher permissions to dispatch hardware resources.

So where is the application of user space?

in fact, before the advent of Linux kernel, it was very dismissive to associate with Unix's closed-source, fee-licensed applications Richard Storman Professor Stallman, a nonprofit free Software Foundation FSF, launched the gun program with the slogan "GNU's not UNIX recursive abbreviation, the main task is to develop free, open, Source code provided by open source software (open source software). How can free software run on top of the closed-source kernel? have been suffering from the lack of an easy-to-use open source, free kernel to make free software run.

The birth of Linux has made the two come together, allowing free, open-source gun software to blossom. Make up the Gun/linux operating system in its true sense.

Important philosophical ideas of Linux:

    • Everything is text, including hardware devices

    • Complete complex tasks by combining multiple, single-function small programs

    • Minimize user interaction and avoid capturing user interfaces

    • Saving configuration information using plain text files

The current mainstream Linux distribution:

Debian ==> Ubuntu PC Desktop Recommendations

RedHat ==> Centos Server domain

Slackware ==> S.U.S.E

Gentoo

ArchLinux

Please correct me if there is any mistake.

This article is from the "City of Syria" blog, please be sure to keep this source http://cityx.blog.51cto.com/9857477/1910378

Linux Research (basic cognition 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.