Hiding complexity: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
Line 1: Line 1:
[[file:resource.png|right|frame|Resource Management<ref>http://www.flaticon.com/</ref>]]
[[file:resource.png|right|frame|Resource Management<ref>http://www.flaticon.com/</ref>]]
Without software, a computer is effectively useless. Computer software controls the use of the hardware (CPU, memory, disks etc.), and makes the computer into a useful tool for its users.
The software side of a computer can be divided into programs, libraries and the operating system.
Each layer hides much of the complexity of the layer below, and provides a set of abstract services and concepts to the layer above.<ref>https://minnie.tuhs.org/CompArch/Lectures/week07.html</ref>
For example, the computer's hard disk allows data to be stored on it in a set of fixed-sized blocks. The operating system hides this complexity, and provides the concept of files to the application software. In turn, an application program such as a word processor hides the idea of a file, and allows the user to work with documents instead.<ref>https://minnie.tuhs.org/CompArch/Lectures/week07.html</ref>


The most fundamental of all system software is the operating system. It has three main tasks to perform.<ref>https://minnie.tuhs.org/CompArch/Lectures/week07.html</ref>
The most fundamental of all system software is the operating system. It has three main tasks to perform.<ref>https://minnie.tuhs.org/CompArch/Lectures/week07.html</ref>

Revision as of 16:36, 16 March 2020

Resource Management[1]

Without software, a computer is effectively useless. Computer software controls the use of the hardware (CPU, memory, disks etc.), and makes the computer into a useful tool for its users.

The software side of a computer can be divided into programs, libraries and the operating system. Each layer hides much of the complexity of the layer below, and provides a set of abstract services and concepts to the layer above.[2]

For example, the computer's hard disk allows data to be stored on it in a set of fixed-sized blocks. The operating system hides this complexity, and provides the concept of files to the application software. In turn, an application program such as a word processor hides the idea of a file, and allows the user to work with documents instead.[3]


The most fundamental of all system software is the operating system. It has three main tasks to perform.[4]

  1. The operating system must shield the details of the hardware from the application programs, and thus from the user.
  2. The operating system has to substitute a set of abstract services to the application programs, to replace the physical hardware services. When applications use these abstract services, the operations must be translated into real hardware operations.
  3. Finally, the resources in a computer (CPU, memory, disk space) are limited. The operating system must act as a resource manager, optimising the use of the resources, and protecting them against misuse and abuse. When a system provides multiuser or multitasking capabilities, resources must be allocated fairly and equitably amongst a number of competing requests.


Standards[edit]

These standards are used from the IB Computer Science Subject Guide[5]

  • Outline how an operating system hides the complexity of the hardware from users and applications.


References[edit]

  1. http://www.flaticon.com/
  2. https://minnie.tuhs.org/CompArch/Lectures/week07.html
  3. https://minnie.tuhs.org/CompArch/Lectures/week07.html
  4. https://minnie.tuhs.org/CompArch/Lectures/week07.html
  5. IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.