583 0

프로세스 간 공유 메모리 데이터 기록 및 재현

Title
프로세스 간 공유 메모리 데이터 기록 및 재현
Other Titles
Record and replay for interprocess shared memory data
Author
윤기현
Alternative Author(s)
Yun, Ki Hyun
Advisor(s)
유민수
Issue Date
2018-08
Publisher
한양대학교
Degree
Master
Abstract
본 연구에서는 IPC(Inter Process Communication)기법 중 공유 메모리를 사용하는 유저 프로그램의 디버깅 및 테스팅을 하기 위한 기술의 방법을 제안한다. 그 방법으로는 소프트웨어의 동작이나 흐름을 기록하고 재현하는 Record and Replay(기록 및 재현) 디버깅 기법을 이용한다. 기록하고 재현하는 것에 있어 무엇을 기록해야 하는지 명확히 알아야 한다. 프로그램의 동작은 결정적인 요인과 비결정적인 요인에 의해서 실행된다. 변수, 함수 등의 선언이나 단순한 반복문은 프로그램에게 결정적이다. 하지만 프로그램은 주어진 코드를 순차적으로 실행을 해도 외부로부터 받는 데이터나 인터럽트, 시그널 등으로 인해 비결정적이게 실행된다. 이러한 사건의 주체를 비결정적 요인이라 하는데 이 비결정적 요인의 시점, 장소, 값 등을 기록하고 재현하다면 언제든지 똑같은 결과로 결정적이게 프로그램은 동작한다. 프로세스 간 공유 메모리를 사용하는 유저 프로그램에서 반드시 기록해야하는 비결정적 요인은 사용자에게 입력받아 넘겨지는 공유 데이터이다. 공유 데이터의 변화를 프로그램의 시작과 끝까지 순차적으로 기록하고 재현을 하게 된다면 프로그램은 기록한대로 재현될 것이다. 타겟 유저 프로그램은 모니터 프로그램을 통해 기록모드와 재현모드로 실행된다. 기록모드일 때는 공유 데이터를 로그에 저장하고, 재현모드일 때는 로그에 저장된 공유 데이터를 순차적으로 프로그램의 특정 시점에 순차적으로 대체한다. 공유 데이터를 기록 및 재현하기 위해 공유 메모리에 데이터를 읽기(read)하는 접근을 알아내야 한다. 그 방법으로는 각 프로세스에서 공유 메모리를 가리키는 가상 주소를 할당받으면 가상 주소의 시작부터 끝까지 페이지 단위로 페이지 테이블의 접근 권한 설정을 접근 제한(Access Permission)으로 설정한다. 이 상황에서 공유 메모리에 접근을 하면 허용되지 않은 메모리에 접근을 하였다고 Data abort가 발생한다. 그러면 data abort 핸들러 내에서 data abort가 발생한 가상주소와 접근 제한에 의해 발생한 data abort인지 확인한 후 두 조건이 맞는다면 공유 데이터의 기록 및 재현을 하기 위해 일시적으로 접근 제한을 해제한다. 그리고 모드에 따라 공유 데이터를 로그에 기록하거나 재현을 한다. 그 이후 다음으로 있을 공유 메모리 데이터 읽기(read) 작업의 접근을 알아내기 위해 다시 페이지 테이블의 접근 권한을 제한을 설정해야한다. 프로그램 카운터가 다음 인스트럭션으로 넘어가기 전에 접근 제한을 설정해야 하는데 그 방법으로는 브레이크 포인트를 이용한다. data abort 핸들러에서 나오기 전 해당 인스트럭션에 브레이크 포인트 미스매치를 걸어준다. 그 상황에서 프로그램 카운터가 다음 인스트럭션으로 넘어가면 브레이크 포인트에 의해 prefetch abort가 발생한다. 그러면 prefetch abort 핸들러 내에서 브레이크 포인트를 해제하고, 가상 메모리의 페이지 테이블에 다시 접근 권한을 제한으로 설정한다. 이러한 알고리즘으로 프로그램의 시작부터 끝까지 제어를 해준다면, 프로세스 간 공유 메모리 데이터를 기록 및 재현을 할 수 있다.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/75951http://hanyang.dcollection.net/common/orgView/200000434083
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE