Misplaced Pages

Arch Linux

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
#326673

113-425: Arch Linux ( / ɑːr tʃ / ) is an independently developed x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model . The default installation is intentionally minimal, and is configured by the user during installation so they may add only what they require. Pacman , a package manager written specifically for Arch Linux,

226-405: A HPE EPYC -based supercomputer called Frontier is number one. The first ARM-based supercomputer appeared on the list in 2018 and, in recent years, non-CPU architecture co-processors ( GPGPU ) have also played a big role in performance. Intel's Xeon Phi "Knights Corner" coprocessors, which implement a subset of x86-64 with some vector extensions, are also used, along with x86-64 processors, in

339-519: A flag or switch ) modifies the operation of a command; the effect is determined by the command's program. Options follow the command name on the command line, separated by spaces. A space before the first option is not always required, such as Dir/? and DIR /? in DOS, which have the same effect of listing the DIR command's available options, whereas dir --help (in many versions of Unix) does require

452-507: A help option provides a concise review of the options of a command. The command-line environment may not provide graphical enhancements such as different fonts or extended edit windows found in a GUI. It may be difficult for a new user to become familiar with all the commands and options available, compared with the icons and drop-down menus of a graphical user interface, without reference to manuals. Operating system (OS) command-line interfaces are usually distinct programs supplied with

565-497: A package manager written specifically for Arch Linux. Pacman handles package installation, upgrades, downgrades, removal and features automatic dependency resolution. The packages for Arch Linux are obtained from the Arch Linux package tree and are compiled for the x86-64 architecture. Pacman typically uses binary packages with a .tar.zst extension (for zstd compression), with .pkg placed before this to indicate that it

678-478: A pipeline where the output of one command becomes the input to the next command. One can modify the set of available commands by modifying which paths appear in the PATH environment variable. Under Unix, commands also need be marked as executable files. The directories in the path variable are searched in the order they are given. By re-ordering the path, one can run e.g. \OS2\MDOS\E.EXE instead of \OS2\E.EXE, when

791-424: A rolling release model. Packages in the main repositories are updated often, with new updates being pushed far quicker when compared to LTS distributions. This style of package management allows users to easily keep systems updated. Occasionally, manual interventions are required for certain updates, with instructions posted on the news section of the Arch Linux website. All packages are managed through pacman ,

904-650: A 64-bit OS. A CPU would no longer have legacy mode , and start directly in 64-bit long mode . There will be a way to switch to 5-level paging without going through the unpaged mode. Specific removed features include: Intel believes the change follows logically after the removal of the A20 gate in 2008 and the removal of 16-bit and 32-bit OS support in Intel firmware in 2020. Support for legacy operating systems would be accomplished via hardware-accelerated virtualization and/or ring 0 emulation. Advanced Performance Extensions

1017-438: A CLI, presenting their own prompt to the user and accepting command lines. Other programs support both a CLI and a GUI. In some cases, a GUI is simply a wrapper around a separate CLI executable file . In other cases, a program may provide a CLI as an optional alternative to its GUI. CLIs and GUIs often support different functionality. For example, all features of MATLAB , a numerical analysis computer program, are available via

1130-458: A Unix-like CLI. Microsoft provides MKS Inc. 's ksh implementation MKS Korn shell for Windows through their Services for UNIX add-on. Since 2001, the Macintosh operating system macOS has been based on a Unix-like operating system called Darwin . On these computers, users can access a Unix-like command-line interface by running the terminal emulator program called Terminal , which

1243-434: A bit more than 512  GiB of memory (about 0.195% of the 256 TiB virtual space). Intel has implemented a scheme with a 5-level page table , which allows Intel 64 processors to support a 57-bit virtual address space. Further extensions may allow full 64-bit virtual address space and physical memory with 12-bit page table descriptors and 16- or 21-bit memory offsets for 64 KiB and 2 MiB page allocation sizes;

SECTION 10

#1732791321327

1356-461: A collection of build scripts known as PKGBUILDs . PKGBUILD scripts are executed by the makepkg command, which downloads the necessary files from the software's repository and builds them using the Arch build system. The Arch Linux repositories contain both libre and nonfree software, and the default Arch Linux kernel contains nonfree proprietary blobs , hence the distribution is not endorsed by

1469-504: A command procedure or script which itself can be treated as a command. These advantages mean that a user must figure out a complex command or series of commands only once, because they can be saved, to be used again. The commands given to a CLI shell are often in one of the following forms: where doSomething is, in effect, a verb , how an adverb (for example, should the command be executed verbosely or quietly ) and toFiles an object or objects (typically one or more files) on which

1582-632: A community-run wiki known as the ArchWiki. Inspired by CRUX , another minimalist distribution, Judd Vinet started the Arch Linux project in March 2002. The name was chosen because Vinet liked the word's meaning of "the principal," as in "arch-enemy". Originally only for 32-bit x86 CPUs, the first x86_64 installation ISO was released in April 2006. Vinet led Arch Linux until 1 October 2007, when he stepped down due to lack of time, transferring control of

