Six Layers of Computing System
Understanding Computer in Abstract Models
When speaking about computers it is obvious that to understand such a complex system some kind of abstract models are needed that help to understand and manage computing system. The six layers of computing system is an abstract model. This simplified model is used to remove complex details and reveal the main idea of how the whole computer system works. Layered model allows to work only with information needed. We can deal with one layer without information how the other layers work. For example, if we run an application program, let’s say text editor, we do not concern how this program was written and what programming language was used. We may know how it was written, but it is not important for us while we are using it. Layered models allows us to understand, build and use complex system. Without abstraction it would be far more difficult.
Computer and Computing System
Computer can be defined as a device that can be programmed to perform arithmetic or logical operations. Computing system can be used as more general term to describe a system that is used to solve problems and interact with the environment.
Computer system consists of:
All three computing system components enables computer to perform various tasks and solve problems provided by users. Each of these components is essential for system performance. Computing system is worthless if either of these components are missing.
Computer Hardware, Software and Data
Collection of physical elements that constitute a computing system is called hardware (or computer hardware). It is physical parts and components such as CPU, memory, board, I/O devices (mouse, keyboard, display) and so on.
Software (or computer software) is a program or set of programs that provides instructions to a computer to perform task or operations. Programs differ in types and goals. For example it may be operational system or application program.
The third and very important component of a computer system is data. Computer system manages data to perform tasks and operations, to communicate with environment. Without data computer system is useless.
Six Layers of Computing System
Computing system can be divided into six layers. Each layer has a specific role. Six layers of computing system are:
- operating system
Binary numbers, audio, video
CPU, gates, transistors
Programs and instructions
Windows, Linux, Android
Text editor, Autocad, Counter Strike
Communication with other systems
Network programs and applications
Information, hardware, programming and operating system
Information layer defines the methods and ways how we represent information on a computer. Information on a computer is managed using binary numbers. Binary numbers are 1 and 0. In order to understand how data is processed inside a computer, we need to start from understanding binary numbers. All information and data that we process on computing system - text, images, videos and so on - finally are represented in binary format.
Hardware layer defines physical computer hardware. Speaking about physical hardware it was mentioned that it is all the physical components of computer. It is important to note, that physical hardware is not only main board or CPU. On fundamental level CPU or other components includes devices such as gates and circuits that are made of tiny transistors that control the flow of electricity. There are millions of transistors inside CPU and other components such as GPU, memory and so on.
Programming layer deals with computer software - programs that uses instructions to process data, perform computation and manages data. The main goal of programs is to solve various problems and perform different tasks. Programs can run on different levels and can be written in different languages.
In most cases computer has an operating system. The 4th layer of computing systems deals with various operating systems. The main task of operating system (OS) is to manage computer resources. There are various computer systems that help users to communicate and interact with computing system: Windows, Linux, Mac OS, Android and others.
Layers of Abstraction in Computing
Application and Communication Layers
The first four layers focus on computers system. They task is to make computer system work. The rest 2 layers are used to solve specific problems. Computing systems users run application programs to perform real-world problems, for example - write a text document, draw a picture or play a game. Every program you run on your computer’s operating system is an application program that help you to reach you goals or solve a certain problem.
Communication layer is a layer where two computer system can operate and exchange date. Computers are connected into a networks to share information and resources. We use internet to exchange data or simply chat.
Share your opinion
Do you understand the difference between computing as a tool and computing as a discipline?
Different models of abstraction
When analyzing computing systems, different layers of abstraction can be use. For example we can describe computing system using five layers: hardware, firmware, assembler, kernel, OS and applications. The model explained in the video above has 7 layers: devices, logic gates, microarchitecture, instruction set architecture, program, algorithm, task. There is no standardized model when speaking about computing systems. These models depend on various approached but if you start analyzing them, you will find some kind of repetitions.
The layers may have different names, there may be a different number of layers and so on, but they explain and help to manage computing system.