RU2006118342A - Устройство обработки информации, способ управления областью памяти и компьютерная программа - Google Patents
Устройство обработки информации, способ управления областью памяти и компьютерная программа Download PDFInfo
- Publication number
- RU2006118342A RU2006118342A RU2006118342/09A RU2006118342A RU2006118342A RU 2006118342 A RU2006118342 A RU 2006118342A RU 2006118342/09 A RU2006118342/09 A RU 2006118342/09A RU 2006118342 A RU2006118342 A RU 2006118342A RU 2006118342 A RU2006118342 A RU 2006118342A
- Authority
- RU
- Russia
- Prior art keywords
- queue
- component
- memory area
- list
- release
- Prior art date
Links
Classifications
-
- 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]
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Claims (16)
1. Устройство обработки информации, содержащее менеджер потока, предназначенный для управления информацией потока на основе модулей обработки данных, и менеджер области памяти, предназначенный для управления областью памяти, в котором менеджер потока сохраняет в качестве информации управления потоком список потоков, содержащий информацию времени входа, которая записана для каждого потока как функция времени вызова операционной системы из программы обработки данных, и в котором менеджер области памяти сохраняет как информацию управления областью памяти очередь высвобождения, содержащую время запроса на высвобождение, которое записано для каждой области памяти в отношении области памяти, для которой поступил запрос на высвобождение, но которая еще не была высвобождена, сравнивает время запроса на высвобождение, установленное в каждом компоненте очереди, содержащемся в очереди высвобождения, с самым старшим временем входа каждого компонента очереди в списке потоков во время процесса выделения области памяти и выделяет область памяти, соответствующую компоненту очереди, имеющему время запроса на высвобождение, установленное раньше, чем самое старшее время входа.
2. Устройство обработки информации по п.1, в котором менеджер потока генерирует список потоков, соответствующий каждому из множества процессоров, записывает самое старшее время входа, содержащееся в информации времени входа, установленной в информации потока, содержащейся в списке потоков, в заголовок каждого списка потоков и управляет записанным набором информации, установленным как на него ссылается другой процессор.
3. Устройство обработки информации по п.2, в котором менеджер области памяти обращается ко всей информации самого старшего времени входа, установленной в заголовке списка потоков, соответствующего процессору, управляемому менеджером потока, выбирает самое старшее из самых старших времен входа из информации самого старшего времени входа, установленной в заголовках списка потоков, соответствующего всем процессорам, сравнивает выбранное самое старшее время входа со временем запроса на высвобождение, установленным в каждом компоненте очереди, содержащемся в очереди высвобождения, и выделяет область памяти, соответствующую компоненту очереди, имеющему время запроса на высвобождение, установленное до выбранного самого старшего времени входа.
4. Устройство обработки информации по п.1, в котором менеджер потока записывает в заголовке списка потоков и в компоненте списка информацию идентификации другого компонента списка, организует список потоков как список, который позволяет последовательно получать каждый компонент из заголовка, и обновляет информацию идентификации, установленную в одном из заголовка и компонента списка, во время одного из входа потока и ликвидации потока.
5. Устройство обработки информации по п.1, в котором менеджер области памяти записывает в заголовке очереди высвобождения и в компоненте очереди информацию идентификации другого компонента очереди, организует очередь высвобождения как список, который позволяет последовательно получать каждый компонент очереди из заголовка, и обновляет информацию идентификации, установленную в одном из заголовка и компонента очереди, во время одного из установки новой очереди и удаления очереди.
6. Устройство обработки информации по п.1, в котором менеджер области памяти выполняет процесс управления областью памяти на основе каждого модуля кучи, причем модуль кучи установлен как область памяти, имеющая конечный размер, установленная в соответствии с каждым процессором, сохраняет как информацию управления областью памяти, очередь высвобождения, содержащую время запроса на высвобождение, которое записано на основе модуля кучи, в отношении кучи, для которой поступил запрос на высвобождение, но которая еще не была высвобождена, и выделяет во время процесса выделения области памяти область памяти, которая записана для каждого модуля кучи в компоненте очереди, содержащемся в очереди высвобождения.
7. Устройство обработки информации по п.1, в котором менеджер области памяти проверяет цепь слабого указателя, состоящую из слабого указателя, который обращается к области памяти, соответствующей компоненту очереди, содержащемуся в очереди высвобождения, и если слабый указатель отсутствует в цепи слабого указателя, сбрасывает компонент очереди из очереди высвобождения и высвобождает область памяти, соответствующую этому компоненту очереди.
8. Устройство обработки информации по п.1, в котором менеджер области памяти проверяет флаг ликвидации области памяти, содержащийся в цепи слабого указателя, состоящей из слабого указателя, обращающегося к области памяти, соответствующей компоненту очереди, содержащемуся в очереди высвобождения, и области памяти, содержащей область обращения слабого указателя, и если флаг ликвидации указывает состояние ликвидации, сбрасывает компонент очереди из очереди высвобождения, и высвобождает область памяти, соответствующую этому компоненту очереди.
9. Способ управления областью памяти, содержащий
этап управления потоком, состоящий в генерировании и обновлении списка потоков, состоящего из информации потоков, содержащей информацию времени входа, которая записана на основе потока как время вызова функции операционной системы из программы обработки данных,
этап управления областью памяти, состоящий в генерировании и обновлении, в качестве информации управления областью памяти, очереди высвобождения, содержащей время запроса на высвобождение, которое записано на основе области памяти, содержащей область памяти, для которой поступил запрос на высвобождение, но которая еще не была высвобождена, и
этап выделения области памяти, состоящий в выделении области памяти, соответствующей компоненту очереди, имеющему время запроса входа, установленное ранее самого старшего времени входа, путем сравнения времени запроса на высвобождение, установленного в каждом компоненте очереди, содержащемся в очереди высвобождения, с самым старшим временем входа каждого компонента очереди в списке потоков, во время процесса выделения области памяти.
10. Способ управления областью памяти по п.9, в котором этап управления потоком содержит генерирование списка потоков, соответствующего каждому из множества процессоров, запись самого старшего времени входа, содержащегося в информации времени входа, установленной в информации потока, содержащейся в списке потоков, в заголовке каждого списка потоков, и управление записанной информацией, установленной так, как на нее ссылается другой процессор.
11. Способ управления областью памяти по п.10, в котором этап выделения области памяти содержит обращение ко всей информации о самом старшем времени входа, установленной в заголовке списка потоков, соответствующего процессору, выбор самого старшего из самых старших времен входа из информации самого старшего времени входа, установленной в заголовках списка потоков, соответствующего всем процессорам, сравнение выбранного самого старшего времени входа со временем запроса на высвобождение, установленным в каждом компоненте очереди, содержащемся в очереди высвобождения, и выделение области памяти, соответствующей компоненту очереди, имеющему время запроса на высвобождение, установленное ранее выбранного самого старшего времени входа.
12. Способ управления областью памяти по п.9, в котором этап управления потоком содержит запись в заголовке списка потоков и компоненте списка информации идентификации другого компонента списка, организацию списка потоков в виде списка, который позволяет последовательное получать каждый компонент из заголовка, и обновление информации идентификации, установленной в одном из заголовка и компонента списка, во время одного из входа потока и ликвидации потока.
13. Способ управления областью памяти по п.9, в котором этап управления областью памяти содержит запись в заголовок очереди высвобождения и в компонент очереди информации идентификации другого компонента очереди, организующего очередь высвобождения как список, который позволяет последовательно получать каждый компонент очереди из заголовка, и обновление информации идентификации, установленной в одном из заголовка и компонента очереди во время одного из установки новой очереди и удаления очереди.
14. Способ управления областью памяти по п.9, в котором этап управления областью памяти содержит выполнение процесса управления областью памяти на основе модуля кучи, причем модуль кучи как область памяти имеет конечный размер, установлена в соответствии с каждым процессором, и сохранение в качестве информации управления областью памяти очереди высвобождения, содержащей время запроса на высвобождение, которое записано основе каждого модуля кучи, в отношении кучи, для которой поступил запрос на высвобождение, но которая еще не была высвобождена, и в котором этап выделения области памяти содержит выделение области памяти, которая записана на основе модуля кучи в компонент очереди, содержащийся в очереди высвобождения.
15. Способ управления областью памяти по п.9, в котором этап управления областью памяти содержит проверку цепи слабого указателя, состоящей из слабого указателя, ссылающегося на область памяти, соответствующую компоненту очереди, содержащемуся в очереди высвобождения, и если слабый указатель отсутствует в цепи слабого указателя, сброс компонента очереди из очереди высвобождения, и высвобождение области памяти, соответствующей этому компоненту очереди.
16. Способ управления областью памяти по п.9, в котором этап управления областью памяти содержит анализ флага ликвидации области памяти, содержащейся в цепи слабого указателя, состоящей из слабого указателя, обращающегося к области памяти, соответствующей компоненту очереди, содержащемуся в очереди высвобождения, и области памяти, содержащей область обращения слабого указателя, и если флаг ликвидации обозначает состояние ликвидации, сброс компонента очереди из очереди высвобождения, и высвобождение области памяти, соответствующей этому компоненту очереди.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004283528 | 2004-09-29 | ||
JP2004-283528 | 2004-09-29 | ||
JP2005170420A JP4144609B2 (ja) | 2004-09-29 | 2005-06-10 | 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム |
JP2005-170420 | 2005-06-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2006118342A true RU2006118342A (ru) | 2007-12-20 |
RU2397535C2 RU2397535C2 (ru) | 2010-08-20 |
Family
ID=36100684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2006118342/09A RU2397535C2 (ru) | 2004-09-29 | 2005-09-26 | Устройство обработки информации, способ управления областью памяти и компьютерная программа |
Country Status (10)
Country | Link |
---|---|
US (1) | US7770177B2 (ru) |
EP (1) | EP1684179A4 (ru) |
JP (1) | JP4144609B2 (ru) |
KR (1) | KR101150661B1 (ru) |
CN (1) | CN1906598B (ru) |
BR (1) | BRPI0506379A (ru) |
MY (1) | MY141494A (ru) |
RU (1) | RU2397535C2 (ru) |
TW (1) | TWI268446B (ru) |
WO (1) | WO2006035727A1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460222C2 (ru) * | 2008-04-02 | 2012-08-27 | Квэлкомм Инкорпорейтед | Система и способ распределения памяти во встроенных системах или системах беспроводной связи |
RU2542953C2 (ru) * | 2009-12-15 | 2015-02-27 | Интернэшнл Бизнес Машинз Корпорейшн | Средство для установки ключа без перевода в пассивное состояние |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596668B2 (en) * | 2007-02-20 | 2009-09-29 | International Business Machines Corporation | Method, system and program product for associating threads within non-related processes based on memory paging behaviors |
JP4569846B2 (ja) | 2008-04-02 | 2010-10-27 | 日本電気株式会社 | I/oノード制御方式及び方法 |
JP6163844B2 (ja) * | 2013-04-12 | 2017-07-19 | 富士通株式会社 | 制御方法、制御装置、制御プログラム、および記録媒体 |
US9165337B2 (en) * | 2013-05-31 | 2015-10-20 | Qualcomm Incorporated | Command instruction management |
JP6369286B2 (ja) * | 2014-10-23 | 2018-08-08 | 富士通株式会社 | プロセス間通信プログラム、解放要求方法、および並列演算装置 |
US10521368B2 (en) * | 2015-12-24 | 2019-12-31 | Arm Limited | Arbitration of requests requiring a variable number of resources |
WO2019212182A1 (en) * | 2018-05-04 | 2019-11-07 | Samsung Electronics Co., Ltd. | Apparatus and method for managing a shareable resource in a multi-core processor |
JP6932755B2 (ja) * | 2018-10-19 | 2021-09-08 | イーソル株式会社 | オペレーティングシステム及びメモリ割り当て方法 |
JP6682599B2 (ja) * | 2018-10-19 | 2020-04-15 | イーソル株式会社 | オペレーティングシステム及びメモリ割り当て方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435780A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Separate stack areas for plural processes |
US5386536A (en) | 1991-03-28 | 1995-01-31 | Courts; Howard R. | Apparatus and method for managing memory allocation |
US5398334A (en) * | 1992-04-06 | 1995-03-14 | General Electric Company | System for automatic garbage collection using strong and weak encapsulated pointers |
FI91456C (fi) | 1992-07-29 | 1994-06-27 | Nokia Telecommunications Oy | Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi |
CA2136154C (en) | 1994-11-18 | 1999-08-24 | Jay William Benayon | User control of multiple memory heaps |
US5928323A (en) * | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
US6058460A (en) * | 1996-06-28 | 2000-05-02 | Sun Microsystems, Inc. | Memory allocation in a multithreaded environment |
US6938257B1 (en) * | 1997-07-17 | 2005-08-30 | International Business Machines Corporation | Apparatus and method to provide persistence for application interfaces |
JPH1173364A (ja) | 1997-08-29 | 1999-03-16 | Nec Corp | メモリバッファの管理方式 |
US6145061A (en) * | 1998-01-07 | 2000-11-07 | Tandem Computers Incorporated | Method of management of a circular queue for asynchronous access |
JPH11203193A (ja) | 1998-01-14 | 1999-07-30 | Hitachi Ltd | 共有メモリ管理装置及び方法 |
GB9813592D0 (en) | 1998-06-25 | 1998-08-19 | Philips Electronics Nv | Dynamic memory space allocation |
US6209066B1 (en) * | 1998-06-30 | 2001-03-27 | Sun Microsystems, Inc. | Method and apparatus for memory allocation in a multi-threaded virtual machine |
US7159222B1 (en) * | 1998-09-09 | 2007-01-02 | Microsoft Corporation | Highly componentized system architecture with object mutation |
US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
KR100594187B1 (ko) * | 1998-12-26 | 2006-10-25 | 삼성전자주식회사 | 쓰레드 호 처리 구조를 채용한 유닉스 시스템 환경하의 지능망교환시스템에서 타이머 구동 방법 |
DE19951716A1 (de) * | 1999-10-27 | 2001-05-03 | Heidenhain Gmbh Dr Johannes | Verfahren zur dynamischen Speicherverwaltung |
US6772107B1 (en) * | 1999-11-08 | 2004-08-03 | J.D. Edwards World Source Company | System and method for simulating activity on a computer network |
US7111294B2 (en) * | 2001-01-16 | 2006-09-19 | Microsoft Corporation | Thread-specific heaps |
US7210146B2 (en) * | 2001-06-18 | 2007-04-24 | Microsoft Corporation | Sleep queue management |
JP2003345612A (ja) | 2002-05-28 | 2003-12-05 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム |
US7069396B2 (en) | 2002-06-27 | 2006-06-27 | Hewlett-Packard Development Company, L.P. | Deferred memory allocation for application threads |
US7640549B2 (en) * | 2002-07-22 | 2009-12-29 | Agilent Technologies, Inc. | System and method for efficiently exchanging data among processes |
US7181742B2 (en) * | 2002-11-19 | 2007-02-20 | Intel Corporation | Allocation of packets and threads |
US7426720B1 (en) * | 2003-12-22 | 2008-09-16 | Sun Microsystems, Inc. | System and method for dynamic preloading of classes through memory space cloning of a master runtime system process |
US7426731B2 (en) * | 2004-03-22 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining processor usage by a thread |
US20050235284A1 (en) * | 2004-04-14 | 2005-10-20 | International Business Machines Corporation | Systems and methods for tracking processing unit usage |
US7487503B2 (en) * | 2004-08-12 | 2009-02-03 | International Business Machines Corporation | Scheduling threads in a multiprocessor computer |
US7752620B2 (en) * | 2005-06-06 | 2010-07-06 | International Business Machines Corporation | Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions |
-
2005
- 2005-06-10 JP JP2005170420A patent/JP4144609B2/ja not_active Expired - Fee Related
- 2005-08-25 TW TW094129106A patent/TWI268446B/zh not_active IP Right Cessation
- 2005-09-02 US US11/217,494 patent/US7770177B2/en not_active Expired - Fee Related
- 2005-09-06 MY MYPI20054190A patent/MY141494A/en unknown
- 2005-09-26 WO PCT/JP2005/017645 patent/WO2006035727A1/ja active Application Filing
- 2005-09-26 CN CN2005800014770A patent/CN1906598B/zh not_active Expired - Fee Related
- 2005-09-26 KR KR1020067010326A patent/KR101150661B1/ko not_active IP Right Cessation
- 2005-09-26 BR BRPI0506379-5A patent/BRPI0506379A/pt not_active IP Right Cessation
- 2005-09-26 RU RU2006118342/09A patent/RU2397535C2/ru not_active IP Right Cessation
- 2005-09-26 EP EP05785980A patent/EP1684179A4/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460222C2 (ru) * | 2008-04-02 | 2012-08-27 | Квэлкомм Инкорпорейтед | Система и способ распределения памяти во встроенных системах или системах беспроводной связи |
US8321651B2 (en) | 2008-04-02 | 2012-11-27 | Qualcomm Incorporated | System and method for memory allocation in embedded or wireless communication systems |
RU2542953C2 (ru) * | 2009-12-15 | 2015-02-27 | Интернэшнл Бизнес Машинз Корпорейшн | Средство для установки ключа без перевода в пассивное состояние |
Also Published As
Publication number | Publication date |
---|---|
CN1906598A (zh) | 2007-01-31 |
WO2006035727A1 (ja) | 2006-04-06 |
BRPI0506379A (pt) | 2006-12-26 |
EP1684179A1 (en) | 2006-07-26 |
RU2397535C2 (ru) | 2010-08-20 |
TWI268446B (en) | 2006-12-11 |
JP2006127463A (ja) | 2006-05-18 |
JP4144609B2 (ja) | 2008-09-03 |
KR101150661B1 (ko) | 2012-05-25 |
US7770177B2 (en) | 2010-08-03 |
KR20070050002A (ko) | 2007-05-14 |
TW200620107A (en) | 2006-06-16 |
MY141494A (en) | 2010-04-30 |
EP1684179A4 (en) | 2009-01-21 |
CN1906598B (zh) | 2010-05-26 |
US20060070072A1 (en) | 2006-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2006118342A (ru) | Устройство обработки информации, способ управления областью памяти и компьютерная программа | |
KR102456085B1 (ko) | 로우 버퍼 충돌을 감소시키기 위한 동적 메모리 재매핑 | |
US7472228B2 (en) | Read-copy update method | |
US9032156B2 (en) | Memory access monitor | |
US8291431B2 (en) | Dependent instruction thread scheduling | |
JP5142995B2 (ja) | メモリページ管理 | |
EP2889776B1 (en) | Data arrangement control program, data arrangement control method and data arrangment control apparatus | |
US9335947B2 (en) | Inter-processor memory | |
KR100987832B1 (ko) | 캐시 메모리에 연결된 메모리로의 다양한 액세스 유형의예측을 관리하는 시스템, 장치 및 방법 | |
CN107544926B (zh) | 处理系统及其访存方法 | |
JP2005518606A (ja) | メモリアクセスを制御する方法及び装置 | |
JP2006513493A (ja) | フリーバッファプールを使用することによるメモリの管理 | |
US9910783B2 (en) | Implementing selective cache injection | |
US20130055032A1 (en) | Priority buffering for trace data in trace queue | |
US10049035B1 (en) | Stream memory management unit (SMMU) | |
US8667223B2 (en) | Shadow registers for least recently used data in cache | |
US20060041721A1 (en) | System, apparatus and method for generating nonsequential predictions to access a memory | |
US10585701B2 (en) | Dynamically allocating storage elements to provide registers for processing thread groups | |
EP3188026B1 (en) | Memory resource management method and apparatus | |
US7627734B2 (en) | Virtual on-chip memory | |
US10671394B2 (en) | Prefetch stream allocation for multithreading systems | |
US6915516B1 (en) | Apparatus and method for process dispatching between individual processors of a multi-processor system | |
US11875197B2 (en) | Management of thrashing in a GPU | |
US10691614B1 (en) | Adaptive page replacement | |
KR102179399B1 (ko) | 다양한 속성들에 근거한 스마트 입/출력 스트림 검출 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20150927 |