Table of contents
2. Schematic diagram of sub-files under the arch file
2. Schematic diagram of sub-files under the block file
(2) Disk device management files
(7) Kernel distinguishes management files
(11) Only disk I/O scheduling files
1. Arch file
1. Function
The arch folder is used to define the supported architectures and the CPU processor specific code required for each architecture. It contains support for various processor architectures, including assembly code, core implementation, and other drivers, such as X86, PowerPC, ARM, MIPS, SPARC, S390, etc. It also contains architecture-specific processor and interrupt processor-specific information for performing operations throughout the system.
2. Schematic diagram of sub-files under the arch file
3. The role of each sub-file
(1)alpha
The alpha folder is the kernel source code to support the relevant operating system files of the DEC alpha processor, including the main abstraction layer, general files and architecture related files.
(2)arc
The arc folder is the relevant operating system files that the kernel source code supports Synopsys ARC processors, including the main abstraction layer, common
files and architecture-related files.
(3)arm
The arm folder is the relevant operating system files that the kernel source code supports ARM processors, including the main abstraction layer, common files, and architecture-related files.
(4)arm64
The arm64 folder is the relevant operating system files that the kernel source code supports ARM64 processors, including the main abstraction layer, common files and architecture-related files.
(5)cshy
The cshy folder under the cshy folder is the relevant operating system files that the kernel source code supports Qualcomm processors, including the main abstraction layer, general files and architecture related files.
(6)hexagon
It is a linux kernel support for Cycent's embedded multi-processor architecture, which can realize control system optimization and high-efficiency computing units. It can process the compressed codes sent by Cycent watches, greatly improving the calculation, and the multi-processor and multi-core technologies ensure the high performance of the system.
(7)to 64
Indicates the Intelltanium memory architecture, which is Intel's construction of the x86 architecture for 64-bit processors, using EPlC (Explicitly Parallel Instruction Computing) optimized and improved high-performance processor architecture. It is mainly used
in the field of computing, the server market and bitmap devices, and it usually uses Linux and Windows in combination.
(8)longarch
It is a 64-bit authoritative processor solution independently developed by the China Loongson Foundation. It uses multi-processor technology to realize the integration of computing and graphics processors, helping large-scale enterprises and small users to popularize and apply the new generation of computer languages, and grasp the opportunity of updating and integrating knowledge.
(9)m68k
A 32-bit core processor architecture that can provide a variety of low-power processing capabilities and can run in different software environments, such as Linux, Unix, VxWorks, etc. Applications running on the m68k system are transplanted to It can also be executed normally on other systems. The m68k platform is also applied to various terminal devices such as Android smart phones, tablet PCs and Apple mobile phones.
(10)microblaz
It is a stripped-down programmable processor, developed by Xilinx, which is also a bulky RISC processor.
(11)mips
It is a RISC processor architecture that includes several different processor products, including designs optimized for low cost, mass storage, virtualization, graphics processing, and application instructions.
(12)news2
It is a processor based on a streamlined custom RISC system, developed by Altera, and it is called the NiosIl processor.
(13)openrisc
It is an open source RISC processor architecture that includes a unique set of architectural instructions and a variety of custom hardware support.
(14) paris
It is a RISC processor architecture developed by Hewlett Packard (modern Hewlett Packard Enterprise) which appeared in late 1990s and was later replaced by PA-RISC2.1 systems.
(15)powerpc
It is an architecture, jointly developed by IBM, Motorola, and Apple, to build high-performance, small and compact architecture instruction set (RISC) processors.
(16)riscv
It is a new RISC processor architecture, supported by the RISC-V Foundation, which is an open standard that aims to transform the technology of embedded, mobile, network and cloud computing systems.
(17)s390
It is an IBM architecture for building extremely high-performance RISC processors with several essential hardware features that support instruction set backward compatibility, as well as low power consumption and high reliability.
(18)sh
It is a standard RISC processor architecture developed by Hitachi/Renesas as a small size, power efficient and performance architecture for 32-bit and 64-bit applications.
(19)sparc
It is a RISC processor architecture developed by Sun Microsystems (later acquired by Oracle), which has advantages for floating-point computing, high mass storage, virtual memory, and interoperability.
(20)one
It is a scalable, highly portable RISC architecture developed by Uni-Micro, including a variety of processors, switches, and network storage.
(21)x86
It is an architecture designed by Intel for use in its line of chipset products with instruction set backward compatibility for most mainstream desktop, laptop and mobile device products.
(22)xtensa
It is a low-power RISC processor, developed by Tensilica, with high configurability, including customizable instruction sets, hardware accelerators, multi-processors, high-capacity storage, and support for multiple security levels.
(23).gitignore
It is an ordinary file that specifies for Git configuration which files and directories should be ignored by Git, and what to do with files that have been added to the repository.
(24)Kconfig
Kconfig folder: It is a folder used to manage system configuration and kernel features during Linux kernel development. It contains some specific configuration files for configuring different hardware and software components.
Two, block file
1. Function
The block folder contains the core kernel implementation for handling /O requests, such as block device drivers and kernel abstraction layers that support access to block devices. It also includes some auxiliary modules for handling block device access, such as block request processing and management, hard disk cache management and disk space management, etc.
2. Schematic diagram of sub-files under the block file
3. The role of each sub-file
(1) partitions file
The partitions folder stores the partition tables supported by the Linux kernel, including MS-DOS, GPT, and
Bios Partition Table.
(2) Disk device management files
block/genhd.c、drivers/block/ll_rw_blk.c和block/partitions/check.c.
(3) Disk hash table file
block/blk-hash.c
(4) Disk I/O queue file
block/elevator.c和block/blk-mq.c
(5) Timer queue file
block/blk-timeout.c
(6) Disk trace file
block/blk-core.c
(7) Kernel distinguishes management files
block/genhd.c
(8) Strip files
block/blk-core.c
(9) Hard disk encrypted files
block/blk-crypto.c
(10) Disk image file
block/snapshot.c
(11) Only disk I/O scheduling files
block/cfq-iosched.c和block/deadline-iosched.c
Three, certs file
1. Function
The certs folder holds local certificate and key information for security features in the Linux kernel such as authentication and authentication. It can also be used with TLS/SSL for secure communication between client and server.
2. The role of each sub-file
(1)ca-bundle.trust.crt
This file consists of an X.509 certificate and a list of trusted portals, which are used to verify the security certificate of the website.
(2)ca-bundle.crt
This file contains a list of X.509 root certificates issued to verify the validity of security certificates used for HTTPS connections to the Internet
.
(3)ca-certificates.crt
This file signs the certificate's owner and issuer to verify the identity of the owner for encrypted communications.
(4)ca-certificates-cacert.pem
This file is crafted from invalid Cacert root certificates from the network to certify the validity of SSL certificates.
(5)ca-certificates.crt.txt
This file contains a series of X.509 root certificates used to verify the validity of SSL connection certificates between client/server.
Four, crpyto file
1. Function
The crypto folder contains the modules used by the kernel to implement encryption, decryption, digital signature and Hash algorithm, and provides the crypto APl required for user state application programming. It also provides some modules that support hardware accelerators, and the ability to allow users to switch between different algorithms.
2. The role of each sub-file
(1)aes.ko
This is a kernel module for the AES algorithm that allows administrators to use AES encrypted data streams
(2) ans.ko
This is the kernel module of the ANS algorithm, which prevents misuse and character-specific attacks by converting standard ASCII text into enhanced strings
(3)md5.ko
This is the kernel module for the MD5 algorithm, which allows administrators to use MD5 to encrypt data streams;
(4) take 1. or
This is the kernel module for the SHA-1 algorithm, which allows administrators to use SHA-1 to encrypt data streams;
(5)ecryptfs.ko
This is the kernel module of the Ecryptfs algorithm, which provides safe and reliable file system encryption;
(6) des.ko
This is the kernel module for the DES algorithm, allowing administrators to use DES encrypted data streams;
(7)cast.or
This is the kernel module of the CAST algorithm, which allows administrators to use CAST encrypted data streams;
(8)hmac.ko
This is the kernel module of the HMAC algorithm, which can realize the function of message authentication according to the hash function.
Five, Documentation file
1. Function
The Documentation folder mainly records the explanatory documents in the Linux kernel source code, which is mainly used to have a basic understanding of developers, such as some features of the Linux kernel, some code organization forms and other related documents; and Linux system calls, character devices and A guide to the file system, as well as some programming-related content; it can also be used to view interface documents, so that you can better understand the basics of kernel programming.
Six, drivers file
1. Function
The files in the drivers folder are generally used to place the code for storing device drivers. These files will be loaded or unloaded when the Linux kernel is started or shut down, thereby providing various device-related functions and supporting interfaces with other Linux commands. For example: storage device drivers, network device drivers, display device drivers, etc.
2. The role of each sub-file
(1) acpi folder
It is to store the hardware driver code related to Programmable Computer Interface (ACPI).
(2) block folder
Store the driver source code files of block devices (such as hard disks, optical drives, etc.).
(3) firewire folder
Store the driver source code files of FireWire devices.
(4) GPU folder
Store GPU (Graphics Processing Unit) related hardware driver code.
(5) hwmon folder
Store the drivers for hardware monitors (such as temperature sensors, voltage sensors, etc.)
(6) input folder
Store the driver source code files of system input devices (such as mouse, keyboard, etc.).
(7) ion folder
Store the source code files related to ION memory management driver.
(8) media folder
Store the driver source code files of media devices (such as cameras, cameras, etc.).
(9) net folder
Store the driver source code files of network interface devices (such as network cards, etc.).
(10) rtc folder
Store the driver source code file of the real-time clock (RealTimeClock).
(11) scsi folder
Store the driver source code files of SCSI devices.
(12) sound folder
Store the driver source code files of the sound card device.
(13) vfio folder
Store the driver source code files of the virtual function input/output (VFIO) device.
(14) w1 folder
Store the driver source code files of the single-wire one-bit protocol (1-Wire) device.