Operating Systems management techniques
An operating system must manage limited resources. There is intense and heavy competition for these limited resources, so HOW does an operating system manage to efficiently balance resources?
OS resource management techniques[edit]
Resource management is the dynamic allocation and de-allocation by an operating system of processor cores, memory pages, and various types of bandwidth to computations that compete for those resources. The objective is to allocate resources so as to optimize responsiveness subject to the finite resources available. [2]
Technique | Description |
---|---|
scheduling | The aim of CPU scheduling is to make the system efficient, fast and fair.[3] Scheduling is the method by which work is assigned to resources that complete the work.[4]. There are many different scheduling strategies. The main purposes of scheduling algorithms are to minimize resource starvation and to ensure fairness amongst the parties utilizing the resources[5] |
policies | Given a particular task, policy refers to what needs to be done (i.e. activities to perform) and mechanism refers to how to do it (i.e. implementation to enforce policy).[6]. Put another way, the separation of mechanism and policy is a design principle in computer science. It states that mechanisms (those parts of a system implementation that control the authorization of operations and the allocation of resources) should not dictate (or overly restrict) the policies according to which decisions are made about which operations to authorize, and which resources to allocate.[7] |
multitasking | In computing, multitasking is a concept of performing multiple tasks (also known as processes) over a certain period of time by executing them concurrently.[8] |
virtual memory | In computing, virtual memory (also virtual storage) is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory.[9]. This video is deliciously excellent: https://www.youtube.com/watch?time_continue=1&v=qlH4-oHnBb8 |
paging | This is related to virtual memory. In computer operating systems, paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.[10] |
interrupt | In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention.[11] |
polling | Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. [12] |
Standards[edit]
- Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.
References[edit]
- ↑ http://www.flaticon.com/
- ↑ https://www.bscmsrc.eu/media/events/barcelona-multicore-workshop-2010/burton-smith-abstract
- ↑ https://www.studytonight.com/operating-system/cpu-scheduling
- ↑ https://en.wikipedia.org/wiki/Scheduling_(computing)
- ↑ https://en.wikipedia.org/wiki/Scheduling_(computing)#Scheduling_disciplines
- ↑ http://www.8bitavenue.com/2016/12/policy-vs-mechanism-in-operating-system/
- ↑ https://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy
- ↑ https://en.wikipedia.org/wiki/Computer_multitasking
- ↑ https://en.wikipedia.org/wiki/Virtual_memory
- ↑ https://en.wikipedia.org/wiki/Paging
- ↑ https://en.wikipedia.org/wiki/Interrupt
- ↑ https://en.wikipedia.org/wiki/Polling_(computer_science)