M

Resource Management Notes (Topic 6)

System Resources

  • Primary Memory (RAM): Essential for holding actively processed data and programs, directly impacting performance. Limited RAM forces reliance on slower secondary storage (virtual memory) or prevents loading large programs. Commonly measured in Gigabytes (GB). High-performance systems benefit from error-correcting code (ECC) RAM.

  • Secondary Storage (HDD/SSD/Optical): Provides non-volatile storage for data and programs when the system is powered off. Critical for long-term data retention. Limited storage results in data loss, prevents effective virtual memory use, and restricts overall data capacity. Capacities are measured in GB or Terabytes (TB), with significant performance variations across HDD, SSD, and optical discs. SSDs offer faster access times compared to traditional HDDs.

  • Processor Speed: Determines the rate at which the CPU can execute instructions, significantly affecting overall system responsiveness and task completion time. Measured in Gigahertz (GHz); higher clock speeds generally indicate faster performance. Overclocking can increase processor speed but may reduce lifespan and stability.

  • Processor Cores: Each core enables the processor to handle multiple tasks simultaneously, improving multitasking capabilities. Limited cores restrict concurrent task handling, leading to performance bottlenecks under heavy loads. Multi-core processors include dual-core, quad-core, and even higher core counts for server-grade CPUs.

  • Bandwidth: Measures the data transmission capacity of communication channels, affecting data transfer speeds between devices and networks. Limited bandwidth slows data transfer rates, impacting network performance, file transfer times, and streaming quality. Measured in bits per second (bps).

  • Disk Storage: External storage solutions for data backups and archiving. Overlaps in functionality with secondary storage, providing additional capacity for less frequently accessed data. HDDs are slowly being phased out by faster and more reliable SSDs.

  • Screen Resolution: Represents the pixel count on a display, determining the level of detail and clarity in visual output. Low resolution results in pixelation and reduced image quality. Higher resolutions provide sharper images and more screen real estate for applications.

  • Sound Processor: Dedicated hardware for managing audio reproduction, freeing the CPU from audio processing tasks. A limited sound processor degrades audio quality, introduces latency, and slows down overall system performance during audio-intensive tasks. Modern sound cards support advanced audio technologies like Dolby Atmos and DTS.

  • Graphics Processor (GPU): Specialized processor for handling complex graphics processing tasks, essential for gaming, video editing, and other visually intensive applications. A limited GPU slows down or restricts graphics rendering capabilities, leading to poor visual performance. High-end GPUs feature dedicated memory (VRAM) and advanced cooling solutions.

  • Cache: Small, fast memory that stores frequently accessed data for quicker CPU access, reducing latency and improving system responsiveness. Limited cache results in slower system response times, particularly for repetitive tasks. CPUs typically have multiple levels of cache (L1, L2, L3) with varying sizes and speeds.

  • Network Connectivity (NIC/WNIC/Bluetooth): Enables connections to networks and other devices, supporting wired and wireless communication. Limited connectivity restricts data transfer methods and speeds, affecting network access and device compatibility.

Computer Systems Evaluation

  • Supercomputers: Designed for calculation-intensive tasks such as weather forecasting, scientific simulations, and complex data analysis. Key resources include primary memory, secondary storage, processor speed, and cache. Supercomputers are expensive, power-hungry, and application-specific.

  • Mainframes: Suited for bulk data processing, transaction management, and large-scale data storage, often used in enterprise environments. Key resources include primary memory, secondary storage, processor speed, bandwidth, cache, and network connectivity. Mainframes are characterized by high costs, reliability, and security features; hardware issues can affect all users.

  • Servers: Manage network resources, including file storage, databases, email, and web services. Key resources include primary memory, secondary storage, processor speed, bandwidth, disk storage, cache, and network connectivity. Servers require robust hardware, high availability, and efficient cooling systems.

  • Personal Computers (PCs): General-purpose computing devices for individual use, supporting a wide range of applications. Key resources include primary memory, processor speed, and cache. PCs are typically not portable and require peripherals such as monitors, keyboards, and mice.

  • Laptops: Portable PCs offering similar functionality to desktop computers. Key resources include primary memory, processor speed, and network connectivity. Laptops are more expensive and less powerful than comparable desktop systems and are prone to overheating.

  • Smart Phones: Mobile phones with extended computing functionality, including internet access, multimedia playback, and application support. Key resources include primary memory and network connectivity. Smart phones are limited by screen size, battery life, and potential privacy and security concerns.

  • Digital Cameras: Capture and store digital images and videos, ranging from simple point-and-shoot models to professional-grade DSLRs. Key resources include primary memory (storage cards), screen resolution, and graphics processor. Digital cameras face the risk of data loss if memory cards fail or become corrupted.

