• Title/Summary/Keyword: 스택 저장

Search Result 57, Processing Time 0.023 seconds

A Study for the Efficient Memory Management in time of using Cross Compiler (크로스 컴파일러에서의 효율적인 메모리 사용 기법에 대한 연구)

  • Kyong, Bo-Hyun;Jeon, Seung-Hun
    • Proceedings of the KIEE Conference
    • /
    • 2003.11c
    • /
    • pp.641-644
    • /
    • 2003
  • 본 논문은 RTOS(Real-Time Operation System, 리턴어드레스를 위한 유저스택사용 RTOS가 탑재된 CE(Consumer Electronic)제품상에서 리턴어드레스가 유저스택으로 저장하는 것을 지원하지 않는 컴파일러를 위한 알고리즘이며 실험을 위하여 제안된 알고리즘을 상용 컴파일러에 적용하여 비교해보도록 하겠다. 우선 기존 컴파일러 알고리즘으로는 Task마다 할당된 유저스택영역이 존재하며 Task가 수행중 발생된 리턴어드레스는 즉시 할당된 유저스택으로 저장하는 알고리즘을 갖고있다. 이런 알고리즘으로 인하여 인스트럭션이 수행중 빈번한 메모리 접근(external memory)가 발생한다. 그러나 제안된 알고리즘은 Task 수행중에는 리턴어드레스를 시스템스택(internal memory)에 저장한 후 Task 전환이 발생할 경우 일시에 시스템 스택에 저장된 리턴어드레스를 유저스택으로 이동하게 되므로 Task 수행중에는 시스템 스택만을 접근하므로 task의 수행시간을 단축할 수가 있다. 그리고 실험을 위하여 상용 컴파일러들에 본 알고리즘을 적용하였다. 상용 컴파일러로는 매번 리턴어드레스를 자동으로 Task별 할당된 유저스택에 저장할 수 있도록 지원해주는 TASKING 컴파일러(Altium 사)와 그렇지 않은 KEIL컴파일러(KEIL사)가 있으며 본 알고리즘을 KEIL 컴파일러에 적용하여 실험을 하여 TASKING 컴파일러와 비교한 결과 유저스택을 지원하는 TASKING(Altium사) 컴파일러에서 구현한 CE제품의 Response time이 KEIL 컴파일러에서 구현한 CE제품의 Response time 값이 같게 나왔다. 그러므로 KEIL 컴파일러상에 본 알고리즘을 적용시킬 경우 RTOS가 탑재된 CE제품을 보다 용이하게 구현할 수가 있다.

  • PDF

Escape Analysis for Stack Allocation in Java (자바 객체의 스택 저장 가능성 판별을 위한 정적 분석 기법)

  • 조은선
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.6
    • /
    • pp.840-848
    • /
    • 2004
  • Garbage collecting objects in Java makes memory management easier for the programmer, but it is time consuming. Stack allocation may be an alternative which identifies stack-allocatable objects before the execution, without performance degradation. We suggest an escaping analysis recording the interprocedural movement of the method, to detect an object the method of whose creation may have been already deactivated during the access. Our approach is different from prior works, enables us to handle some cases that are missed in the previous variable - oriented approach.

Continuation Implementation Method for Structured Exception Handling (구조화된 예외 처리를 위한 Continuation 구현 기법)

  • Kim, Se-Won;Kim, Young-Pill;Yoo, Hyuck
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.482-486
    • /
    • 2010
  • Continuation은 운영체제의 실행 흐름을 최적화 하기 위한 수단으로 사용되어 왔다. 특히 Continuation을 이용하면 스택의 내용 없이, 특정 시점 이후의 프로세스의 연산을 그대로 수행 할 수 있는 장점을 가지고 있다. 하지만 이와 같이 스택에 저장된 정보를 사용하지 않을 경우 구조화된 예외 처리 방법(SEH)을 사용하는 운영체제에서는 Continuation을 바로 적용하기에 어려움이 존재한다. 이러한 문제를 해결하기 위해, SEH를 위해 함수에서 수정한 스택의 내용을 저장해 두었다가 Continuation이 끝나고 스택을 복원하여 SEH가 올바르게 실행 되도록 하였다.

  • PDF

Optimizing I/O Stack for Fast Storage Devices (고속 저장 장치를 위한 입출력 스택 최적화)

  • Han, Hyuck
    • The Journal of the Korea Contents Association
    • /
    • v.16 no.5
    • /
    • pp.251-258
    • /
    • 2016
  • Recently, the demand for fast storage devices is rapidly increasing in cloud platforms, social network services, etc. Despite the development of fast storage devices, the traditional Linux I/O stack is not able to exploit the full extent of the performance improvement since it has been optimized for disk-based storage devices. In this paper, we propose an optimized I/O stack which can fully utilize the I/O bandwidth and latency of fast storage devices. To this end, we design a new I/O interface to replace the current block I/O interface and optimize our I/O interface. Our optimized I/O interface bypasses operations/layers in block I/O subsystems of the current Linux I/O stack to fully exploit fast storage devices. We also optimize the Linux file systems such as ext2 and ext4 to run on our I/O interface. We evaluate our I/O stack with multiple benchmarks and the experimental results show that our I/O stack achieves 1.7 times better throughput compared to traditional Linux I/O stack.

Design of Translator for 3-Address Code from Stack Based Code (스택 기반 코드에서 3-주소형태코드 생성을 위한 변환기 설계)

  • Kim, Ji-Min;Kim, Young-Kook;Jo, Sun-Moon;Kim, Ki-Tae;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.301-304
    • /
    • 2004
  • 자바의 특징 중에 한 가지는 자바 가상 기계를 기반으로 하고 있게 때문에 특정한 하드웨어나 운영체제에 영향을 받지 않고 독립적으로 수행이 가능하다는 것이다. 하지만 자바 언어로 개발된 애플리케이션은 C나 C++등 다른 언어로 작성한 프로그램에 비하여 실행이 매우 느리다는 단점을 가지게 된다. 이는 자바 가상 기계 에서 바이트코드가 인터프리터 방식으로 사용되기 때문이다. 이러한 단점을 보안하기 위하여 여러 가지 최적화 기법이 적용되고 있다. 본 논문에서는 이러한 방법으로써 바이트코드를 3주소형태 코드로 변환하는 변환기 설계에 대해서 제안할 것이다. 바이트코드에서 스택을 사용하지 않는 3주소형태 코드로의 변환하기 위하여 크게 세 단계를 걸친다. 첫째, 스택에 대한 명백한 참조를 가진 타입화된 스택기반의 중간표현을 생성한다. 둘째, 생성된 코드에서 타입에 대한 정보를 추출하고 추출된 정보를 저장하는 기억장소를 할당하여 추출된 정보를 저장시킨다. 셋째, 스택을 대신할 타입이 없는 지역변수를 생성하여 각각의 변수에 알맞은 타입을 분배함으로써 타입화되고 명백한 3주소형태 코드를 생성한다. 이러한 방식으로 스택기반 언어에서 발생하는 문제점을 해결한다.

  • PDF

Open Source Cloud Platforms : OpenStack and CloudStack (오픈소스 클라우드 플랫폼 : 오픈스택과 클라우드스택)

  • Ra, Jeong-Hwi;Han, Sang-Hyuck;Sung, Baek-Yul;Kim, Young-Kuk
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.259-261
    • /
    • 2012
  • 클라우드 컴퓨팅은 정보가 인터넷 상의 서버에 영구적으로 저장되고 데스크탑이나 테이블 컴퓨터, 노트북, 벽걸이 컴퓨터, 휴대용 기기 등과 같은 클라이언트에는 일시적으로 보관되는 패러다임을 뜻한다. 가용성과 사용상의 편의에 대한 요구의 증가로 최근들어 빠른 속도로 발전하는 모습을 보이고 있다. 클라우드 컴퓨팅은 제공하는 서비스의 유형에 따라 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)로 나뉜다. 이 중 IaaS는 인프라를 서비스로 제공하는 모델이다. 이를 구현한 오픈소스 클라우드 플랫폼으로 오픈스택과 클라우드 스택이 대표적이다. 시트릭스는 자사가 개발중인 클라우드 플랫폼인 클라우드스택을 아파치 라이센스로 전환하겠다고 발표했다. 이전까지 같은 종류의 클라우드 플랫폼인 오픈스택의 회원사로 참여하고 있던 시트릭스가 오픈스택 그룹에서 탈퇴하고 클라우드스택을 지원한다는 발표는 큰 관심을 받았다. 본 논문에서는 여러 오픈소스 클라우드 플랫폼 중 오픈스택과 클라우드스택을 비교해보고, 이를 통해 향후 오픈소스 클라우드 플랫폼의 발전가능성에 대해 고찰해보고자 한다.

