What Linux is
لم يُترجم بعد؛ يُعرض باللغة الإنجليزية
Linux is a kernel: the core program that runs a computer and shares its hardware between every other program. Add a shell, commands and apps and you get a whole operating system, sold or given away as distributions such as Ubuntu, Debian and Fedora. Then follow your first command, uname -a, from the terminal through the shell to the kernel and back, and watch ls make the same trip.
5 أسئلة سريعة
اختر إجابة لتعرف السبب. تُحفَظ نتيجتك مع تقدّمك.
01What is Linux, strictly speaking?
Linux is a kernel. Together with a shell, commands and apps it makes an operating system; ready-made bundles of these are called distributions.
02Which of these is a Linux distribution?
Ubuntu bundles the Linux kernel with tools and apps, ready to install. Debian and Fedora are others. Python is a language and bash is a shell (one of the tools inside a distribution).
03Why can't the ls program read the disk by itself?
Only the kernel, in kernel space, drives the hardware. ls asks it with a system call (getdents64) to read the folder, and the kernel hands back the names.
04You type uname -a and press Enter. Which program reads the line and starts uname?
The terminal hands your line to the shell. The shell splits it into the program name and its option, then asks the kernel to start that program.
05Which of these machines run the Linux kernel?
The same kernel runs on very different machines. Android phones use the Linux kernel, most web servers and cloud computers run it, and on the November 2017 TOP500 list every one of the 500 fastest supercomputers ran Linux.
المسرد
- Kernel
- The core program of an operating system. It starts programs and is the only one allowed to drive the hardware: CPU, memory and disks.
- Linux
- A kernel, written from scratch by Linus Torvalds with help from people across the internet, and published as open source.
- Distribution
- A ready-made operating system: the Linux kernel plus a shell, commands and apps. Ubuntu, Debian and Fedora are examples.
- Terminal
- A window for text: you type commands into it and it shows what the programs print back.
- Shell
- The program that reads your commands and starts other programs. bash is the default on Ubuntu, Debian and Fedora.
- User space
- Where all ordinary programs run, the shell included. Code here cannot touch the hardware directly.
- System call
- A request a program makes to the kernel, for example to read a folder (getdents64) or to print text (write).
- Open source
- Software whose code anyone may read, change and share. Linux uses the GNU General Public License, version 2 (GPL).
الملاحظات والمصادر
- The uname answer on the card is an example from an Ubuntu 24.04 computer named lab. The middle (the kernel's build number and date) is cut to "…". Your machine prints its own name and version.
- Strictly, the terminal and the shell also talk through the kernel (a pseudo-terminal), and the shell waits for the program to finish before it shows the next prompt. The figure shows the main trip only. Also, on Linux the fork() wrapper in the C library (glibc) actually makes the clone system call.
- Many of the everyday commands, uname and ls included, come from the GNU project. That is why uname ends with GNU/Linux, and why some people call the whole system GNU/Linux.
- The kernel keeps recently used folders in memory, so ls often gets its answer without waiting for the disk.
- TOP500 ranks the 500 fastest supercomputers twice a year, in June and November. The November 2017 list was the first on which every system ran Linux.
- The Linux kernel documentation: Linux kernel release README (What is Linux?)
- The Linux kernel documentation: Linux kernel licensing rules
- Linux man-pages: intro(1), a user's introduction (terminal and shell)
- Linux man-pages: syscalls(2), Linux system calls
- Linux man-pages: uname(1) and uname(2)
- Linux man-pages: ls(1)
- Linux man-pages: execve(2), how a program is started
- Linux man-pages: fork(2), how a process copies itself (and the glibc clone note)
- Linux man-pages: write(2), how a program prints its output
- Linux man-pages: getdents(2), reading a folder's entries
- GNU Bash Reference Manual
- GNU Project: Linux and the GNU System
- Android Open Source Project: Kernel overview
- TOP500: list statistics (operating system family)
- Linux Foundation: Linux Runs All of the World's Fastest Supercomputers (November 2017)
- R. and A. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, ch. 6 Limited Direct Execution
اختبار يتاح بعد الخطوة الأخيرة.