1 |
1
메모리에 동적으로 로딩되고 사용자 프로그램에 링크된 동적 라이브러리 함수 및 사용자 프로그램을 포함하는 대상 프로세스의 실행을 모니터링하는 모니터링 프로세스의 동적 라이브러리 프로파일링 방법으로서,상기 대상 프로세스의 실행 시간(run time)에 상기 동적 라이브러리 함수가 로딩된 후, 상기 메모리 내의 상기 대상 프로세스의 주소 공간에서 상기 동적 라이브러리 함수의 시작 주소에 제1 중단점을 설정하고,상기 대상 프로세스가 상기 제1 중단점을 실행한 때의 프로세스 PMU 카운트인 제1 이벤트 카운트 값을 기록하고,상기 메모리 내의 상기 대상 프로세스의 주소 공간에서 상기 동적 라이브러리 함수가 반환되는 상기 사용자 프로그램의 반환 주소에 제2 중단점을 설정하고,상기 대상 프로세스가 상기 제2 중단점을 실행한 때의 프로세스 PMU 카운트인 제2 이벤트 카운트 값과 상기 기록된 제1 이벤트 카운트 값을 비교하여, 상기 동적 라이브러리 함수가 실행되는 동안 프로세서 코어에서 발생되는 PMU 카운트 값을 계산하는 것을 포함하되,상기 프로세스 PMU 카운트는 상기 대상 프로세스가 실행되는 동안 상기 프로세서 코어에서 발생되는 PMU 카운트 값을 누적한 값인 동적 라이브러리 프로파일링 방법
|
2 |
2
제1항에 있어서,상기 제1 이벤트 카운트 값을 기록하는 것은, 상기 대상 프로세스가 상기 제1 중단점을 실행하면, 상기 대상 프로세스의 제1 자원 사용 정보를 획득하는 것을 포함하는 동적 라이브러리 프로파일링 방법
|
3 |
3
제2항에 있어서,상기 제1 이벤트 카운트 값을 기록하는 것은, 상기 대상 프로세스의 제1 자원 사용 정보로부터 상기 대상 프로세스의 프로세스 PMU 카운트를 추출하여 상기 제1 이벤트 카운트 값을 기록하는 것을 포함하는 동적 라이브러리 프로파일링 방법
|
4 |
4
제2항에 있어서,상기 제1 자원 사용 정보에는 상기 대상 프로세스가 상기 제1 중단점을 실행한 때까지 상기 프로세서 코어에서 발생되는 PMU 카운트 값을 누적한 프로세스 PMU 카운트가 기록되는 동적 라이브러리 프로파일링 방법
|
5 |
5
제1항에 있어서,상기 프로세서 코어에서 발생되는 PMU 카운트 값을 계산하는 것은, 상기 대상 프로세스가 상기 제2 중단점을 실행하면, 상기 대상 프로세스의 제2 자원 사용 정보를 획득하는 것을 포함하는 동적 라이브러리 프로파일링 방법
|
6 |
6
제5항에 있어서,상기 프로세서 코어에서 발생되는 PMU 카운트 값을 계산하는 것은, 상기 대상 프로세스의 제2 자원 사용 정보로부터 상기 대상 프로세스의 프로세스 PMU 카운트를 추출하는 것을 포함하는 동적 라이브러리 프로파일링 방법
|
7 |
7
프로세서 코어에서 발생되는 이벤트를 누적한 PMU 카운트 값을 기록하는 PMU 카운터;대상 프로세스 별로, 상기 대상 프로세스가 실행되는 동안 기록되는 상기 PMU 카운트 값을 누적한 프로세스 PMU 카운트를 기록하는 태스크 스트럭트; 및메모리에 동적으로 로딩되고 사용자 프로그램에 링크된 동적 라이브러리 함수 및 사용자 프로그램을 포함하는 상기 대상 프로세스의 실행을 모니터링하는 모니터링 프로세스로서, 상기 대상 프로세스의 실행 시간(run time)에 상기 동적 라이브러리 함수가 로딩된 후, 상기 메모리 내의 상기 대상 프로세스의 주소 공간에서 상기 동적 라이브러리 함수의 시작 주소에 제1 중단점을 설정하고, 상기 메모리 내의 상기 대상 프로세스의 주소 공간에서 상기 동적 라이브러리 함수가 반환되는 상기 사용자 프로그램의 반환 주소에 제2 중단점을 설정하는 모니터링 프로세스를 포함하되,상기 모니터링 프로세스는 대상 프로세스가 상기 제1 중단점을 실행한 때의 상기 프로세스 PMU 카운트인 제1 이벤트 카운트 값을 기록하고, 상기 대상 프로세스가 상기 제2 중단점을 실행한 때의 상기 프로세스 PMU 카운트인 제2 이벤트 카운트 값을 기록하고, 상기 제1 이벤트 카운트 값과 상기 제2 이벤트 카운트 값을 비교하여, 상기 동적 라이브러리 함수가 실행되는 동안 상기 프로세서 코어에서 발생되는 PMU 카운트 값을 계산하는 동적 라이브러리 프로파일링 시스템
|
8 |
8
제7항에 있어서, 상기 대상 프로세스에 대응되는 태스크 스트럭트에 상기 대상 프로세스가 실행되는 동안 기록되는 상기 PMU 카운트 값을 누적한 프로세스 PMU 카운트를 기록하는 운영체제 커널을 더 포함하는 동적 라이브러리 프로파일링 시스템
|
9 |
9
제8항에 있어서, 상기 대상 프로세스의 자원 사용 정보에 상기 태스크 스트럭트에 기록된 상기 프로세스 PMU 카운트가 저장되고, 상기 모니터링 프로세스는 상기 자원 사용 정보로부터 상기 제1 이벤트 카운트 값과 상기 제2 이벤트 카운트 값을 추출하는 동적 라이브러리 프로파일링 시스템
|
10 |
10
제7항에 있어서, 상기 모니터링 프로세스는 상기 동적 라이브러리 함수가 실행되는 동안 발생되는 PMU 카운트 값을 계산한 후, 상기 동적 라이브러리 함수의 반환 주소에서 상기 제2 중단점을 제거하는 동적 라이브러리 프로파일링 시스템
|
11 |
11
삭제
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
삭제
|
16 |
16
삭제
|
17 |
17
삭제
|
18 |
18
삭제
|
19 |
19
삭제
|
20 |
20
삭제
|