Efficient Stack Smashing Attack Detection Method Using DSLR (DSLR을 이용한 효율적인 스택스매싱 공격탐지 방법)

  • Do Yeong Hwang;Dong-Young Yoo
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.12 no.9
    • /
    • pp.283-290
    • /
    • 2023
  • With the recent steady development of IoT technology, it is widely used in medical systems and smart TV watches. 66% of software development is developed through language C, which is vulnerable to memory attacks, and acts as a threat to IoT devices using language C. A stack-smashing overflow attack inserts a value larger than the user-defined buffer size, overwriting the area where the return address is stored, preventing the program from operating normally. IoT devices with low memory capacity are vulnerable to stack smashing overflow attacks. In addition, if the existing vaccine program is applied as it is, the IoT device will not operate normally. In order to defend against stack smashing overflow attacks on IoT devices, we used canaries among several detection methods to set conditions with random values, checksum, and DSLR (random storage locations), respectively. Two canaries were placed within the buffer, one in front of the return address, which is the end of the buffer, and the other was stored in a random location in-buffer. This makes it difficult for an attacker to guess the location of a canary stored in a fixed location by storing the canary in a random location because it is easy for an attacker to predict its location. After executing the detection program, after a stack smashing overflow attack occurs, if each condition is satisfied, the program is terminated. The set conditions were combined to create a number of eight cases and tested. Through this, it was found that it is more efficient to use a detection method using DSLR than a detection method using multiple conditions for IoT devices.