1695-774: A completely new design, the Isaiah architecture was built with support for features like the x86-64 instruction set and x86 virtualization which were unavailable on its predecessors, the VIA C7 line, while retaining their encryption extensions. In 2020, through a collaboration between AMD, Intel, Red Hat , and SUSE , three microarchitecture levels (or feature levels) on top of the x86-64 baseline were defined: x86-64-v2, x86-64-v3, and x86-64-v4. These levels define specific features that can be targeted by programmers to provide compile-time optimizations. The features exposed by each level are as follows: baseline for all x86-64 CPUs matches

1808-467: A number of VIA-specific x86 extensions designed to boost efficiency in low-power appliances. It is expected that the Isaiah architecture will be twice as fast in integer performance and four times as fast in floating-point performance as the previous-generation VIA Esther at an equivalent clock speed . Power consumption is also expected to be on par with the previous-generation VIA CPUs, with thermal design power ranging from 5 W to 25 W. Being

1921-436: A package is rebuilt in a different environment it should be bit-by-bit identical. This allows users and researchers to verify the integrity of the packages found in the official repository. The status of this effort can be monitored on the dedicated status page . There are several projects working on porting the Arch Linux ideas and tools to other kernels, including PacBSD (formerly ArchBSD) and Arch Hurd , which are based on

2034-588: A pure GUI. This is typically the case with operating system command shells . CLIs are also used by systems with insufficient resources to support a graphical user interface. Some computer language systems (such as Python , Forth , LISP , Rexx , and many dialects of BASIC ) provide an interactive command-line mode to allow for rapid evaluation of code. CLIs are often used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users. CLIs are also popular among people with visual disabilities since

2147-473: A result, Arch developers have stated that the utilities for automatic finding, downloading and executing of PKGBUILDs will never be included in the official repositories. Users can create packages compatible with Pacman using the Arch build system and custom PKGBUILD scripts. This functionality has helped support the Arch User Repository, which consists of user contributed packages to supplement

2260-582: A review about Arch Linux in 2005. LWN.net also has two later reviews about Arch Linux. Tux Machines reviewed Arch Linux in 2007. Chris Smart from DistroWatch Weekly wrote a review about Arch Linux in January 2009. DistroWatch Weekly reviewed Arch Linux again in September 2009 and in December 2015. X86-64 x86-64 (also known as x64 , x86_64 , AMD64 , and Intel 64 ) is a 64-bit version of

2373-482: A temporarily mounted device which belongs to another system. Depending on the selected installation type, further actions may need to be taken before the new system is ready for use. Notable configuration includes the installation of a bootloader , configuring the system with a hostname , network connection, language settings, and graphical user interface. Arch Linux does not schedule releases for specific dates, nor does it provide traditional releases, but instead uses

SECTION 20

#1732791321327

2486-406: A virtual processor running in the desired mode. Since the basic instruction set is the same, there is almost no performance penalty for executing protected mode x86 code. This is unlike Intel's IA-64 , where differences in the underlying instruction set mean that running 32-bit code must be done either in emulation of x86 (making the process slower) or with a dedicated x86 coprocessor. However, on

2599-479: Is a 2023 Intel proposal for new instructions and an additional 16 general-purpose registers. VIA Technologies introduced their first implementation of the x86-64 architecture in 2008 after five years of development by its CPU division, Centaur Technology . Codenamed "Isaiah", the 64-bit architecture was unveiled on January 24, 2008, and launched on May 29 under the VIA Nano brand name. The processor supports

2712-543: Is a Pacman package (giving .pkg.tar.zst ); though other compression formats are also valid, such as .pkg.tar.xz . Packages can be installed via pacman -S package name , and pacman -Syu can be used to perform a full system upgrade. As well as Arch Linux, Pacman is also used for installing packages under MSYS2 (a fork of Cygwin ) on Windows. The following official binary repositories exist: Additionally, there are testing repositories which include binary package candidates for other repositories. Currently,

2825-513: Is active a program is typically invoked by typing its name followed by command-line arguments (if any). For example, in Unix and Unix-like environments, an example of a command-line argument is: file.s is a command-line argument which tells the program rm to remove the file named file.s . Some programming languages, such as C , C++ and Java , allow a program to interpret the command-line arguments by handling them as string parameters in

2938-429: Is also provided for automated source compilation , known as the Arch build system. Arch Linux focuses on simplicity of design, meaning that the main focus involves creating an environment that is straightforward and relatively easy for the user to understand directly, rather than providing polished point-and-click style management tools –the package manager, for example, does not have an official graphical front-end. This

3051-600: Is found in the Utilities sub-folder of the Applications folder, or by remotely logging into the machine using ssh . Z shell is the default shell for macOS; Bash, tcsh , and the KornShell are also provided. Before macOS Catalina , Bash was the default. A CLI is used whenever a large vocabulary of commands or queries, coupled with a wide (or arbitrary) range of options, can be entered more rapidly as text than with

3164-408: Is largely achieved by encouraging the use of succinctly commented, clean configuration files that are arranged for quick access and editing. This has earned it a reputation as a distribution for "advanced users" who are willing to use the command-line interface . Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of

