An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is executed directly by the hardware and makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers; the dominant desktop operating system is Microsoft Windows with a market share of around 82.74%. MacOS by Apple Inc. is in second place, the varieties of Linux are collectively in third place. In the mobile sector, use in 2017 is up to 70% of Google's Android and according to third quarter 2016 data, Android on smartphones is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by Apple's iOS with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency; this is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris and Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking.
32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources to multiple users. A distributed operating system manages a group of distinct computers and makes them appear to be a single computer; the development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine; when computers in a group work in cooperation, they form a distributed system.
In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, is common in large server warehouses. Embedded operating systems are designed to be used in embedded computer systems, they are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources, they are compact and efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments. Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their more complex forms until the early 1960s. Hardware features were added, that enabled use of runtime libraries and parallel processing; when personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers. In the 1940s, the earliest electronic digital systems had no operating systems.
Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the pri
SC Group is a British multi-faceted engineering company which prior to a re-brand in September 2015 was known as Supacat Limited. Supacat was based at Dunkeswell Aerodrome in England. SC Group now comprises four companies: Supacat, SC Innovation and Blackhill Engineering. SC Group specialised in the design and development of military and civil high mobility vehicles. Throughout the last decade the company expanded its portfolio to encompass developing equipment for operation in harsh environments in sectors including marine, mineral exploration, oil & gas and nuclear power. During 2014, the Supacat made a series of acquisitions in the commercial marine sector leading to the creation of the now Proteum based in Hamble, UK. At the end of 2014 Exeter-based heavy fabrication specialist, Blackhill Engineering, was acquired. Supacat Limited rebranded to SC Group on 10 September 2015. SC Group is the trading brand of SC Group - Global Limited; the current Chief Executive is Nick Ames who joined the company in 2003.
Nick Jones, original co-founder of Supacat, remains a Director of SC Group. The Supacat brand is retained by SC Group for the group's core defence business. Supacat develops and supports high mobility military vehicles and provides specialist engineering services for defence customers, established itself in Australia. Supacat Pty Ltd was established in 2011 with an office in Australia. In March 2012 Supacat Pty Ltd acquired Australian engineering design services company Unique Solutions Providers for an undisclosed amount. Supacat managing director Nick Ames said at the time: "The acquisition is the first in Supacat’s 30-year history and supports our strategy to access new regional markets and new industry sectors, it enables us to improve support for our vehicle fleets in service with the Australian Defence Force and it complements Supacat’s diversification into the oil & gas and renewable energy sectors." Supacat Australia was named on 4 September 2015 by Rheinmetall Defence as the first Australian company to be part of its Land 400 Phase 2 Mounted Combat Reconnaissance Capability team for which the company will offer Boxer.
Supacat is a member of Rheinmetall's Challenger 2 Life Extension Project team. The All Terrain Mobility Platform is a 6x6 marginal terrain vehicle now in its fourth generation. Around 200 ATMPs have been supplied to military users since 1982, these including the armed forces of Canada, Malaysia and the UK; the High Mobility Transporter vehicle platform is produced in three variants the HMT 400, the HMT 600 and the HMT Extenda. A HMT 800 variant is available; the HMT was designed in mid-1999 by HMT Supacat Limited renamed to HMT Vehicles Limited. In 2004, Lockheed Martin entered into a licence agreement with HMT Vehicles Ltd to manufacture and sell the HMT in North America. In 2006, Lockheed Martin acquired HMT Vehicles Ltd; the HMT 400, the first of the platform to enter service, was developed for the United Kingdom Special Forces procured under Project Minacity to replace the Land Rover 110 Desert Patrol Vehicle. A contract was awarded in 2001 for 65 vehicles that entered service in 2003-2004 in Afghanistan following tenders in the late 1990s.
In 2004, the U. S. Army Delta Force purchased 47 configured vehicles designated Marauders which were delivered in 2004-2005. In 2006, Danish Army Hunter Corps ordered 15 HMT Extenda vehicles. In 2007, the Australian Army Special Air Service Regiment ordered 31 HMT Extenda vehicles known as Nary designated as the Special Operations Vehicle-Special Reconnaissance which due to technical problems did not enter service until 2011. In 2014, the Australian Army 2nd Commando Regiment ordered 89 HMT Extenda MK2 vehicles known as the Special Operations Vehicle-Commando that will be reconfigurable in four configurations. In 2015, the Norwegian Army Forsvarets Spesialkommando ordered an undisclosed number of HMT Extenda vehicles to be delivered from 2017 to 2019. In 2016, the New Zealand Special Air Service ordered an undisclosed number of HMT Extenda vehicles designated as the Special Operations Vehicles – Mobility Heavy to be delivered from late 2017; the British Army is the biggest user of the HMT with purchases between June 2007 and late 2010 of the HMT 400 designated as the Jackal and HMT 600 designated as the Coyote totalling 575 vehicles.
The British Army has developed specialist variants of the HMT. In August 2003, it was announced that a Lockheed Martin UK-led team had been selected by the UK Ministry of Defence as preferred supplier for Project Soothsayer, the next-generation battlefield electronic warfare system for the British Army and Royal Marines. An HMT 600 platform was selected as 35 chassis were manufactured. Soothsayer was cancelled in mid-2009 and these chassis are surplus to requirement. In August 2003, the UK Defence Procurement Agency awarded a GBP6 million contract to INSYS to design and test a system demonstrator of the Lightweight Mobile Artillery System Rocket for the British Army; the system was expected to enter service in 2007 with 24 6x4 vehicles based on the HMT 600 required for the project. It was confirmed in May 2008; the HMT 800 was the base for the BAE Systems Land Systems portee version of its M777 155mm lightweight howitzer, one of two candidates for the UK MoD's Lightweight Mobile Artillery Weapon System Gun project.
It was confirmed in September 2007. Supacat's HMT 600 is the chosen ground station platform for the UK MoD's Watchkeep
IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the large computer market. Current mainframe computer in IBM's line of business computers are developments of the basic design of the IBM System/360. From 1952 into the late 1960s, IBM manufactured and marketed several large computer models, known as the IBM 700/7000 series; the first-generation 700s were based on vacuum tubes, while the second-generation 7000s used transistors. These machines established IBM's dominance in electronic data processing. IBM had two model categories: one for engineering and scientific use, one for commercial or data processing use; the two categories and commercial used common peripherals but had different instruction sets, there were incompatibilities within each category. IBM sold its computers without any software, expecting customers to write their own. IBM provided compilers for the newly developed higher-level programming languages Fortran, COMTRAN and COBOL.
The first operating systems for IBM computers were written by IBM customers who did not wish to have their expensive machines sitting idle while operators set up jobs manually. These first operating systems were scheduled work queues, it is thought that the first operating system used for real work was GM-NAA I/O, produced by General Motors' Research division in 1956. IBM enhanced one of GM-NAA I/O's successors, the SHARE Operating System, provided it to customers under the name IBSYS; as software became more complex and important, the cost of supporting it on so many different designs became burdensome, this was one of the factors which led IBM to develop System/360 and its operating systems. The second generation products were a mainstay of IBM's business and IBM continued to make them for several years after the introduction of the System/360. Prior to System/360, IBM sold computers smaller in scale that were not considered mainframes, though they were still bulky and expensive by modern standards.
These included: IBM 650 IBM 305 RAMAC IBM 1400 series IBM 1620 IBM had difficulty getting customers to upgrade from the smaller machines to the mainframes because so much software had to be rewritten. The 7010 was introduced in 1962 as a mainframe-sized 1410; the Systems 360 and 370 could emulate the 1400 machines. A desk-size machine with a different instruction set, the IBM 1130, was released concurrently with the System/360 to address the niche occupied by the 1620, it used the same EBCDIC character encoding as the 360 and was programmed in Fortran, easy to adapt to larger machines when necessary. Midrange computer is a designation used by IBM for a class of computer systems which fall in between mainframes and microcomputers. All that changed with the announcement of the System/360 in April, 1964; the System/360 was a single series of compatible models for both commercial and scientific use. The number "360" suggested a "360 degree," or "all-around" computer system. System/360 incorporated features, present on only either the commercial line or the engineering and scientific line.
Some of the arithmetic units and addressing features were optional on some models of the System/360. However, models were upward compatible and most were downward compatible; the System/360 was the first computer in wide use to include dedicated hardware provisions for the use of operating systems. Among these were supervisor and application mode programs and instructions, as well as built-in memory protection facilities. Hardware memory protection was provided to protect the operating system from the user programs and user tasks from each other; the new machine had a larger address space than the older mainframes, 24 bits addressing 8-bit bytes vs. a typical 18 bits addressing 36-bit words. The smaller models in the System/360 line were intended to replace the 1400 series while providing an easier upgrade path to the larger 360s. To smooth the transition from the second generation to the new line, IBM used the 360's microprogramming capability to emulate the more popular older models, thus 360/30s with this added cost feature could run 1401 programs and the larger 360/65s could run 7094 programs.
To run old programs, the 360 had to be restarted in emulation mode. Many customers kept using their old software and one of the features of the System/370 was the ability to switch to emulation mode and back under operating system control. Operating systems for the System/360 family included OS/360, BOS/360, TOS/360, DOS/360; the System/360 evolved into the System/370, the System/390, the 64-bit zSeries, System z, zEnterprise machines. System/370 introduced virtual memory capabilities in all models other than the first System/370 models.
OpenVMS is a closed-source, proprietary computer operating system for use in general-purpose computing. It is the successor to the VMS Operating System, produced by Digital Equipment Corporation, first released in 1977 for its series of VAX-11 minicomputers; the 11/780 was introduced at DEC's Oct. 1977 annual shareholder's meeting. In the 1990s, it was used for the successor series of DEC Alpha systems. OpenVMS runs on the HP Itanium-based families of computers; as of 2019, a port to the x86-64 architecture is underway. The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS is a proprietary operating system. OpenVMS is a multi-user, multiprocessing virtual memory-based operating system designed for use in time-sharing, batch processing, transaction processing; when process priorities are suitably adjusted, it may approach real-time operating system characteristics. The system offers high availability through clustering and the ability to distribute the system over multiple physical machines.
This allows the system to be tolerant against disasters that may disable individual data-processing facilities. OpenVMS contains a graphical user interface, a feature, not available on the original VAX-11/VMS system. Prior to the introduction of DEC VAXstation systems in the 1980s, the operating system was used and managed from text-based terminals, such as the VT100, which provide serial data communications and screen-oriented display features. Versions of VMS running on DEC Alpha workstations in the 1990s supported OpenGL and Accelerated Graphics Port graphics adapters. Enterprise-class environments select and use OpenVMS for various purposes including mail servers, network services, manufacturing or transportation control and monitoring, critical applications and databases, environments where system uptime and data access is critical. System up-times of more than 10 years have been reported, features such as rolling upgrades and clustering allow clustered applications and data to remain continuously accessible while operating system software and hardware maintenance and upgrades are performed, or when a whole data center is destroyed.
Customers using OpenVMS include banks and financial services and healthcare, network information services, large-scale industrial manufacturers of various products. As of mid-2014, Hewlett-Packard licensed the development of OpenVMS to VMS Software Inc.. VMS Software will be responsible for developing OpenVMS, supporting existing hardware and providing roadmap to clients; the company has a team of veteran developers that developed the software during DEC's ownership. In April 1975, Digital Equipment Corporation embarked on a hardware project, code named Star, to design a 32-bit virtual address extension to its PDP-11 computer line. A companion software project, code named Starlet, was started in June 1975 to develop a new operating system, based on RSX-11M, for the Star family of processors; these two projects were integrated from the beginning. Gordon Bell was the VP lead on its architecture. Roger Gourd was the project lead for the Starlet program, with software engineers Dave Cutler, Dick Hustvedt, Peter Lipman acting as the technical project leaders, each having responsibility for a different area of the operating system.
The Star and Starlet projects culminated in the VAX 11/780 computer and the VAX-11/VMS operating system. The Starlet name survived in VMS as a name of several of the main system libraries, including STARLET. OLB and STARLET. MLB. Over the years the name of the product has changed. In 1980 it was renamed, with version 2.0 release, to VAX/VMS. With the introduction of the MicroVAX range such as the MicroVAX I, MicroVAX II and MicroVAX 2000 in the mid-to-late 1980s, DIGITAL released MicroVMS versions targeted for these platforms which had much more limited memory and disk capacity. MicroVMS kits were released for VAX/VMS 4.4 to 4.7 on TK50 tapes and RX50 floppy disks, but discontinued with VAX/VMS 5.0. In 1991, VMS was renamed to OpenVMS as an indication for its support of "open systems" industry standards such as POSIX and Unix compatibility, to drop the hardware connection as the port to DIGITAL's 64-bit Alpha RISC processor was in process; the OpenVMS name first appeared after the version 5.4-2 release.
The VMS port to Alpha resulted in the creation of a second and separate source code libraries for the VAX 32-bit source code library and a second and new source code library for the Alpha 64-bit architectures. 1992 saw the release of the first version of OpenVMS for Alpha AXP systems, designated OpenVMS AXP V1.0. The decision to use the 1.x version numbering stream for the pre-production quality releases of OpenVMS AXP caused confusion for some customers and was not repeated in the next platform port to the Itanium. In 1994, with the release of OpenVMS version 6.1, feature parity between the VAX and Alpha variants was achieved. This was the so-called Functional Equivalence release, in the marketing materials of the time; some features were missing however, e.g. based shareable images, which were implemented in versions. Subsequent version numberings for the VAX and Alpha variants of the product have remaine
Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, others. Intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Microsoft, IBM, Sun Microsystems. In the early 1990s, AT&T sold its rights in Unix to Novell, which sold its Unix business to the Santa Cruz Operation in 1995; the UNIX trademark passed to The Open Group, a neutral industry consortium, which allows the use of the mark for certified operating systems that comply with the Single UNIX Specification. As of 2014, the Unix version with the largest installed base is Apple's macOS. Unix systems are characterized by a modular design, sometimes called the "Unix philosophy"; this concept entails that the operating system provides a set of simple tools that each performs a limited, well-defined function, with a unified filesystem as the main means of communication, a shell scripting and command language to combine the tools to perform complex workflows.
Unix distinguishes itself from its predecessors as the first portable operating system: the entire operating system is written in the C programming language, thus allowing Unix to reach numerous platforms. Unix was meant to be a convenient platform for programmers developing software to be run on it and on other systems, rather than for non-programmers; the system grew larger as the operating system started spreading in academic circles, as users added their own tools to the system and shared them with colleagues. At first, Unix was not designed to be multi-tasking. Unix gained portability, multi-tasking and multi-user capabilities in a time-sharing configuration. Unix systems are characterized by various concepts: the use of plain text for storing data; these concepts are collectively known as the "Unix philosophy". Brian Kernighan and Rob Pike summarize this in The Unix Programming Environment as "the idea that the power of a system comes more from the relationships among programs than from the programs themselves".
In an era when a standard computer consisted of a hard disk for storage and a data terminal for input and output, the Unix file model worked quite well, as I/O was linear. In the 1980s, non-blocking I/O and the set of inter-process communication mechanisms were augmented with Unix domain sockets, shared memory, message queues, semaphores, network sockets were added to support communication with other hosts; as graphical user interfaces developed, the file model proved inadequate to the task of handling asynchronous events such as those generated by a mouse. By the early 1980s, users began seeing Unix as a potential universal operating system, suitable for computers of all sizes; the Unix environment and the client–server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers. Both Unix and the C programming language were developed by AT&T and distributed to government and academic institutions, which led to both being ported to a wider variety of machine families than any other operating system.
Under Unix, the operating system consists of many libraries and utilities along with the master control program, the kernel. The kernel provides services to start and stop programs, handles the file system and other common "low-level" tasks that most programs share, schedules access to avoid conflicts when programs try to access the same resource or device simultaneously. To mediate such access, the kernel has special rights, reflected in the division between user space and kernel space - although in microkernel implementations, like MINIX or Redox, functions such as network protocols may run in user space; the origins of Unix date back to the mid-1960s when the Massachusetts Institute of Technology, Bell Labs, General Electric were developing Multics, a time-sharing operating system for the GE-645 mainframe computer. Multics featured several innovations, but presented severe problems. Frustrated by the size and complexity of Multics, but not by its goals, individual researchers at Bell Labs started withdrawing from the project.
The last to leave were Ken Thompson, Dennis Ritchie, Douglas McIlroy, Joe Ossanna, who decided to reimplement their experiences in a new project of smaller scale. This new operating system was without organizational backing, without a name; the new operating system was a single-tasking system. In 1970, the group coined the name Unics for Uniplexed Information and Computing Service, as a pun on Multics, which stood for Multiplexed Information and Computer Services. Brian Kernighan takes credit for the idea, but adds that "no one can remember" the origin of the final spelling Unix. Dennis Ritchie, Doug McIlroy, Peter G. Neumann credit Kernighan; the operating system was written in assembly language, but in 1973, Version 4 Unix was rewritten in C. Version 4 Unix, still had many PDP-11 dependent codes, is not suitable for porting; the first port to other platform was made five years f
A computer is a device that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming. Modern computers have the ability to follow generalized sets of called programs; these programs enable computers to perform an wide range of tasks. A "complete" computer including the hardware, the operating system, peripheral equipment required and used for "full" operation can be referred to as a computer system; this term may as well be used for a group of computers that are connected and work together, in particular a computer network or computer cluster. Computers are used as control systems for a wide variety of industrial and consumer devices; this includes simple special purpose devices like microwave ovens and remote controls, factory devices such as industrial robots and computer-aided design, general purpose devices like personal computers and mobile devices such as smartphones. The Internet is run on computers and it connects hundreds of millions of other computers and their users.
Early computers were only conceived as calculating devices. Since ancient times, simple manual devices like the abacus aided people in doing calculations. Early in the Industrial Revolution, some mechanical devices were built to automate long tedious tasks, such as guiding patterns for looms. More sophisticated electrical machines did specialized analog calculations in the early 20th century; the first digital electronic calculating machines were developed during World War II. The speed and versatility of computers have been increasing ever since then. Conventionally, a modern computer consists of at least one processing element a central processing unit, some form of memory; the processing element carries out arithmetic and logical operations, a sequencing and control unit can change the order of operations in response to stored information. Peripheral devices include input devices, output devices, input/output devices that perform both functions. Peripheral devices allow information to be retrieved from an external source and they enable the result of operations to be saved and retrieved.
According to the Oxford English Dictionary, the first known use of the word "computer" was in 1613 in a book called The Yong Mans Gleanings by English writer Richard Braithwait: "I haue read the truest computer of Times, the best Arithmetician that euer breathed, he reduceth thy dayes into a short number." This usage of the term referred to a human computer, a person who carried out calculations or computations. The word continued with the same meaning until the middle of the 20th century. During the latter part of this period women were hired as computers because they could be paid less than their male counterparts. By 1943, most human computers were women. From the end of the 19th century the word began to take on its more familiar meaning, a machine that carries out computations; the Online Etymology Dictionary gives the first attested use of "computer" in the 1640s, meaning "one who calculates". The Online Etymology Dictionary states that the use of the term to mean "'calculating machine' is from 1897."
The Online Etymology Dictionary indicates that the "modern use" of the term, to mean "programmable digital electronic computer" dates from "1945 under this name. Devices have been used to aid computation for thousands of years using one-to-one correspondence with fingers; the earliest counting device was a form of tally stick. Record keeping aids throughout the Fertile Crescent included calculi which represented counts of items livestock or grains, sealed in hollow unbaked clay containers; the use of counting rods is one example. The abacus was used for arithmetic tasks; the Roman abacus was developed from devices used in Babylonia as early as 2400 BC. Since many other forms of reckoning boards or tables have been invented. In a medieval European counting house, a checkered cloth would be placed on a table, markers moved around on it according to certain rules, as an aid to calculating sums of money; the Antikythera mechanism is believed to be the earliest mechanical analog "computer", according to Derek J. de Solla Price.
It was designed to calculate astronomical positions. It was discovered in 1901 in the Antikythera wreck off the Greek island of Antikythera, between Kythera and Crete, has been dated to c. 100 BC. Devices of a level of complexity comparable to that of the Antikythera mechanism would not reappear until a thousand years later. Many mechanical aids to calculation and measurement were constructed for astronomical and navigation use; the planisphere was a star chart invented by Abū Rayhān al-Bīrūnī in the early 11th century. The astrolabe was invented in the Hellenistic world in either the 1st or 2nd centuries BC and is attributed to Hipparchus. A combination of the planisphere and dioptra, the astrolabe was an analog computer capable of working out several different kinds of problems in spherical astronomy. An astrolabe incorporating a mechanical calendar computer and gear-wheels was invented by Abi Bakr of Isfahan, Persia in 1235. Abū Rayhān al-Bīrūnī invented the first mechanical geared lunisolar calendar astrolabe, an early fixed-wired knowledge processing machine with a gear train and gear-wheels, c. 1000 AD.
The sector, a calculating instrument used for solving problems in proportion, trigonometry and division, for various functions, such as squares and cube roots, was developed in
Computer hardware includes the physical, tangible parts or components of a computer, such as the cabinet, central processing unit, keyboard, computer data storage, graphics card, sound card and motherboard. By contrast, software is instructions that can be run by hardware. Hardware is so-termed because it rigid with respect to changes or modifications. Intermediate between software and hardware is "firmware", software, coupled to the particular hardware of a computer system and thus the most difficult to change but among the most stable with respect to consistency of interface; the progression from levels of "hardness" to "softness" in computer systems parallels a progression of layers of abstraction in computing. Hardware is directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system, although other systems exist with only hardware components; the template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann.
This describes a design architecture for an electronic digital computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, input and output mechanisms. The meaning of the term has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus; this is referred to as the Von Neumann bottleneck and limits the performance of the system. The personal computer known as the PC, is one of the most common types of computer due to its versatility and low price. Laptops are very similar, although they may use lower-power or reduced size components, thus lower performance; the computer case encloses most of the components of the system. It provides mechanical support and protection for internal elements such as the motherboard, disk drives, power supplies, controls and directs the flow of cooling air over internal components.
The case is part of the system to control electromagnetic interference radiated by the computer, protects internal parts from electrostatic discharge. Large tower cases provide extra internal space for multiple disk drives or other peripherals and stand on the floor, while desktop cases provide less expansion room. All-in-one style designs include a video display built into the same case. Portable and laptop computers require cases. A current development in laptop computers is a detachable keyboard, which allows the system to be configured as a touch-screen tablet. Hobbyists may decorate the cases with colored lights, paint, or other features, in an activity called case modding. A power supply unit converts alternating current electric power to low-voltage DC power for the internal components of the computer. Laptops are capable of running from a built-in battery for a period of hours; the motherboard is the main component of a computer. It is a board with integrated circuitry that connects the other parts of the computer including the CPU, the RAM, the disk drives as well as any peripherals connected via the ports or the expansion slots.
Components directly attached to or to part of the motherboard include: The CPU, which performs most of the calculations which enable a computer to function, is sometimes referred to as the brain of the computer. It is cooled by a heatsink and fan, or water-cooling system. Most newer CPUs include an on-die graphics processing unit; the clock speed of CPUs governs how fast it executes instructions, is measured in GHz. Many modern computers have the option to overclock the CPU which enhances performance at the expense of greater thermal output and thus a need for improved cooling; the chipset, which includes the north bridge, mediates communication between the CPU and the other components of the system, including main memory. Random-access memory, which stores the code and data that are being accessed by the CPU. For example, when a web browser is opened on the computer it takes up memory. RAM comes on DIMMs in the sizes 2GB, 4GB, 8GB, but can be much larger. Read-only memory, which stores the BIOS that runs when the computer is powered on or otherwise begins execution, a process known as Bootstrapping, or "booting" or "booting up".
The BIOS includes power management firmware. Newer motherboards use Unified Extensible Firmware Interface instead of BIOS. Buses that connect the CPU to various internal components and to expand cards for graphics and sound; the CMOS battery, which powers the memory for date and time in the BIOS chip. This battery is a watch battery; the video card, which processes computer graphics. More powerful graphics cards are better suited to handle strenuous tasks, such as playing intensive video games. An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or