Why does high defense server use Linux system? What are the advantages of using a Linux system for a server?

  1. What is linux?

Linux is a free-to-use and freely spread Unix-like operating system. It is a multi-user, multi-tasking, multi-threaded and multi-CPU operating system. It can run major UNIX tools, applications, and network protocols. It supports 32-bit and 64-bit hardware. Linux inherits Unix's network-centric design philosophy and is a multi-user network operating system with stable performance.

  1. The characteristics of the Linux system?

Stable system: For example, it is common for the host with Linux installed to run continuously for more than a year without any downtime and no need to shut down. When my windows system was turned on this morning, the screen was black and it was restored after forced shutdown. The reason is unknown.

Security and quick patching of vulnerabilities: Linux is used by many computer masters, so there are many maintainers, and updates and maintenance are fast. Windows is used by everyone and is not open source.

Multi-tasking and multi-user: You can plan users of different levels on a Linux host, and each user can log in to the system in a different working environment. In addition, you can also allow different users to log in to the host at the same time to use the host's resources

Planning of users and user groups: On linux machines, files can be divided into three types: readable, writable and executable (these attributes can also be set on windows, in the command line, they will be written in future windows blogs). , These attributes can also be divided into three categories: the file owner, the user group to which the file belongs, and other non-owners and user groups, which have good confidentiality for project or other project developers

Relatively few system resource usage: This is the most eye-catching place. Any personal computer on the market can be used to build a host that can serve hundreds of people using Linux.

Customizable tailoring and porting to embedded platforms (such as Android devices)

Optional multiple graphical user interfaces (such as GNOME, KDE)

1. High degree of modularity

Linux's kernel design is very delicate, divided into five parts: process scheduling, memory management, inter-process communication, virtual file system and network interface; its unique module mechanism can insert or remove some modules in real time according to the needs of users. Go, make the Linux system kernel can be tailored very small, very suitable for the needs of embedded systems.

2. Open source code

Since the development of the Linux system has been closely integrated with the GNU project from the beginning, most of its components come directly from the GNU project. Anyone and any organization can freely use the Linux source code as long as they comply with the terms of the GPL, providing users with maximum freedom. This is also good for embedded systems, because embedded system applications vary widely, designers often need to modify and optimize the source code for specific applications, so whether the source code can be obtained is crucial to the development of embedded systems . In addition, the software resources of Linux are very rich. Almost all common programs can be found on Linux, and the number is still increasing. All this makes it very easy for designers to carry out secondary development on its basis. In addition, since the Linux source code is open, users do not have to worry about security risks such as "back gates".

At the same time, the open source code provides great convenience to various educational institutions, which also promotes the learning, promotion and application of Linux.

3. Extensive hardware support

Linux can support microprocessors with multiple architectures such as x86, ARM, MIPS, ALPHA, and PowerPC. It has been successfully ported to dozens of hardware platforms and can run on almost all popular processors.

Because there are many developers around the world who are contributing to the expansion of Linux, Linux has an extremely rich driver resource, supports various mainstream hardware devices and the latest hardware technology, and can even be used without the processor of the storage management unit MMU. All these have further promoted the application of Linux in embedded systems. Welcome to consult prestige Qiuheng233

4. Good safety and reliability

The kernel is efficient and stable. The efficiency and stability of the Linux kernel has been verified by a large number of facts in various fields.

A large number of network management, network services and other functions in Linux enable users to easily build efficient and stable firewalls, routers, workstations, servers, etc. To improve security, it also provides a large number of network management software, network analysis software, and network security software.

5. Have excellent development tools

The key to developing embedded systems is to have a complete set of development and debugging tools. The traditional embedded development and debugging tool is the in-circuit emulator (In Circuit Emulator, ICE), which provides a complete simulation environment for the target program by replacing the microprocessor of the target board, so that the developer can understand the program very clearly The working status on the target board is convenient for monitoring and debugging the program. The price of the online emulator is very high, and it is only suitable for very low-level debugging. If you are using embedded Linux, once the software and hardware can support the normal serial port function, even if you don't need an online emulator, you can also develop and debug well, thus saving a lot of development costs. Embedded Linux provides developers with a complete tool chain (Tool Chain), which can easily implement debugging at various levels from operating system to application software.

6. There is a good network support and file system support

Linux has been inseparable from the Internet since its birth, supports various standard Internet network protocols, and is easily transplanted to embedded systems. At present, Linux supports almost all mainstream network hardware, network protocols and file systems, so it is a good platform for NFS.

On the other hand, because Linux has good file system support (for example, it supports Ext2, FAT32, romfs and other file systems), it is a good platform for data sharing, synchronization and copying, which lays the foundation for the development of embedded system applications solid foundation.

7. Fully compatible with UNIX

At present, the tools and utilities included in Linux can complete all the main functions of UNIX.

But because Linux is not designed for real-time, this has become the biggest regret of Linux's application in real-time systems. However, many free software enthusiasts are making unremitting efforts to this end and have achieved many results.

In addition, some knowledge points about the development of C++ Linux background server are shared: Linux, Nginx, MySQL, Redis, P2P, K8S, Docker, TCP/IP, coroutine, DPDK, webrtc, audio and video and other videos. Get private message "1" in the background!

For more interview materials, learning videos and notes, search on WeChat and follow the official account of Lingsheng Academy to receive! !
Insert picture description here

Insert picture description here
Insert picture description here

Guess you like

Origin blog.csdn.net/lingshengxueyuan/article/details/107563184