A program that controls the execution of
application programs
An interface between applications and hardware
Main objectives of an OS:
• convenience
• efficiency
• ability to evolve
, Application programs
Application
programming interface
Application Libraries/utilities Software
binary interface
Operating system
Instruction Set
Architecture
Execution hardware
Memory
System interconnect
translation Hardware
(bus)
I/O devices
Main
and
memory
networking
Figure 2.1 Computer Hardware and Software Structure
, Operating System Services
Program development
Program execution
Access I/O devices
Controlled access to files
System access
Error detection and response
Accounting
, Key Interfaces
Instruction set architecture (ISA)
Application binary interface (ABI)
Application programming interface (API)