논믄 프로그램 메모리 사용량 조사 방법

초록

현재 한국 공군에서 주력기로 운용하고 있는 KF-16 항공기에는 탑재된 항공전자 장비에 내장된 비행 운용 소프트웨어(OFP)를 통해서 항공기의 제 성능을 향상시키고 있다. KF-16의 핵심 시스템에 해당하는 MFDS는 몇 차례 성능개선 프로젝트를 통해 많은 기능이 추가되어 왔고, 더불어 메모리의 사용도 점차 증가하고 있는 실정이다. 그러나 성능개선에만 치우친 나머지 메모리 활용에 대한 연구가 상대적으로 미흡하였다. 따라서 본 논문의 목적은 메모리 사상에 관한 연구를 통해 기존의 프로그램에 추가하고자 하는 개발 항목의 기능을 삽입할 ...

현재 한국 공군에서 주력기로 운용하고 있는 KF-16 항공기에는 탑재된 항공전자 장비에 내장된 비행 운용 소프트웨어(OFP)를 통해서 항공기의 제 성능을 향상시키고 있다. KF-16의 핵심 시스템에 해당하는 MFDS는 몇 차례 성능개선 프로젝트를 통해 많은 기능이 추가되어 왔고, 더불어 메모리의 사용도 점차 증가하고 있는 실정이다. 그러나 성능개선에만 치우친 나머지 메모리 활용에 대한 연구가 상대적으로 미흡하였다. 따라서 본 논문의 목적은 메모리 사상에 관한 연구를 통해 기존의 프로그램에 추가하고자 하는 개발 항목의 기능을 삽입할 수 있게 함으로써 최종 사용자인 조종사로 하여금 이 기능을 충분히 활용할 수 있도록 하는 것이다. 시스템 메모리 부분의 효과적인 활용과 사용자가 요구하는 다양한 기능들의 수용 범위를 확대시킬 수 있도록, MFDS OFP내에서의 OS부분에 해당하는 실시간 처리와 주소상태(address state) 변경 및 확장된 메모리 주소지정(addressing) 방법과 메모리 사상시에 같이 포함되는 JOVIAL 언어의 프로그램 파일들간 연계사항 등을 이해하고, ACT 링커가 포함되어 있는 통합된 도구인 SYSBUILD의 역할을 고찰하였다. ACT 링커의 특성을 좀더 구체적으로 파악하기 위해, KF-16 항공기 소프트웨어 3차 성능개선에서 검증된 MFDS OFP의 대용량 개발항목인 비상처치절차 항목을 대상으로, 메모리 사상에 관한 링커의 NOSEED 옵션을 3가지 조건으로 설정해 실증적인 적용 예를 제시하여 링커의 특성을 파악하였으며, 이와 함께 MFDS OFP내에서 주소상태(addres state)를 추가하는 방법도 같이 검토하였다. 이를 통해 기존 프로그램의 틀을 존중하고 새롭게 생성되어 추가되는 프로그램 파일들의 효과적인 메모리 사상 방안을 다음과 같이 제시하였다. 첫째, 새롭게 추가될 파일들의 메모리 사용량을 조사한다. 코드, 데이터, 리터럴 별로 메모리 사용량을 종합하여 여유분과 대조해 본다. 둘째, 개발된 파일을 중심으로 파일들간의 종속여부를 조사한다. 수입 종속 파일들과 외부 참조 파일 등과 같은 연계파일들의 메모리 사용량을 같이 조사한다. 실시간 처리 25 Hz 비율그룹은 대부분의 주소상태에서 공유되고 있으므로 기능삽입을 줄여야 한다. 셋째, NOSEED옵션을 중점적으로 고려하여 ACT 링커 통제지시서를 작성한다. 특정 파일이 상·하위 주소상태에서 같이 공유되어야 할 때, 옵션지정은 상위 주소상태와 동일하게 유지하여야 한다. 넷째, 새롭게 추가될 파일들의 메모리 사용량이 기존 주소상태의 용량을 초과할 때, 새로운 주소상태를 생성하고 추가될 파일을 중심으로 삽입하여야 한다. 제시된 방안은 메모리 사상에 관련된 MFDS 시스템과 ACT 링커의 특성을 인식시키고, 다른 KF-16 핵심 시스템과 더불어, MFDS 전체적으로 아직도 많이 남아 있는 물리적인 메모리 여유 분량을 논리적으로 충분히 활용할 수 있도록 함으로써 제한된 논리적 메모리 활용성을 크게 증가시켰다. 또한, 조종사의 개발 요구에 의한 다양한 특성의 기능들을 추가할 경우, 특히 한가지 추가 기능이 다량의 데이터를 취급해야할 경우에는 기존의 메모리 사상 오류에 의한 새로운 기능 삽입이 제한되었던 것을 가능하게 함으로써, 관련된 논리 주소 공간을 초과하지 않고, 메모리에 다양한 기능들을 사상시킬 수 있도록 하여 항공기 소프트웨어의 추가 기능들의 수용 범위를 확대시켰다.

