Operating Systems

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/29

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

30 Terms

1
New cards

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.

2
New cards

What are the three benefits of virtual memory mentioned in the slides?

Process simplicity, program portability, and memory security.

3
New cards

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).

4
New cards

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.

5
New cards

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.

6
New cards

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.

7
New cards

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).

8
New cards

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.

9
New cards

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.

10
New cards

What is a process in computing?

A process is a program in execution.

11
New cards

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).

12
New cards

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.

13
New cards

What are the five process states described in the slides?

Created, Ready, Running, Waiting, Terminated.

14
New cards

How does virtual memory enhance memory security between processes?

Each process operates in its own virtual address space, preventing unauthorized access to others’ memory.

15
New cards

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.

16
New cards

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.

17
New cards

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.

18
New cards

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).

19
New cards

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.

20
New cards

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.

21
New cards

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.

22
New cards

Name three common desktop operating systems and two common mobile operating systems.

Desktop: Windows, macOS, Linux. Mobile: Android, iOS.

23
New cards

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.

24
New cards

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.

25
New cards

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.

26
New cards

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.

27
New cards

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.

28
New cards

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.

29
New cards

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.

30
New cards

What capabilities does a file system provide (files, directories, metadata, permissions)?

Naming, hierarchical directories, file metadata (timestamps, size), and access permissions.