3277-467: Is made into a submode of legacy mode. It is the submode that 32-bit operating systems and 16-bit protected mode operating systems operate in when running on an x86-64 CPU. Real mode is the initial mode of operation when the processor is initialized, and is a submode of legacy mode. It is backwards compatible with the original Intel 8086 and Intel 8088 processors. Real mode is primarily used today by operating system bootloaders, which are required by

3390-485: Is still based on Arch. CachyOS uses a BORE kernel by default and has additional repositories. SteamOS 3.0, the version of SteamOS used in the Steam Deck by Valve , is based on Arch Linux. The current Arch Linux logo was designed by Thayer Williams in 2007 as part of a contest to replace the previous logo. OSNews reviewed Arch Linux in 2002. OSNews also has five later reviews about Arch Linux. LWN.net wrote

3503-723: Is the Merom version of the Core 2 processor, which was released on July 27, 2006. None of Intel's earlier notebook CPUs ( Core Duo , Pentium M , Celeron M , Mobile Pentium 4 ) implement Intel 64. Intel's processors implementing the Intel64 architecture include the Pentium 4 F-series/5x1 series, 506, and 516, Celeron D models 3x1, 3x6, 355, 347, 352, 360, and 365 and all later Celerons , all models of Xeon since " Nocona ", all models of Pentium Dual-Core processors since " Merom-2M ",

Arch Linux - Misplaced Pages Continue

3616-516: Is the grammar that all commands must follow. In the case of operating systems , DOS and Unix each define their own set of rules that all commands must follow. In the case of embedded systems , each vendor, such as Nortel , Juniper Networks or Cisco Systems , defines their own proprietary set of rules. These rules also dictate how a user navigates through the system of commands. The semantics define what sort of operations are possible, on what sort of data these operations can be performed, and how

3729-443: Is to use the static version of the package manager Pacman, from within another Linux-based operating system. The user can mount their newly formatted drive partition , and use pacstrap (or Pacman with the appropriate command-line switch ) to install base and additional packages with the mountpoint of the destination device as the root for its operations. This method is useful when installing Arch Linux onto USB flash drives, or onto

3842-568: Is used by 64-bit operating systems. Under a 64-bit operating system, 64-bit programs run under 64-bit mode, and 32-bit and 16-bit protected mode applications (that do not need to use either real mode or virtual 8086 mode in order to execute at any time) run under compatibility mode. Real-mode programs and programs that use virtual 8086 mode at any time cannot be run in long mode unless those modes are emulated in software. However, such programs may be started from an operating system running in long mode on processors supporting VT-x or AMD-V by creating

3955-405: Is used to install, remove and update software packages. Arch Linux uses a rolling release model. An Arch Linux installation is kept up-to-date by regularly updating the individual pieces of software that it comprises. The only "releases" are snapshots of main system components released monthly to provide an up-to-date installation medium. Arch Linux has comprehensive documentation in the form of

4068-400: Is used. (Each register can store one or two double-precision numbers or one to four single-precision numbers, or various integer formats.) In 64-bit mode, instructions are modified to support 64-bit operands and 64-bit addressing mode . The compatibility mode defined in the architecture allows 16-bit and 32-bit user applications to run unmodified, coexisting with 64-bit applications if

4181-480: The 8086 , as x86 processors supporting protected mode have done since the 80286 . The original specification, created by AMD and released in 2000, has been implemented by AMD, Intel , and VIA . The AMD K8 microarchitecture , in the Opteron and Athlon 64 processors, was the first to implement it. This was the first significant addition to the x86 architecture designed by a company other than Intel. Intel

4294-673: The Atom 230, 330, D410, D425, D510, D525, N450, N455, N470, N475, N550, N570, N2600 and N2800, all versions of the Pentium D , Pentium Extreme Edition , Core 2 , Core i9 , Core i7 , Core i5 , and Core i3 processors, and the Xeon Phi 7200 series processors. X86S is a simplification of x86-64 proposed by Intel in May 2023 for their "Intel 64" products. The new architecture would remove support for 16-bit and 32-bit operating systems, while 32-bit programs will still run under

4407-778: The FreeBSD and GNU Hurd kernels, respectively. There is also the Arch Linux ARM project, which aims to port Arch Linux to ARM -based devices, including the Raspberry Pi , as well as the Arch Linux 32 project, which continued support for systems with 32-bit only CPUs after the mainline Arch Linux project dropped support for the architecture in November 2017. Various distributions are focused on providing an Arch base with an easier install process, such as EndeavourOS and Garuda Linux . Manjaro uses its own repositories, but

4520-489: The Intel Haswell era of processors. In April 2021, Arch Linux installation images began including a guided installation script by default. In late 2021, the Arch Linux developers released Pacman 6.0, which enabled parallel downloads. In February 2022, the Arch Linux developers began offering debug packages. In September 2024, Valve partnered with Arch Linux developers to support ongoing development efforts with

4633-514: The Tianhe-2 supercomputer. The following operating systems and releases support the x86-64 architecture in long mode . Preliminary infrastructure work was started in February 2004 for a x86-64 port. This development later stalled. Development started again during July 2007 and continued during Google Summer of Code 2008 and SoC 2009. The first official release to contain x86-64 support

