1/29
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Why is it important for the OS to prevent processes from interfering with each others memory?
To ensure isolation, security, and correct program behavior by preventing accidental or malicious access to other processes memory.
What are the three benefits of virtual memory mentioned in the slides?
Process simplicity, program portability, and memory security.
Can you name examples of device drivers commonly found in an OS?
HP Universal Print Driver, NVIDIA GeForce Driver, Realtek HD Audio Driver (and others).
What is a blocked queue and when is a process placed there?
A blocked queue holds processes waiting for an external event (I/O, service completion); a process is placed there while waiting.
Why is non-contiguous memory management undesirable, and what challenge does it pose to pointers and bounds checking?
It complicates addressing, invalidates simple offset arithmetic, and makes bounds checking harder, risking errors and security issues.
Why should time slices be large enough to amortize the overhead of context switching?
To ensure the time spent switching outweighs the useful work lost, making switching cost-efficient.
What are the typical fields contained in a PCB?
PID, Process State, Program Counter, CPU Registers, Memory Limit, I/O Information (and possibly priority and accounting).
How does the OS allocate memory to a process, in general terms?
The OS assigns an address space to the process based on program size, variables, policies, and system memory availability.
What is processor affinity and how does it relate to cache locality?
Processor affinity ties a process to a specific core to improve cache locality and performance.
What is a process in computing?
A process is a program in execution.
What core resources does an OS manage? List at least four (e.g., processes, memory, file systems, devices).
Processes, memory, file systems, devices (and additional functions like user accounts, performance monitoring, networking).
How does virtual memory improve program portability across different machines?
Programs use virtual addresses, which are remapped to physical addresses on each machine, allowing seamless transfer between machines.
What are the five process states described in the slides?
Created, Ready, Running, Waiting, Terminated.
How does virtual memory enhance memory security between processes?
Each process operates in its own virtual address space, preventing unauthorized access to others’ memory.
What is a context switch and what happens during one?
A context switch saves the current process state and loads the next process state to run.
Why would raw storage access be difficult for users or programs without a file system?
Without a file system, users would have to manually track physical storage locations, lacking names, structure, and metadata.
Beyond non-contiguous memory, what is memory fragmentation and how can it limit the ability to allocate large memory blocks?
Fragmentation reduces available contiguous blocks, potentially preventing large allocations even when total free memory is sufficient.
What is a Process Control Block (PCB) and why is it used by the OS?
A PCB is a data structure that stores all information the OS needs to manage a process (state, IDs, registers, memory, I/O).
What factors influence how much memory a process gets allocated?
Executable size, global variables, memory management policies (page size, growth limits), system usage, and process priority.
What is an operating system and what role does it play as an intermediary between users and hardware?
An OS is software that mediates between users and the computer hardware, enabling interaction with the machine and managing resources.
What is a job queue and what purpose does it serve in time sharing systems?
A job queue is a list of processes waiting to be executed; it enables scheduling and switching between processes.
Name three common desktop operating systems and two common mobile operating systems.
Desktop: Windows, macOS, Linux. Mobile: Android, iOS.
What is non-contiguous memory, and what problems can it cause for addressing and execution?
Non-contiguous memory means a process’s memory is split across scattered regions, complicating addressing and increasing pointer and bounds challenges.
What is a file system and why is it needed to manage stored data?
A file system is software that organizes and abstracts storage, enabling files and directories with metadata and access control.
What is a device driver and what problem does it solve in OS design?
A device driver mediates communication between applications and hardware, allowing a uniform interface despite hardware differences.
Why is memory management important when dozens or hundreds of processes run concurrently?
To ensure each process has enough memory, prevents interference, and avoids exhaustion or fragmentation.
How does virtual memory address the issues of non-contiguous memory and direct physical addressing?
Virtual memory maps virtual addresses to physical addresses, shielding processes from physical layout and enabling contiguity and protection.
How does the CPU appear to run many processes at once on a single processor?
Through time-sharing and rapid context switching, giving the appearance of concurrent execution.
What is memory fragmentation and how can it occur during allocation?
Memory fragmentation is the inefficient use of memory where free spaces are split into non-contiguous blocks, hindering large allocations.
What capabilities does a file system provide (files, directories, metadata, permissions)?
Naming, hierarchical directories, file metadata (timestamps, size), and access permissions.