Topic 6—Resource management (8 hours)

6.1 Resource management (8 hours)

Introduction to resource mangement scratch quiz

System resources

6.1.1 Identify the resources that need to be managed within a computer system.

Resources include: primary memory, secondary storage, processor speed, bandwidth, screen resolution, disk storage, sound processor, graphics processor, cache, network connectivity.

6.1.2 Evaluate the resources available in a variety of computer systems.
3 These should include: mainframes, servers, PCs, sub-laptops, as well as personal digital devices such as cell phones, PDAs and digital cameras.
AIM 9 Develop an appreciation of the issues linked to resource availability with continued developments in computer systems.

6.1.3 Identify the limitations of a range of resources in a specified computer system.
2 For example, single processor computers may not be able to render 3D graphics effectively.

6.1.4 Describe the possible problems resulting from the limitations in the resources in a computer system.
2 For example, user time wasted if the primary memory is too small or processor speed inadequate.

Multi-access and multiprogramming environments should be considered as well as single-user systems.

Role of the operating system

6.1.5 Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.
For example, allocating storage and keeping track of programs in memory, swapping between programs on time-slicing, priority or when one is waiting for input.

6.1.7 Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.
Technical details as to how these are carried out will not be required, but it is expected that students will be familiar with these techniques and understand when and why they are used.

Scheduling, policies, multitasking: http://www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_1/scheduling/miniweb/index.htm

Virtual memory is a mechanism by which programs can run as if they are accessing physical memory directly but actually the access is via a lookup table.
See Segmented, paged and virtual memory from computer science youtube channel (segmented memory not needed for exam) and the first 7m:30s of What is vitrual memory - Gary explains from android authority youtube channel.
Essentially the virtualization of memory enables two things to happen:
1) Operating systems can manage memory for multiple tasks by using a memory map to direct the memory access to the correct page frame.
2) Use of the secondary storage device of a computer to store programs (and associated data) which are not currently scheduled. This allows more programs to be loaded into memory concurrently. see http://computer.howstuffworks.com/virtual-memory.htm . Paging is a method for implementing virtual memory where the operating system makes a guess as to which parts (or pages) of a program will be accessed and swaps only those parts needed. The paging management maintains a list of free frames within memory as well as a list of storage locations of pages currently in virtual memory. http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm. "Both segmentation and paging are valid methods for implementing virtual memory.....segmentation is becoming obsolete. Paging is the newer, better alternative for the x86 architecture." [http://www.jamesmolloy.co.uk/tutorial_html/6.-Paging.html]

Paging works by splitting the virtual address space into blocks called pages, which are usually 4KB in size. Pages can then be mapped on to frames - equally sized blocks of physical memory.

6.1.8 Discuss the advantages of producing a dedicated operating system for a device:
Advantages related to size, speed and customization should be considered.
For example, using a dedicated operating system for a cell phone rather than using a pre-existing operating system.
S/E Issue of proprietary software.

6.1.9 Outline how an operating system hides the complexity of the hardware from users and applications.
Students should be aware of a range of examples where operating systems virtualize real devices, such as drive letters, virtual memory, input devices, the Java virtual machine.
INT Issue of localization causing compatibility problems between systems in different countries.