Arch Linux - Misplaced Pages Continue

4746-526: The Windows NT family) take the higher-addressed half of the address space (named kernel space ) for themselves and leave the lower-addressed half ( user space ) for application code, user mode stacks, heaps, and other data regions. The "canonical address" design ensures that every AMD64 compliant implementation has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while

4859-476: The main function . Other languages, such as Python , expose operating system specific API (functionality) through sys module , and in particular sys.argv for command-line arguments . In Unix-like operating systems , a single hyphen used in place of a file name is a special value specifying that a program should handle data coming from the standard input or send data to the standard output . A command-line option or simply option (also known as

4972-471: The x86 instruction set , first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode. With 64-bit mode and the new paging mode, it supports vastly larger amounts of virtual memory and physical memory than was possible on its 32-bit predecessors, allowing programs to store larger amounts of data in memory. x86-64 also expands general-purpose registers to 64-bit, and expands

5085-573: The "AMD64" nomenclature is used. These are used as synonyms with the x86-64-vX nomenclature and are thus functionally identical. E.g. the Go language documentation or the Fedora linux distribution. All levels include features found in the previous levels. Instruction set extensions not concerned with general-purpose computation, including AES-NI and RDRAND , are excluded from the level requirements. Although nearly identical, there are some differences between

5198-405: The 2013 Intel Haswell architecture, excluding Intel-specific instructions Intel Skylake and newer Intel "big" cores (AVX512 enabled models only) AMD Zen 4 and newer AMD cores features match the 2017 Intel Skylake-X architecture, excluding Intel-specific instructions The x86-64 microarchitecture feature levels can also be found as AMD64-v1, AMD64-v2 .. or AMD64_v1 .. in settings where

5311-474: The 64-bit operating system supports them. As the full x86 16-bit and 32-bit instruction sets remain implemented in hardware without any intervening emulation, these older executables can run with little or no performance penalty, while newer or modified applications can take advantage of new features of the processor design to achieve performance improvements. Also, a processor supporting x86-64 still powers on in real mode for full backward compatibility with

5424-405: The 64-bit registers. Legacy mode is the mode that the processor is in when it is not in long mode. In this mode, the processor acts like an older x86 processor, and only 16-bit and 32-bit code can be executed. Legacy mode allows for a maximum of 32 bit virtual addressing which limits the virtual address space to 4 GiB. 64-bit programs cannot be run from legacy mode. Protected mode

5537-452: The AMD64 architecture include Opteron , Athlon 64 , Athlon 64 X2 , Athlon 64 FX , Athlon II (followed by "X2", "X3", or "X4" to indicate the number of cores, and XLT models), Turion 64 , Turion 64 X2 , Sempron ("Palermo" E6 stepping and all "Manila" models), Phenom (followed by "X3" or "X4" to indicate the number of cores), Phenom II (followed by "X2", "X3", "X4" or "X6" to indicate

5650-431: The AMD64 architecture was positioned by AMD from the beginning as an evolutionary way to add 64-bit computing capabilities to the existing x86 architecture while supporting legacy 32-bit x86 code , as opposed to Intel's approach of creating an entirely new, completely x86-incompatible 64-bit architecture with IA-64. The first AMD64-based processor, the Opteron , was released in April 2003. AMD's processors implementing

5763-533: The CLI, whereas the MATLAB GUI exposes only a subset of features. In Colossal Cave Adventure from 1975, the user uses a CLI to enter one or two words to explore a cave system. The command-line interface evolved from a form of communication conducted by people over teleprinter (TTY) machines. Sometimes these involved sending an order or a confirmation using telex . Early computer systems often used teleprinter as

SECTION 50

#1732791321327

5876-542: The GNU project. The linux-libre kernel can be installed from the AUR or by enabling Parabola's repositories. The Arch build system (ABS) is a ports -like source packaging system that compiles source tarballs into binary packages, which are installed via Pacman. The Arch build system provides a directory tree of shell scripts , called PKGBUILDs , that enable any and all official Arch packages to be customized and compiled. Rebuilding

5989-611: The OEM market as the Pentium 4, model F. The E0 revision also adds eXecute Disable (XD) (Intel's name for the NX bit ) to Intel 64, and has been included in then current Xeon code-named Irwindale . Intel's official launch of Intel 64 (under the name EM64T at that time) in mainstream desktop processors was the N0 stepping Prescott-2M. The first Intel mobile processor implementing Intel 64

6102-524: The PC's serial ports . These were typically used to interface an organization's new PC's with their existing mini- or mainframe computers, or to connect PC to PC. Some of these PCs were running Bulletin Board System software. Early operating system CLIs were implemented as part of resident monitor programs, and could not easily be replaced. The first implementation of the shell as a replaceable component

6215-498: The Windows CMD.EXE programs, the latter groups being based heavily on DEC's RSX-11 and RSTS CLIs. Under most operating systems, it is possible to replace the default shell program with alternatives; examples include 4DOS for DOS, 4OS2 for OS/2, and 4NT / Take Command for Windows. Although the term 'shell' is often used to describe a command-line interpreter, strictly speaking, a 'shell' can be any program that constitutes

6328-431: The amount of RAM that is usable or supported. Details on this point are given in the " Operating system compatibility and characteristics " section of this article. The architecture has two primary modes of operation: long mode and legacy mode. Long mode is the architecture's intended primary mode of operation; it is a combination of the processor's native 64-bit mode and a combined 32-bit and 16-bit compatibility mode. It

6441-471: The appearance of 64-bit extensions for the x86 architecture enabled 64-bit x86 processors by AMD and Intel to replace most RISC processor architectures previously used in such systems (including PA-RISC , SPARC , Alpha and others), as well as 32-bit x86, even though Intel itself initially tried unsuccessfully to replace x86 with a new incompatible 64-bit architecture in the Itanium processor. As of 2023 ,

6554-529: The architecture to configure virtual memory details before transitioning to higher modes. This mode is also used by any operating system that needs to communicate with the system firmware with a traditional BIOS -style interface. Intel 64 is Intel's implementation of x86-64, used and implemented in various processors made by Intel. Historically, AMD has developed and produced processors with instruction sets patterned after Intel's original designs, but with x86-64, roles were reversed: Intel found itself in

6667-423: The command In zsh the $ RPROMPT variable controls an optional prompt on the right-hand side of the display. It is not a real prompt in that the location of text entry does not change. It is used to display information on the same line as the prompt, but right-justified. In RISC OS the command prompt is a * symbol, and thus (OS) CLI commands are often referred to as star commands . One can also access

6780-670: The command line interface as the primary user interface replaced by the Graphical User Interface . The command line remained available as an alternative user interface, often used by system administrators and other advanced users for system administration, computer programming and batch processing . In November 2006, Microsoft released version 1.0 of Windows PowerShell (formerly codenamed Monad ), which combined features of traditional Unix shells with their proprietary object-oriented .NET Framework . MinGW and Cygwin are open-source packages for Windows that offer

6893-399: The command should act. The > in the third example is a redirection operator , telling the command-line interpreter to send the output of the command not to its own standard output (the screen) but to the named file. This will overwrite the file. Using >> will redirect the output and append it to the file. Another redirection operator is the vertical bar ( | ), which creates

SECTION 60

#1732791321327

7006-431: The commands and responses can be displayed using refreshable Braille displays . The general pattern of a command line interface is: In this format, the delimiters between command-line elements are whitespace characters and the end-of-line delimiter is the newline delimiter. This is a widely used (but not universal) convention. A CLI can generally be considered as consisting of syntax and semantics . The syntax

7119-466: The commands. Alternatives to CLIs include GUIs (most notably desktop metaphors with a mouse pointer , such as Microsoft Windows ), text-based user interface menus (such as DOS Shell and IBM AIX SMIT ), and keyboard shortcuts . Compared with a graphical user interface, a command-line interface requires fewer system resources to implement. Since options to commands are given in a few characters in each command line, an experienced user often finds

7232-811: The common capabilities between the 2003 AMD AMD64 and the 2004 Intel EM64T initial implementations in the AMD K8 and the Intel Prescott processor families Intel Nehalem and newer Intel "big" cores Intel (Atom) Silvermont and newer Intel "small" cores AMD Bulldozer and newer AMD "big" cores AMD Jaguar VIA Nano and Eden "C" features match the 2008 Intel Nehalem architecture, excluding Intel-specific instructions Intel Haswell and newer Intel "big" cores (AVX2 enabled models only) Intel (Atom) Gracemont and newer Intel "small" cores AMD Excavator and newer AMD "big" cores QEMU emulation (as of version 7.2) features match

7345-534: The community derivative Arch Linux 32 can be used for i686 hardware. On 24 February 2020, Aaron Griffin announced that due to his limited involvement with the project, he would, after a voting period, transfer control of the project to Levente Polyak. This change also led to a new 2-year term period being added to the Project Leader position. In March 2021, Arch Linux developers were thinking of porting Arch Linux packages to x86_64-v3 , roughly correlating to

7458-407: The current time, user, shell number or working directory) in order, for instance, to make the prompt more informative or visually pleasing, to distinguish sessions on various machines, or to indicate the current level of nesting of commands. On some systems, special tokens in the definition of the prompt can be used to cause external programs to be called by the command-line interpreter while displaying

7571-422: The default is the opposite. Renaming of the executables also works: people often rename their favourite editor to EDIT, for example. The command line allows one to restrict available commands, such as access to advanced internal commands. The Windows CMD.EXE does this. Often, shareware programs will limit the range of commands, including printing a command 'your administrator has disabled running batch files' from

7684-450: The discontinued Intel Itanium architecture (formerly IA-64 ), which was originally intended to replace the x86 architecture. x86-64 and Itanium are not compatible on the native instruction set level, and operating systems and applications compiled for one architecture cannot be run on the other natively. AMD64 (also variously referred to by AMD in their literature and documentation as “AMD 64-bit Technology” and “AMD x86-64 Architecture”)

7797-417: The entire system using modified compiler flags is also supported by the Arch build system. The Arch build system makepkg tool can be used to create custom pkg.tar.zst packages from third-party sources. The resulting packages are also installable and trackable via Pacman. In addition to the repositories, the Arch User Repository (AUR) provides user-made PKGBUILD scripts for packages not included within

7910-501: The features that are commonly considered to produce structured programs. The Bourne shell led to the development of the KornShell (ksh), Almquist shell (ash), and the popular Bourne-again shell (or Bash). Early microcomputers themselves were based on a command-line interface such as CP/M , DOS or AppleSoft BASIC . During the 1980s and 1990s, the introduction of the Apple Macintosh and of Microsoft Windows on PCs saw

8023-506: The first Multics shell was developed by Glenda Schroeder . The first Unix shell , the V6 shell , was developed by Ken Thompson in 1971 at Bell Labs and was modeled after Schroeder's Multics shell. The Bourne shell was introduced in 1977 as a replacement for the V6 shell. Although it is used as an interactive command interpreter, it was also intended as a scripting language and contains most of

8136-448: The first implementations of the architecture, only the least significant 48 bits of a virtual address would actually be used in address translation ( page table lookup). In addition, the AMD specification requires that the most significant 16 bits of any virtual address, bits 48 through 63, must be copies of bit 47 (in a manner akin to sign extension ). If this requirement is not met,

8249-432: The focus on build service infrastructure and secure signing enclave. Until pacman version 4.0.0, Arch Linux's package manager lacked support for signed packages. Packages and metadata were not verified for authenticity by Pacman during the download-install process. Without package authentication checking, tampered-with or malicious repository mirrors could compromise the integrity of a system. Pacman 4 allowed verification of

8362-436: The following testing repositories exist: The core-staging and extra-staging repositories are used for some rebuilds to avoid broken packages in testing . The developers recommend not using these repositories for any reason, stating that any system updating from them will "unquestionably break." There are also two other repositories that include the newest version of certain desktop environments. The unstable repository

8475-551: The full 256 TiB; they were restricted to just 8 TiB of user space and 8 TiB of kernel space. Windows did not support the entire 48-bit address space until Windows 8.1 , which was released in October 2013. The 64-bit addressing mode (" long mode ") is a superset of Physical Address Extensions (PAE); because of this, page sizes may be 4  KiB (2 bytes) or 2  MiB (2 bytes). Long mode also supports page sizes of 1  GiB (2 bytes). Rather than

8588-412: The grammar represents these operations and data—the symbolic meaning in the syntax. Two different CLIs may agree on either syntax or semantics, but it is only when they agree on both that they can be considered sufficiently similar to allow users to use both CLIs without needing to learn anything, as well as to enable re-use of scripts. A simple CLI will display a prompt, accept a command line typed by

8701-433: The higher half is "docked" to the top of the address space and grows downwards. Also, enforcing the "canonical form" of addresses by checking the unused address bits prevents their use by the operating system in tagged pointers as flags, privilege markers, etc., as such use could become problematic when the architecture is extended to implement more virtual address bits. The first versions of Windows for x64 did not even use

8814-501: The interface mode. At this point, commands from the system mode may not be accessible until the user exits the interface mode and enters the system mode. A command prompt (or just prompt ) is a sequence of (one or more) characters used in a command-line interface to indicate readiness to accept commands. It literally prompts the user to take action. A prompt usually ends with one of the characters $ , % , # , : , > or - and often includes other information, such as

8927-409: The main repositories. These PKGBUILD scripts simplify building from source by explicitly listing and checking for dependencies and configuring the install to match the Arch architecture. Arch User Repository helper programs can further streamline the downloading of PKGBUILD scripts and associated building process. However, this comes at the cost of executing PKGBUILDs not validated by a trusted person; as

9040-598: The means of interaction with an operator. The mechanical teleprinter was replaced by a "glass tty" , a keyboard and screen emulating the teleprinter. "Smart" terminals permitted additional functions, such as cursor movement over the entire screen, or local editing of data on the terminal for transmission to the computer. As the microcomputer revolution replaced the traditional – minicomputer + terminals – time sharing architecture, hardware terminals were replaced by terminal emulators  — PC software that interpreted terminal signals sent through

9153-706: The mid-1960s, on computer terminals , as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards . Today, most computer users rely on graphical user interfaces ("GUIs") instead of CLIs. However, many programs and operating system utilities lack GUIs, and are intended to be used through CLIs. Knowledge of CLIs is also useful for writing scripts . Programs that have CLIs are generally easy to automate via scripting, since command-lines, being mere lines of text, are easy to specify in code. CLIs are made possible by command-line interpreters or command-line processors , which are programs that read command-lines and carry out

9266-577: The name Intel 64 for its implementation, paralleling AMD's use of the name AMD64. The first processor to implement Intel 64 was the multi-socket processor Xeon code-named Nocona in June 2004. In contrast, the initial Prescott chips (February 2004) did not enable this feature. Intel subsequently began selling Intel 64-enabled Pentium 4s using the E0 revision of the Prescott core, being sold on

9379-461: The newer C:\> style, unless used on floppy drives A: or B:; on those systems PROMPT $ N$ G can be used to override the automatic default and explicitly switch to the older style. Many Unix systems feature the $ PS1 variable (Prompt String 1), although other variables also may affect the prompt (depending on the shell used). In the Bash shell, a prompt of the form: could be set by issuing

9492-536: The number of cores), FX , Fusion/APU and Ryzen / Epyc . The primary defining characteristic of AMD64 is the availability of 64-bit general-purpose processor registers (for example, rax ), 64-bit integer arithmetic and logical operations, and 64-bit virtual addresses . The designers took the opportunity to make other improvements as well. Notable changes in the 64-bit extensions include: Although virtual addresses are 64 bits wide in 64-bit mode, current implementations (and all chips that are known to be in

9605-404: The number of them from 8 (some of which had limited or fixed functionality, e.g. for stack management) to 16 (fully general), and provides numerous other enhancements. Floating-point arithmetic is supported via mandatory SSE2 -like instructions , and x87 / MMX style registers are generally not used (but still available even in 64-bit mode); instead, a set of 16 vector registers , 128 bits each,

9718-478: The official repositories. The Arch User Repository provides the community with packages that are not included in the main repositories. Reasons for exclusion from the main repositories include: PKGBUILDs for any software can be contributed by ordinary users. Any PKGBUILD that has 10 or more votes or more than 1% usage from pkgstats can be promoted into the extra repository. Arch Linux is working on making all official packages reproducible . This means that when

9831-515: The operating system. A program that implements such a text interface is often called a command-line interpreter, command processor or shell . Examples of command-line interpreters include Nushell , DEC's DIGITAL Command Language (DCL) in OpenVMS and RSX-11 , the various Unix shells ( sh , ksh , csh , tcsh , zsh , Bash , etc.), CP/M 's CCP , DOS ' COMMAND.COM , as well as the OS/2 and

9944-422: The options easier to access. Automation of repetitive tasks is simplified by line editing and history mechanisms for storing frequently used sequences; this may extend to a scripting language that can take parameters and variable options. A command-line history can be kept, allowing review or repetition of commands. A command-line system may require paper or online manuals for the user's reference, although often

10057-477: The package database and packages, but it was disabled by default. In November 2011, package signing became mandatory for new package builds, and as of March 2012, every official package is signed. In June 2012, package signing verification became official and is now enabled by default in the installation process. Arch is largely based on binary packages . Packages target x86-64 microprocessors to assist performance on modern hardware. A ports / ebuild -like system

10170-568: The page table entry would be expanded to 128 bits to support additional hardware flags for page size and virtual address space size. The operating system can also limit the virtual address space. Details, where applicable, are given in the " Operating system compatibility and characteristics " section. Current AMD64 processors support a physical address space of up to 2 bytes of RAM, or 256  TiB . However, as of 2020 , there were no known x86-64 motherboards that support 256 TiB of RAM. The operating system may place additional limits on

10283-468: The path of the current working directory and the hostname . On many Unix and derivative systems , the prompt commonly ends in $ or % if the user is a normal user, but in # if the user is a superuser ("root" in Unix terminology). End-users can often modify prompts. Depending on the environment, they may include colors, special characters, and other elements (like variables and functions for

10396-488: The planning stages) do not allow the entire virtual address space of 2 bytes (16  EiB ) to be used. This would be approximately four billion times the size of the virtual address space on 32-bit machines. Most operating systems and applications will not need such a large address space for the foreseeable future, so implementing such wide virtual addresses would simply increase the complexity and cost of address translation with no real benefit. AMD, therefore, decided that, in

10509-573: The position of adopting the ISA that AMD created as an extension to Intel's own x86 processor line. Intel's project was originally codenamed Yamhill (after the Yamhill River in Oregon's Willamette Valley). After several years of denying its existence, Intel announced at the February 2004 IDF that the project was indeed underway. Intel's chairman at the time, Craig Barrett , admitted that this

10622-511: The processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256  TiB of usable virtual address space. This is still 65,536 times larger than the virtual 4 GiB address space of 32-bit machines. This feature eases later scalability to true 64-bit addressing. Many operating systems (including, but not limited to,

10735-551: The project to Aaron Griffin. The migration to systemd as its init system started in August 2012, and it became the default on new installations in October 2012. It replaced the SysV-style init system, used since the distribution's inception. The end of i686 support was announced in January 2017, with the February 2017 ISO being the last one including i686 and making the architecture unsupported in November 2017. Since then,

10848-428: The prompt. Some CLIs, such as those in network routers , have a hierarchy of modes , with a different set of commands supported in each mode. The set of commands are grouped by association with security, system, interface, etc. In these systems the user might traverse through a series of sub-modes. For example, if the CLI had two modes called interface and system , the user might use the command interface to enter

10961-548: The prompt. In DOS' COMMAND.COM and in Windows NT's cmd.exe users can modify the prompt by issuing a PROMPT command or by directly changing the value of the corresponding %PROMPT% environment variable . The default of most modern systems, the C:\>; style is obtained, for instance, with PROMPT $ P$ G . The default of older DOS systems, C> is obtained by just PROMPT , although on some systems this produces

11074-463: The same commands from other command lines (such as the BBC BASIC command line), by preceding the command with a * . A command-line argument or parameter is an item of information provided to a program when it is started. A program can have many command-line arguments that identify sources or destinations of information, or that alter the operation of the program. When a command processor

11187-474: The system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. The Arch Linux website supplies ISO images that may be burned to a CD or USB drive. Installation can be accomplished manually by following the instructions on the Arch Wiki, or automatically through

11300-450: The three-level page table system used by systems in PAE mode, systems running in long mode use four levels of page table: PAE's Page-Directory Pointer Table is extended from four entries to 512, and an additional Page-Map Level 4 (PML4) Table is added, containing 512 entries in 48-bit implementations. A full mapping hierarchy of 4 KiB pages for the whole 48-bit space would take

11413-491: The two instruction sets in the semantics of a few seldom used machine instructions (or situations), which are mainly used for system programming . Compilers generally produce executables (i.e. machine code ) that avoid any differences, at least for ordinary application programs . This is therefore of interest mainly to developers of compilers, operating systems and similar, which must deal with individual and special system instructions. In supercomputers tracked by TOP500 ,

11526-470: The use of the included "archinstall" script. Another command line utility that comes bundled with the installation media, "pacstrap" may be used to install the base system. Installation of additional packages which are not part of the base system can be done with either pacstrap, Pacman after booting (or chrooting ) into the new installation, or by specifying packages within the guided archinstall script. An alternative to using CD or USB images for installation

11639-455: The user terminated by the Enter key , then execute the specified command and provide textual display of results or error messages. Advanced CLIs will validate, interpret and parameter-expand the command line before executing the specified command, and optionally capture or redirect its output. Unlike a button or menu item in a GUI, a command line is typically self-documenting, stating exactly what

11752-410: The user wants done. In addition, command lines usually include many defaults that can be changed to customize the results. Useful command lines can be saved by assigning a character string or alias to represent the full command, or several commands can be grouped to perform a more complex sequence – for instance, compile the program, install it, and run it — creating a single entity, called

11865-615: The user-interface, including fully graphically oriented ones. For example, the default Windows GUI is a shell program named EXPLORER.EXE , as defined in the SHELL=EXPLORER.EXE line in the WIN.INI configuration file. These programs are shells, but not CLIs. Application programs (as opposed to operating systems) may also have command-line interfaces. An application program may support none, any, or all of these three major types of command-line interface mechanisms: Some applications support

11978-453: The x86 architecture. Work is currently being done to integrate more fully the x86 application binary interface (ABI), in the same manner as the Linux 32-bit ABI compatibility currently works. Command-line interface A command-line interface ( CLI ) is a means of interacting with a computer program by inputting lines of text called command-lines . Command-line interfaces emerged in

12091-410: The x86-64 platform, many x86 applications could benefit from a 64-bit recompile , due to the additional registers in 64-bit code and guaranteed SSE2-based FPU support, which a compiler can use for optimization. However, applications that regularly handle integers wider than 32 bits, such as cryptographic algorithms, will need a rewrite of the code handling the huge integers in order to take advantage of

12204-481: Was created as an alternative to the radically different IA-64 architecture designed by Intel and Hewlett-Packard , which was backward-incompatible with IA-32 , the 32-bit version of the x86 architecture. AMD originally announced AMD64 in 1999 with a full specification available in August 2000. As AMD was never invited to be a contributing party for the IA-64 architecture and any kind of licensing seemed unlikely,

12317-522: Was dropped in July 2008 and most of the packages moved to other repositories. The community repository was merged with extra in May 2023. In addition to the official repositories, there are a number of unofficial user repositories. The most well-known unofficial repository is the Arch User Repository , or AUR, hosted on the Arch Linux site. The AUR does not host binary packages but instead

12430-425: Was forced to follow suit and introduced a modified NetBurst family which was software-compatible with AMD's specification. VIA Technologies introduced x86-64 in their VIA Isaiah architecture, with the VIA Nano . The x86-64 architecture was quickly adopted for desktop and laptop personal computers and servers which were commonly configured for 16 GiB ( gibibytes ) of memory or more. It has effectively replaced

12543-476: Was one of their worst-kept secrets. Intel's name for this instruction set has changed several times. The name used at the IDF was CT (presumably for Clackamas Technology , another codename from an Oregon river ); within weeks they began referring to it as IA-32e (for IA-32 extensions) and in March 2004 unveiled the "official" name EM64T (Extended Memory 64 Technology). In late 2006 Intel began instead using

12656-568: Was part of the Multics time-sharing operating system . In 1964, MIT Computation Center staff member Louis Pouzin developed the RUNCOM tool for executing command scripts while allowing argument substitution. Pouzin coined the term shell to describe the technique of using commands like a programming language, and wrote a paper about how to implement the idea in the Multics operating system. Pouzin returned to his native France in 1965, and

12769-426: Was version 2.4. FreeBSD first added x86-64 support under the name "amd64" as an experimental architecture in 5.1-RELEASE in June 2003. It was included as a standard distribution architecture as of 5.2-RELEASE in January 2004. Since then, FreeBSD has designated it as a Tier 1 platform. The 6.0-RELEASE version cleaned up some quirks with running x86 executables under amd64, and most drivers work just as they do on

#326673