API는 Application Program Interface의 약자입니다. 컴터와 운영체제와 사용자의 관계를 보면 다음과 같습니다.
예를 들어 사용자가 메모장으로 프린터를 사용하여 인쇄를 하려면 사용자부터 시작해서 Hardware 까지 모든 과정을 거쳐야만 인쇄가 가능합니다.
위에서 OSI,OS,API,GUI 는 운영체제에 속해있죠. 일부 Application도 운영체제에 속해있습니다. 인터넷익스플로어, 탐색기, 계산기, 등등이 운영체제안에 있는 Application 이죠.
잘 보시면 Interface가 3개가 있죠? OSI, API, GUI 다 중간 메체입니다. GUI는 사용자와 컴터간의 중간매체. 스크린에 나와있는 윈도우 자체죠. 마우스를 사용해서 사용자가 클릭만으로 편리(?)하게 사용할수 있게 해주는 매체입니다. 도스에서는 시꺼먼 화면에 하얀글씨로 명령을 입력해서 실행했는데 윈도우에선 마우스로 클릭만하면 돼니까요. 참고로 도스같은 인터페이스는 CLI(Command line Interface)라고 합니다.
OSI는 운영체제와 하드웨어의 중간 매체. 장치드라이버로 보시면 됍니다. 하드웨어를 운영체제가 원할하게 사용할 수 있게 해주죠.
API는 프로그램과 운영체제 사이의 중간매체. 프로그램을 원할히 작동하게 합니다. 함수, 루틴과 프로토콜로 이루워져 있습니다. 그래서 프로그램을 만들때 쉽게 해주죠. 예를 들어 파일을 열때, 장치를 사용하고 싶을때 API의 함수나 서브루틴을 사용하면 돼니까요.
옛날 도스 시절에는 프로그래머가 하드웨어까지 다 통달해서 그에 맞는 프로그램을 만들었습니다. 도스용 아래한글을 보면 프린터 드라이버 까지 프로그램안에 같이 들어있었습니다.