Abstract

The KF-16 Fighter, currently operated as primary role at ROK Air Force, is being upgraded on its functional capabilities by modification of the Operational Flight Program(OFP) which are embedded in the avionic subsystems. Lots of functional capabilities have been added into Multi-Function Display Se...

The KF-16 Fighter, currently operated as primary role at ROK Air Force, is being upgraded on its functional capabilities by modification of the Operational Flight Program(OFP) which are embedded in the avionic subsystems. Lots of functional capabilities have been added into Multi-Function Display Set(MFDS), one of the KF-16 core-subsystems, via functional software upgrade projects in series. Moreover, the usage of its memory is gradually getting increased. However, as the result of concentrating just on the functional improvement, the researches relevant to the memory utilization were relatively insufficient. Therefore, the purpose of this thesis is to make the big scale capability of the development item to be added onto original program via the study of the memory mapping so that pilots, as final users, can fully use what they want. To expand the domain to take in various capabilities which users demand, use effectively the system memory section, the real time processing and the address state change which are belong to operating system of MFDS OFP, the expanded memory addressing and the mutual references among the JOVIAL program files have been understood and the role of ACT linker which is involved in SYSBUILD, a software package tool, has also been studied. To dig out the characteristics of ACT linker all the more, showing the actual application examples to set three different conditions of linker's NOSEED option onto the emergency procedure as a target for the big scale development item proven by the third KF-16 software upgrade project would be helpful to understand unknown characteristics. And, the way to add the new address state on the MFDS OFP has been investigated. While maintaining the existing program's convention, the effective memory mapping scheme could be presented as follows to make the newly created program files to be successfully added. 1. Investigate the memory usage of the newly created program files. The memory spare could be compared with the summation of the memory usage on each section: code, data, literal. 2. Investigate the dependencies focused on the newly created files among the program files. The memory usage of the relevant files like as imported dependencies and external reference files should be investigated in the same manner. New functional capabilities' addition should be reduced to the 25 Hz rate group of the real time processing because the rate group is shared with most address states. 3. Make out the control statesment of the ACT linker while considering the NOSEED option in priority. When a specific file should be shared at the same time in the superior & inferior address state, the option selection should be maintained equally like the superior address state. 4. When the memory usage of the newly created files is more than the address state's volumn, the new address state should be created and also inserted centering around the newly created files. By making the physical memory spare still remained on MFDS subsystem, along with the different KF-16 core-subsystems, to be logically utilized thoroughly while recognizing the characteristics of MFDS subsystem and ACT linker relevant to the memory mapping, the logical memory utilization which have ever limited was greatly increased by this presented scheme. Because the various capabilities can be allocated into the memory by making the new capabilities' addition ever restrained by the memory mapping error to be feasible while not exceeding the appropriate logical address space in case of adding various functional capabilities by pilot's developmental demand, especially unique capability dealing with vast amount of data, the domain of taking in the additional capabilities on the aircraft software expanded.