ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • callback 이란
    카테고리 없음 2012. 9. 22. 16:10

    호출하는 측과 호출받는 측의 개념으로 이해하세요

    보통 call이라함은 사용자 프로세스가 어떤 시스템(주로 운영체제겠지요?)에게 임의의 서비스를 호출하는 것을 의미합니다. 즉, 처리루틴은 시스템에 있고, 사용자 프로세스는 그것을 호출한다는 의미지요.

    callback : call에서는 사용자==>시스템 이었는데 이제는 거꾸로 호출해주는 것입니다. 시스템이 사용자의 루틴을 호출해주는것이지요. 호출의 시점이 시스템에서 사용자로 가는것에 유의해주시길. 즉, 사용자 프로그램루틴을 사용자가 호출하는것이 아니라, 이벤트처리루틴등에 의해 시스템이 사용자 프로그램을 호출해 주는 것을 의미합니다.

    upcall : call은 보통 상위에서 하위(기반)시스템에게 호출이 일어나는데, 마이크로커널같은 구조에서는 커널에 서비스 루틴이 있지 않고, 사용자 레벨에 이런 서비스루틴이 존재하는 경우가 있습니다. 심지어 메모리 관리자도 사용자 수준에 있지요. 따라서, 다음과 같은 시나리오를 그려볼 수 있습니다.

    사용자 =(call)==> 시스템 =(upcall)=>라이브러리커널=(return)=>시스템=(return)=>사용자

Designed by Tistory.