Skip to content

Commit 9393b3c

Browse files
committed
Expanding preliminaries section
1 parent 5aaa82c commit 9393b3c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Linux/Linux-distros-comparison.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ When I mention "exotic" or "obscure" software, I mean software that is fairly un
1919
<li><a href="#preliminaries">Preliminaries</a></li>
2020
<ul>
2121
<li><a href="#what_is_linux">What is Linux?</li>
22+
<li><a href="#licensing">Licensing</li>
23+
<li><a href="#file_system">File system</li>
24+
<li><a href="#unix">Unix</li>
2225
<li><a href="#core_components_of_a_Linux_distribution">Core components of a Linux distribution</a></li>
2326
<li><a href="#linux_graphical_user_interface">Linux graphical user interface</a></li>
2427
<li><a href="#release_model">Release model</a></li>
@@ -65,7 +68,13 @@ A Linux distribution is defined by its use of the [Linux kernel](https://en.wiki
6568
The Linux kernel is likely the single most popular operating system kernel in the world, due to its use in servers, Android smartphones and IoT devices. Unlike the kernel of Windows, it is [open source](https://en.wikipedia.org/wiki/Open_source). Open source, in this context, means that the source code of the Linux kernel is openly shared and can be legally modified and redistributed by anyone. The Linux kernel is licensed under the [GNU General Public License](https://en.wikipedia.org/wiki/GNU_General_Public_License) (GPL), which is [copyleft](https://en.wikipedia.org/wiki/Copyleft). A copyleft license is an open-source licence that requires that any code derived from code licensed under it is distributed under a similar copyleft license. Many companies (e.g. [NVIDIA](https://en.wikipedia.org/wiki/NVIDIA) and [Broadcom](https://en.wikipedia.org/wiki/Broadcom)) that design hardware and their device drivers choose not to distribute their drivers under the GPL or licenses compatible with it. Due to this, these drivers cannot be included in the kernel. This is one reason why desktop Linux users often experience hardware compatibility issues when running Linux. Likewise, the Linux kernel module that adds support for the [ZFS](https://en.wikipedia.org/wiki/ZFS) file system is distributed under the [Common Development and Distribution License](https://en.wikipedia.org/wiki/Common_Development_and_Distribution_License) (CDDL), which does satisfy the open-source criterion, but it is not copyleft and hence is not GPL compatible and cannot be included in the kernel.
6669

6770
## File system
68-
Popular file systems with Linux kernel support include, but are not limited to: [Btrfs](https://en.wikipedia.org/wiki/Btrfs) (which can be pronounced as "butterFS" or "betterFS"), [ext4](https://en.wikipedia.org/wiki/Ext4), [FAT32](https://en.wikipedia.org/wiki/File_Allocation_Table#FAT32) (popular for [EFI system partitions](https://en.wikipedia.org/wiki/EFI_system_partition)) and [XFS](https://en.wikipedia.org/wiki/Xfs). The Linux kernel can also support [ZFS](https://en.wikipedia.org/wiki/ZFS) via a third-party kernel module. Btrfs and ZFS are the most advanced of these file systems, they can both span multiple disks and both have a focus on safeguarding data integrity and support snapshotting to back up the file system. They also have among the largest maximum file system and file sizes. ZFS is the more mature file system out of Btrfs and ZFS and has more advanced features and typically better performance (although, this is partly due to it doing a lot of operations in RAM). Btrfs and ZFS are particularly popular on servers, due to the importance of data integrity, backups and the ability of file systems to span multiple disks in this specific context. ext4 is a more basic file system without the advanced data integrity safeguards, snapshotting features and ability to span multiple disks of Btrfs and ZFS. XFS is designed to have superior performance to ext4 in some circumstances and its maximum file system and file sizes are larger too, although these limits are $\geq$16TB, so not relevant to most desktop users.
71+
Popular file systems with Linux kernel support include, but are not limited to: [Btrfs](https://en.wikipedia.org/wiki/Btrfs) (which can be pronounced as "butterFS" or "betterFS"), [ext4](https://en.wikipedia.org/wiki/Ext4), [FAT32](https://en.wikipedia.org/wiki/File_Allocation_Table#FAT32) (popular for [EFI system partitions](https://en.wikipedia.org/wiki/EFI_system_partition)) and [XFS](https://en.wikipedia.org/wiki/Xfs). The Linux kernel can also support [ZFS](https://en.wikipedia.org/wiki/ZFS) via a third-party kernel module.
72+
73+
Btrfs and ZFS are the most advanced of these file systems, they can both span multiple disks and both have a focus on safeguarding data integrity and support snapshotting to back up the file system. They also have among the largest maximum file system and file sizes. ZFS is the more mature file system out of Btrfs and ZFS and has more advanced features and typically better performance (although, this is partly due to it doing a lot of operations in RAM). ZFS has poorer performance on file read and writes, which is a major part of what a root file system is used for, so for root file systems Btrfs or XFS may be preferable. Btrfs and ZFS are particularly popular on servers, due to the importance of data integrity, backups and the ability of file systems to span multiple disks in this specific context.
74+
75+
ext4 is a more basic file system without the advanced data integrity safeguards, snapshotting features and ability to span multiple disks of Btrfs and ZFS. It also has journalling, which is used to log all changes to the file system. This is used as a check on data integrity and can also help recover the file system in the event of damage, but it also has performance costs such as during write operations. It can be disabled, but this should not be done lightly as it can cause issues with file system recovery.
76+
77+
XFS is designed to have superior performance to ext4 in some circumstances and its maximum file system and file sizes are larger too, although these limits are $\geq$16TB, so not relevant to most desktop users.
6978

7079
## Unix
7180
Linux distributions are almost always [Unix-like](https://en.wikipedia.org/wiki/Unix-like) too, although there are exceptions like [Android](https://en.wikipedia.org/wiki/Android_(operating_system)). This means, among other things, that most Linux distributions share similar commands to [Unix](https://en.wikipedia.org/wiki/Unix) systems and roughly follow the [design philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) of Unix with each command doing just one thing and doing it well.

0 commit comments

Comments
 (0)