Operating Systems – Introductory Lecture (Stephen Kell, Spring 2025)

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

1/44

flashcard set

Earn XP

Description and Tags

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.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

Which two major topics make up the remainder of the module and who teaches each?

Concurrency (Ian) and Operating Systems (Stephen).

2
New cards

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.

3
New cards

What proportion of assessment is coursework vs. exam in this module?

30 % coursework (all OS), 70 % exam (roughly half on concurrency, half on OS).

4
New cards

What is the recommended textbook for the course (author and title)?

"Operating Systems: Three Easy Pieces" by Arpaci-Dusseau (freely available online).

5
New cards

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.

6
New cards

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.

7
New cards

List five broad responsibilities an OS must handle to replace a human operator.

Loading, Scheduling, Memory management, Input/Output, Security, (plus Control).

8
New cards

Name two ways operating systems link to concurrency.

1) OSes provide primitives on which concurrent programs rely.
2) OSes themselves are highly concurrent systems.

9
New cards

What are the six desirable qualities of a 'good' operating system mentioned?

Efficiency, Fairness, Reliability, Security, Usability, Abstraction, Simplicity (noting the trade-offs).

10
New cards

Define 'secure multiplexing' in OS context.

Sharing hardware resources so no program gets more than intended or interferes with others’ shares.

11
New cards

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.

12
New cards

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.

13
New cards

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.

14
New cards

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

15
New cards

What hardware mechanism typically notifies the OS that an I/O device has finished?

A hardware interrupt.

16
New cards

State three study habits recommended for learning operating systems.

Attend sessions, read the textbook, and actively ask/answer 'what if/why' questions with peers.

17
New cards

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.

18
New cards

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.

19
New cards

In Week 1 coursework, what is the first task students must complete with InfOS?

Build and run InfOS.

20
New cards

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

21
New cards

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.

22
New cards

What are the two correct ways to address the lecturer?

"Dr Kell" (formal) or "Stephen" (informal).

23
New cards

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.

24
New cards

Who is associated with the Humboldtian model of research universities?

Wilhelm von Humboldt.

25
New cards

Name two historic computer-systems achievements that originated in universities.

Stored-program computers that work (Wilkes) and modern operating systems (Corbató).

26
New cards

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.

27
New cards

List the five 'core concepts' slide terms.

Address space, Loading a program, User vs system (kernel) mode, Limited direct execution, System calls.

28
New cards

What is an address space?

A numbered collection of memory locations; the set of addresses a program can use.

29
New cards

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

30
New cards

Differentiate user mode and kernel mode.

User mode restricts instructions to prevent direct hardware access; kernel mode is privileged, allowing full hardware control.

31
New cards

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.

32
New cards

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.

33
New cards

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.

34
New cards

What special CPU instruction initiates a system call?

A software interrupt (e.g., Intel INT or SYSENTER/SYSCALL).

35
New cards

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.

36
New cards

Give four example system calls mentioned.

ReadFile, WriteFile, OpenFile, Fork, Exec, GetPid, Connect, Listen (any four).

37
New cards

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.

38
New cards

What data structure supports nested procedure calls and interrupts efficiently?

The stack (LIFO storage accessed via push/pop).

39
New cards

What register typically tracks the current top of the stack?

The stack pointer (SP).

40
New cards

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.

41
New cards

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.

42
New cards

What hardware prerequisite knowledge from CS1 is expected for this course?

Instructions, memory, registers, addressing, data-type representation, endianness, interrupts, memory hierarchy, virtual addressing.

43
New cards

Which earlier module topics should students already understand (from concurrency part)?

Processes, threads, scheduling, context switching.

44
New cards

What programming language is InfOS written in, and thus a prerequisite skill?

C++.

45
New cards

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.