Module 1 Flashcards
A program that acts as an intermediary between a user of a computer and the computer hardware.
Operating System
Operating system is a program that acts as an intermediary between a ___ of a computer and the computer ___.
user, hardware
Operating system goals:
* ___
* ___
* ___
- Execute user programs and make solving user problems easier
- Make the computer system convenient to use
- Use the computer hardware in an efficient manner
Computer system can be divided into four components:
* ___
* ___
* ___
* ___
- Hardware - provides basic computing resources (e.g. CPU, memory, I/O devices)
- Operating system - controls and coordinates use of hardware among various applications and users
- Application programs - define the ways in which the system resources are used to solve the computing problems of the users (e.g. Word processors, compilers, web browsers, database systems, video games)
- Users - e.g. people, machines, other computers
Computer System Components
Provides basic computing resources (e.g. CPU, memory, I/O devices)
Hardware
Computer System Components
Controls and coordinates use of hardware among various applications and users
Operating system
Computer System Components
Define the ways in which the system resources are used to solve the computing problems of the users (e.g. Word processors, compilers, web browsers, database systems, video games)
Application programs
Computer System Components
People, machines, other computers
Users
Abstract view of computer components
user
|
application programs
(compilers, web browsers, development kits, etc.)
|
operating system
|
computer hardware
(CPU, memory, I/O devices, etc.)
What the operating systems do depends on the ___.
point of view
What Operating Systems Do
Users want ___, ___ and ___.
convenience,
ease of use,
good performance
What Operating Systems Do
Users does not care about ___.
resource utilization
What Operating Systems Do
Shared computer such as ___ or ___ must keep all users happy.
mainframe, minicomputer
What Operating Systems Do
Operating system is a ___ program, making efficient use of hardware and managing execution of user programs.
resource allocator and control
___ is a resource allocator and control program, making efficient use of hardware and managing execution of user programs.
Operating system
What Operating Systems Do
Users of dedicate systems such as ___ have dedicated resources but frequently use shared resources from ___.
workstations, servers
What Operating Systems Do
___ are resource poor and optimized for usability and battery life.
Mobile devices
What Operating Systems Do
Mobile devices, such as smartphones and tablets, are ___ and optimized for usability and battery life.
resource poor
resource-constrained
What Operating Systems Do
Mobile devices, such as smartphones and tablets, are resource poor and optimized for ___ and ___.
usability, battery life
What Operating Systems Do
Mobile user interfaces include ___ and ___.
touchscreens, voice recognition
What Operating Systems Do
Some computers have little or no ___, such as embedded computers in devices and automobiles.
user interface
What Operating Systems Do
___ primarily run without user intervention to perform specialized functions.
Embedded systems
Defining Operating Systems
The term OS covers many roles because of myriad ___ and ___ of operating systems.
designs, uses
Defining Operating Systems
The term OS covers many roles, as it is found in everything from:
* ___
* ___
* ___
* ___
* ___
* ___
- Toasters
- Ships
- Spacecraft
- Gaming machines
- TVs
- Industrial control systems
Defining Operating Systems
The term OS was born when fixed-use computers for ___ became more general purpose and needed resource management and program control.
military
The term OS was born when fixed-use computers for military became more general purpose and needed ___ and ___.
resource management,
program control
___ has no universally accepted definition.
Operating System
Operating System Definition
“Everything a ___ ships when you order an operating system” is a good approximation but varies wildly.
vendor
Operating System Definition
“The one program running at all times on the computer” is the ___, part of the operating system.
kernel
Operating System Definition
“The one program running at all times on the computer” is the kernel, a core part of the operating system. Everything else is either:
- ___
- ___
- A system program (ships with the operating system but is not part of the kernel), or
- An application program, which includes all programs not associated with the operating system.
Operating System Definition
Ships with the operating system but is not part of the kernel
System program
Operating System Definition
Includes all programs not associated with the operating system.
Application program
Operating System Definition
Today’s operating systems for general purpose and mobile computing also include ___ – a set of software frameworks that provide additional services to application developers such as databases, multimedia, and graphics.
middleware
Computer System Organization
Computer-system operation involves one or more ___ and ___ connected through a common bus, providing access to shared memory.
CPUs, device controllers
Computer System Organization
Computer-system operation involves one or more CPUs and device controllers connected through a ___, providing access to shared memory.
common bus
The CPUs and devices execute ___, competing for memory cycles.
concurrently
The CPUs and devices execute concurrently, competing for ___.
memory cycles
Computer-System Operation
___ and the ___ can execute concurrently, with each device controller managing a specific type of device.
I/O devices, CPU
Computer-System Operation
Each ___ is in charge of a particular device type.
device controller
Computer-System Operation
Every device controller has a ___ and is managed by an operating system device driver.
local buffer
Computer-System Operation
Every device controller has a local buffer and is managed by an operating system ___.
device driver
Computer-System Operation
The CPU moves data between ___ and ___.
main memory, local buffers
Computer-System Operation
I/O operations occur from the ___ to the controller’s ___.
device, local buffer
Computer-System Operation
Once an operation is complete, the device controller notifies the CPU by triggering an ___.
interrupt
Common Functions of Interrupts
Interrupt transfers control to the interrupt service routine generally, through the ___, which contains the addresses of all the service routines.
interrupt vector
Common Functions of Interrupts
Interrupt architecture must save the ___ of the interrupted instruction.
address
Common Functions of Interrupts
A ___ or ___ is a software-generated interrupt caused either by an error or a user request.
trap, exception
Common Functions of Interrupts
An operating system is ___ driven.
interrupt
The ___ diagram shows how the CPU and I/O devices interact using interrupts.
Interrupt Timeline
The Interrupt Timeline diagram illustrates how the CPU and I/O devices interact using interrupts.
- Initially, the CPU runs a user program, while the I/O device remains idle.
- When an I/O request is made, the device starts transferring data. Once the transfer is complete, the device signals an interrupt to notify the CPU.
- The CPU then pauses its current task, processes the interrupt, and resumes execution after handling it.
This cycle repeats for each I/O request, ensuring efficient multitasking without the CPU constantly checking the device status.
Noted
- I/O request is made.
- I/O device starts transferring data while the CPU continues executing the user program.
- Transfer is completed, and the I/O device signals an interrupt.
- CPU stops the user program to handle the interrupt.
- Interrupt is processed, and the CPU resumes the user program.
- Next I/O request occurs, repeating the cycle.
Interrupt Timeline
1.) Initially, the CPU runs a ___, while the I/O device remains ___.
user program, idle
Interrupt Timeline
2.) When an I/O ___ is made, the device starts transferring data. Once the transfer is complete, the device signals an ___ to notify the CPU.
request, interrupt
Interrupt Timeline
3.) The CPU then ___ its current task, processes the ___, and ___ execution after handling it.
pauses, interrupt, resumes
Interrupt Handling
The operating system preserves the state of the CPU by storing the ___ and the ___.
It then determines the type of interrupt that has occurred.
Separate segments of code handle each type of interrupt, ensuring the appropriate action is taken.
registers, program counter
___ are small, high-speed memory locations inside the CPU that store data, instructions, and addresses temporarily for quick processing.
Registers
Interrupt Handling
___ contains the address of the next instruction to be executed.
Program Counter (PC)
Interrupt Handling
Separate segments of ___ handle each type of interrupt, ensuring the appropriate action is taken.
code
Interrupt-drive I/O Cycle
The Interrupt-driven I/O Cycle follows these steps:
- The device driver initiates I/O in the CPU.
- The I/O controller initiates I/O.
- When the operation is input ready, output complete, or an error occurs, an interrupt signal is generated.
- The CPU receives the interrupt and transfers control to the interrupt handler.
- The interrupt handler processes the data and returns from the interrupt.
- The CPU resumes processing of the interrupted task.
- The cycle repeats as needed.
Noted
The Interrupt-driven I/O Cycle follows these steps:
- The ___ initiates ___ in the ___.
- The ___ initiates ___.
- When the operation is ___, ___, or an ___ occurs, an ___ is generated.
- The ___ receives the ___ and transfers control to the ___.
- The ___ processes the ___ and returns from the ___.
- The ___ resumes processing of the ___.
- The cycle repeats as needed.
- device driver, I/O, CPU
- I/O controller, I/O
- input ready, output complete, error, interrupt signal
- CPU, interrupt, interrupt handler
- interrupt handler, data, interrupt
- CPU, interrupted task
I/O Structure
There are two methods for handling I/O:
- ___
- ___
- Synchronous I/O - After I/O starts, control returns to the user program only upon I/O completion.
- Asynchronous I/O - After I/O starts, control returns to the user program immediately, without waiting for I/O completion.
I/O Structure
After I/O starts, control returns to the user program only upon I/O completion.
Synchronous I/O
I/O Structure
After I/O starts, control returns to the user program immediately, without waiting for I/O completion.
Asynchronous I/O
I/O Structure (Cont.)
In synchronous I/O, control returns to the user program only after I/O completion. During this period, the system may use a ___, which idles the CPU until the next interrupt, or a ___, causing contention for memory access. This method allows only one I/O request at a time, preventing simultaneous I/O processing.
wait instruction, wait loop
I/O Structure (Cont.)
In synchronous I/O, control returns to the user program only after I/O completion. During this period, the system may use a ___, which idles the CPU until the next interrupt.
wait instruction
I/O Structure (Cont.)
In synchronous I/O, control returns to the user program only after I/O completion. During this period, the system may use a ___, causing contention for memory access.
wait loop
I/O Structure (Cont.)
In asynchronous I/O, control returns to the user program immediately after I/O starts. A ___ can be used to request the OS to wait for I/O completion.
system call
I/O Structure (Cont.)
In asynchronous I/O, control returns to the user program immediately after I/O starts. The ___ maintains an entry for each I/O device, storing its type, address, and state.
device-status table
I/O Structure (Cont.)
In asynchronous I/O, control returns to the user program immediately after I/O starts. The device-status table maintains an entry for each I/O device, storing its ___, ___, and ___.
type, address, state
I/O Structure (Cont.)
In asynchronous I/O, control returns to the user program immediately after I/O starts. The OS indexes into the ___ to check the device status and updates the entry when an interrupt occurs.
I/O device table
Storage Structure
___ is the only large storage medium that the CPU can access directly.
Main memory
Storage Structure
The main memory features ___, and is typically ___.
random access, volatile
Storage Structure
The main memory is commonly implemented as ___.
Dynamic Random-Access Memory (DRAM)
Storage Structure
___ serves as an extension of main memory, providing a large ___ storage capacity for long-term data retention.
Secondary storage, nonvolatile
Storage Structure (Cont.)
___ consist of rigid metal or glass platters coated with magnetic recording material.
Hard disk drives (HDD)
Storage Structure (Cont.)
Hard disk drives (HDD) consist of ___ or ___ coated with magnetic recording material.
rigid metal, glass platters
Storage Structure (Cont.)
Hard disk drives (HDD) consist of rigid metal or glass platters coated with ___.
magnetic recording material
Storage Structure (Cont.)
[Hard disk drives (HDD)] The disk surface is logically divided into ___, which are further subdivided into ___.
tracks, sectors
Storage Structure (Cont.)
[Hard disk drives (HDD)] A ___ manages the logical interaction between the device and the computer.
disk controller
Storage Structure (Cont.)
___ devices are faster than hard disks while maintaining non-volatile storage.
Non-volatile memory (NVM)
Storage Structure (Cont.)
These utilize various technologies and are becoming increasingly popular as their capacity and performance improve while prices continue to drop.
Non-volatile memory (NVM)
Storage Definitions and Notation Review
The basic unit of computer storage is the ___.
bit
Storage Definitions and Notation Review
A bit can contain one of two values, ___ and ___.
0, 1
Storage Definitions and Notation Review
All other storage in a computer is based on ___.
collections of bits
Storage Definitions and Notation Review
Given enough bits, it is amazing how many things a computer can represent:
* ___
* ___
* ___
* ___
* ___
* ___
* ___
- numbers
- letters
- images
- movies
- sounds
- documents
- programs
Storage Definitions and Notation Review
A ___ is 8 bits, and on most computers, it is the smallest convenient chunk of storage.
byte
Storage Definitions and Notation Review
It is the smallest convenient chunk of storage on most computers.
byte
For example, most computers don’t have an instruction to move a bit but do have one to move a byte.
Storage Definitions and Notation Review
A less common term is ___, which is a given computer architecture’s native unit of data.
word
Storage Definitions and Notation Review
A word is made up of ___ or more bytes.
one
For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-byte) words. A computer executes many operations in its native word size rather than a byte at a time.
Storage Definitions and Notation Review
Computer storage, along with most computer throughput, is generally measured and manipulated in ___ and collections of bytes.
bytes
Storage Definitions and Notation Review
A kilobyte (KB) is ___ bytes.
1,024
Storage Definitions and Notation Review
A megabyte (MB) is ___ bytes.
1,024^2
Storage Definitions and Notation Review
A gigabyte (GB) is ___ bytes.
1,024^3
Storage Definitions and Notation Review
A terabyte (TB) is ___ bytes.
1,024^4
Storage Definitions and Notation Review
A petabyte (PB) is ___ bytes.
1,024^5
Storage Definitions and Notation Review
Computer manufacturers often round off these numbers and say that a megabyte is ___ bytes and a gigabyte is ___ bytes.
1 million, 1 billion
Storage Definitions and Notation Review
Networking measurements are an exception to this general rule; they are given in ___ because networks move data a ___ at a time.
bit(s)
Storage Hierarchy
Storage systems are organized in a hierarchy based on ___, ___, and ___.
- speed
- cost
- volatility
*hierarchy matters
Storage Hierarchy
___ improves performance by copying information into a faster storage system, allowing main memory to function as a cache for secondary storage.
Caching
Storage Hierarchy
Each device controller is managed by a ___, which provides a uniform interface between the controller and the operating system kernel.
device driver
Storage Hierarchy
Each device controller is managed by a device driver, which provides a uniform interface between the ___ and the operating system ___.
controller, kernel
Storage-Device Hierarchy
The Storage-Device Hierarchy is as follows (from fastest and smallest to slowest and largest):
- ___
- ___
- ___
- ___
- ___
- ___
- ___
- Registers (Primary Storage, Volatile, Fastest, Smallest)
- Cache (Primary Storage, Volatile)
- Main Memory (Primary Storage, Volatile)
- Nonvolatile Memory (Secondary Storage, Nonvolatile)
- Hard-Disk Drives (HDD) (Secondary Storage, Nonvolatile)
- Optical Disk (Tertiary Storage, Nonvolatile)
- Magnetic Tapes (Tertiary Storage, Nonvolatile, Slowest, Largest)
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Primary Storage
- Registers
- Cache
- Main Memory
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Secondary Storage
- Nonvolatile Memory (NVM)
- Hard-Disk Drives (HDD)
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Tertiary Storage
- Optical Disk
- Magnetic Tapes
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Volatile Storage
- Registers
- Cache
- Main Memory
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Nonvolatile Storage
- Nonvolatile Memory
- Hard-Disk Drives
- Optical Disk
- Magnetic Tapes
*hierarchy matters (smallest to largest; faster to slower)
Storage-Device Hierarchy
Smallest and Fastest Storage
Registers
Storage-Device Hierarchy
Largest and Slowest Storage
Magnetic Tapes
How a Modern Computer Works
The Von Neumann architecture separates ___ and ___, enabling faster processing.
memory, CPU
How a Modern Computer Works
In the Von Neumann architecture, ___ enhances processing efficiency by enabling data transfers without CPU intervention.
Direct Memory Access (DMA)
How a Modern Computer Works
von Neumann architecture
- CPU executes a thread of execution and interacts with cache for fast access.
- Instruction execution cycle processes instructions and data stored in memory.
- Data movement occurs between CPU and memory for processing.
- I/O requests, data transfers, and interrupts facilitate communication between the CPU and devices.
- Direct Memory Access (DMA) enables data transfer between devices and memory without CPU intervention.
Noted
Direct Memory Access Structure
___ is used for high-speed I/O devices capable of transmitting data at speeds close to that of memory.
Direct Memory Access (DMA)
Direct Memory Access Structure
The ___ handles data transfer by moving entire blocks from buffer storage directly to main memory without CPU intervention.
device controller
Direct Memory Access Structure
Instead of generating an interrupt for each byte, DMA reduces CPU overhead by generating only ___ interrupt per block of data.
one
Operating-System Operations
The ___ is a simple code that initializes the system and loads the kernel.
bootstrap program
Operating-System Operations
The bootstrap program is a simple code that initializes the system and loads the ___. Once it is loaded, it starts system ___, which provide services outside of it.
kernel, daemons
Operating-System Operations
The operating system is interrupt-driven, responding to both ___ and ___ interrupts.
hardware, software
Operating-System Operations
A ___ interrupt occurs when triggered by a device.
hardware
Operating-System Operations
A software interrupt (___ or ___) may result from a software error, such as division by zero, or a system call, where a process requests an operating system service. Other process-related issues include infinite loops and processes modifying each other or the operating system.
exception, trap
Operating-System Operations
A software interrupt may result from a software error, such as division by zero, or a ___, where a process requests an operating system service.
system call
Operating-System Operations
A software interrupt may result from a software error, such as ___. Other process-related issues include ___ and processes modifying each other or the operating system.
division by zero, infinite loops
Multiprogramming (Batch System)
A single user cannot always keep the CPU and I/O devices ___.
busy
Multiprogramming (Batch System)
___ improves system efficiency by organizing jobs, ensuring the CPU always has a task to execute. A subset of jobs is kept in memory, and the operating system selects one to run using job scheduling. If a job needs to wait, such as for an I/O operation, the OS switches to another job, maximizing resource utilization.
Multiprogramming
Multiprogramming (Batch System)
Multiprogramming improves system efficiency by organizing ___, ensuring the CPU always has a task to execute.
jobs
A subset of jobs is kept in memory, and the operating system selects one to run using job scheduling. If a job needs to wait, such as for an I/O operation, the OS switches to another job, maximizing resource utilization.
Multiprogramming (Batch System)
A subset of jobs is kept in memory, and the operating system selects one to run using ___. If a job needs to wait, such as for an I/O operation, the OS switches to another job, maximizing resource utilization.
job scheduling
Multitasking (Timesharing)
___ is a logical extension of batch systems, where the CPU switches between jobs frequently, allowing users to interact with their programs while they are running, creating an interactive computing environment.
Multitasking
Multitasking (Timesharing)
Multitasking is a logical extension of batch systems, where the CPU switches between jobs frequently, allowing users to interact with their programs while they are running, creating an ___ computing environment.
interactive
Multitasking (Timesharing)
Response time should be ___ second to ensure a smooth user experience.
less than one (< 1)
Multitasking (Timesharing)
Each user has at least ___ executing process in memory.
one
Multitasking (Timesharing)
When multiple jobs are ready to run simultaneously, ___ determines which job gets processor time.
CPU scheduling
Multitasking (Timesharing)
When multiple jobs are ready to run simultaneously, CPU scheduling determines which job gets processor time. If processes cannot fit in memory, ___ moves them in and out to allow execution.
swapping
Multitasking (Timesharing)
___ further enhances efficiency by enabling processes to run even if they are not entirely loaded into memory.
Virtual memory
Memory Layout for Multiprogrammed System
In a multiprogrammed system, memory is divided into sections, with the operating system occupying the upper portion and multiple processes allocated below it. Each process is assigned a separate ___, allowing multiple programs to run concurrently.
This structure ensures efficient CPU utilization by keeping several processes in memory, enabling the operating system to switch between them as needed.
Diagram
max -:-:-:-:-:-:-:-:-:-:-:-
operating system
-:-:-:-:-:-:-:-:-:-:-:-:-:-:-
process 1
-:-:-:-:-:-:-:-:-:-:-:-:-:-:-
process 2
-:-:-:-:-:-:-:-:-:-:-:-:-:-:-
process 3
-:-:-:-:-:-:-:-:-:-:-:-:-:-:-
process 4
0 -:-:-:-:-:-:-:-:-:-:-:-:-:-
memory space
Dual-Mode Operation
___ enables the operating system to protect itself and other system components.
Dual-mode operation
Dual-Mode Operation
Dual-mode operation operates in two modes: ___ and ___.
user mode, kernel mode
Dual-mode operation operates in two modes: user mode and kernel mode, with a ___ provided by hardware to differentiate between them.
mode bit
Dual-Mode Operation
When a user program runs, the mode bit is set to ___.
user mode
Dual-Mode Operation
When kernel code is executed, the mode bit switches to ___.
kernel mode
Dual-Mode Operation
To prevent users from explicitly setting the mode bit to kernel mode, a ___ automatically switches to kernel mode, and returning from the call resets it back to user mode.
system call
Dual-Mode Operation
Certain ___ instructions can only be executed in kernel mode, ensuring controlled access to critical system operations.
privileged
Transition from User to Kernel Mode
Transition from User to Kernel Mode Diagram
- A user process starts executing in user mode with the mode bit set to 1.
- When the process makes a system call, a trap occurs, switching execution to kernel mode by setting the mode bit to 0. The system call is then executed in kernel mode.
- Once completed, control returns to user mode, restoring the mode bit to 1, allowing the user process to continue execution.
Noted
Transition from User to Kernel Mode
Transition from User to Kernel Mode Diagram
- A user process starts executing in ___ mode with the mode bit set to ___.
- When the process makes a system call, a ___ occurs, switching execution to ___ mode by setting the mode bit to ___. The system call is then executed in kernel mode.
- Once completed, control returns to ___ mode, restoring the mode bit to ___, allowing the user process to continue execution.
- user, 1
- trap, kernel, 0
- user, 1
Timer
A ___ is used to prevent infinite loops or processes from monopolizing system resources.
timer
Timer
A timer is set to ___ the computer after a specified time period.
interrupt
Timer
A counter, ___ by the physical clock, is managed by the operating system through a ___ instruction. When the counter reaches zero, an interrupt is generated.
decremented, privileged
Timer
When the counter reaches ___, an ___ is generated.
zero, interrupt
The timer is set before ___ to ensure the operating system can regain control or terminate a program that exceeds its allotted time.
scheduling a process
Process Management
A ___ is a program in execution and serves as a unit of work within the system.
process
Process Management
While a program is a ___ entity, a process is ___, requiring resources such as CPU, memory, I/O, files, and initialization data to accomplish its task. When a process terminates, the system reclaims any reusable resources.
passive, active
Process Management
A single-threaded process has a ___, which determines the next instruction to execute. It processes instructions sequentially, one at a time, until completion.
single program counter
Process Management
A multi-threaded process has a ___ for each thread, allowing multiple sequences of execution.
separate program counter
Process Management
A typical system runs multiple processes simultaneously, including both ___ and ___.
user processes, operating system processes
Process Management
___ is achieved by multiplexing the CPUs among processes and threads, ensuring efficient execution on one or more CPUs.
Concurrency
Process Management Activities
The operating system is responsible for the following activities in connection with process management:
* ___
* ___
* ___
* ___
* ___
- Creating and deleting both user and system processes
- Suspending and resuming processes
- Providing mechanisms for process synchronization
- Providing mechanisms for process communication
- Providing mechanisms for deadlock handling
Memory Management
To execute a program, all or part of its ___ and required ___ must be loaded into memory.
instructions, data
Memory Management
___ is responsible for determining what is in memory and when, ensuring optimal CPU utilization and system responsiveness for users.
Memory management
Memory Management
Memory management involves several key activities, including:
* ___
* ___
* ___
- tracks memory usage and identifying which processes or data occupy memory.
- decides which processes or data should be moved in and out of memory as needed.
- handles the allocation and deallocation of memory space, ensuring efficient resource utilization.
File-System Management
The operating system provides a uniform, logical view of information storage by abstracting physical storage properties into a logical storage unit called a ___.
file
File-System Management
Storage medium is managed by a device controller such as a ___ or ___, with varying properties like access speed, capacity, data transfer rate, and access method (sequential or random).
disk drive, tape drive
File-System Management
Storage medium is managed by a device controller such as a disk drive or tape drive, with varying properties like ___, ___, ___, and ___ (sequential or random).
- access speed,
- capacity,
- data transfer rate,
- access methods
File-System Management
Files are typically organized into ___, with access control mechanisms determining user permissions.
directories
File-System Management
The operating system handles several file-system management activities, including:
* ___
* ___
* ___
* ___
- creating and deleting files and directories
- providing operations to manipulate them
- mapping files onto secondary storage
- backing up data to non-volatile storage media
Mass-Storage Management
___ are commonly used to store data that does not fit in main memory or needs to be retained for an extended period.
Disks
disk subsystem
Proper management of mass storage is crucial, as the overall speed of computer operation depends heavily on the efficiency of the ___ and its ___.
disk subsystem, algorithms
The operating system performs several key mass-storage management activities, including:
* ___
* ___
* ___
* ___
* ___
* ___
- mounting and unmounting storage devices
- managing free space
- allocating storage
- scheduling disk access
- partitioning disks
- ensuring data protection.
Caching
___ is a fundamental principle applied at multiple levels in a computer, including hardware, the operating system, and software.
Caching
Caching
Caching works by temporarily copying ___ information from slower storage to faster storage, improving access speed.
frequently used
Caching
When data is needed, the system first checks the ___. If the data is found, it is used directly from the cache, resulting in faster access. If the data is not present, it is retrieved from the slower storage, copied to the cache, and then used.
cache
Caching
When data is needed, the system first checks the cache. If the data is found, it is used directly from the ___, resulting in faster access. If the data is not present, it is retrieved from the ___, copied to the cache, and then used.
cache, slower storage
Caching
Since the cache is smaller than the storage it caches, ___ becomes a critical design challenge. Important factors include ___ and ___, which determine how data is stored and replaced within the cache.
cache management,
cache size, replacement policies
Characteristics of Various Types of Storage
Storage Levels
1.) Registers
- Typical Size: < 1 KB
- Implementation Technology: Custom memory with multiple ports CMOS
- Access Time: 0.25 - 0.5 ns
- Bandwidth: 20,000 - 100,000 MB/sec
- Managed by: Compiler
- Backed by: Cache
2.) Cache
- Typical Size: < 16 MB
- Implementation Technology: On-chip or off-chip CMOS SRAM
- Access Time: 0.5 - 25 ns
- Bandwidth: 5,000 - 10,000 MB/sec
- Managed by: Hardware
- Backed by: Main memory
3.) Main Memory
- Typical Size: < 64 GB
- Implementation Technology: CMOS SRAM
- Access Time: 80 - 250 ns
- Bandwidth: 1,000 - 5,000 MB/sec
- Managed by: Operating system
- Backed by: Disk
4.) Solid-State Disk (SSD)
- Typical Size: < 1 TB
- Implementation Technology: Flash memory
- Access Time: 25,000 - 50,000 ns
- Bandwidth: 500 MB/sec
- Managed by: Operating system
- Backed by: Disk
5.) Magnetic Disk
- Typical Size: < 10 TB
- Implementation Technology: Magnetic disk
- Access Time: 5,000,000 ns
- Bandwidth: 20 - 150 MB/sec
- Managed by: Operating system
- Backed by: Disk or tape
Note: Movement between levels of the storage hierarchy can be explicit or implicit.
Characteristics of Various Types of Storage
Determine storage type through these characteristics:
-
Typical Size: < 1 KB
- Implementation Technology: Custom memory with multiple ports CMOS
- Access Time: 0.25 - 0.5 ns
- Bandwidth: 20,000 - 100,000 MB/sec
- Managed by: Compiler
- Backed by: Cache
[Level 1] Registers
Characteristics of Various Types of Storage
Determine storage type through these characteristics:
- Typical Size: < 16 MB
- Implementation Technology: On-chip or off-chip CMOS SRAM
- Access Time: 0.5 - 25 ns
- Bandwidth: 5,000 - 10,000 MB/sec
- Managed by: Hardware
- Backed by: Main memory
[Level 2] Cache
Characteristics of Various Types of Storage
Determine storage type through these characteristics:
- Typical Size: < 64 GB
- Implementation Technology: CMOS SRAM
- Access Time: 80 - 250 ns
- Bandwidth: 1,000 - 5,000 MB/sec
- Managed by: Operating system
- Backed by: Disk
[Level 3] Main Memory
Characteristics of Various Types of Storage
Determine storage type through these characteristics:
- Typical Size: < 1 TB
- Implementation Technology: Flash memory
- Access Time: 25,000 - 50,000 ns
- Bandwidth: 500 MB/sec
- Managed by: Operating system
- Backed by: Disk
[Level 4] Solid-State Disk (SSD)
Characteristics of Various Types of Storage
Determine storage type through these characteristics:
- Typical Size: < 10 TB
- Implementation Technology: Magnetic disk
- Access Time: 5,000,000 ns
- Bandwidth: 20 - 150 MB/sec
- Managed by: Operating system
- Backed by: Disk or tape
[Level 5] Magnetic Disk
Characteristics of Various Types of Storage
Movement between levels of the storage hierarchy can be ___ or ___.
explicit, implicit
Migration of Data “A” from Disk to Register
In multitasking environments, it is essential to always use the ___ value, regardless of where it is stored in the storage hierarchy.
most recent
Migration of Data “A” from Disk to Register
Data moves through different levels of storage, starting from the ___ to ___, then to ___, and finally to a ___, ensuring faster access at each stage.
[Diagram Representation]
➡ ___ → ___ → ___ → ___
Magnetic Disk → Main Memory → Cache → Hardware Register
Migration of Data “A” from Disk to Register
In multiprocessor systems, ___ must be maintained in hardware so that all CPUs have the latest value in their caches.
cache coherency
Migration of Data “A” from Disk to Register
The complexity increases in distributed environments, where ___ of the same data may exist, requiring specialized solutions for consistency.
multiple copies
I/O Subsystem
One of the key functions of the operating system is to hide the ___ from the user.
complexities of hardware devices
I/O Subsystem
The ___ plays a crucial role in managing various aspects of input and output operations.
I/O subsystem
I/O Subsystem
I/O subsystem handles memory management for I/O, including ___, which temporarily stores data during transfers; ___, which keeps frequently accessed data in faster storage for improved performance; and ___, which allows the output of one job to overlap with the input of another.
buffering, caching, spooling
I/O Subsystem
I/O subsystem handles memory management for I/O, including ___, which temporarily stores data during transfers.
buffering
I/O Subsystem
I/O subsystem handles memory management for I/O, including ___, which keeps frequently accessed data in faster storage for improved performance.
caching
I/O Subsystem
I/O subsystem handles memory management for I/O, including ___, which allows the output of one job to overlap with the input of another.
spooling
I/O Subsystem
The I/O subsystem provides a ___, along with ___, ensuring seamless communication between the operating system and connected peripherals.
general device-driver interface,
drivers specific to each hardware device
Protection and Security
___ refers to mechanisms that control access to system resources, ensuring that processes and users interact safely within the constraints defined by the operating system.
Protection
Protection and Security
___ focuses on defending the system against internal and external threats, including denial-of-service attacks, worms, viruses, identity theft, and theft of service.
Security
Protection and Security
To enforce protection and security, systems first identify ___ to determine ___.
users, access privileges
Protection and Security
Each user is assigned a user identity (User ID or security ID), which includes a ___ and ___.
unique name, number
Protection and Security
Each user is assigned a ___, which includes a unique name and number.
user identity (User ID or security ID)
Protection and Security
The ID is linked to all ___ and ___ belonging to the user, defining their access permissions.
files, processes
Protection and Security
A ___ enables managing access for multiple users collectively, allowing controlled interactions with files and processes.
group identifier (Group ID)
Protection and Security
___ allows a user to temporarily switch to a higher-privileged identity, granting them additional rights when necessary.
Privilege escalation
Virtualization
___ enables an operating system to run applications within another OS, making it a rapidly growing industry.
Virtualization
Virtualization
When the source and target CPU types differ, ___ is used to bridge the gap, such as translating PowerPC instructions to Intel x86.
emulation
Virtualization
However, emulation is generally the ___ method, especially when programs are ___ rather than compiled into native machine code.
slowest, interpreted (Interpretation)
Virtualization
In virtualization, the ___ is natively compiled for the CPU, and ___ also run natively compiled.
operating system, guest operating systems
For example, VMware can run multiple Windows XP guest systems, each executing its own applications, on a Windows XP host OS.
Virtualization
A ___ provides the necessary virtualization services, enabling efficient resource sharing between the host and guest systems.
Virtual Machine Manager (VMM)
Virtualization (cont.)
Virtualization is widely used in laptops and desktops to run multiple operating systems for ___ and ___.
compatibility, exploration
A common example is an Apple laptop running macOS as the host OS and Windows as a guest OS. This setup is beneficial for developing applications across multiple operating systems without requiring separate machines. It also enables quality assurance testing in different environments and allows efficient execution and management of computing resources in data centers.
Virtualization (cont.)
A Virtual Machine Manager (VMM) can run ___, meaning it acts as the ___ system itself.
natively, host
Virtualization (cont.)
In such cases, there is no general-purpose host OS, as seen in platforms like ___ and ___.
VMware ESX, Citrix XenServer
Computing Environments - Virtualization
[Diagram]
In a traditional computing environment, processes interact directly with the kernel through a programming interface, which manages hardware resources.
In a virtualized environment, a Virtual Machine Manager (VMM) is introduced between the hardware and multiple virtual machines (VMs). Each VM operates with its own kernel, allowing separate sets of processes to run independently.
Noted
Computing Environments - Virtualization
In a traditional computing environment, processes interact directly with the kernel through a ___, which manages hardware resources.
programming interface
Computing Environments - Virtualization
In a virtualized environment, a ___ is introduced between the hardware and multiple virtual machines (VMs).
Virtual Machine Manager (VMM)
Computing Environments - Virtualization
In a virtualized environment, a Virtual Machine Manager (VMM) is introduced between the ___ and multiple ___.
hardware, virtual machines (VMs)
Computing Environments - Virtualization
In a virtualized environment, a Virtual Machine Manager (VMM) is introduced between the hardware and multiple virtual machines (VMs). Each VM operates with its own ___, allowing separate sets of processes to run independently.
kernel
Distributed Systems
A ___ consists of multiple networked systems, which may be heterogeneous and function as a unified environment.
distributed system
Distributed Systems
A ___ serves as the communication path, with ___ being the most commonly used protocol.
network, TCP/IP
Distributed Systems
Networks can be categorized based on their scope, including:
* ___
* ___
* ___
* ___
- Local Area Networks (LANs)
- Wide Area Networks (WANs)
- Metropolitan Area Networks (MANs)
- Personal Area Networks (PANs).
Distributed Systems
A ___ facilitates interaction between systems across the network. It provides a communication scheme that allows systems to exchange messages and creates the illusion of a single, cohesive system, ensuring seamless integration and resource sharing.
Network Operating System
Distributed Systems
Network Operating System provides a ___ that allows systems to exchange messages and creates the ___ of a single, cohesive system, ensuring seamless integration and resource sharing.
communication scheme, illusion
Computer-System Architecture
Most computer systems operate with a ___ processor, though many also incorporate ___ processors for specific tasks.
single general-purpose, special-purpose
Computer-System Architecture
___ are becoming increasingly important due to their efficiency and performance benefits.
Multiprocessor systems
Computer-System Architecture
Multiprocessor systems, also known as ___ or ___, these architectures offer several advantages, including increased throughput, economy of scale, and improved reliability through graceful degradation or fault tolerance.
parallel systems, tightly coupled systems
Computer-System Architecture
Parallel systems or tightly coupled systems offer several advantages, including:
* ___
* ___
* ___
- increased throughput
- economy of scale
- improved reliability through graceful degradation or fault tolerance
Computer-System Architecture
Multiprocessor systems are categorized into two types:
* ___
* ___
- Asymmetric Multiprocessing - each processor is assigned a specific task, leading to a structured division of labor.
- Symmetric Multiprocessing - all processors share the workload equally, performing the same types of tasks to optimize system performance.
Computer-System Architecture
In ___, each processor is assigned a specific task, leading to a structured division of labor.
Asymmetric Multiprocessing
Computer-System Architecture
In ___, all processors share the workload equally, performing the same types of tasks to optimize system performance.
Symmetric Multiprocessing
Symmetric Multiprocessing Architecture
Symmetric Multiprocessing Architecture Diagram
In Symmetric Multiprocessing (SMP), multiple processors share the same main memory and operate under a single operating system. Each processor has its own CPU, registers, and cache, allowing independent execution of tasks while accessing shared memory. This architecture enhances performance, reliability, and load balancing by distributing computational tasks across multiple processors.
Noted
In Symmetric Multiprocessing (SMP), multiple ___ share the same ___ and operate under a single ___.
processors, main memory, operating system
In Symmetric Multiprocessing (SMP), each processor has its own ___, ___, and ___, allowing independent execution of tasks while accessing shared memory.
CPU, registers, cache
Dual-Core Design
A ___ processor consists of two CPU cores integrated within a single processor chip.
dual-core
Dual-Core Design
Each core has its own ___ and ___, allowing independent execution of tasks.
registers, L1 cache
Dual-Core Design
Both cores share an ___ which helps coordinate data access before reaching main memory.
L2 cache
Dual-Core Design
In addition to multicore processors, some systems use a ___ approach, where multiple processor chips work together.
multi-chip
Other configurations include systems containing all chips within a chassis that holds multiple separate systems, optimizing computational power for high-performance computing environments.
Non-Uniform Memory Access System
In a Non-Uniform Memory Access (NUMA) system, multiple CPUs are connected to their own local memory modules, but they can also access memory from other CPUs through an interconnect.
Memory access time varies depending on whether a CPU is accessing its local memory or remote memory from another CPU.
This architecture improves scalability and performance in multiprocessor systems by reducing memory access bottlenecks, though it requires optimized memory management for efficiency.
Noted
Non-Uniform Memory Access System
In a Non-Uniform Memory Access (NUMA) system, multiple CPUs are connected to their own ___.
local memory modules
Non-Uniform Memory Access System
In a Non-Uniform Memory Access (NUMA) system, multiple CPUs are connected to their own local memory modules, but they can also access memory from other CPUs through an ___.
interconnect
Non-Uniform Memory Access System
Memory access time varies depending on whether a CPU is accessing its ___ or ___ from another CPU.
local memory, remote memory
Clustered Systems
___ function similarly to multiprocessor systems, but instead of multiple processors within a single system, they consist of multiple systems working together.
Clustered systems
Clustered Systems
Clustered systems function similarly to multiprocessor systems, but instead of multiple processors within a single system, they consist of ___ working together.
multiple systems
Clustered Systems
These systems typically share storage through a ___ and provide high-availability services that ensure continued operation even in the event of failures.
Storage Area Network (SAN)
Clustered Systems
These systems typically share storage through a Storage Area Network (SAN) and provide ___ services that ensure continued operation even in the event of failures.
high-availability
Clustered Systems
In ___, one system remains in hot-standby mode, ready to take over if the active system fails.
asymmetric clustering
Clustered Systems
In ___, multiple nodes actively run applications while monitoring each other, ensuring load balancing and fault tolerance.
symmetric clustering
Clustered Systems
Some clusters are designed for ___, where applications must be optimized for parallel execution to maximize performance.
high-performance computing (HPC)
Clustered Systems
Additionally, certain clustered systems incorporate a ___ to prevent conflicts when multiple nodes access shared resources simultaneously.
Distributed Lock Manager (DLM)
Clustered Systems
Clustered Systems Diagram
A clustered system consists of multiple computers connected via an interconnect, sharing access to a Storage Area Network (SAN).
This setup enhances performance, availability, and fault tolerance by allowing systems to work together. If one computer fails, others can take over its tasks, ensuring continued operation. Clustered systems are commonly used for high-availability services and high-performance computing (HPC) applications.
Noted
Clustered Systems
A clustered system consists of multiple ___ connected via an ___, sharing access to a ___.
computers, interconnect, Storage Area Network (SAN)
PC Motherboard [Image]
A desktop PC motherboard is a fully functioning computer once its slots are populated. It includes a processor socket for the CPU, DRAM slots for memory, PCI bus slots for expansion cards, and various I/O and power connectors. Even low-cost general-purpose CPUs contain multiple cores. Some motherboards support multiple processor sockets, and advanced systems can integrate more than one system board, enabling NUMA (Non-Uniform Memory Access) architectures for high-performance computing.
Noted
PC Motherboard [Image]
A ___ is a fully functioning computer once its slots are populated.
desktop PC motherboard
PC Motherboard [Image]
A desktop PC motherboard includes a ___ for the CPU, ___ for memory, ___ for expansion cards, and various ___.
processor socket, DRAM slots, PCI bus slots, I/O and power connectors
PC Motherboard [Image]
Even ___ general-purpose CPUs contain multiple cores.
low-cost
PC Motherboard [Image]
Some motherboards support multiple processor sockets, and advanced systems can integrate more than one system board, enabling ___ architectures for high-performance computing.
NUMA (Non-Uniform Memory Access)
Computing Environments
Computing Environments
- ___
- ___
- ___
- ___
- ___
- ___
- Traditional
- Mobile
- Client Server
- Peer-to-Peer
- Cloud computing
- Real-time Embedded
Computing Environments
___ computing systems are stand-alone general-purpose machines, but the distinction has become blurred as most systems now interconnect with others, primarily through the Internet.
Traditional
Traditional
___ provide access to internal systems, enabling remote interactions.
Web portals
Traditional
___, or ___, function similarly to web terminals, relying on external resources rather than local processing power.
Network computers, thin clients
Traditional
Mobile computers enhance connectivity by using ___ for seamless communication.
wireless networks
As networking becomes ___, even home systems implement ___ to protect against Internet-based threats, ensuring security in interconnected environments.
ubiquitous, firewalls
Computing Environments
___, such as smartphones and tablets, differ from traditional laptops in functionality and design.
Mobile [devices]
Mobile
Mobile devices incorporate additional operating system features, including ___ and ___, enabling applications like augmented reality.
GPS, gyroscopes
Mobile
Connectivity is provided through ___ networks or ___ networks, ensuring seamless communication.
IEEE 802.11 wireless, cellular data
Mobile
The leading mobile operating systems are ___ and ___, dominating the industry with extensive app ecosystems and continuous advancements.
Apple iOS, Google Android
Computing Environments
In ___ computing, traditional dumb terminals have been replaced by smart PCs that can process data independently.
Client-Server
Client-Server
Many modern systems function as ___, responding to requests generated by ___.
servers, clients
Client-Server
A ___ provides an interface for clients to request services, such as database access.
compute-server system
Client-Server
A ___ allows clients to store and retrieve files, enabling efficient data management and resource sharing across a network.
file-server system
Client-Server
Client-Server Model
In a client-server model, a server is connected to multiple clients through a network, providing services such as data storage, processing, or application hosting. Clients can include desktops, laptops, and smartphones, all communicating with the server to request and receive data. This architecture enables efficient resource sharing, centralized management, and seamless connectivity across different devices.
Noted
Client-Server
In a client-server model, a ___ is connected to multiple ___ through a ___, providing services such as data storage, processing, or application hosting.
server, clients, network
Client-Server
Clients can include ___, ___, and ___, all communicating with the server to request and receive data.
desktops, laptops, smartphones
Computing Environments
___ is a distributed system model where there is no distinction between clients and servers. Instead, all nodes function as peers, capable of acting as clients, servers, or both depending on the situation.
Peer-to-Peer (P2P)
Peer-to-Peer (P2P)
To participate in a P2P network, a node must first join the network by either:
* ___
* ___
- registering its services with a central lookup service; or
- broadcasting service requests using a discovery protocol.
Peer-to-Peer (P2P)
Well-known examples of P2P applications include ___, ___, and Voice over IP (VoIP) services like ___.
Napster, Gnutella, Skype
Computing Environments
___ delivers computing power, storage, and applications as a service across a network.
Cloud computing
Cloud computing
Cloud computing is a logical extension of ___, using it as the foundation for its functionality.
virtualization
Cloud computing
Services like ___ operate at massive scales, with thousands of servers, millions of virtual machines, and petabytes of storage, all accessible via the Internet on a pay-as-you-use basis.
Amazon EC2
Cloud computing
A ___ is accessible over the Internet to anyone willing to pay.
public cloud
Cloud computing
A ___ is operated exclusively for a single organization.
private cloud
Cloud computing
A ___ combines both public and private cloud components.
hybrid cloud
Cloud computing
Cloud services are also classified based on their offerings:
- ___
- ___
- ___
- Software as a Service (SaaS) provides applications like word processors over the Internet,
- Platform as a Service (PaaS) offers ready-to-use software stacks such as database servers, and
- Infrastructure as a Service (IaaS) supplies resources like servers and storage for various computing needs.
Cloud computing
Provides applications like word processors over the Internet.
Software as a Service (SaaS)
Cloud computing
Offers ready-to-use software stacks such as database servers.
Platform as a Service (PaaS)
Cloud computing
Supplies resources like servers and storage for various computing needs.
Infrastructure as a Service (IaaS)
Cloud computing
A cloud computing environment consists of ___, ___, and ___.
- traditional operating systems,
- virtual machine managers (VMMs)
- cloud management tools
Cloud computing
To maintain security, ___ are essential for Internet connectivity, while ___ distribute traffic across multiple applications, ensuring efficiency and reliability.
firewalls, load balancers
Cloud computing
Cloud Computing Architecture [Image]
A cloud computing architecture consists of multiple components working together to handle customer requests efficiently. The Internet connects users to the cloud customer interface, which processes requests and sends cloud management commands. A firewall secures the network by filtering incoming traffic, while a load balancer distributes workloads across available resources. Within the cloud, multiple virtual machines run on servers, providing computing power, while storage systems manage data. Cloud management services oversee resource allocation and system operations, ensuring scalability and performance.
Noted
Cloud computing
Cloud Computing Architecture [Image]
The ___ connects users to the cloud customer interface, which processes requests and sends cloud management commands.
Internet
Cloud computing
Cloud Computing Architecture [Image]
A ___ secures the network by filtering incoming traffic, while a ___ distributes workloads across available resources.
firewall, load balancer
Cloud computing
Cloud Computing Architecture [Image]
Within the cloud, multiple ___ run on servers, providing computing power, while ___ manage data.
virtual machines, storage systems
Computing Environments
___ are among the most prevalent forms of computers, designed for specialized and limited purposes with real-time operating systems (RTOS).
Their use continues to expand across various industries, supporting applications that require precise timing and reliability.
Real-time embedded systems
Real-time embedded systems
Real-time embedded systems are among the most prevalent forms of computers, designed for specialized and limited purposes with ___.
real-time operating systems (RTOS)
Real-time embedded systems
Beyond real-time systems, other special computing environments exist, some operating with dedicated operating systems, while others perform tasks without an OS.
A ___ operates under fixed time constraints, ensuring that processing is completed within predefined limits. The system functions correctly only if these constraints are consistently met, making precise execution critical for its operation.
real-time OS
Real-time embedded systems
A real-time OS operates under fixed ___ constraints, ensuring that processing is completed within predefined limits.
The system functions correctly only if these constraints are consistently met, making precise execution critical for its operation.
time
Abbreviations
VMM stands for ___.
Virtual Machine Manager
Provides virtualization services
Acronyms
API stands for ___.
Application Programming Interface
Allows different software applications to communicate and exchange data
Acronyms
ALU stands for ___.
Arithmetic Logic Unit
Performs arithmetic and logical operations.
Acronyms
CU stands for ___.
Control Unit
Directs the operations of the ALU and manages the execution of instructions.
Acronyms
RAM stands for ___.
Random Access Memory
Volatile memory; loses data when power is off.
Acronyms
ROM stands for ___.
Read-Only Memory
Permanent memory; retains data even when power is off.
Acronyms
PC stands for ___.
Program Counter
Contains the address of the next instruction to be executed.
Acronyms
BASIC stands for ___.
Beginner’s All-purpose Symbolic Instruction Code
An early programming language designed to help beginners and non-technical users solve simple problems.
Acronyms
UNIX stands for ___.
UNiplexed Information Computing System
A highly popular, powerful, multitasking OS introduced in 1969.
Acronyms
IPC stands for ___.
Inter-Process Communication
Mechanism that allows processes to exchange data and synchronize their actions while running independently within an operating system.
Extra Notes
- The process of switching between different applications or processes.
- Involves kernel mode (system control) and user mode (user control).
Context Switching
Extra Notes
C: Errors (Traps)
- ___
- ___
- ___
- ___
- ___
- Division by zero – Causes a runtime error (trap).
- Infinite loop – Can be interrupted using Ctrl + Break.
- Null pointer assignment – Error occurs when a pointer is assigned to NULL and dereferenced.
- Uninitialized pointer (int *a;) – Using an uninitialized pointer, especially in a linked list, can cause undefined behavior.
- Dereferencing an invalid pointer (*a) – Accessing an invalid or unallocated memory address results in an error.
Extra Notes
Free and Open-Source Operating Systems
- Operating systems are made available in source-code format, rather than just binary closed-source and proprietary versions.
- Developed as a counter-movement to copy protection and Digital Rights Management (DRM) restrictions.
- Initiated by the Free Software Foundation (FSF), which introduced the “copyleft” GNU Public License (GPL).
- Free software and open-source software are distinct concepts, advocated by different groups. More details can be found at GNU Philosophy.
- Examples include GNU/Linux and BSD UNIX (which forms the core of Mac OS X) and many other open-source OSes.
- Virtual Machine Managers (VMMs) such as VMware Player (free on Windows) and VirtualBox (open-source and free on multiple platforms - VirtualBox) allow users to run guest operating systems for testing and exploration.
Notes
Extra Notes
Java: Exception Handling & Garbage Collection
- Exception Handling – Manages runtime errors to prevent crashes and ensure smooth program execution.
- Garbage Collection – Automatically frees unused memory by reclaiming space from objects no longer in use, improving efficiency.
- Memory is automatically allocated for declared variables and arrays, and garbage collection ensures it is reclaimed and reused when no longer needed.
Noted