Operating system

From Computer Science Wiki
Operating system placement.svg.png

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function.[1]


Explain the role of an operating system[edit]

Task What is the role of the OS?
Managing memory The memory management function keeps track of the status of each memory location, either allocated or free. It determines how memory is allocated among competing processes, deciding which gets memory, when they receive it, and how much they are allowed[2]. Memory management is about the fair and efficient allocation of primary memory to competing processes.
Manage peripherals Usually OS manages peripherals via a device driver:
  • handles the translation of requests between a device and the computer
  • defines where a process must put outgoing data before it can be sent, and where incoming messages will be stored when they are received
  • wakes up the device when it is needed and put it back to sleep when it is not
Manage hardware interfaces This is related to peripherals, above. A hardware interface is the wires, plugs and sockets that hardware devices use to communicate with each other.[3]
Allocating storage This is not only reading, storing and writing data to a disk, but also attaching ownership and permissions to storage AND how and where on the disk the data is stored.
Swapping between programs or time-slicing With a multi-user system, a time-slice is the set amount of processing time each user gets. With a single-user system, a time-slice is the set amount of processing time each program gets. Slices (also called threads) are alternately processed to give the illusion of many tasks happening at once[4]

Different operating systems[edit]

  1. Linux
  2. OS X
  3. Windows
  4. iOS
  5. Android OS
  6. Google chrome OS (Based on Linux)
  7. Playstation OS (Orbis)
  8. Blackberry
  9. Nokia

A good video about operating systems[edit]


An excellent video about operating systems[edit]

Virtual memory[edit]

As we discuss the ways in which an operating system manages resources, we start to learn about virtual memory. A superb video can be found below to help you understand this:

Tools to view internal management of resources[edit]

An operating system also provides tools for managing the operating system. These are often called utilities or system tools. Click here for a brilliant graphic showing the different types of tools you can use to view inside the Linux operating system. These tools give you insight and information for how the operating system is managing different resources. Below is a table with resources and tools to help you view how the OS is managing a particular resource.

The OS manages Linux tools you can use OS X tools you can use
Memory top, htop, free, vmstat top, vm_stat, (gui) Activity monitor
Processes top top, (gui) activity monitor
Files File system, df, du, mount, lsof lsof, (gui) activity monitor, mount, df -h
Security fstab, last, who, /var/log/auth.log last, who, (gui) console, ls -altr, groups
CPU Scheduling perf (gui) Activity monitor
Devices, Device I/O iotop, iostat (gui) activity monitor
Interrupts perf ??
Networks netstat, top, tcpdump, iptraf, iftop, nmon netstat, lsof -i 4tcp

Families of Operating system[edit]

Thank you to Alex M. for finding this image!

Os family tree.png

Standards[edit]

  • I can explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.

References[edit]