According to abbreviationfinder, Linux has a series of characteristics that place it at the forefront of free software development. There are several reasons to use Linux on your PC and some of these are:
- Multitasking: The word multitasking describes the ability to run multiple programs at the same time. LINUX uses the so-called preventive multitasking, which ensures that all the programs that are being used at any given time will be executed, with the operating system in charge of giving microprocessor time to each program.
- Multi-user: Many users using the same machine at the same time.
- Multiplatform: The platforms in which Linux can be used initially are 386-, 486-. [[Pentium]], Pentium Pro, Pentium II, Amiga and Atari, there are also versions for use on other platforms, such as Alpha, ARM, MIPS, PowerPC and SPARC.
- Multiprocessor: Support for systems with more than one processor is available for Intel and SPARC.
- It works in protected mode 386.
- Memory protection between processes, so that one of them cannot hang the system.
- Loading executables on demand: Linux only reads from disk those parts of a program that are currently being used.
- Copy-on-write policy for sharing pages between executables: this means that multiple processes can use the same memory area to run. When someone tries to write to that memory, the page (4Kb of memory) is copied to another location. This copy-on-write policy has two benefits: it increases speed and reduces memory usage.
- Virtual memory using paging (without full process swapping) to disk: To a partition or a file in the File System, or both, with the ability to add more swap areas on the fly A total of 16 swap zones of 128Mb maximum size can be used at any given time with a theoretical limit of 2Gb for exchange. This limit can be easily increased by changing a few lines in the source code.
- Memory is managed as a unified resource for user programs and for disk cache, in such a way that all free memory can be used for cache and this in turn can be reduced when running large programs.
- Dynamically loaded shared libraries (DLL’s) and static libraries.
- State dumps (core dumps) are performed to enable post-mortem analysis, allowing the use of debuggers on the programs not only in execution but also after aborting them for any reason.
- Compatible with POSIX, System V and BSD at the source level.
- IBCS2 emulation, almost fully compatible with SCO, SVR3 and SVR4 at the binary level.
- All source code is available, including the full kernel and all drivers, development tools, and all user programs; moreover, all of this can be freely distributed. There are some commercial programs that are currently being offered for Linux without source code, but everything that has been free is still free.
- POSIX task control.
- Pseudo-terminals (pty’s).
- 387 emulation in the kernel, so programs don’t have to do their own math emulation. Any machine running Linux will appear equipped with a math coprocessor. Of course, if the computer already has a FPU (floating point unit), this will be used instead of emulation, and you can even compile your own kernel without mathematical emulation and achieve a small memory saving.
- Support for many national or custom keyboards and it is quite easy to add new ones dynamically.
- Multiple virtual consoles: several login sessions through the console that can be switched between with the appropriate key combinations (totally independent of the video hardware). They are created dynamically and you can have up to 64.
- Support for several common file systems, including minix-1, Xenix, and all typical System V file systems, and has an advanced proprietary file system with a capacity of up to 4TB and file names up to 255 characters long.
- Transparent access to MS-DOS partitions (or OS / 2 FAT partitions) using a special file system: no special command is necessary to use the MS-DOS partition, it looks like a normal Unix file system (except for some restrictions on filenames, permissions, and stuff). MS-DOS 6 compressed partitions are not accessible at this time, and are not expected to be in the future. Support for VFAT (WNT, Windows 95) has been added to the development kernel and will be in the next stable release.
- A special filesystem called UMSDOS that allows Linux to be installed on a DOS filesystem.
- OS / 2 2.1 HPFS-2 read-only support
- CD-ROM file system that reads all standard CD-ROM formats.
- TCP / IP, including FTP, telnet, NFS, etc.
- Netware client and server software.
- Lan Manager / Windows Native (SMB), client and server software.
- Various network protocols included in the kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc.
Variants of this union of programs and technologies, to which various application programs for specific or general purposes are added, are called distributions. Its objective is to offer editions that meet the needs of a certain group of users. Some of them are especially known for their use in Servers and Supercomputers. However, it can be installed on a wide variety of hardware such as desktop and laptop computers.
In pocket computers, mobile phones, embedded devices, game consoles, and others, it may be the case that parts of GNU are replaced by more suitable alternatives. To know more about the supported architectures.