Topic 6 - Resource Management (HL only for Paper 1) Flashcards
Time slicing
It is a process that is managed and coordinated by the OS. A time-slice is the set amount of processing time a particular program is allocated for CPU usage. The slices (also called threads) are then executed and given their corresponding processing time via the scheduler program, which is run once every time slice and chooses what is the next process to run.
3 examples of resources to manage in a computer
- RAM
- Secondary storage
- Processor speed
Processor speed unit
GHz
Multi-core processors means instructions run in ________
parallel
Bandwidth (in terms of Network Capability)
How much data can be sent at the same time in a given time frame
Bandwidth common units
MB/s, GB/s
megabits, gigabits (not megabytes/gigabytes)
divide by 8 to get byte version
2 effects of limited bandwidth
- Slow data transfer across networks
- If accessing internet through network, internet speeds will be slower
Sound processor main role
Translate analogue audio signals to digital signals (microphone) and digital signals to analog audio signals (speakers)
Graphics Processor 3 characteristics
- Responsible for rendering images to display
- Contains GPU and memory to handle these graphical operations
- Does these intense graphical operations in parallel
3 ways to connect to other networks
- Through a NIC (network interface cards) which connects via ethernet cords
- Through a WNIC (wireless NIC) which connects networks wirelessly
- Bluetooth which connects networks via Bluetooth signals
Mainframes and 2 examples where they’re used
A computer on steroids basically. They usually have many multicore processors (100s of processors), and huge amounts of RAM (100s of TB) and secondary storage (1000s of petabytes). Mostly used by businesses. For instance:
- Airline reservation system
- Weather/Financial Models and predictions
Server farms and 2 examples where they’re used
These are essentially a group of many powerful computers working and connecting together in parallel.
- Data centers
- 3D rendering
4 example roles of an OS
- Memory management
- Peripheral management
- Time slicing
- Multi-tasking
Peripherals
Devices that can be connected to a computer but are not essential (e.g. mouse)
Peripheral Drivers
These drivers are a group of software that translate the signal from the peripheral into digital data that can be understood by the computer.
Memory Management
The process of the OS ensuring that each program is allotted its own dedicated section of RAM, known as memory space. Furthermore, the OS will ensure that other programs do no interfere with or access the memory space of other programs. Memory management also involves paging
Memory Management (Paging)
When a file of pages of data from RAM is sent to the secondary storage when RAM is overloaded, and then transferred back to RAM once there is available space again. This file of pages is called the pagefile. This swapping process is controlled by the MMU (memory management unit)
User Interface
It can be either GUI or CLI. A UI is used to interact with the computer, more specifically, allow users to give commands to the computer.
Interrupt signal
This is a signal to the processor, emitted by hardware or software, that indicates an event which requires immediate attention.
There are two types of interrupts:
- Hardware interrupts
- Software interrupts
Interrupt Handlers
When the OS receives the interrupt signal, the OS pauses the current instructions, saves state, and starts a program called the interrupt handler to deal with the high-priority event. After interrupt handler is finished, normal instructions resume.
2 types of hardware interrupts
- Printer paper jam
- Keyboard press
Software interrupts 2 examples
- Software error
- Infinite loop
Polling, and what’s the alternative
This is when one program or device repeatedly asks for the status of another to determine whether an instruction is needed to be performed. These status checks occur at regular intervals and may be inefficient and waste a lot of CPU cycles. Alternative is interrupts.
Scheduling
Refers to the process of assigning tasks to different computer resources and executing them in a sequential order. This is handled by an OS-based process called a scheduler and usually based on an algorithm. The goal of scheduling is to keep all resources busy and complete tasks as efficiently as possible.