O/S Organization
E N D
Presentation Transcript
Topics • Basic functions of an OS • Dev mgmt • Process & resource mgmt • Memory mgmt • File mgmt • Functional organization • General implementation methodologies • Performance • Trusted software • UNIX & Windows NT organization
Design Constraints • Performance • Security • Correctness • Maintainability • Cost and marketability • Standards • Usability
Performance • O/S adds overhead (reduces available CPU) • Added functionality changes performance of the system, BUT • Reduces overall load on system by concentrating services • Makes life easier for implementers • Allows for concurrency to leverage overlapping I/O with CPU
Security • Multiprogramming & sharing lead to breakdown of security & protection • O/S must manage access • Security policy: Strategy chosen by computer’s owner • Security mechanism: Tools to implement a family of security policies
Correctness & Maintainability • Correct operation->greater security • S/W must be upgradeable • Importance of either may lead to reduction of services
Device Mgmt-1 • The O/S owns all devices • O/S provides access via the abstractions • At least 2 API's exist for this in most languages • High level access • Get/Put – blocks/streams of data • Insertion & Extraction ("<<" and ">>") • Low level access • Read/Write/Seek – accesses individual bytes/records
Device Mgmt-2 • Two areas of device mgmt: • Physical device independence • Physical device dependence • In modern systems, application NEVER accesses the device directly • Changing a pixel on a display • Reading specific sectors • Accessing a directory block • Turning on/off the "numlock" light
Device Mgmt-3 • O/S code accessed via the API perform these operations for the application • Provides integrity • Provides security • Provides commonality • Consistent program action • Consistent error handling
Modes of Execution • Processor modes • Supervisor or Kernel mode • User mode • Supervisor or Kernel mode • Can execute all machine instructions • Can reference all memory locations • User mode • Can only execute a subset of instructions • Can only reference a subset of memory locations
Modes-2 • Mode determined by ONE bit • Special instructions set mode-bit to Kernel mode • When ON, all instructions are valid • When OFF, 'privileged' instructions cause a trap to the Kernel • Kernel code can change the bit and return control to user code – method depends on instruction set
Modes-3 • Mechanisms for getting into Kernel space • Call to function that issues a "trap" or "supervisor call" instruction • "Send" message to the Kernel • Effectively issues a "trap" • Interrupts • H/W sets mode bit to 1 • Next inst is in kernel at interrupt handler code • No "call" or "send" required