'Callback'에 해당되는 글 1건

  1. 2010.01.01 What is CALLBACK function?

2010.01.01 00:47 System


CALLBACK 를 정의하기 전에 그 반대적 개념을 가지고 있는 System Call 의 개념을 알아보겠다.


System Call

시스템 호출(System Call)은 운영 체제가 제공하는 서비스에 대한 프로그래밍 인터페이스이다. 보통 C나 C++과 같은 고급 언어로 쓰였다. 대부분의 프로그램들은 직접 시스템 호출을 사용하기보다는 고급 API를 통해 시스템 호출에 접근한다. System call 이란, 프로그래밍 언어에서 지원하지 않는 기능에 대하여 운영체계의 루틴을 호출하여 이용하는 것을 말한다. 시스템 콜의 세 가지 기능은 다음과 같다.

1.사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 하는 것.

2.시스템 콜을 부르면 사용자 모드에서 커널 모드로 바뀐다.

3.커널에서 시스템 콜을 처리하면 커널 모드에서 사용자 모드로 바뀌어 작업을 계속한다.

시스템 호출의 유형

1.프로세서 제어(process Control)

2.파일 조작(file manipulation)

3.장치 관리(Device Management)

4.정보 유지(Information maintenance)

5.통신(Communication)


출처:http://ko.wikipedia.org/wiki/%EC%8B%9C%EC%8A%A4%ED%85%9C_%ED%98%B8%EC%B6%9C




 

CALLBACK funtion


일반적으로 API 함수들은 운영체제가 제공하며 프로그램에서는 이 함수들을 호출해서 운영체제의 서비스를 받는다. 예를 들어 도스의 시스템 콜 함수를 호출하여 디스크 입출력을 받는다든가 윈도우즈의 TextOut 함수를 호출하여 문자열을 출력하도록 하는 경우가 이에 해당한다. 반면 콜백 함수는 응용 프로그램이 제공하며 운영체제가 필요할 때 호출하는 함수이다. 호출되는 방향이 거꾸로 되었기 때문에 콜백이라고 부르는 것이다. 위 예제에서 TimerProc 함수는 SetTimer에서 지정한 시간마다 운영체제에 의해 호출된다. 콜백 함수를 문장화하여 정의내린다면 "운영체제에 의해 호출되는 프로그램 내부의 함수"라고 할 수 있다.

윈도우즈에서는 이런 콜백 함수가 빈번하게 사용되고 있으므로 개념을 잘 알아두도록 하자. 타이머의 콜백 함수가 대표적이며 이 외에도 중요한 열거 함수들과 몇몇 그래픽 함수 등의 콜백 함수를 사용한다. 그보다도 가장 가까운 콜백 함수의 예는 메시지 처리 함수인 WndProc이다. 이 함수는 메시지가 발생할 때마다 윈도우즈가 호출해 주며 응용 프로그램 내부에 있지만 응용 프로그램에서 직접 이 함수를 호출하지는 않는다. 오직 운영체제만이 이 함수를 호출한다.


출처:http://winapi.co.kr/win32lec/lec4/lec4-3-4.htm


 

'System' 카테고리의 다른 글

2008 JFF 8번 문제 풀이  (0) 2010.01.10
[펌]교착 상태와 그 조건  (0) 2010.01.02
What is CALLBACK function?  (0) 2010.01.01
[펌]함수 호출규약 [Calling Convention]  (0) 2010.01.01
Format String Bug  (0) 2009.12.22
Reverse Engineering Cheat-Sheet  (0) 2009.11.30
Posted by LinkC
이전버튼 1 이전버튼

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday68
Today2
Total331,090

달력

 « |  » 2019.8
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 받은 트랙백

글 보관함


. .