Applications, OS, Hardware
Operating System:
-Provides easier to use and high level abstractions for resources such as address space for memory and files for disk blocks
-Provides controlled access to hardware resources
-Provides isolation between different processes and between the processes running untrusted/application code and the trusted operating system.
What requirements must it meet to be trusted?
TCB Requirements:
1. Tamper-proof,
2. Complete mediation
3. Correct
TCB and Resource Protection
TCB Controls access to protected resources
must establish the source of a request for resource(authentication is how we do it)
authorization or access control
mechanisms that allow various policies to be supported
Isolating OS from untrusted user code
how do we meet the first requirement of TCB
– hardware support for memory protection
– processor execution modes(system AND user modes, execution rings)
– privileged instructions which can only be executed in system model
– system calls used to transfer control between user and system code