Linux is the most powerful operating system for any developer. Why? There are several reasons:
- Efficient: Simple, crude and effective commands can efficiently complete many daily development tasks
- Stable: Linux runs reliably and is perfect for backend servers
- Security: Linux is open source and maintained by many developers, so there are few exploitable vulnerabilities
- Open: Linux is open source
- Multi-user: True multi-user work
So where does such a powerful system come from?
1. The birth of GNU/Linux
In 1969, two people in AT&T (Bell LABS), Ken and Dennis, developed the Unix operating system in order to adapt to their game, and abandoned assembly, incidentally invented C language, using C to complete the entire operating system, and Unix is the source of all evil in this topic ~
In fact, Unix was open source and free, because it was only a stand-alone version, which did not have much effect. After a while, UC Berkeley produced the great TCP/IP protocol, which enabled all computers to communicate well. Unix evolved into BSD, and later FreeBSD, NetBSD, MacOS, IOS, etc…
But don’t forget, the origin of all this is Unix, of course, it’s impossible to see BSD so popular, Unix began to charge, for the company, charge for it, but the cost is a little high, but don’t forget that there are a group of frustrated students, who want to learn to use Unix, but can’t afford to use Unix, So Andrew Tnanebaum, a computer science professor in the United States, wrote Minix operating system based on Unix for teaching, which beat the blue. In 1991, Linus Torvalds, a sophomore in the United States, thought Minix was not good enough, so he wrote his own Linux kernel, but no matter how powerful it was, It’s just a kernel
Coincidentally, GNU (GNU is Not Uinx) was also a dedicated free Unix-like operating system at the time, developing almost all software other than the kernel, They created the General Public License (GPL), which gives you free access to the source code forever, allows you to modify it at will, but obliges you to make the changes Public. Into the most powerful operating system of all time, GNU/Linux.
2.GNU/Linux derived distributions
Of course, the Linux kernel and GNU together are not enough. For users, they should also include command line Shell or desktop environment (KDE, GNOME, Unity, etc.), so many Linux distributions have been derived, with three main branches:
- redhat
- debian
- openSUSE
These distributions are divided into two main categories by application scenario:
- CentOS/RHEL, openSUSE, and Ubuntu Server
- Desktop distributions: Ubuntu, Linux Mint, Fedora
Embedded Linux
Standard Linux runs on general-purpose computers or in the cloud. Although it contains many functions, it requires higher hardware configuration, as shown in the figureUbuntu 18.04.2 LTS
System requirements required for the release:
在Extremely limited resourcesIn embedded system, obviously such performance is absolutely impossible to meet, so, how to make the powerful Linux kernel application in embedded system?
Embedded system has a very distinctive features, usually for a specific application, so the standard Linux by cutting according to the situation, only keep required functionality (such as a router running Linux doesn’t need interface functions), so only need a small amount of Flash and RAM can perfect running on embedded devices.
4. Embedded Linux knowledge architecture
5. How to learn Linux
With such a powerful and effective operating system, just choose one of your favorite distributions for learning purposes. My learning journey is:
Learn first on a virtual machine:
- Can operate: basic Linux command, Linux file system
- Programming: shell script programming, basic C programming, network programming, GUI programming
Then use ARM9 or ARM11 on the development board:
- Will start: Migrated and started successfully
- Will drive: can write common driver program