RU2006118342A - Устройство обработки информации, способ управления областью памяти и компьютерная программа - Google Patents

Устройство обработки информации, способ управления областью памяти и компьютерная программа Download PDF

Info

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
Application number
RU2006118342/09A
Other languages
English (en)
Other versions
RU2397535C2 (ru
Inventor
Ацуси ТОГАВА (JP)
Ацуси ТОГАВА
Original Assignee
Сони Корпорейшн (JP)
Сони Корпорейшн
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 Сони Корпорейшн (JP), Сони Корпорейшн filed Critical Сони Корпорейшн (JP)
Publication of RU2006118342A publication Critical patent/RU2006118342A/ru
Application granted granted Critical
Publication of RU2397535C2 publication Critical patent/RU2397535C2/ru

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/46Multiprogramming arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/52Program 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, в котором этап управления областью памяти содержит анализ флага ликвидации области памяти, содержащейся в цепи слабого указателя, состоящей из слабого указателя, обращающегося к области памяти, соответствующей компоненту очереди, содержащемуся в очереди высвобождения, и области памяти, содержащей область обращения слабого указателя, и если флаг ликвидации обозначает состояние ликвидации, сброс компонента очереди из очереди высвобождения, и высвобождение области памяти, соответствующей этому компоненту очереди.
RU2006118342/09A 2004-09-29 2005-09-26 Устройство обработки информации, способ управления областью памяти и компьютерная программа RU2397535C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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