Operating system
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]. An operating system must also keep track of programs in memory. |
Manage peripherals | Usually OS manages peripherals via a device driver:
|
Allocating storage | This is not only reading, storing and writing data to a disk, but |
Swapping between programs on 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[3] |
Different operating systems[edit]
- Linux
- OS X
- WIndows
- iOS
- Android OS
- Google chrome OS (Based on Linux)
A good video about operating systems[edit]
An excellent video about operating systems[edit]
Linux 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.
Resource | Linux tools you can use to understand what is going on |
---|---|
Memory | top, htop, free, vmstat |
Processes | top |
Files | File system, df, du, mount, lsof |
Security | fstab |
CPU Scheduling | perf |
Devices, Device I/O | iotop, iostat |
Interrupts | perf |
The user interface, most often a GUI but also a CLI | we dont really monitor this |
Networks | netstat, top, tcpdump, iptraf, iftop, nmon |
Do you understand this topic?[edit]
- Describe the main functions of an operating system.
Do you have an advanced understanding about this topic?[edit]
- Describe how an operating system manages the functions you have just described above.
Standards[edit]
- I can explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.