1,885
edits
Changes
no edit summary
[[Category:OPS102]]
== What is an Operating System? ==
An operating system (OS) does exactly what the name states: It is software that operates a computer system!
Not all computers have had or required an operating system. Particularly simple computers, including the earliest models of both business computers and microcomputers, as well as very simple embedded computers, do not require an operating system. The computer embedded into a simple mass-market microwave oven, for example, only ever runs one program, does not have communications capabilities, does not multitask, and is nevery updated, and therefore has no operating system.
However, virtually all contemporary computer systems, including embedded devices, are sufficiently complex that they are equipped with an operating system.
== What does an Operating System do? ==
An operating system performs four main functions:
=== 1. Manage and separate resources ===
Think of the specifications that were advertised when you bought your last computer (or smartphone):
* multiple CPU cores
* several gigabytes of memory (RAM)
* storage in the gigabytes-to-terabytes range
* a display with a particular resolution
* various peripherals, such as cameras, speakers, and so forth
All of these are system resources. The operating system manages these resources to ensure that they are used effectively, and to ensure that there are no conflicts over their use.
As requested by the user(s), or as triggered by other considitions such as the time of day or operational requirements, the OS will create processes -- running copies of computer programs. Each process is allocated compute resources by being permitted to run on one or more computer cores. To run a large number of processes, the OS will switch between them, stopping one process and starting another as needed to ensure that all of the processes get a fair share of system resources (which may not always be an equal share).
The operating system will allocate the available memory to processes and to the operating system's internal operations. The OS will program the system hardware to ensure that no process can overwrite memory allocated to another process.
The OS will also allocate storage space to various files as they are created and extended, and deallocate space when those files are truncated (shortened) or deleted. The space allocated to one file will be protected from use in other files.
Display space is similarly shared; the operating system will ensure that multiple programs can each display in their own windows, but prevent them from destroying graphics being displayed by other windows.