KR100401560B1 - 운영체제의 커널 스택 동적 할당 방법 - Google Patents

운영체제의 커널 스택 동적 할당 방법 Download PDF

Info

Publication number
KR100401560B1
KR100401560B1 KR10-1999-0046457A KR19990046457A KR100401560B1 KR 100401560 B1 KR100401560 B1 KR 100401560B1 KR 19990046457 A KR19990046457 A KR 19990046457A KR 100401560 B1 KR100401560 B1 KR 100401560B1
Authority
KR
South Korea
Prior art keywords
kernel stack
kernel
user process
operating system
execution
Prior art date
Application number
KR10-1999-0046457A
Other languages
English (en)
Other versions
KR20010038482A (ko
Inventor
주철민
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR10-1999-0046457A priority Critical patent/KR100401560B1/ko
Publication of KR20010038482A publication Critical patent/KR20010038482A/ko
Application granted granted Critical
Publication of KR100401560B1 publication Critical patent/KR100401560B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 운영체제의 커널 스택 동적 할당 방법에 관한 것으로, 특히 다수의 사용자 프로세스가 운영체제의 커널 스택을 공유하도록 해당 커널 스택을 동적으로 할당함과 동시에 해당 사용자 프로세스의 재수행을 위한 정보를 해당 커널 스택에 저장하지 않고도 재수행이 가능하도록 한 운영체제의 커널 스택 동적 할당 방법에 관한 것이다.
종래에는 사용자 프로세스가 운영체제 내에서 수행되기 위해서는 각 사용자 프로세스마다 커널 스택을 할당해야 함에 따라 메모리가 많이 필요했으며, 특히, 실제로 운영체제에서 사용되지 않는 사용자 프로세스에 대해서도 사용될 경우 실시간 서비스를 제공하기 위해 커널 스택을 미리 할당함에 따라 메모리가 낭비되는 요인이 되었다.
본 발명은 운영체제의 커널에서 사용하는 커널 스택을 다수의 사용자 프로세스가 공유하게 하고, 해당 사용자 프로세스의 재수행을 위한 정보를 해당 커널 스택에 저장하지 않고도 시스템 호출 서버에 의해 재수행이 가능하도록 해당 운영체제의 커널 스택을 동적으로 할당함으로써, 사용되는 커널 스택을 절약할 수 있게 됨과 동시에 프로세스 처리 속도를 향상시킬 수 있게 된다.

Description

운영체제의 커널 스택 동적 할당 방법{Kernel Stack Dynamic Allocation Method In Operating System}
본 발명은 운영체제의 커널 스택 동적 할당 방법에 관한 것으로, 특히 다수의 사용자 프로세스가 운영체제의 커널 스택을 공유하도록 해당 커널 스택을 동적으로 할당함과 동시에 해당 사용자 프로세스의 재수행을 위한 정보를 해당 커널 스택에 저장하지 않고도 재수행이 가능하도록 한 운영체제의 커널 스택 동적 할당 방법에 관한 것이다.
일반적으로, 통신 시스템의 운영체제(Operating System)는 다양한 기능의 소프트웨어들을 효과적으로 관리하며 수행시킬 수 있는 다양한 고급기능을 제공하고 있는데, 이러한 운영체제 내에는 디스크, 프린터, 단말기, 통신장치 등의 시스템 자원들을 실시간으로 다중 관리하는 하나의 커널(Kernel)이 존재하며, 해당 커널을 통해 각 응용 프로그램에서 생성된 사용자 프로세스에 대한 서비스를 수행한다.
여기서, 해당 사용자 프로세스는 기본적으로 텍스트(text), 데이터, 스택으로 그 구성이 대별되며, 운영체제의 서비스를 받기 위해 트랩(trap)이나 시스템 호출(system call)을 수행한다.
그리고, 해당 사용자 프로세스가 운영체제 내에서 수행되기 위해서는 커널 스택(Kernel Stack)이 필요하며, 이를 위해서는 각 사용자 프로세스마다 별도의 커널 스택을 할당해야 하는데, 이는 해당 사용자 프로세스의 수행이 커널 내에서 정지되는 경우 할당된 커널 스택에 프로세스 수행 정보를 저장하기 위함이다.
이때, 해당 운영체제 내부의 커널에 의한 메모리 맵핑(mapping)과 사용자 프로세스에 의한 메모리 맵핑은 상이하게 제어된다.
한편, 종래에는 사용자 프로세스가 운영체제의 커널 서비스를 받고자 하는 경우 즉, 해당 사용자 프로세스가 운영체제의 커널 내에서 수행되는 경우 첨부된 도면 도 1과 같이, 해당 사용자 프로세스가 트랩이나 시스템 호출을 수행하게 되면, 해당 사용자 프로세스의 수행 정보(user context)는 기할당된 커널 스택에 저장되고, 이에 따른 메모리 맵핑 즉, 주소 공간(address space)은 커널로 변경된다.
이후, 해당 운영체제의 커널에서 사용자 프로세스의 수행이 정지되는 경우해당되는 프로세스 수행 정보(kernel context)는 다른 커널 스택에 저장되고, 해당 커널에서 사용자 프로세스의 수행이 정지되지 않는 경우 해당 프로세스 수행 정보(user context)는 사용자 프로세스로 돌아가게 된다.
그리고, 수행이 정지된 사용자 프로세스가 재수행하는 경우 즉, 사용자 프로세스가 복원되는 경우 해당되는 프로세스 수행 정보(kernel context)를 커널 스택에서 판독하여 재설정한 후, 해당되는 프로세스 수행을 계속한다.
전술한 바와 같이, 종래에는 사용자 프로세스가 운영체제 내에서 수행되기 위해서는 각 사용자 프로세스마다 커널 스택을 할당해야 함에 따라 메모리가 많이 필요했으며, 특히, 실제로 운영체제에서 사용되지 않는 사용자 프로세스에 대해서도 사용될 경우 실시간 서비스를 제공하기 위해 커널 스택을 미리 할당함에 따라 메모리가 낭비되는 요인이 되었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 운영체제의 커널에서 사용하는 커널 스택을 다수의 사용자 프로세스가 공유하게 하고, 해당 사용자 프로세스의 재수행을 위한 정보를 해당 커널 스택에 저장하지 않고도 프로세스 재수행이 가능하도록 해당 운영체제의 커널 스택을 동적으로 할당함으로써, 사용되는 커널 스택을 절약함과 동시에 프로세스 처리 속도를 향상시키는데 있다.
도 1은 종래 사용자 프로세스가 운영체제의 커널 내에서 수행되는 경우의 처리 절차를 설명하기 위한 구조도.
도 2는 본 발명에 따른 운영체제의 커널 스택 동적 할당 방법을 구현하기 위한 동작 순서도.
상술한 바와 같은 목적을 해결하기 위한 본 발명의 특징은, 트랩이나 시스템 호출 수행시 사용자 프로세스의 수행 정보를 글로벌 커널 스택 포인터에 할당된 커널 스택에 저장하는 과정과; 상기 사용자 프로세스의 수행이 운영체제의 커널에서 정지되는 경우 운영체제 내에서 시스템 호출 서버가 수행되는지를 확인하는 과정과; 시스템 호출 서버가 수행되지 않는 경우 상기 글로벌 커널 스택 포인터를 사용자 프로세스에 할당하는 과정과; 커널 스택 풀에서 새로운 커널 스택을 얻어 상기 글로벌 커널 스택 포인터에 할당해서 상기 사용자 프로세스의 수행을 실제로 정지시키는 과정과; 상기 사용자 프로세스가 운영체제의 커널에서 재수행하고자 하는 경우 글로벌 커널 스택 포인터에 할당된 커널 스택을 커널 스택 풀에 복귀시키는 과정과; 사용자 프로세스의 커널 스택을 글로벌 커널 스택 포인터에 할당하여 다수의 사용자 프로세스가 커널 스택을 공유하게 하는 과정을 포함하는데 있다.
여기서, 상기 사용자 프로세스의 수행 정보를 글로벌 커널 스택 포인터에 할당된 커널 스택에 저장하는 과정은, 운영체제의 최초 구동시에 사용자 프로세스의 갯수보다 작은 소정 갯수의 커널 스택을 할당하는 단계와; 할당한 커널 스택 중에서 하나의 커널 스택을 선택하여 글로벌 커널 스택 포인터에 할당하는 단계와; 상기 글로벌 커널 스택 포인터에 할당된 커널 스택에 트랩이나 시스템 호출 수행시의 사용자 프로세스 수행 정보를 저장하는 단계를 더 포함하는 것을 특징으로 한다.
나아가, 상기 사용자 프로세스의 수행이 운영체제의 커널에서 정지되지 않는경우 상기 글로벌 커널 스택 포인터를 현재의 커널 스택으로 유지하여 상기 커널 스택을 재사용하게 하는 것을 특징으로 한다.
또한, 상기 운영체제 내에서 시스템 호출 서버가 수행되는지를 확인하는 과정에서, 시스템 호출 서버가 수행되는 경우 재수행시 필요한 재수행 정보를 등록하여 사용자 프로세스의 수행을 실제로 정지시키는 단계와; 상기 사용자 프로세스의 재수행을 위한 인터럽트나 함수 호출이 발생하는 경우 등록된 재수행 정보를 판독하는 단계와; 판독한 재수행 정보를 이용하여 상기 사용자 프로세스가 재수행할 수 있도록 준비 동작을 대행하는 단계와; 상기 사용자 프로세스를 실제로 재수행시키는 단계를 더 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명에서는 사용자 프로세스가 운영체제의 커널 내에서 사용하는 커널 스택을 동적으로 할당하여 사용되는 커널 스택의 수를 줄이게 되는데, 이를 위해 커널 스택 풀(Kernel Stack Pool)과, 커널 스택 할당부(Kernel Stack Allocator)와, 시스템 호출 서버(System Call Server) 및 글로벌 커널 스택 포인터(Global kernel stack pointre)를 구성하게 된다.
해당 커널 스택 풀은 동적 할당을 위한 커널 스택의 집합이고, 해당 커널 스택 할당부는 커널 스택 풀에 존재하는 커널 스택을 동적으로 할당하는 기능을 수행한다.
그리고, 해당 시스템 호출 서버는 커널에서 수행이 정지된 사용자 프로세스의 재수행을 위해 필요한 정보(재수행 정보)를 시스템 호출 제어기에 등록하고, 등록된 재수행 정보를 이용하여 해당 사용자 프로세스가 재수행을 위해 커널에서 수행해야 하는 동작을 대행하며, 해당 글로벌 커널 스택 포인터는 커널 스택의 동적 할당에 따라 현재 사용 대기중인 커널 스택을 지시하는 포인터로서, 프로세스 수행 정보가 전환(Context Switch)되는 경우에도 현재 지시하는 커널 스택에 대한 포인터가 변경되지 않는다.
이와 같은 구성을 갖은 본 발명에서 운영체제의 커널 스택 동적 할당 동작을 첨부한 도면 도 2를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 운영체제의 최초 구동시에 해당 운영체제의 서비스를 받고자 하는 사용자 프로세스의 갯수보다 작은 소정 갯수의 커널 스택을 할당한 후(스텝 S21), 할당한 커널 스택 중에서 하나의 커널 스택을 글로벌 커널 스택 포인터(도 2에서 'GKSP'로 도시함)에 할당하게 된다(스텝 S22).
이때, 사용자 프로세스가 운영체제의 커널 서비스를 받기 위해 트랩이나 시스템 호출을 수행하게 되면(스텝 S23), 해당 사용자 프로세스의 수행 정보(user context)는 글로벌 커널 스택 포인터에 할당된 커널 스택에 저장하게 된다(스텝 S24).
이후, 해당 운영체제의 커널에서 사용자 프로세스의 수행이 정지되는지를 확인하여(스텝 S25), 해당 사용자 프로세스의 수행이 정지되지 않는 경우에는 사용자 프로세스의 수행이 응용 프로그램으로 되돌아가게 되고, 이에 따라 해당 프로세스수행 정보(user context)가 사용자 프로세스로 돌아가게 되어 해당 운영체제의 글로벌 커널 스택 포인터는 현재의 커널 스택을 계속 유지한 상태(스텝 S26)에서 스텝 S23으로 귀환하여 반복 동작을 수행함으로써, 해당 커널 스택을 재사용할 수 있게 된다.
한편, 스텝 S25에서 해당 사용자 프로세스의 수행이 정지되는 경우 해당 운영체제 내에서 시스템 호출 서버가 수행되는지를 확인하여(스텝 S27), 해당 시스템 호출 서버가 수행되지 않는 경우 글로벌 커널 스택 포인터를 현재 수행이 정지된 사용자 프로세스에 할당한 후(스텝 S28), 커널 스택 풀에서 새로운 커널 스택을 얻어 글로벌 커널 스택 포인터에 할당함으로써(스텝 S29), 해당 사용자 프로세스의 수행이 실제로 정지 상태로 천이하게 된다(스텝 S30).
이후, 해당 사용자 프로세스가 운영체제의 커널에서 재수행하고자 하는 경우 해당 글로벌 커널 스택 포인터에 할당된 커널 스택을 커널 스택 풀에 복귀시키고(스텝 S31), 재수행하고자 하는 사용자 프로세스의 커널 스택을 글로벌 커널 스택 포인터에 할당한 후(스텝 S32), 스텝 S25로 귀환하여 반복 동작을 수행함으로써, 해당 커널 스택이 재사용되고, 이로 인해 다수의 사용자 프로세스가 커널 스택을 공유하게 되어, 해당 운영체제 내에서 사용하는 커널 스택을 절약할 수 있게 된다.
그런데, 스텝 S27에서 해당 시스템 호출 서버가 수행되는 경우 해당 시스템 호출 서버는 사용자 프로세스의 재수행시 필요한 재수행 정보(입출력 동작이 필요한 경우의 입출력 정보, 함수, 타이머 관련 함수)를 생성하여 시스템 호출 제어기에 등록함으로써(스텝 S33), 해당 사용자 프로세스의 수행이 실제로 정지 상태로천이된 후(스텝 S34), 해당 프로세스 수행이 응용 프로그램으로 직접 넘어가게 된다.
이후, 수행이 정지되었던 사용자 프로세스의 재수행을 위해 하드웨어적인 인터럽트나 커널의 함수 호출(Function Call)이 발생하게 되면(스텝 S35), 해당 시스템 호출 서버는 사용자 프로세스를 재수행하기 위해 시스템 호출 제어기에 등록된 재수행 정보를 판독하고(스텝 S36), 판독한 재수행 정보를 이용하여 해당 사용자 프로세스가 운영체제의 커널에서 재수행할 수 있도록 준비 동작을 대행한 후(스텝 S37), 해당 사용자 프로세스를 실제로 재수행시키게 된다(스텝 S38).
한편, 본 발명에서 시스템 호출에 의한 사용자 프로세스의 수행이 커널에서 정지하는 경우와, 그 경우에 시스템 호출 제어기에 재수행 정보를 등록하게 되는데, 예를 들어, 입출력 시스템 호출이 해당 커널에서 재수행이 필요하여 사용자 프로세스의 수행이 정지한 경우에는 해당되는 입출력 정보(I/O Context)와 함수를 등록하게 되고, 슬립(Sleep) 시스템 호출의 경우에는 해당 사용자 프로세스가 응용 프로그램에서 바로 수행되도록 별도의 재수행 정보없이 타이머 관련 함수만을 등록하게 된다.
그리고, 해당 사용자 프로세스가 재수행하고자 하는 경우 해당 시스템 호출 서버는 시스템 호출 제어기에 등록된 재수행 정보로부터 해당되는 함수를 호출하여 재수행 준비 동작을 대행하도록 함으로써, 사용자 프로세스가 운영체제의 커널에서 수행을 정지하는 경우 해당되는 프로세스 정보를 커널 스택에 저장하지 않고도 재수행할 수 있게 되어 해당 운영체제 내에서 사용하는 커널 스택을 절약할 수 있게되는데, 이때, 호출한 함수의 수행이 종료되는 경우 실제로 사용자 프로세스를 재수행시키거나, 해당 시스템 호출 서버에 프로세스 재수행 정보를 다시 등록하고 종료하게 된다.
상술한 바와 같이, 본 발명에서는 운영체제의 커널 스택을 재사용하여 다수의 사용자 프로세스가 동일한 커널 스택을 동적으로 할당받아 사용하도록 함으로써, 해당 커널 스택에 대한 캐시(cache) 적중율(hit rate)이 높아져 처리 속도의 향상을 가져올 수 있으며, 해당 사용자 프로세스가 재수행되는 경우 운영체제의 커널에서 커널 스택 팝(pop)을 수행하지 않고 직접 사용자 프로세스로 돌아가 처리 속도의 향상을 가져올 수 있다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 운영체제의 커널에서 사용하는 커널 스택을 다수의 사용자 프로세스가 공유하게 하고, 해당 사용자 프로세스의 재수행을 위한 정보를 해당 커널 스택에 저장하지 않고도 시스템 호출 서버에 의해 재수행이 가능하도록 해당 운영체제의 커널 스택을 동적으로 할당함으로써, 사용되는 커널 스택을 절약할 수 있게 됨과 동시에 프로세스 처리 속도를 향상시킬 수 있게 된다.

Claims (4)

  1. 트랩이나 시스템 호출 수행시 사용자 프로세스의 수행 정보를 글로벌 커널 스택 포인터에 할당된 커널 스택에 저장하는 과정과; 상기 사용자 프로세스의 수행이 운영체제의 커널에서 정지되는 경우 운영체제 내에서 시스템 호출 서버가 수행되는지를 확인하는 과정과; 시스템 호출 서버가 수행되지 않는 경우 상기 글로벌 커널 스택 포인터를 사용자 프로세스에 할당하는 과정과; 커널 스택 풀에서 새로운 커널 스택을 얻어 상기 글로벌 커널 스택 포인터에 할당해서 상기 사용자 프로세스의 수행을 실제로 정지시키는 과정과; 상기 사용자 프로세스가 운영체제의 커널에서 재수행하고자 하는 경우 글로벌 커널 스택 포인터에 할당된 커널 스택을 커널 스택 풀에 복귀시키는 과정과; 사용자 프로세스의 커널 스택을 글로벌 커널 스택 포인터에 할당하여 다수의 사용자 프로세스가 커널 스택을 공유하게 하는 과정을 포함하는 것을 특징으로 하는 운영체제의 커널 스택 동적 할당 방법.
  2. 제 1항에 있어서,
    상기 사용자 프로세스의 수행 정보를 글로벌 커널 스택 포인터에 할당된 커널 스택에 저장하는 과정은, 운영체제의 최초 구동시에 사용자 프로세스의 갯수보다 작은 소정 갯수의 커널 스택을 할당하는 단계와; 할당한 커널 스택 중에서 하나의 커널 스택을 선택하여 글로벌 커널 스택 포인터에 할당하는 단계와; 상기 글로벌 커널 스택 포인터에 할당된 커널 스택에 트랩이나 시스템 호출 수행시의 사용자 프로세스 수행 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 운영체제의 커널 스택 동적 할당 방법.
  3. 제 1항에 있어서,
    상기 사용자 프로세스의 수행이 운영체제의 커널에서 정지되지 않는 경우 상기 글로벌 커널 스택 포인터를 현재의 커널 스택으로 유지하여 상기 커널 스택을 재사용하게 하는 것을 특징으로 하는 운영체제의 커널 스택 동적 할당 방법.
  4. 제 1항에 있어서,
    상기 운영체제 내에서 시스템 호출 서버가 수행되는지를 확인하는 과정에서, 시스템 호출 서버가 수행되는 경우 재수행시 필요한 재수행 정보를 등록하여 사용자 프로세스의 수행을 실제로 정지시키는 단계와; 상기 사용자 프로세스의 재수행을 위한 인터럽트나 함수 호출이 발생하는 경우 등록된 재수행 정보를 판독하는 단계와; 판독한 재수행 정보를 이용하여 상기 사용자 프로세스가 재수행할 수 있도록 준비 동작을 대행하는 단계와; 상기 사용자 프로세스를 실제로 재수행시키는 단계를 더 포함하는 것을 특징으로 하는 운영체제의 커널 스택 동적 할당 방법.
KR10-1999-0046457A 1999-10-25 1999-10-25 운영체제의 커널 스택 동적 할당 방법 KR100401560B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0046457A KR100401560B1 (ko) 1999-10-25 1999-10-25 운영체제의 커널 스택 동적 할당 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0046457A KR100401560B1 (ko) 1999-10-25 1999-10-25 운영체제의 커널 스택 동적 할당 방법

Publications (2)

Publication Number Publication Date
KR20010038482A KR20010038482A (ko) 2001-05-15
KR100401560B1 true KR100401560B1 (ko) 2003-10-17

Family

ID=19616848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0046457A KR100401560B1 (ko) 1999-10-25 1999-10-25 운영체제의 커널 스택 동적 할당 방법

Country Status (1)

Country Link
KR (1) KR100401560B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100420268B1 (ko) * 2001-12-21 2004-03-02 한국전자통신연구원 스택을 이용한 커널 스케줄링 방법
KR101017351B1 (ko) 2007-05-02 2011-02-28 한국전자통신연구원 멀티 쓰레드 기반 운영체제에서의 동적 쓰레드 스택재할당 방법
KR102700419B1 (ko) 2018-09-04 2024-08-30 삼성전자주식회사 전자장치 및 그 제어방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6386035A (ja) * 1986-09-30 1988-04-16 Ricoh Co Ltd スタツクのプ−ル管理方式
US5408650A (en) * 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
KR19990050564A (ko) * 1997-12-17 1999-07-05 이계철 실시간 시스템을 위한 스택 관리 방법
US5950221A (en) * 1997-02-06 1999-09-07 Microsoft Corporation Variably-sized kernel memory stacks
US5949973A (en) * 1997-07-25 1999-09-07 Memco Software, Ltd. Method of relocating the stack in a computer system for preventing overrate by an exploit program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6386035A (ja) * 1986-09-30 1988-04-16 Ricoh Co Ltd スタツクのプ−ル管理方式
US5408650A (en) * 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
US5950221A (en) * 1997-02-06 1999-09-07 Microsoft Corporation Variably-sized kernel memory stacks
US5949973A (en) * 1997-07-25 1999-09-07 Memco Software, Ltd. Method of relocating the stack in a computer system for preventing overrate by an exploit program
KR19990050564A (ko) * 1997-12-17 1999-07-05 이계철 실시간 시스템을 위한 스택 관리 방법

Also Published As

Publication number Publication date
KR20010038482A (ko) 2001-05-15

Similar Documents

Publication Publication Date Title
US10990540B2 (en) Memory management method and apparatus
CN100458738C (zh) 用于管理页替换的方法和系统
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
EP2375324A2 (en) Virtualization apparatus for providing a transactional input/output interface
CN112732501B (zh) 一种测试方法及多处理器soc芯片
US5893159A (en) Methods and apparatus for managing scratchpad memory in a multiprocessor data processing system
WO1998029806A1 (en) A system and method for execution management of computer programs
US11366689B2 (en) Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units
KR20070090649A (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
WO2011064616A1 (en) Method and system for enabling access to functionality provided by resources outside of an operating system environment
CN114253713B (zh) 一种基于reactor的异步批处理方法及系统
JP2002073378A (ja) 計算機システムのダンプ取得方法および装置
EP1697841A1 (en) Memory management in a computer system using different swapping criteria
KR100401560B1 (ko) 운영체제의 커널 스택 동적 할당 방법
US20090187911A1 (en) Computer device with reserved memory for priority applications
CN109783145B (zh) 一种创建基于多映像的多功能嵌入式系统的方法
US11687451B2 (en) Memory allocation manager and method performed thereby for managing memory allocation
CN100492299C (zh) 一种嵌入式软件开发的方法及系统
US20080072009A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
EP0884682A2 (en) Cache memory management method for real time operating system
JP2001229053A (ja) ダンプ取得機構を備えた計算機
JPS603229B2 (ja) 情報処理方式
JPH06231091A (ja) 物理プロセッサのハント方式
CN115756849A (zh) 微内核操作系统中内存分配方法、装置、设备及介质
JP3591883B2 (ja) 計算機及びそのシステム及びその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110909

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20120914

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee