Topic 6: Resource management

6.1 Resource Management

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

    To identify the resources that need to be managed within a computer, we need to start at thecomputer's core and work outwards.
  • CPU: Your processor needs to be powerful enough to handle the computation required by the purposes for which this machine was built.
  • Memory (RAM): Sufficient RAM must be installed to handle to processes for which this machine was built. The number of concurrent processes needs to be considered to best manage the available memory.
  • Storage (Secondary Memory of all types): Sufficient storage must be installed to handle the OS, any installed system and application software and user data.
  • GPU, screen resolutions: Screen size, resolutions, GPU speed and Graphics memory must be considered. The requirements for an Architect's workstation will be different than those of a print server.
  • Bandwidth: Sufficient bandwidth must be available for the machine to function as intended.
  • Print resources: The ideal of a paperless office is far from reality in most organisations. Managing print resources includes having easily accessible print services as well as managing consumables in a responsible way.
6.1.2Evaluate the resources available in a variety of computer systems.

An operating system is responsible for communicating with a variety of devices. Usually that communication is accomplished with the help of a device driver, a small program that "knows" the way a particular device expects to receive and deliver information. With device drivers, every operating system no longer needs to know about every device with which it might possible be expected to communicate in te fuure. It's another beautiful example of abstraction. An appropriate device driver often comes with new hardware, and the most up-to-date drivers can often be downloaded for free from the manufacturing company's website.

    The systems under consideration may include...
  • Mainframe Computers: Powerful, multi-user, centralised cpu/memory/disk
  • Servers: Provides services across network
  • Desktop PCs: General use personal computer. Performs regular, daily tasks.
  • Laptops: General use but portable PC.
  • Sub-laptops: Smaller and lighter laptop computers or Netbooks: Small, light-weight, legacy-free, inexpensive laptops.
  • Smartphones: Digital device able to perform many of the functions of a computer. Typically having a relatively large screen.
6.1.3Identify the limitations of a range of resources in a specified computer system.

    Activities
  • Presentation 6.1.3 (pdf)
6.1.4Describe the possible problems resulting from the limitations in the resources in a computer system.

Cache management

Aside from the obvious, there are various other miscellaneous system concepts that require management, which may not be entirely obvious. One is that of cache. Cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the cache, this request can be served by simply reading the cache, which is comparatively faster. Otherwise, the data has to be recomputed or fetched from its original storage location, which is comparatively slower. Hence, the greater the number of requests that can be served from the cache, the faster the overall system performance becomes.
A HTTP Cookie is a type of cache.
text send from the server: Set-Cookie: sessionid=38afes7a8; httponly; Path=/
See other examples: at Mozilla.org
Source: https://en.wikibooks.org/wiki/IB/Group_4/Computer_Science/Resource_Management

    Activities
  • Presentation 6.1.4 (pdf)
Role of the Operating System
6.1.5Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.

6.1.6[not defined]
6.1.7Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.

6.1.8Discuss the advantages of producing a dedicated operating system for a device.
Mobile devices, such as smartphones and tablet computers, run operating systems that are tailored to their needs. The memory constraints and the smaller set of peripherals involved, for example, are different than those of a typical desktop or laptop computer. Apple's iPod Touch, iPhone, and iPad all run the iOS mobile operating system which is derived from Mac OS. The Android operating system, developed by Google, is an open source project as part of the Open Handset Alliance. It has become the most popular OS for a variety of mobile devices. Android and iOS dominate the current market for mobile operating systems, though there are other competitors.
Source: https://en.wikibooks.org/wiki/IB/Group_4/Computer_Science/Resource_Management#Hiding_complexity

6.1.9Outline how an operating system hides the complexity of the hardware from users and applications.
Modern computer hardware is incredibly complex. Luckily, the operating system hides this complexity through the use of abstraction and high-level APIs. For example, if an application wants to create a file in a particular location, it orders the OS to create that file. The program doesn't need to be concerned with what filesystem the disk is running (FAT, NTFS, etc), which disk it is, whether it's a network server or local drive. The OS hides all these details. Other examples include virtualizing real devices, such as drive letters, virtual memory, input devices, the Java virtual machine.
Source: https://en.wikibooks.org/wiki/IB/Group_4/Computer_Science/Resource_Management#Hiding_complexity
References