KR20020038195A - 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 - Google Patents
휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 Download PDFInfo
- Publication number
- KR20020038195A KR20020038195A KR1020000068270A KR20000068270A KR20020038195A KR 20020038195 A KR20020038195 A KR 20020038195A KR 1020000068270 A KR1020000068270 A KR 1020000068270A KR 20000068270 A KR20000068270 A KR 20000068270A KR 20020038195 A KR20020038195 A KR 20020038195A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- priority
- kernel
- return
- operating system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
본 발명은 핸드폰, 피디에이(PDA)와 같은 휴대용 정보 기기에 다중 처리 (multi-tasking) 운영 체제를 탑재한 경우의 메모리 관리 기법에 관한 것이다.
본 발명은 크게 각 프로세스의 우선 순위에 따라 메모리를 할당시키고 메모리 부족시 반납 가능 메모리 반납 신호를 보내는 커널, 우선 순위를 가지며 커널의 요구에 따라 메모리를 반납하는 응용 프로그램(프로세스), 그리고 각 프로세스의 우선 순위 및 커널의 선택 사항(option)을 선택하는 제어 프로그램으로 이루어진다.
본 발명은 기존의 메모리 관리 기법을 위와 같이 개선함으로써 시스템의 성능 향상 및 가용성 증가를 목적으로 한다.
Description
핸드폰이나 피디에이(PDA)와 같은 휴대용 정보 기기는 대부분 기존의 컴퓨터와는 달리 하드디스크와 같은 대용량의 보조 기억 장치를 가지지 않으면서도 기존의 다중 처리(multi-tasking) 컴퓨터 시스템과 같은 정도의 성능이 요구되고 있으며 이에 따라 다중 처리(multi-tasking) 운영체제가 탑재되고 있는 상황이다. 대용량 보조 기억 장치의 부재로 인하여 기존의 컴퓨터 시스템에서 메모리의 제한을 극복하기 위하여 사용하는 스와핑(Swapping)과 같은 기법이 적용 불가능하며 이에 따라 물리적인 메모리의 부족은 곧 해당 프로세스가 실행될 수 없음을 의미한다.
도1은 종래의 기술에 따른 메모리 관리기법을 보여 준다. 특정 프로세스(혹은 응용프로그램)-편의상 프로세스 A라고 하자.-가 시스템 콜(System call)을 통하여 메모리 할당을 커널에 요구하면 커널은 요구된 만큼의 여유 메모리가 있는지 확인하고 충분한 메모리가 있다면 프로세스 A에게 할당한다. 여유 메모리가 충분하지 않을 때에는 에러 메시지를 프로세스A 에게 돌려주고, 프로세스 A는 의도했던 기능을 수행할 수 없게 되므로 에러 메시지를 출력하고 종료하게 된다. 이러한 메모리 관리방식의 문제점은 첫째, 중요한 프로세스가 상대적으로 중요하지 않은 프로세스에 할당된 메모리로 인하여 실행되지 못한다는 점과 둘째로는 다른 프로세스가 잠시후에 메모리를 반납해서 메모리에 여유가 생기더라도 프로세스 A는 이미 종료한 상태이므로 사용자가 다시 실행을 시켜야 한다는 점이다.
따라서 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 프로세스별로 메모리 할당 시 우선 순위 부여와 메모리 부족시의 비 사용 메모리 반납의 신호(signal), 이 신호에 대한 응용 프로그램의 메모리 반납을 용이하게 하기 위한 시스템 콜, 그리고 커널의 메모리 관리 관련 각종 선택 사항을 결정하는 응용 프로그램 등을 메모리 관리에 도입하여 시스템의 성능 향상 및 가용성 증가를 목적으로 한다.
도 1은 기존의 메모리 관리 기법의 동작 흐름도
도 2는 본 발명에 따른 메모리 관리 기법의 동작 흐름도
본 발명은 크게 각 프로세스의 우선 순위에 따라 메모리를 할당시키고 메모리 부족시 반납 가능 메모리 반납 신호를 보내는 커널, 우선 순위를 가지며 커널의 요구에 따라 메모리를 반납하는 응용 프로그램(프로세스), 그리고 각 프로세스의 우선 순위 및 커널의 선택 사항(option)을 선택하는 제어 프로그램으로 이루어진다.
가. 커널
커널은 임의의 프로세스-혹은 응용 프로그램-로부터 메모리 할당 요구 시 여유 메모리가 충분하면 즉시 메모리를 할당한다. 메모리에 여유가 없을 때에는 해당 프로세스를 커널 내의 메모리 대기 큐에 삽입한다. 메모리 할당은 항상 메모리 대기 큐에서 우선 순위가 가장 높은 프로세스-이하 최우선 프로세스-에 대해서 행해진다. 시스템의 여유 메모리가 최우선 프로세스의 메모리 요구량보다 작거나 미리 설정된 최소 메모리 설정치 보다 작다면 커널은 모든 프로세스들에게 사용치 않는 메모리를 반납하도록 신호를 보낸다. 비 사용 메모리의 반납 후에도 여유 메모리가 충분하지 않다면 커널은 충분한 여유 메모리가 확보될 때까지 메모리 대기 큐의 최우선 프로세스 보다 우선 순위가 낮은 프로세스들 중 최하위 프로세스들에게 종료 신호를 보내고, 이에 따라 해당 프로세스는 종료하게 된다. 메모리 대기 큐의 최우선 프로세스가 최하위 프로세스라면 커널은 이 프로세스를 대기 상태로 계속 두고 다른 프로세스들을 계속 실행시킨다. 이 프로세스들의 메모리 반납으로 메모리에 충분한 여유가 생기면 메모리 대기 큐에서 대기 중이던 프로세스들이 다시 실행을 재개하게 된다.
나. 응용 프로그램
각 응용 프로그램-혹은 프로세스-은 메모리 사용의 우선 순위를 가진다. 또, 각각의 응용 프로그램은 커널로부터 사용하지 않는 메모리의 반납을 요구하는 신호를 받았을 때 사용하지 않는 메모리를 반납한다. 이의 편의를 위하여 커널은 반납가능한 메모리를 요구하는 시스템 콜과 반납할 수 없는 메모리를 요구하는 2개의 시스템 콜을 제공한다. 또 반납 가능한 메모리를 한 번에 반납할 수 있는 시스템 콜을 제공하여 커널로부터 메모리 반납 신호를 받았을 때에 메모리 반납을 쉽게 만든다.
다. 선택 사항 제어 프로그램
이 프로그램은 메모리 관리 관련 커널의 각종 선택 사항을 설정하는 기능을 한다.
첫째로는 각 응용 프로그램-혹은 프로세스-의 메모리 할당 우선 순위를 설정한다. 이 우선 순위는 프로그램 실행 중에도 변경이 가능하다.
둘째로 이 프로그램은 시스템의 최소 메모리 설정치를 설정한다. 이 값의 사용은 도2의 상세 설명에서 설명하고 있다.
도 2는 본 발명에 따른 메모리 관리 기법의 동작 흐름도로 이하는 도2를 상세히 설명한다.
1. 우선 임의의 프로세스 -편의상 프로세스 A라고 하자.-가 시스템 콜을 통하여 메모리 할당을 커널에 요구한다.
2. 현재의 여유 메모리가 요구량보다 많다면 프로세스A에게 메모리를 할당한다. 여유 메모리가 충분하지 않다면 커널은 프로세스 A를 메모리 대기 큐(Queue)에 삽입하고, 프로세스 A는 대기 상태에 들어가게 된다.
3. 이제 커널은 메모리 대기 큐에서 미리 설정된 우선 순위에 따라 최우선 순위를 가진 프로세스를 찾는다. -편의상 이 최우선 프로세스를 프로세스H라고 하자.- 여유 메모리가 프로세스 H의 요구량과 임의로 설정된 시스템의 최소 메모리 여유 보다 크다면 메모리를 할당하고 프로세스 H는 메모리 대기 큐에서 제거되면서 실행을 재개한다.
4. 위의 조건을 만족시키지 못 한다면 커널은 현재 실행중인 모든 프로세스에게 사용하지 않는 메모리를 반납하도록 신호(Signal)을 보낸다.
5. 이 신호를 받은 프로세스들은 현재 할당된 메모리 중에서 사용치 않는 메모리를 반납한다.
6. 메모리 반납 후 여유 메모리가 메모리 대기 큐의 최우선 프로세스 즉 프로세스H가 요구하는 메모리보다 많다면 커널은 프로세스 H에게 메모리를 할당한다. 여유 메모리가 요구되는 메모리보다 적다면 설정된 메모리 사용 우선 순위에 따라 H보다 우선 순위가 낮은 프로세스를 검색하여 이 중 최하위 프로세스에게 종료 신호를 보낸다.
7. 우선 순위가 낮은 프로세스가 존재하지 않는다면 커널은 프로세스 H를 계속 대기 상태에 두고, 메모리 대기 큐에서 대기 중이지 않은 다른 프로세스들을 실행시킨다. 이 프로세스들이 실행 중 메모리를 반납하면 단계 3에서부터의 절차를 다시 실시한다.
상기한 바와 같이 동작하는 본 발명은 휴대용 정보 기기의 제한된 메모리 환경에서 우선 순위가 높은 프로세스의 실행을 보장하고, 메모리 사용을 효율적으로 관리하여 시스템의 성능 향상 및 가용성 증가를 가져온다.
Claims (4)
- 다중 처리 운영 체제를 탑재한 핸드폰이나 피디에이와 같은 휴대용 정보 기기에 있어서 메모리 할당에 우선 순위를 부여하고, 메모리 할당 요구 시 요구 프로세스를 메모리 대기 큐에 대기시킨 후 이 대기 큐에서 가장 우선 순위가 높은 프로세스에게 메모리를 우선적으로 할당하는 메모리 관리 기법.
- 시스템의 최소 메모리 여유치를 설정하고, 여유 메모리가 이 여유치보다 부족하다면 각각의 응용 프로그램에 신호를 전송하여 메모리의 반납을 요구하는 기법.
- 제 2항에 있어서 응용 프로그램 차원에서의 메모리 반납을 용이하게 하기 위하여 기존의 반납 가능하지 않은 메모리를 요구하는 시스템 콜에 추가하여 반납 가능한 메모리를 할당하는 시스템 콜 및 이를 일시에 반납하는 메모리 반납 시스템 콜.
- 제 1항에 있어서 각 프로세스의 우선 순위 부여 및 제 2항에 있어서 시스템의 최소 메모리 여유치를 설정하는 제어 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000068270A KR20020038195A (ko) | 2000-11-16 | 2000-11-16 | 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000068270A KR20020038195A (ko) | 2000-11-16 | 2000-11-16 | 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020038195A true KR20020038195A (ko) | 2002-05-23 |
Family
ID=19699553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000068270A KR20020038195A (ko) | 2000-11-16 | 2000-11-16 | 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020038195A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100721352B1 (ko) * | 2005-10-26 | 2007-05-25 | 삼성전자주식회사 | 멀티태스킹 환경에서 재생중인 멀티미디어의 끊김 방지를위한 휴대용 단말기 및 방법 |
KR100810309B1 (ko) * | 2006-03-02 | 2008-03-07 | 삼성전자주식회사 | 복합단말기에서 dpram을 이용한 다중 데이터 전송 장치 및 방법 |
KR100821261B1 (ko) * | 2007-05-11 | 2008-04-11 | 주식회사 미니게이트 | 이동통신 단말기용 멀티 태스킹 구현 방법 |
WO2008044864A1 (en) * | 2006-10-13 | 2008-04-17 | Sk Telecom Co., Ltd. | Apparatus for and method of managing memory allocation for platforms of mobile terminal |
KR100932047B1 (ko) * | 2003-02-19 | 2009-12-15 | 엘지전자 주식회사 | 이동통신 단말기의 메모리 액세스 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01197895A (ja) * | 1988-02-03 | 1989-08-09 | Toshiba Corp | 携帯可能電子装置のメモリ登録方式 |
KR19980023759A (ko) * | 1996-09-30 | 1998-07-06 | 김광호 | 휴대형 단말기기의 메모리 관리방법 |
US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
KR20000041918A (ko) * | 1998-12-24 | 2000-07-15 | 서평원 | 휴대용단말기에서 대량의 데이타 저장 방법 |
-
2000
- 2000-11-16 KR KR1020000068270A patent/KR20020038195A/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01197895A (ja) * | 1988-02-03 | 1989-08-09 | Toshiba Corp | 携帯可能電子装置のメモリ登録方式 |
KR19980023759A (ko) * | 1996-09-30 | 1998-07-06 | 김광호 | 휴대형 단말기기의 메모리 관리방법 |
US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
KR20000041918A (ko) * | 1998-12-24 | 2000-07-15 | 서평원 | 휴대용단말기에서 대량의 데이타 저장 방법 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100932047B1 (ko) * | 2003-02-19 | 2009-12-15 | 엘지전자 주식회사 | 이동통신 단말기의 메모리 액세스 방법 |
KR100721352B1 (ko) * | 2005-10-26 | 2007-05-25 | 삼성전자주식회사 | 멀티태스킹 환경에서 재생중인 멀티미디어의 끊김 방지를위한 휴대용 단말기 및 방법 |
KR100810309B1 (ko) * | 2006-03-02 | 2008-03-07 | 삼성전자주식회사 | 복합단말기에서 dpram을 이용한 다중 데이터 전송 장치 및 방법 |
WO2008044864A1 (en) * | 2006-10-13 | 2008-04-17 | Sk Telecom Co., Ltd. | Apparatus for and method of managing memory allocation for platforms of mobile terminal |
KR100821261B1 (ko) * | 2007-05-11 | 2008-04-11 | 주식회사 미니게이트 | 이동통신 단말기용 멀티 태스킹 구현 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429666B2 (en) | Computing platform with resource constraint negotiation | |
EP2893444B1 (en) | Quota-based resource management | |
US8387056B2 (en) | Method for dynamically enabling the expansion of a computer operating system | |
CA2697155C (en) | Allocating network adapter resources among logical partitions | |
CN102027453B (zh) | 用于在虚拟环境中优化中断处理的系统和方法 | |
US8627325B2 (en) | Scheduling memory usage of a workload | |
CN107766145B (zh) | 双系统下的内存管理方法和装置 | |
CN111338785B (zh) | 资源调度方法及装置、电子设备、存储介质 | |
KR20040068600A (ko) | 운영 시스템 기능 실행 방법 및 시스템, 전자 기기 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN107562685B (zh) | 一种基于延时补偿的多核处理器核心间数据交互的方法 | |
CN109002364B (zh) | 进程间通信的优化方法、电子装置以及可读存储介质 | |
US20060168081A1 (en) | Allocating communication bandwidth for executing Web applications | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
KR20020038195A (ko) | 휴대용 정보 기기에 다중 처리 운영 체제를 탑재한 경우의메모리 관리 기법 | |
CN110737530A (zh) | 一种提升handle标识解析系统收包能力的方法 | |
CN116233022A (zh) | 一种作业调度方法、服务器及服务器集群 | |
CN111782362B (zh) | 一种消息任务调度方法、装置及电子设备 | |
JP2007267106A (ja) | 基地局装置及び無線リソース割り当て方法 | |
CN112616143B (zh) | 一种分配通信号码的方法、装置、电子设备及存储介质 | |
KR100826913B1 (ko) | 이동 통신 시스템의 주파수 할당 방법 | |
CN114374657A (zh) | 一种数据处理方法和装置 | |
US20110125902A1 (en) | Apparatus And A Method For Resource Management | |
CN117827423A (zh) | Gpu共享方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |