What is a computer? – Computer systems
A computer system is a nominally complete computer that includes the core
hardware,* peripheral equipment, the operating system and the applicationsoftware* needed and used for full operation. In a broader sense, the term 'computer system' may also refer to a computernetwork* which is a group of computers that are linked and function together in order that the interconnected computers, as well as their users, can communicate and cooperate with each other effectively and efficiently to achieve a certain goal.⇒
Typical examples of computer networks are
- computer networks in general, including
- local area networks (small computer networks which are based usually on WiFi or Ethernet technologies),
- wide area networks (such as the network of a big company),
- the Internet which is a global system of interconnected computer networks (i.e. the network of computer networks);
- computer clusters,* grid computing,* and cloud computing.*
Keywords:
computer network;⇒ computer clusters;⇒ grid computing;⇒ Internet;⇒ cloud computing⇒
Hardware and software
A computer is a rather complex system of physical and intangible components including
– the hardware* configuration, i.e. the physical structure of the computer system which determines how the "core" hardware (including the central unit, the motherboard etc.) and the peripheral devices can communicate with each other, and
– the software* system, which controls the hardware and produces a desired behaviour from the computer.
We can draw a clear distinction between the main software (i.e. the operating system) which allocates and controls the system resources, and the set of application software products, which enable the computer to perform different tasks.
We often speak about computer architecture which refers to the specification of a computer system at a somewhat general level,⇒ including the description of the hardware configuration and the main software components (i.e. the constituent parts of the operating system). A given computer architecture usually has several implementations which, in time, can lead to a family of computers which may have backward* and/or upward* compatibility with each other. (A famous and successful example was the x86 architecture including e.g. the Windows XP and the Windows 7 operating systems.)
Keywords:
hardware;⇒ software;⇒ Windows;⇒ various Windows versions⇒
Abstract models of the computer
To describe a computer as a system, we have two abstract models.
- black box model: A black box is metaphor of an open system that is described or viewed only in terms of its inputs and outputs. In other words, only the input and output data exchange between the computer and the environment is considered important or taken into consideration. That is because we either do not have any knowledge of the systems's internal workings, or just do not have much interest in it. Metaphorically,
whose outer surface is considered opaque.- white box model: A white box is a system where the inner components and their connections, and/or the (working or operating) logic of the system are available for thorough inspection. Note that the computer will gradually become a white box when we learn how the computer can transform input data into output results in particular cases.
The black box model of the computer as a data processing machine can be illustrated as follows:
Note that the terms 'data' and 'information' are often used more or less synonymously. Nevertheless, we can make a clear distinction: on the one hand, data* usually refers to stored information; on the other hand, information* can be considered as retrieved data to be used up for something useful (e.g. it can be an input for further processing).
The black box model has several applications. The term 'black box' can be efficiently used to refer to a wide range of open systems including a transistor, a logic circuit, a computer, an algorithm, an automaton, a neural network, or even the human brain.
- In this context, open systems refer to systems that have external interactions, i.e. they take their input from their environment, and at the same time they provide output for it. (The opposite of the open systems are isolated systems, which do not have interactions with their environment.)
- Mathematically the output values of the black box can be described as a function of the (given combination of the) input values and some "hidden" parameters that represent the current state of the black box. (The data that characterize the current state of the black box have been generated and stored by the black box itself during its previous operation. ) The Turing machine (TM) is a well-known application of this approach.
- A very popular buzzword is artificial intelligence nowadays, and many AI applications use neural networks (e.g. the justly famous Google Translate service). A neural network is a typical implementation of the black box model because,
– on the one hand, when we teach or train the network, we first compile, very carefully, a set of inputs with their corresponding outputs, and try to get the network to "memorize" the relationships between them (i.e. by having the neural network establish and strenghten the inner parameters that characterize the input-output relationships). In this process we say that the neural network is "learning";
– on the other hand, to check the correctness of the network we can use a kind of black box testing selecting random inputs and checking whether the network can really demonstrate the expected outputs (or not).