Design of Bytecode Framework (바이트코드 프레임워크 설계)

  • 김영국;김기태;조선문;이갑래;유원희
    • Proceedings of the Korea Contents Association Conference
    • /
    • 2004.05a
    • /
    • pp.330-334
    • /
    • 2004
  • Java bytecode is stack-base code. Stack-base code makes analysis and optimization hardly because use stack access imperative. Therefore, fragment of code that is problem that occur in stack-base code optimization, loss of type information, unnecessary Load and Store can appear. Optimization and analysis of bytecode design bytecode framework by solution way of problem that is difficult. This paper indicates optimization of bytecode and hangup of analysis, and describe research contents about existent byte code optimization technology. This propose byte code framework by the alternative to simplify analysis and optimization of byte code.

  • PDF

A Study on Stack Canary Security Enhancement Techniques Using TrustZone (TrustZone을 활용한 스택 카나리 보완 기법)

  • Jae-Yeol Park;Seong-Hwan Park;Dong-Hyun Kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.321-322
    • /
    • 2024
  • 다양한 방면에서 사용되는 임베디드 시스템의 메모리 취약성에 대한 관심이 많아짐에 따라 임베디드 시스템의 메모리 보호와 관련하여 많은 연구가 진행 중이다. 스택 카나리는 효율적인 메모리 보호 기법으로써 널리 사용되지만 물리 메모리가 제한적이고 사용자 권한 분리를 지원하지 않는 임베디드 시스템에서는 기존 방식을 활용한 스택 카나리를 적용하는 것에 한계가 있다. ARM의 TrustZone은 일반 실행 환경과 신뢰 실행 환경으로 분리하여 일반 실행 환경에서 신뢰 실행 환경의 데이터나 코드에 접근하지 못 하도록 막는다. 그렇기 때문에 ARM의 TrustZone에 암호화 키를 저장하거나 보안이 중요한 동작을 TrustZone에서 실행하는 연구가 많다. 본 논문에서는 ARM의 TrustZone을 활용하여 임베디드 시스템에서 스택 카나리 기법의 한계를 보완 할 수 있는 방법을 제안한다.