Intro Flashcards
1
Q
What’s an abstract machine?
A
- Each app sees/gets its own “abstract machine”
– There are multiple abstract machines, isolated from each other
– So each app sees the system as if it was dedicated to itself,
and it’s the job of the OS to juggles resources to support this illusion
2
Q
What are the 4 upsides of an abstract machine?
A
- Better than the physical HW, because it allows the OS to
– Hide physical restrictions, and
– Support more convenient interfaces - Apps often don’t access physical resources directly
– There’s a level of indirection - Making it possible to support e.g bigger virtual address space then there is physical memory.
- It provides “portability”
– The ability to correctly run the same exact program in different environments (in terms of source code, not necessarily binary code)
3
Q
What are the 3 different ways to view the OS?
A
- By its programming interface
– Its system calls - According to the services it provides
– Time slicing (how multiprogramming is implemented), filesystems and their operations, etc. - According to its internals, algorithms, & data structures