120 likes | 129 Views
This article covers the basic functions of an operating system, including development management, process and resource management, memory management, and file management. It also explores the functional organization and general implementation methodologies of operating systems, as well as their performance, trusted software, and design constraints such as performance, security, correctness, maintainability, cost, and marketability.
E N D
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