CSCI 350
CSCI 350
Introduction to Operating Systems
Textbook
Chapter 1
Section 1
In order to multitask, an operating system needs to take on three main roles
Referee
- An operating system determines what is equitable. It's in charge of allocating constrained resources among multiple applications, in a process known as resource allocation competing to use those resources (memory, processors, etc.). It doesn't just determine what's equitable, it determines what's permitted. The operating system prevents applications from doing malicious acts, and prevents broken applications from corrupting others, in a process known as isolation
Illusionist
- Operating systems hide the complexities of file-storage, memory-management,
and process management in order to simplify the structure of programs & applications, by letting them "play pretend" and count on systems that are sometimes purely simulated, in a process known as virtualization.
Glue
- Operating systems provide services that allow applications to work
with one another, in a process known as communication
Operating systems have to make many tradeoffs, and there's a common set of criteria to use when assessing what makes a good operating system
Reliability / Availability can you use it. always?
Reliability: a system you can depend on to do its job, and not lose those files you were just writing.
Availability: a system you can depend on to remain up, and always be there, for example, when you need to write files.
MTTF: mean time to failure, the amount of time you get to use it before it's down, because it just crashed. again.
MTTR: mean time to repair, the amount of time you have to wait before it's up, and you can use it again.
Security can they use it? are you sure?
Portability can you use/port it anywhere?
Performance can you use it quickly
Adoption is everyone else using it too?