1/44
Question-and-Answer flashcards covering course logistics, study advice, fundamental OS concepts (virtualisation, concurrency, secure multiplexing, five core concepts), system calls, stack use, and university context for operating-systems study.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Which two major topics make up the remainder of the module and who teaches each?
Concurrency (Ian) and Operating Systems (Stephen).
Why is operating systems reported as hard to learn across universities?
Because the material is largely conceptual, involves significant lore and culture, and Year 2 marks an inflection point in CS difficulty.
What proportion of assessment is coursework vs. exam in this module?
30 % coursework (all OS), 70 % exam (roughly half on concurrency, half on OS).
What is the recommended textbook for the course (author and title)?
"Operating Systems: Three Easy Pieces" by Arpaci-Dusseau (freely available online).
Why does the course pair conceptual lectures with practical labs?
Labs let students witness OS concepts concretely, which aids abstract understanding; goal remains conceptual mastery, not InfOS specifics.
Give a concise definition of an operating system.
A layer of software that shares out (securely multiplexes) the computer’s hardware among many users/programs and provides abstractions of that hardware.
List five broad responsibilities an OS must handle to replace a human operator.
Loading, Scheduling, Memory management, Input/Output, Security, (plus Control).
Name two ways operating systems link to concurrency.
1) OSes provide primitives on which concurrent programs rely.
2) OSes themselves are highly concurrent systems.
What are the six desirable qualities of a 'good' operating system mentioned?
Efficiency, Fairness, Reliability, Security, Usability, Abstraction, Simplicity (noting the trade-offs).
Define 'secure multiplexing' in OS context.
Sharing hardware resources so no program gets more than intended or interferes with others’ shares.
What is meant by 'virtualisation' in operating systems?
Presenting each process with an illusory virtual computer (CPU, memory, storage, network, etc.) abstractions rather than the raw hardware.
How does a virtual machine monitor (hypervisor) differ from a full OS?
A VMM only virtualises hardware; a full OS also provides communication, higher-level abstractions, control and inspection facilities.
Explain the difference between concurrency and parallelism.
Concurrency is about uncontrolled interaction/order between tasks; parallelism is physical simultaneous execution. Concurrency enables but is not equal to parallelism.
Why are OSes internally concurrent even on a single-core machine?
Because multiple hardware devices operate in parallel and the OS must coordinate them (e.g., handling interrupts while CPU executes code).
What hardware mechanism typically notifies the OS that an I/O device has finished?
A hardware interrupt.
State three study habits recommended for learning operating systems.
Attend sessions, read the textbook, and actively ask/answer 'what if/why' questions with peers.
Why will frantic web-searching or rote memorisation not work well for OS study?
The subject focuses on conceptual understanding, not isolated facts or quick technical tricks.
At KCL, what mark band begins 'first-class' performance and what does 40 % signify?
≥ 70 % is first-class; 40 % demonstrates basic competence and is the pass mark.
In Week 1 coursework, what is the first task students must complete with InfOS?
Build and run InfOS.
Name two sample exam topics illustrated in the slides.
1) Choosing paging vs. segmentation for an MMU design. 2) Arguing truth/falsehood of statements about security (e.g., encrypting file handles, capability pointers).
List three acceptable ways to get help in the course, in priority order.
1) Discussion forum on Keats, 2) Submit question for next large-group session, 3) Ask TA in lab.
What are the two correct ways to address the lecturer?
"Dr Kell" (formal) or "Stephen" (informal).
Give one key reason to study operating systems at university even if you won’t build OSes professionally.
Understanding OS internals makes you a better programmer and provides timeless engineering wisdom that influences higher-level software.
Who is associated with the Humboldtian model of research universities?
Wilhelm von Humboldt.
Name two historic computer-systems achievements that originated in universities.
Stored-program computers that work (Wilkes) and modern operating systems (Corbató).
What simple hardware mental model is essential for OS understanding?
Processor, memory connected via a bus, and multiple I/O controllers/devices on I/O buses.
List the five 'core concepts' slide terms.
Address space, Loading a program, User vs system (kernel) mode, Limited direct execution, System calls.
What is an address space?
A numbered collection of memory locations; the set of addresses a program can use.
During loading, what happens to a program’s code and data segments?
They are copied from disk into memory, placed in the process’s address space (text segment → code; data segment → initialised data).
Differentiate user mode and kernel mode.
User mode restricts instructions to prevent direct hardware access; kernel mode is privileged, allowing full hardware control.
Why is the concept called 'limited direct execution'?
Programs execute directly on the real hardware (not interpreted), but under limits: the OS can regain control via interrupts/system calls.
What three conditions enable limited direct execution?
1) Put CPU in user mode, 2) Jump to user code, 3) Ensure control returns to OS via interrupts or system calls.
How does a pre-emptive scheduler regain control from user code?
A periodic timer interrupt forces the CPU into kernel mode, letting the scheduler run.
What special CPU instruction initiates a system call?
A software interrupt (e.g., Intel INT or SYSENTER/SYSCALL).
Why does a system call identify the target service by number instead of address?
For portability and security: user code should not know absolute kernel addresses and numbers are stable across kernel versions.
Give four example system calls mentioned.
ReadFile, WriteFile, OpenFile, Fork, Exec, GetPid, Connect, Listen (any four).
How does a regular procedure call differ from a system call?
Procedure call stays in user mode and jumps to a known address; a system call switches to kernel mode and jumps to privileged OS code via a software interrupt.
What data structure supports nested procedure calls and interrupts efficiently?
The stack (LIFO storage accessed via push/pop).
What register typically tracks the current top of the stack?
The stack pointer (SP).
Why are return addresses pushed onto the stack rather than stored in code, as in early machines?
Using the stack supports re-entrancy, recursion, and sharing the same code by multiple call sites without self-modifying code.
Explain in one sentence why concurrency is 'about (un)controlled interaction, not physical time'.
Because the difficulty lies in reasoning about order and interaction when tasks don’t control the switching, regardless of simultaneous execution.
What hardware prerequisite knowledge from CS1 is expected for this course?
Instructions, memory, registers, addressing, data-type representation, endianness, interrupts, memory hierarchy, virtual addressing.
Which earlier module topics should students already understand (from concurrency part)?
Processes, threads, scheduling, context switching.
What programming language is InfOS written in, and thus a prerequisite skill?
C++.
Define 'multiprogramming' in early batch systems context.
Keeping multiple processes in memory at once so the CPU can switch between them, improving utilisation even without interactive concurrency.