Operating Systems Flashcards
What are the three steps of the instruction cycle?
Fetch, Decode, Execute
What is it called when the steps of the instruction cycle are happening concurrently?
Pipelining
Describe virtualization (in regards to Operating Systems).
When an operating system provides easy to use interfaces and representations of physical resources.
What is the system call interface?
A way for userspace programs to call into the kernel.
What is the virtual address space of a process?
It is an abstraction provided by the operating system to a user process. The process has its own full address space, which the operating system handles mapping to actual physical resources.
Describe the difference between concurrency and parallelism.
Concurrency is when two or more different tasks are sharing time on a single processor.
Parallelism is when two or more different tasks have their own processor and can run completely independently of each other.
What is a thread?
It is a way for code to run concurrently in a process.
What is the word for when an operation happens “all at once”, and thus is devoid of race conditions?
Atomicity.
What physical resource does persistent memory refer to?
Disk
What physical resource does volatile memory refer to?
RAM
How does an operating system virtualize persistent memory?
A file system.
What does a file system need in order to write to disk?
A device driver.
What happens when a system call is made?
A trap (type of interrupt) is generated, and the corresponding trap handler code is ran within the kernel.
What is the purpose of address space randomization?
To attempt to protect against certain types of attacks that take advantage of knowing where certain data exists in memory.
What program error does stack smashing target?
Stack buffer overflow.