Resource Limitations

  • Primary Memory: Insufficient RAM leads to application lags, excessive virtual memory use and system instability.

  • Secondary Storage: Limited storage capacity results in the inability to install new applications or store additional files, as well as slow system functioning due to increased disk fragmentation.

  • Processor Speed: Slow processor speed leads to slower application performance, longer task completion times, and reduced system responsiveness. A 32-bit CPU cannot run 64-bit programs, limiting software compatibility.

  • Bandwidth: Inadequate bandwidth results in system slowdowns, application hanging, and reduced network performance.

  • Cache: Insufficient cache leads to slower processing speeds, particularly for repetitive tasks, and increased latency.

  • Screen Size/Resolution: Limited screen size and resolution can result in reduced display quality, difficulty with multitasking, and eye strain.

  • Graphics Card: An under performing graphics card can result in slower image rendering, choppy visuals, and lower frame rates in games and graphical applications.

  • Sound Processor: A substandard sound processor can produce reduced audio quality and lagging sound, and may increase CPU usage.

  • Network Connectivity: Slow network connectivity results in slower internet and network speeds, affecting online activities.

Operating System Role

  • Memory Management: Allocating storage space, tracking program usage, managing virtual memory, and optimizing RAM usage to prevent memory leaks and ensure efficient resource allocation.

  • Peripheral Management: Managing power distribution to peripherals, handling I/O operations, and managing device drivers for seamless hardware integration.

  • Hardware Interfaces: Managing power consumption, controlling I/O operations, and optimizing data transfer speeds between hardware components to maximize system performance.

OS Resource Management Techniques

  • Policies: Implementing strategies for job scheduling, such as first-come-first-serve (FCFS), shortest job first (SJF), priority scheduling, and round-robin scheduling, to optimize CPU utilization and minimize response times.

  • Scheduling: Allocating CPU time and other system resources to tasks based on predefined policies, ensuring fair resource distribution and preventing resource starvation.

  • Multitasking: Enabling the execution of multiple tasks simultaneously by rapidly switching between them, creating the illusion of parallel processing and improving user productivity.

  • Paging: A memory management scheme that retrieves data from RAM in fixed-size blocks called pages, allowing the execution of programs that are larger than physical memory and enabling non-contiguous memory allocation.

  • Virtual Memory: Using secondary storage (e.g., hard drive) to simulate additional RAM, allowing the system to run more applications and handle larger datasets than physical memory alone.

  • Interrupts: Hardware or software signals that interrupt the current process to handle urgent events or requests, ensuring timely response to critical system events.

  • Polling: A technique where the CPU periodically checks connected devices for requests or readiness, allowing the system to interact with hardware devices and respond to user input.

Dedicated Operating Systems

  • Advantages: Tailored improvements over existing OS, introduction of new features, reduced size, and faster performance due to optimized resource utilization.

Hiding Hardware Complexity

  • Operating systems simplify hardware interaction for users through abstraction, providing a user-friendly interface that hides the underlying complexity of hardware components.

  • Methods: Using drive letters to abstract physical storage devices, implementing virtual memory to manage memory resources, providing simplified input device management through device drivers, and utilizing the Java Virtual Machine (JVM) to provide a platform-independent execution environment for Java applications.

Here are key details from the notes that would be important to memorize for a typical IB exam:

  1. System Resources:

    • Primary Memory (RAM): Purpose, impact on performance (especially related to virtual memory), ECC RAM.

    • Secondary Storage (HDD/SSD): Purpose, differences between HDD and SSD.

    • Processor Speed & Cores: Impact on performance and multitasking.

    • Bandwidth: Impact on data transfer speeds and network performance.

    • Graphics Processor (GPU): Importance for graphics-intensive tasks.

    • Cache: Impact on system responsiveness.

    • Network Connectivity: Types and impacts on connectivity.

  2. Computer Systems Evaluation:

    • Supercomputers: Primary use cases and key resources.

    • Mainframes: Primary use cases, key resources, and characteristics.

    • Servers: Primary use cases and key resources.

    • Personal Computers (PCs) & Laptops: Key resources and limitations.

    • Smart Phones: Key resources and limitations.

  3. Resource Limitations: Understand how limited resources (RAM, storage, processor speed, bandwidth, cache, screen size/resolution, graphics card, sound processor, network connectivity) impact system performance.

  4. Operating System Role:

    • Memory Management: Purposes, techniques to optimize usage.

    • Peripheral Management: How the OS manages peripherals.

    • Hardware Interfaces: How the OS manages hardware interactions.

  5. OS Resource Management Techniques:

    • Policies & Scheduling: Job scheduling strategies (FCFS, SJF, priority, round-robin).

    • Multitasking: Purpose and function.

    • Paging and Virtual Memory: How they extend memory capabilities.

    • Interrupts & Polling: How the OS handles events and requests.

  6. Hiding Hardware Complexity: Methods such as drive letters, virtual memory, device drivers, and JVM simplify hardware interactions.

Focus on understanding the purpose and impact of each component and concept on overall system performance and functionality. Also, ensure you understand the trade-offs and limitations associated with different system configurations.