1.What provides the interface to a system? & 2.Whats the difference between systems programming and regular programming? Solution 1) Software interfaces provide access to computer resources such as memory, CPU, storage   of the underlying computer system. direct access (not through well designed interfaces) to such resources by software can have major ramifications, sometimes disastrous ones for functionality and stability. Interfaces between software components will provide: constants, data types, types of procedures, exception specifications and method signatures. Sometimes, public variables are also defined as part of an interface. In object-oriented programming languages, the term interface is often used to define an abstract type that contains no data or code, but defines behaviors as method signatures. A class having code and data for all the methods corresponding to that interface is said to implement that interface. Furthermore, a class can implement multiple interfaces, and hence can be of different types at the same time. 2) Regular Programming : Regular programming can be referred as Application programming. Application programming is used to build application software which includes software like notepad, Word Pad, calculator, web browser, Microsoft excel and many more. Application software runs on top of system software. It interacts with system software which in turn interacts and makes physical hardware functional. System programming: System programming is used to write low level instructions which are understandable to computer hardware. Programming is done using assembly language which interacts with hardware. This assembly code is specific to hardware. If this code has to be executed on another machine, that machine should have exactly same hardware. System programming is used to make device drivers kind of application. It helps operating system to interact with hardware. Again output is in low level instructions which in turn translated by such drivers to the language understandable by operating system. .