WO2014112066A1 - 情報処理装置、メモリ管理方法及びプログラム - Google Patents

情報処理装置、メモリ管理方法及びプログラム Download PDF

Info

Publication number
WO2014112066A1
WO2014112066A1 PCT/JP2013/050786 JP2013050786W WO2014112066A1 WO 2014112066 A1 WO2014112066 A1 WO 2014112066A1 JP 2013050786 W JP2013050786 W JP 2013050786W WO 2014112066 A1 WO2014112066 A1 WO 2014112066A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory area
shared memory
time
processes
lock
Prior art date
Application number
PCT/JP2013/050786
Other languages
English (en)
French (fr)
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 PCT/JP2013/050786 priority Critical patent/WO2014112066A1/ja
Publication of WO2014112066A1 publication Critical patent/WO2014112066A1/ja

Links

Images

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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Definitions

  • This technology relates to memory management technology in information processing devices.
  • the unique memory area is protected by a memory protection mechanism (MMU: Memory Management Unit).
  • MMU Memory Management Unit
  • the shared memory area is subjected to exclusive control for preventing access contention of each process when a plurality of processes access it.
  • Such an information processing apparatus is typically an embedded apparatus with few resources such as a memory, but is not limited to an embedded apparatus.
  • the monitoring process to manage which process has acquired the exclusive right of which shared resource and monitor whether each process is operating normally
  • an OS (Operating System) receives a forced termination request from a monitoring process
  • an OS (Operating System) allocates a memory used by the OS to release a shared memory area to which the process that is terminated forcibly has an exclusive right.
  • a memory area management block is provided.
  • the memory area management block includes a list of processes using the shared memory area and a list of shared memory areas locked by the process for each process.
  • the software configuration of the information processing apparatus is as shown in FIG. That is, the OS includes a memory area management unit that locks and unlocks the shared memory area, a process list that is a list of processes that use the shared memory area, and a list of shared memory areas that are locked by the process. A shared memory area list.
  • the memory area management unit of the OS receives a lock request from the processes A and B, the OS locks the shared memory area and returns a lock response indicating that the lock is possible or not possible to the requesting process.
  • the OS may forcibly terminate a process that has entered an abnormal state.
  • the monitoring process periodically confirms responses to the processes A and B, and does nothing if an ACK is received from the process, but if it does not receive an ACK, it determines that an abnormal state has occurred and forces the OS Output a termination request.
  • the shared memory area includes an area for storing an identifier (ID) of the process that performed the lock.
  • a processing sequence as shown in FIG. 2 is executed.
  • the following items are assumed.
  • the monitoring process confirms the response to the process that is locking the shared memory area at intervals of 3t.
  • the process B requests the lock again after 3t.
  • Process A enters an abnormal state after 2t after locking the shared memory area.
  • the process B is terminated.
  • a dual-core processor is used, and each process uses one core while it is in an execution state.
  • Processes A and B output a lock request to address 1 in the shared memory area.
  • While process A is in an abnormal state it is determined that process A is using the core.
  • the process A outputs a lock request for address 1 in the shared memory area to the OS.
  • the OS locks the first address in the shared memory area with the name of process A (ie, ID).
  • the OS notifies process A that the shared memory area has been locked.
  • the monitoring process confirms the normal operation of process A at times 3t to 4t.
  • the process A enters an abnormal state while the first address in the shared memory area is locked.
  • process B requests the OS to lock address 1 in the shared memory area.
  • the OS notifies process B that address 1 in the shared memory area cannot be locked.
  • the monitoring process confirms the response to process A.
  • the monitoring process confirms that there is no response from process A at time 8t.
  • process B again requests the OS to lock the address 1 in the shared memory area. Since there is no response from the process A, the monitoring process requests the OS to forcibly terminate the process A.
  • the OS notifies the process B that the first address of the shared memory area cannot be acquired.
  • the OS unlocks the shared memory area locked by the process A.
  • the OS forcibly terminates process A.
  • the process B requests the OS to lock the address 1 in the shared memory area again.
  • the OS notifies process B that the shared memory area has been acquired.
  • the monitoring process confirms the normal operation of process B at times 15t to 16t.
  • the monitoring process confirms the normal operation of the process B at times 19t to 20t.
  • process B ends normally.
  • JP-A-8-272627 Japanese Patent Laid-Open No. 9-26888
  • an object of the present technology is to provide a technology for reducing resources used for exclusive control.
  • the information processing apparatus includes a memory including a shared memory area shared by a plurality of processes, and a processor that executes the plurality of processes.
  • the processor determines whether the shared memory area is in use, and (B) the shared memory area is not used.
  • the data for specifying the lock end scheduled time and the identifier of the first process are set in the shared memory area, and (C) the shared memory area is a second process among a plurality of processes.
  • Is in use by the interrupt handler based on the interrupt delay time, which is the time when the processing of the second process is delayed, the current time, and the expected lock end time set in the shared memory area, It is determined whether the second process should be forcibly terminated. (D) When the second process should be forcibly terminated, a process for forcibly terminating the second process is executed.
  • resources used for exclusive control can be reduced.
  • FIG. 1 is a diagram illustrating a software configuration example of an information processing apparatus according to a conventional technique.
  • FIG. 2 is a diagram illustrating an example of a processing sequence in the related art.
  • FIG. 3 is a diagram illustrating a configuration example of the information processing apparatus according to the present embodiment.
  • FIG. 4 is a diagram illustrating a software configuration example of the information processing apparatus according to the present embodiment.
  • FIG. 5 is a diagram for explaining a processing example of the information processing apparatus according to the present embodiment.
  • FIG. 6 is a diagram illustrating processing contents of the information processing apparatus according to the present embodiment.
  • FIG. 7 is a diagram showing the processing contents of the information processing apparatus according to the present embodiment.
  • FIG. 8 is a diagram showing an example of a processing sequence according to the present embodiment.
  • FIG. 3 shows a configuration example of the information processing apparatus 100 according to the present embodiment.
  • the information processing apparatus 100 in FIG. 3 includes a processor 110, a RAM (Random Access Memory) 120, a ROM (Read Only Memory) 140, and various input / output devices 150, which are connected to a bus 130.
  • the ROM 140 stores an OS and various application programs.
  • the processor 110 reads the OS stored in the ROM 140 into the RAM 120 and executes it, and also reads various application programs from the ROM 140 into the RAM 120 and executes them. In addition, the processor 110 receives an interrupt request from the input / output device 150 and executes processing according to the interrupt. Further, the processor 110 has a timer counter register, and the value of the timer counter register is used for time measurement.
  • FIG. 4 shows a software configuration example in the information processing apparatus 100.
  • the OS 200 includes a memory area management unit 210, a shared memory management unit 220, a scheduler 250, and an interrupt handler 260.
  • the memory area management unit 210 locks and unlocks the shared memory areas 1 to n.
  • Each of the shared memory areas 1 to n in the present embodiment includes a process ID storage area that stores a process ID of a process that is using the shared memory area, and an area that stores a scheduled lock end time.
  • processes A and B related to various application programs are executed.
  • the number of processes is not limited to two. For example, it is assumed that the same number of processes as the number of cores of the processor 110 are executed.
  • the processes A and B each hold lock request time data corresponding to the time to use the shared memory area, and include the lock request time and the identifier of the shared memory area (for example, the start address of the shared memory area).
  • a lock request is output to the OS 200.
  • the scheduler 250 activates the interrupt handler 260 to process the interrupt request, and the interrupt handler 260 is activated for the shared memory management unit 220. Outputs a notification indicating.
  • the shared memory management unit 220 includes an exclusive control processing unit 230 and a lock time control unit 240.
  • the exclusive control processing unit 230 includes a request determination unit 231, a time calculation unit 232, a time storage unit 233, and a process forced termination unit 234.
  • the request determination unit 231 receives a processing request (lock request or unlock request) from the process A or B or a notification from the scheduler 250 (a notification indicating that the interrupt handler 260 has been activated), and performs a corresponding process. To process.
  • the time calculation unit 232 calculates the scheduled lock end time, and the time storage unit 233 stores the estimated lock end time calculated by the time calculation unit 232 in the shared memory area in the memory area management unit 210.
  • the process forced termination unit 234 forcibly terminates the process with the process ID stored in the shared memory area related to the lock request.
  • the lock time control unit 240 includes a delay time measurement unit 241, a delay time calculation unit 242, and a forced unlock determination unit 243.
  • the delay time measuring unit 241 measures the activation time of the interrupt handler 260 with a counter.
  • the delay time calculation unit 242 executes processing for converting the delay time measured by the delay time measurement unit 241.
  • the forcible unlock determination unit 243 calculates a process operation time that is a time indicating the elapsed time from the start of the process of the process, and the process operation time and the shared memory The process end scheduled time stored in the area is compared to determine whether the process should be forcibly terminated.
  • OS 200 manages the system time.
  • the request determination unit 231 in the exclusive control processing unit 230 of the shared memory management unit 220 receives the lock request and sends the lock request to the memory area management unit 210. Lock.
  • the time calculation unit 232 calculates the lock end scheduled time
  • the identifier of the process A and the lock end scheduled time are set in the shared memory area 1 according to the instruction of the time storage unit 233. It is assumed that the scheduled lock end time is set to the system time “1” (time counter register value “3”).
  • the delay time measurement unit 241 starts measuring the delay time, and in this example, until the time of the timer counter register value “3” is reached. It is assumed that the operation of the interrupt handler 260 continues. During this time, the process A is interrupted and a delay is caused accordingly.
  • the delay time calculated by the delay time calculation unit 242 has the length of the timer counter register value “2”.
  • the interrupt handler 260 When the operation of the interrupt handler 260 is completed, when the process A performs processing for the time of the timer counter register value “1”, the interrupt handler 260 is activated again by an interrupt, and the delay time measurement unit 241 measures the delay time. In this example, it is assumed that the operation of the interrupt handler 260 continues until the time of the timer counter register value “6”. During this time, the process A is interrupted and a delay is caused accordingly.
  • the total delay time calculated by the delay time calculation unit 242 has a length of the timer counter register value “4”.
  • Process B outputs a lock request for the shared memory area 1 at the time of the timer counter register value “6” after the processing of the interrupt handler 260 is completed.
  • the current time is the timer counter register value “6”
  • the total delay time is only the timer counter register value “4”
  • the process A is advanced only by the timer counter register value “2”. . Therefore, the forced unlock determination unit 243 does not perform the forced unlock and does not permit the lock request.
  • the process B lock request fails.
  • the forced unlock determination unit 243 causes the memory area management unit 210 to unlock the shared memory area 1. Further, the forced unlock determination unit 243 causes the process forced termination unit 234 to forcibly terminate the process A.
  • the lock request from the process B is processed in the same manner as the first lock request from the process A, and the process by the process B is started.
  • the shared memory area can be released and the process A can be forcibly terminated by estimating the abnormality of the process A without using the memory area management block and the monitoring process.
  • efficient use of shared resources is possible while suppressing the amount of memory used.
  • the request determination unit 231 of the exclusive control processing unit 230 in the shared memory management unit 220 of the OS 200 waits for a processing request (lock request or unlock request) from the process or a notification from the scheduler 250, and sends the processing request or notification.
  • a processing request lock request or unlock request
  • Receive FIG. 6: step S1.
  • the request determination unit 231 determines whether a notification indicating that the interrupt handler 260 has been activated is received from the scheduler 250 (step S3). If the notification is received, the request determination unit 231 The time measurement unit 241 is instructed to start processing.
  • step S5 the delay time measuring unit 241 counts up the interrupt delay counter.
  • the delay time measuring unit 241 monitors the interrupt handler 260 and determines whether the processing of the interrupt handler 260 has been completed (step S7). If the process of the interrupt handler 260 is continued, the process returns to step S5.
  • the delay time measurement unit 241 stops counting up the interrupt delay counter and instructs the delay time calculation unit 242 to perform the processing. Then, the delay time calculation unit 242 calculates an interrupt delay time (step S9). Specifically, the quotient of ⁇ (interrupt delay counter value) ⁇ (interrupt delay counter count-up period) / (system time up period) ⁇ is added to the current interrupt delay time to obtain a new interrupt delay time. Set to. Thus, the interrupt delay time is the time at the system time. The remainder of ⁇ (interrupt delay counter) ⁇ (interrupt delay counter count-up cycle) / (system time up cycle) ⁇ is set in the interrupt delay counter. Then, the process ends through the terminal A.
  • the request determination unit 231 determines whether or not the received processing request is a lock request (step S11). If the processing request is not a lock request, the processing request is an unlock request, so the memory area management unit 210 releases the shared memory area related to the unlock request (step S13). Specifically, the memory area management unit 210 stores “Null” (indicating unused) in the process ID storage area in the shared memory area related to the unlock request. Then, “unlock (OK)” is set in the processing response. Thereafter, the processing shifts to the processing in FIG.
  • the request determination unit 231 determines whether or not “Null” is set in the process ID storage area in the shared memory area related to the lock request. It is determined whether or not the shared memory area is in use (step S15).
  • the request determination unit 231 performs forced unlocking.
  • the determination unit 243 is instructed to start processing.
  • the forced unlock determination unit 243 instructs the process forced end unit 234 to start processing. Then, the process forced termination unit 234 forcibly terminates the process having the process ID stored in the process ID storage area in the shared memory area related to the lock request, that is, the process using the shared memory area related to the lock request (step S21).
  • the forced unlock determination unit 243 may cause the memory area management unit 210 to set “Null” in the process ID storage area in the shared memory area related to the lock request. However, it may be replaced by overwriting the process ID of the request source process of the current lock request in the following processing. Then, the processing shifts to the processing in FIG.
  • the time storage unit 233 sends the lock end scheduled time to the area of the shared memory area related to the lock request to the memory area management unit 210.
  • the shared memory area related to the lock request is set in use by storing the process ID and setting the process ID of the request source process of the lock request in the process ID storage area (step S25). Furthermore, the time storage unit 233 sets “lock (possible)” in the processing response.
  • the shared memory management unit 220 outputs a processing response to the requesting process of the processing request (step S29).
  • the request source process can determine whether the shared memory area can be used or not.
  • the lock end scheduled time is confirmed and the process being locked is It is determined whether the time when the area can be used has passed, and if it has passed, the shared memory area is forcibly unlocked.
  • the amount of memory used can be reduced correspondingly, and can be effectively used for the OS and other functions.
  • the process A outputs a lock request to the address 200 in the shared memory area to the OS 200.
  • the OS 200 locks the first address in the shared memory area with the process ID of the process A, and sets 5t after 3t as the scheduled lock end time.
  • the OS 200 notifies the process A that the shared memory area has been locked.
  • time 4t it is assumed that the process A enters an abnormal state with the address 1 in the shared memory area being locked.
  • process B outputs a lock request for address 1 in the shared memory area to OS 200.
  • the OS 200 confirms that the current system time has passed the scheduled lock end time set at address 1 in the shared memory area, and forcibly terminates process A.
  • the OS 200 forcibly unlocks the first address in the shared memory area, locks it with the process ID of the process B, and sets the lock end scheduled time “15” after 8t.
  • the OS 200 notifies the process B that the shared memory area has been locked at the time 7t, the process B enters a state of executing processing. Thereafter, at time 14t, process B normally ends its processing.
  • the shared memory area is efficiently locked and unlocked, so that the processing ends early.
  • the configuration example of the information processing apparatus 100 illustrated in FIG. 3 is an example, and other devices (communication apparatuses, sensors, and the like) may be connected to the bus 130, or a hard disk drive, CD-ROM, or DVD may be connected.
  • a drive device such as a ROM or other storage device may be connected.
  • the OS and application programs are not stored in the ROM 140 but in a hard disk drive or other storage device.
  • the input / output device 150 includes input devices such as buttons, a keyboard, a touch panel, and a mouse, and output devices such as a display device and a printing device.
  • the information processing apparatus 100 is effective as long as it is an embedded apparatus, but may be another information processing apparatus, a mobile phone, or the like.
  • the software configuration shown in FIG. 4 is also an example, and may not match the program module configuration.
  • processes executed by different processing units may be executed in parallel, or the processing order of steps may be interchanged as long as the processing result does not change.
  • the lock request time is included in the lock request from the process. However, when the lock request time is constant, the lock request does not include the lock request time and the shared memory
  • the management unit 220 may hold the information.
  • An information processing apparatus includes a memory including a shared memory area shared by a plurality of processes, and a processor that executes the plurality of processes.
  • the processor determines whether the shared memory area is in use, and (B) the shared memory area is not used.
  • the data for specifying the lock end scheduled time and the identifier of the first process are set in the shared memory area, and (C) the shared memory area is a second process among a plurality of processes.
  • Is in use by the interrupt handler based on the interrupt delay time, which is the time when the processing of the second process is delayed, the current time, and the expected lock end time set in the shared memory area, It is determined whether the second process should be forcibly terminated. (D) When the second process should be forcibly terminated, a process for forcibly terminating the second process is executed.
  • the lock end scheduled time may be calculated based on the lock request time included in the lock request and the time set in the shared memory area. It is possible to cope with a case where the lock request time differs depending on the output source of the lock request.
  • the processor described above may increase the interrupt delay time cumulatively while the interrupt handler is activated.
  • the above-described scheduled lock end time may be calculated by subtracting the interrupt delay time from the sum of the time set in the shared memory area and the lock request time. Management of interrupt delay time becomes easy.
  • the determination process described above may include a process of determining whether the time obtained by subtracting the interrupt delay time from the current time is after the scheduled lock end time. It is possible to appropriately determine whether or not the process is estimated to have occurred, taking into account the interrupt delay time.
  • the processor described above may set the lock end scheduled time and the identifier of the first process in the shared memory area related to the lock request after the forced end. In this way, management of the shared memory area becomes easy.
  • a program for causing the processor to perform the above-described processing can be created.
  • the program is, for example, a computer-readable storage medium or storage device such as a flexible disk, CD-ROM, magneto-optical disk, semiconductor memory, or hard disk.
  • Stored in The intermediate processing result is temporarily stored in a storage device such as a main memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

 本装置は、複数のプロセスに共有される共有メモリ領域を含むメモリと、複数のプロセスを実行するプロセッサとを有する。そして、当該プロセッサは、(A)複数のプロセスのうち第1のプロセスから共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、(B)共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び第1のプロセスの識別子を、当該共有メモリ領域に設定し、(C)共有メモリ領域が複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域に設定されているロック終了予定時刻とに基づき、第2のプロセスを強制終了すべきか判断し、(D)第2のプロセスを強制終了すべき場合には、第2のプロセスを強制終了する処理を実行する。

Description

情報処理装置、メモリ管理方法及びプログラム
 本技術は、情報処理装置におけるメモリ管理技術に関する。
 固有メモリ領域及び共有メモリ領域を含むメモリを有する情報処理装置において、固有メモリ領域は、メモリ保護機構(MMU:Memory Management Unit)によって保護されている。一方、共有メモリ領域は、複数のプロセスがアクセスする際に各プロセスのアクセス競合を防ぐための排他制御が行われる。このような情報処理装置は、典型的には、メモリなどの資源が少ない組込装置であるが、組込装置に限定されるわけではない。
 このような情報処理装置において、共有メモリ領域を使用しているプロセスが異常を起すと、共有メモリ領域などの資源はロックされたままとなり、他のプロセスがその資源にアクセスすることができない状態になる場合がある。
 この状態から脱するために、どのプロセスがどの共有資源の排他権を獲得しているのかを管理し、各プロセスが正常に動作しているか否かを監視するための監視プロセスが、コマンドなどを介して長時間排他権を獲得しているプロセスを強制終了する技術がある。また、この技術では、長時間排他権を獲得しているプロセスの強制終了のタイミングで、共有資源を全てチェックし、強制終了させられるプロセスが排他権を獲得中であれば、それを解放する。
 より具体的には、OS(Operating System)は、監視プロセスから強制終了依頼を受け取った場合に強制終了されるプロセスが排他権を有する共有メモリ領域を解放するために、OSが使用するメモリに、メモリ領域管理ブロックを設けることになる。このメモリ領域管理ブロックは、共有メモリ領域を使用しているプロセスの一覧と、プロセス毎にプロセスがロックしている共有メモリ領域の一覧とを含む。
 このような監視プロセスを用いる技術によれば、情報処理装置のソフトウエア構成は図1に示すようになる。すなわち、OSには、共有メモリ領域のロック及びアンロックを行うメモリ領域管理部と、共有メモリ領域を使用しているプロセスのリストであるプロセスリスト及びプロセスによりロックされている共有メモリ領域のリストである共有メモリ領域リストとが含まれる。OSのメモリ領域管理部は、プロセスA及びプロセスBからロック要求を受けると、共有メモリ領域のロックを行い、ロック可又はロック不可を表すロック応答を、要求元のプロセスに返す。また、OSは、異常状態になったプロセスを強制終了する場合もある。監視プロセスは、プロセスA及びBに対して定期的に応答確認を行い、プロセスからACKを受け取れば何もしないが、ACKを受け取らない場合には異常状態になったと判定してOSに対して強制終了依頼を出力する。共有メモリ領域は、ロックを行ったプロセスの識別子(ID)を格納する領域を含んでいる。
 このような情報処理装置においては、例えば図2に示すような処理シーケンスが実行される。なお、以下の事項を前提とする。(1)監視プロセスは、3t間隔で共有メモリ領域をロック中のプロセスに対して応答確認を実施する。(2)プロセスBはロック要求後、ロック不可の場合は、3t後に再度ロックを要求する。(3)プロセスAは、共有メモリ領域をロックして2t後に異常状態になる。(4)プロセスBが共有メモリ領域をロックしてから7tの間、実行状態になったら終了とする。(5)デュアルコアプロセッサを用いており、それぞれのプロセスは実行状態にある間、コアを1つ使用する。(6)プロセスA及びBは共有メモリ領域における1番地に対してロック要求を出力する。(7)プロセスAが異常状態である間も、プロセスAがコアを使用していると判断する。
 そうすると、時刻1tで、プロセスAがOSに対して、共有メモリ領域における1番地に対するロック要求を出力する。そして、時刻1t乃至2tの間でOSは共有メモリ領域の1番地をプロセスAの名前(すなわちID)でロックする。時刻2tで、OSがプロセスAに共有メモリ領域がロックできたことを伝える。時刻3t乃至4tで監視プロセスがプロセスAの正常動作を確認する。時刻4tでプロセスAが共有メモリ領域の1番地をロックしたまま、異常状態になる。時刻5tでプロセスBが、OSに対して共有メモリ領域における1番地に対するロックを要求する。時刻6tでOSがプロセスBに共有メモリ領域の1番地がロックできないことを通知する。そして、時刻7tで監視プロセスがプロセスAに応答確認を行う。そうすると、時刻8tで監視プロセスがプロセスAから応答がないことを確認する。時刻9tで再度プロセスBがOSに対して、共有メモリ領域における1番地に対するロックを要求する。また、プロセスAから応答がなかったため、監視プロセスがOSに対してプロセスAの強制終了を依頼する。時刻10tでOSがプロセスBに共有メモリ領域の1番地が獲得できないことを通知する。時刻10t乃至11tでOSがプロセスAによってロックされていた共有メモリ領域をアンロックする。そして、時刻11tでOSはプロセスAを強制終了させる。その後、時刻13tで、再度プロセスBがOSに対して、共有メモリ領域における1番地に対するロックを要求する。時刻14tでOSがプロセスBに共有メモリ領域が獲得できたことを伝える。その後時刻15t乃至16tで監視プロセスがプロセスBの正常動作を確認する。さらに時刻19t乃至20tで監視プロセスがプロセスBの正常動作を確認する。そして時刻21tでプロセスBが正常終了する。
 このような従来技術では、監視プロセス及びメモリ領域管理ブロックを用いるため、プロセスの数や共有メモリ領域の数が増えると、これらのためのメモリ量が増加するため、メモリが不足しやすくなる。
特開平8-272627号公報 特開平9-26888号公報
 従って、本技術の目的は、一側面によれば、排他制御のために用いられる資源を削減するための技術を提供することである。
 本技術に係る情報処理装置は、複数のプロセスに共有される共有メモリ領域を含むメモリと、複数のプロセスを実行するプロセッサとを有する。そして、当該プロセッサは、(A)複数のプロセスのうち第1のプロセスから共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、(B)共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び第1のプロセスの識別子を、当該共有メモリ領域に設定し、(C)共有メモリ領域が複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域に設定されているロック終了予定時刻とに基づき、第2のプロセスを強制終了すべきか判断し、(D)第2のプロセスを強制終了すべき場合には、第2のプロセスを強制終了する処理を実行する。
 一側面によれば、排他制御のために用いられる資源を削減できるようになる。
図1は、従来技術における情報処理装置のソフトウエア構成例を示す図である。 図2は、従来技術における処理シーケンス例を示す図である。 図3は、本実施の形態に係る情報処理装置の構成例を示す図である。 図4は、本実施の形態に係る情報処理装置のソフトウエア構成例を示す図である。 図5は、本実施の形態に係る情報処理装置の処理例を説明するための図である。 図6は、本実施の形態に係る情報処理装置の処理内容を示す図である。 図7は、本実施の形態に係る情報処理装置の処理内容を示す図である。 図8は、本実施の形態に係る処理シーケンス例を示す図である。
 本実施の形態に係る情報処理装置100の構成例を図3に示す。図3における情報処理装置100は、プロセッサ110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)140と、各種入出力装置150とを有し、これらがバス130に接続されている。ROM140には、OS及び各種アプリケーションプログラムが記録されている。
 プロセッサ110は、ROM140に格納されているOSをRAM120に読み出して実行し、さらに各種アプリケーションプログラムもROM140からRAM120に読み出して実行する。また、プロセッサ110は、入出力装置150からの割込要求を受け付けて、割込に応じた処理を実行する。さらに、プロセッサ110は、タイマカウンタレジスタを有しており、タイマカウンタレジスタの値は時間計測に用いられる。
 図4に、情報処理装置100におけるソフトウエア構成例を示す。OS200は、メモリ領域管理部210と、共有メモリ管理部220と、スケジューラ250と、割り込みハンドラ260とを有する。
 メモリ領域管理部210は、共有メモリ領域1乃至nに対するロック及びアンロックを行う。本実施の形態における共有メモリ領域1乃至nの各々は、当該共有メモリ領域を使用中のプロセスのプロセスIDを格納するプロセスID格納領域及びロック終了予定時刻を格納する領域を含む。
 また、本実施の形態では、各種アプリケーションプログラムに係るプロセスA及びBが実行されている。プロセスの数は2に限定されるものではないが、例えばプロセッサ110のコアの数と同数のプロセスが実行されているものとする。プロセスA及びBは、それぞれ共有メモリ領域を使用する時間に対応するロック要求時間のデータを保持しており、当該ロック要求時間及び共有メモリ領域の識別子(例えば共有メモリ領域の先頭のアドレス)を含むロック要求をOS200に出力する。
 スケジューラ250は、例えば入出力装置150からの割込要求に応じて、割込ハンドラ260を起動して割込要求を処理させ、共有メモリ管理部220に対して割込ハンドラ260が起動されたことを表す通知を出力する。
 また、共有メモリ管理部220は、排他制御処理部230と、ロック時間制御部240とを有する。排他制御処理部230は、要求判断部231と、時間計算部232と、時間格納部233と、プロセス強制終了部234とを有する。
 要求判断部231は、プロセスA又はBからの処理要求(ロック要求又はアンロック要求)又はスケジューラ250からの通知(割込ハンドラ260が起動されたことを表す通知)を受信して、対応する処理部に処理を行わせる。時間計算部232は、ロック終了予定時刻を算出し、時間格納部233は、時間計算部232により算出されたロック終了予定時刻を共有メモリ領域へ、メモリ領域管理部210に格納させる。プロセス強制終了部234は、以下で述べる条件が満たされると、ロック要求に係る共有メモリ領域に格納されているプロセスIDのプロセスを強制終了させる。
 ロック時間制御部240は、遅延時間測定部241と、遅延時間計算部242と、強制アンロック判断部243とを有する。遅延時間測定部241は、割込ハンドラ260の起動時間を、カウンタにて計測する。遅延時間計算部242は、遅延時間測定部241によって測定された遅延時間を換算する処理を実行する。強制アンロック判断部243は、割込ハンドラ260による遅延がないと仮定した場合においてプロセスの処理開始からの時間経過を表す時刻であるプロセス稼働時刻を算出して、当該プロセス稼働時刻と、共有メモリ領域に格納されているプロセス終了予定時刻とを比較して、プロセスを強制終了させるべきか判断する。
 なお、OS200は、システム時刻を管理しているものとする。
 次に、図5を用いて本実施の形態に係る情報処理装置100の動作例を説明する。なお、本例では、システム時間が「1」の間に、タイマカウンタレジスタ値が「3」進むものとする。
 まず、プロセスAが共有メモリ領域1のロック要求を出力すると、共有メモリ管理部220の排他制御処理部230における要求判断部231は、ロック要求を受け取って、メモリ領域管理部210に共有メモリ領域1をロックさせる。なお、この際、時間計算部232が、ロック終了予定時刻を算出するので、共有メモリ領域1には、時間格納部233の指示でプロセスAの識別子及びロック終了予定時刻が設定される。なお、ロック終了予定時刻は、システム時刻「1」(タイマカウンタレジスタ値で「3」)と設定されたものとする。
 タイマカウンタレジスタ値「1」の時刻で、割り込みにより割込ハンドラ260が起動されると、遅延時間測定部241により遅延時間の測定が開始され、この例ではタイマカウンタレジスタ値「3」の時刻まで割込ハンドラ260の動作が継続するものとする。この間、プロセスAの処理は中断され、遅延がその分生じている。遅延時間計算部242により算出される遅延時間はタイマカウンタレジスタ値「2」の長さを有する。
 割込ハンドラ260の動作が終了すると、プロセスAが、タイマカウンタレジスタ値「1」の時間だけ処理を行うと、再度割り込みにより割込ハンドラ260が起動され、遅延時間測定部241により遅延時間の測定が再開され、この例ではタイマカウンタレジスタ値「6」の時刻まで割込ハンドラ260の動作が継続するものとする。この間、プロセスAの処理は中断され、遅延がその分生じている。遅延時間計算部242により算出される合計の遅延時間はタイマカウンタレジスタ値「4」の長さを有する。
 割込ハンドラ260の処理が終了してタイマカウンタレジスタ値「6」の時刻でプロセスBが、共有メモリ領域1に対するロック要求を出力する。この場合、現在時刻はタイマカウンタレジスタ値「6」であるが、合計の遅延時間はタイマカウンタレジスタ値「4」だけあるので、プロセスAの処理はタイマカウンタレジスタ値「2」だけしか進んでいない。従って、強制アンロック判断部243は、強制アンロックを行わず、ロック要求を不許可にする。プロセスBのロック要求は失敗となる。
 一方、プロセスAが、タイマカウンタレジスタ値「1」の時間だけ処理を行った後に、再度プロセスBがロック要求を出力すると、現在時刻はタイマカウンタレジスタ値「7」で、合計の遅延時間はタイマカウンタレジスタ値「4」であるので、プロセス稼働時刻はタイマカウンタレジスタ値「3」であり、ロック終了予定時刻はタイマカウンタレジスタ値「3」であるので、強制アンロック判断部243によりプロセスAに異常が発生した可能性が検出される。そうすると、強制アンロック判断部243は、メモリ領域管理部210に対して共有メモリ領域1のアンロックを行わせる。さらに、強制アンロック判断部243は、プロセス強制終了部234に、プロセスAを強制終了させる。
 一方、プロセスBからのロック要求は、プロセスAからの最初のロック要求と同様に処理されて、プロセスBによる処理が開始される。
 このように、メモリ領域管理ブロック及び監視プロセスを用いずに、プロセスAの異常を推定して共有メモリ領域の解放及びプロセスAの強制終了を行うことができるようになる。結果として、共有資源の効率的な利用が、使用するメモリ量を抑えつつ可能となる。
 次に、図6及び図7を用いて処理の詳細を説明する。
 まず、OS200の共有メモリ管理部220における排他制御処理部230の要求判断部231は、プロセスからの処理要求(ロック要求又はアンロック要求)又はスケジューラ250からの通知を待ち受け、当該処理要求又は通知を受信する(図6:ステップS1)。
 そして、要求判断部231は、割込ハンドラ260が起動されたことを表す通知をスケジューラ250から受信したか判断し(ステップS3)、当該通知を受信した場合には、要求判断部231は、遅延時間測定部241に対して処理開始を指示する。
 そうすると、遅延時間測定部241は、割り込み遅延カウンタをカウントアップする(ステップS5)。遅延時間測定部241は、割込ハンドラ260を監視して、割込ハンドラ260の処理が終了したか判断する(ステップS7)。割込ハンドラ260の処理が継続している場合には、処理はステップS5に戻る。
 割込ハンドラ260の処理が終了すると、遅延時間測定部241は、割り込み遅延カウンタのカウントアップを停止し、遅延時間計算部242に対して処理を指示する。そうすると、遅延時間計算部242は、割込遅延時間を算出する(ステップS9)。具体的には、現割込遅延時間に{(割り込み遅延カウンタの値)×(割り込み遅延カウンタのカウントアップ周期)/(システム時刻のアップ周期)}の商を加算し、新たな割込遅延時間に設定する。このように割込遅延時間は、システム時刻での時間となる。なお、{(割り込み遅延カウンタ)×(割り込み遅延カウンタのカウントアップ周期)/(システム時刻のアップ周期)}の余りを、割り込み遅延カウンタに設定する。そして処理は端子Aを介して終了する。
 一方、割込ハンドラ260の起動ではない場合、要求判断部231は、受信した処理要求がロック要求であるか否かを判断する(ステップS11)。処理要求がロック要求でなければ処理要求はロック解除要求であるから、メモリ領域管理部210に、ロック解除要求に係る共有メモリ領域を解放させる(ステップS13)。具体的には、メモリ領域管理部210は、ロック解除要求に係る共有メモリ領域におけるプロセスID格納領域に”Null”(未使用を表す)を格納する。そして、処理応答に”unlock(OK)”を設定する。その後処理は端子Cを介して図7の処理に移行する。
 一方、処理要求がロック要求であれば、要求判断部231は、ロック要求に係る共有メモリ領域におけるプロセスID格納領域に”Null”が設定されているか否かを判断することで、ロック要求に係る共有メモリ領域が使用中であるか否かを判断する(ステップS15)。
 共有メモリ領域のプロセスID格納領域に”Null”が設定されている場合、すなわち共有メモリ領域が未使用であれば、処理は端子Bを介して図7の処理に移行する。
 一方、共有メモリ領域のプロセスID格納領域に”Null”以外の値、すなわち具体的なプロセスIDが設定されており、当該共有メモリ領域が使用中であれば、要求判断部231は、強制アンロック判断部243に処理開始を指示する。
 そうすると、強制アンロック判断部243は、現在のシステム時刻と遅延時間計算部242により算出された割込遅延時間とからプロセス稼働時刻を算出する(ステップS17)。具体的には、プロセス稼働時刻=システム時刻-割込遅延時間により算出する。そして、強制アンロック判断部243は、プロセス稼働時刻が、ロック要求に係る共有メモリ領域に格納されているロック終了予定時刻以降となっているか判断する(ステップS19)。プロセス稼働時刻が、ロック要求に係る共有メモリ領域に格納されているロック終了予定時刻より前であれば、強制アンロック判断部243は、処理応答に対して”lock(不可)”を設定する。その後、処理は端子Cを介して図7の処理に移行する。
 一方、プロセス稼働時刻が、ロック要求に係る共有メモリ領域に格納されているロック終了予定時刻以降であれば、強制アンロック判断部243は、プロセス強制終了部234に処理開始を指示する。そうすると、プロセス強制終了部234は、ロック要求に係る共有メモリ領域におけるプロセスID格納領域に格納されているプロセスIDのプロセス、すなわちロック要求に係る共有メモリ領域を使用中のプロセスを強制終了させる(ステップS21)。なお、強制アンロック判断部243は、メモリ領域管理部210に対して、ロック要求に係る共有メモリ領域におけるプロセスID格納領域に”Null”を設定させるようにしても良い。但し、以下の処理で今回のロック要求の要求元プロセスのプロセスIDを上書きすることで代替しても良い。そして処理は端子Bを介して図7の処理に移行する。
 図7の処理フローの説明に移行して、端子B後の処理として、要求判断部231又は強制アンロック判断部243は、時間計算部232に処理開始を指示する。そうすると、時間計算部232は、ロック要求に含まれるロック要求時間と現在のシステム時刻からロック終了予定時刻を算出する(ステップS23)。具体的には、ロック終了予定時刻=システム時刻-割込遅延時間+ロック要求時間を算出する。このようにすれば、割込遅延時間を単純に割込ハンドラ260が処理を行っている間増分させるような処理を行うことで対処できるようになる。
 そして、時間計算部232は算出したロック終了予定時刻を時間格納部233に出力すると、時間格納部233は、メモリ領域管理部210に、ロック要求に係る共有メモリ領域の領域へロック終了予定時刻を格納させ、さらにプロセスID格納領域へロック要求の要求元プロセスのプロセスIDを設定させることで、ロック要求に係る共有メモリ領域を使用中に設定する(ステップS25)。さらに、時間格納部233は、処理応答に”lock(可)”を設定する。
 その後、共有メモリ管理部220は、処理応答を、処理要求の要求元プロセスに出力する(ステップS29)。これにて、要求元プロセスは、共有メモリ領域を使用できるのかできないのかを判断することができるようになる。
 本実施の形態によれば、ロック中の共有メモリ領域に格納されているプロセスIDとは異なるプロセスIDからロック要求があると、ロック終了予定時刻を確認して、ロック中のプロセスが当該共有メモリ領域を使用可能な時刻が過ぎているか判断し、過ぎていればその共有メモリ領域を強制的にアンロックする。
 このように、本実施の形態によれば、監視プロセス及びメモリ領域管理ブロックを用いないため、その分メモリ使用量を削減でき、OSや他の機能のために有効活用できるようになる。
 ここで、図2に示したシーケンスと同様の前提(監視プロセスが存在しない点は異なる)で本実施の形態を実施した場合には、図8に示すようなシーケンスとなる。
 すなわち、時刻1tで、プロセスAがOS200に対して、共有メモリ領域における1番地に対してロック要求を出力する。そうすると、時刻1t乃至2tの間で、OS200は、共有メモリ領域における1番地をプロセスAのプロセスIDでロックして、3t後の5tをロック終了予定時刻に設定する。次に、時刻2tに、OS200は、プロセスAに対して共有メモリ領域がロックできたことを通知する。その後、時刻4tで、プロセスAが共有メモリ領域における1番地をロックしたまま、異常状態になるとする。
 時刻5tでプロセスBがOS200に対して共有メモリ領域における1番地に対するロック要求を出力する。時刻6tでOS200は共有メモリ領域における1番地にセットしたロック終了予定時刻を現在システム時刻が過ぎていることを確認して、プロセスAを強制終了させる。時刻6t乃至7tでOS200は共有メモリ領域における1番地を強制アンロック後、プロセスBのプロセスIDでロックを行い、8t後のロック終了予定時刻「15」をセットする。時刻7tでOS200がプロセスBに共有メモリ領域がロックできたことを通知すると、プロセスBは処理を実行する状態になる。その後、時刻14tでプロセスBは正常にその処理を終了する。
 このように、本実施の形態ではプロセスA及びプロセスBが同様の処理を行ったとしても、共有メモリ領域のロック及びアンロックが効率的に行われるため、早期に処理が終了する。
 以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図3に示した情報処理装置100の構成例は一例であって、バス130に他のデバイス(通信装置、センサなど)が接続される場合もあれば、ハードディスクドライブ、CD-ROMやDVD-ROM等のドライブ装置その他の記憶装置が接続される場合もある。この場合、OS及びアプリケーションプログラムは、ROM140ではなく、ハードディスクドライブその他の記憶装置に格納される。入出力装置150には、ボタン、キーボード、タッチパネル、マウスなどの入力装置や、表示装置、印刷装置などの出力装置が含まれる。
 さらに、情報処理装置100は、組込装置のようなものであれば効果的であるが、その他の情報処理装置、携帯電話機等であっても良い。
 また、図4に示したソフトウエア構成も一例であって、プログラムモジュール構成と一致しない場合もある。処理フローについても、異なる処理部が実行する処理については並列実行される場合もあれば、処理結果が変わらない限りにおいてステップの処理順番を入れ替え可能な場合もある。
 上で述べた例では、ロック要求時間がプロセスからのロック要求に含まれる例を示したが、ロック要求時間を一定とするような場合には、ロック要求がロック要求時間を含まず、共有メモリ管理部220が保持している場合もある。
 以上述べた本実施の形態をまとめると以下のようになる。
 本技術の実施の形態に係る情報処理装置は、複数のプロセスに共有される共有メモリ領域を含むメモリと、複数のプロセスを実行するプロセッサとを有する。そして、当該プロセッサは、(A)複数のプロセスのうち第1のプロセスから共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、(B)共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び第1のプロセスの識別子を、当該共有メモリ領域に設定し、(C)共有メモリ領域が複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域に設定されているロック終了予定時刻とに基づき、第2のプロセスを強制終了すべきか判断し、(D)第2のプロセスを強制終了すべき場合には、第2のプロセスを強制終了する処理を実行する。
 このようにすれば監視プロセスが他のプロセスが正常か否かを確認せずに済み、さらに共有資源を管理するデータを保持せずに済むので、メモリの使用量を削減できる。
 上記ロック終了予定時刻が、ロック要求に含まれるロック要求時間と共有メモリ領域へ設定する時刻とに基づき算出される場合がある。ロック要求の出力元に応じてロック要求時間が異なる場合に対処できるようになる。
 また、上で述べたプロセッサは、割込ハンドラが起動されている間、割込遅延時間を累積的に増加させるようにしても良い。その場合には、上で述べたロック終了予定時刻が、共有メモリ領域へ設定する時刻とロック要求時間との和から割込遅延時間を差し引いて算出される場合もある。割込遅延時間の管理が容易になる。
 さらに、上で述べた判断する処理が、現在時刻から割込遅延時間を引いた時刻が、ロック終了予定時刻以降であるか判断する処理を含むようにしても良い。異常が発生したと推定されるプロセスか否かを、割込遅延時間を考慮した上で適切に判定できるようになる。
 また、上で述べたプロセッサが、上記強制終了後、ロック終了予定時刻及び第1のプロセスの識別子を、ロック要求に係る共有メモリ領域に設定するようにしても良い。このようにすれば、共有メモリ領域の管理が容易になる。
 なお、上記処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。

Claims (7)

  1.  複数のプロセスに共有される共有メモリ領域を含むメモリと、
     前記複数のプロセスを実行するプロセッサと、
     を有し、
     前記プロセッサは、
     前記複数のプロセスのうち第1のプロセスから前記共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、
     前記共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び前記第1のプロセスの識別子を、当該共有メモリ領域に設定し、
     前記共有メモリ領域が前記複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって前記第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域についてのロック終了予定時刻とに基づき、前記第2のプロセスを強制終了すべきか判断し、
     前記第2のプロセスを強制終了すべき場合には、前記第2のプロセスを強制終了する
     処理を実行する情報処理装置。
  2.  前記ロック終了予定時刻が、前記ロック要求に含まれるロック要求時間と前記共有メモリ領域へ設定する時刻とに基づき算出される
     請求項1記載の情報処理装置。
  3.  前記プロセッサは、
     前記割込ハンドラが起動されている間、前記割込遅延時間を累積的に増加させ、
     前記ロック終了予定時刻が、前記共有メモリ領域へ設定する時刻と前記ロック要求時間との和から前記割込遅延時間を差し引いて算出される
     請求項2記載の情報処理装置。
  4.  前記判断する処理が、
     前記現在時刻から前記割込遅延時間を引いた時刻が、前記ロック終了予定時刻以降であるか判断する処理を含む
     請求項1乃至3のいずれか1つ記載の情報処理装置。
  5.  前記プロセッサは、
     前記強制終了後、ロック終了予定時刻及び前記第1のプロセスの識別子を、前記ロック要求に係る共有メモリ領域に設定する
     処理をさらに実行する請求項1乃至4のいずれか1つ記載の情報処理装置。
  6.  複数のプロセスに共有される共有メモリ領域を含むメモリと、前記複数のプロセスを実行するプロセッサとを有する情報処理装置の前記プロセッサが、
     前記複数のプロセスのうち第1のプロセスから前記共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、
     前記共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び前記第1のプロセスの識別子を、当該共有メモリ領域に設定し、
     前記共有メモリ領域が前記複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって前記第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域についてのロック終了予定時刻とに基づき、前記第2のプロセスを強制終了すべきか判断し、
     前記第2のプロセスを強制終了すべき場合には、前記第2のプロセスを強制終了する
     処理を実行する情報処理方法。
  7.  複数のプロセスに共有される共有メモリ領域を含むメモリと、前記複数のプロセスを実行するプロセッサとを有する情報処理装置の前記プロセッサに、
     前記複数のプロセスのうち第1のプロセスから前記共有メモリ領域のロック要求を受信すると、当該共有メモリ領域が使用中であるか判断し、
     前記共有メモリ領域が未使用である場合には、ロック終了予定時刻を特定するためのデータ及び前記第1のプロセスの識別子を、当該共有メモリ領域に設定し、
     前記共有メモリ領域が前記複数のプロセスのうち第2のプロセスにより使用中である場合には、割込ハンドラによって前記第2のプロセスの処理が遅延した時間である割込遅延時間と現在時刻と当該共有メモリ領域についてのロック終了予定時刻とに基づき、前記第2のプロセスを強制終了すべきか判断し、
     前記第2のプロセスを強制終了すべき場合には、前記第2のプロセスを強制終了する
     処理を実行させるためのプログラム。
PCT/JP2013/050786 2013-01-17 2013-01-17 情報処理装置、メモリ管理方法及びプログラム WO2014112066A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/050786 WO2014112066A1 (ja) 2013-01-17 2013-01-17 情報処理装置、メモリ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/050786 WO2014112066A1 (ja) 2013-01-17 2013-01-17 情報処理装置、メモリ管理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2014112066A1 true WO2014112066A1 (ja) 2014-07-24

Family

ID=51209190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/050786 WO2014112066A1 (ja) 2013-01-17 2013-01-17 情報処理装置、メモリ管理方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2014112066A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692127A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 解锁方法、可穿戴设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181813A (ja) * 1991-12-26 1993-07-23 Nec Corp 排他制御ビット制御方式
JPH1021098A (ja) * 1996-06-29 1998-01-23 Nec Corp 排他制御装置
US5872981A (en) * 1997-05-30 1999-02-16 Oracle Corporation Method for managing termination of a lock-holding process using a waiting lock
JP2001166953A (ja) * 1999-12-06 2001-06-22 Nec Ic Microcomput Syst Ltd デッドロック検出方法
JP2010061522A (ja) * 2008-09-05 2010-03-18 Internatl Business Mach Corp <Ibm> 共有データへの排他的アクセスを許すためのコンピュータ・システム、並びにその方法及びコンピュータ読み取り可能な記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181813A (ja) * 1991-12-26 1993-07-23 Nec Corp 排他制御ビット制御方式
JPH1021098A (ja) * 1996-06-29 1998-01-23 Nec Corp 排他制御装置
US5872981A (en) * 1997-05-30 1999-02-16 Oracle Corporation Method for managing termination of a lock-holding process using a waiting lock
JP2001166953A (ja) * 1999-12-06 2001-06-22 Nec Ic Microcomput Syst Ltd デッドロック検出方法
JP2010061522A (ja) * 2008-09-05 2010-03-18 Internatl Business Mach Corp <Ibm> 共有データへの排他的アクセスを許すためのコンピュータ・システム、並びにその方法及びコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692127A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 解锁方法、可穿戴设备及存储介质

Similar Documents

Publication Publication Date Title
US11157061B2 (en) Processor management via thread status
WO2010095198A1 (ja) 資源排他制御方法および資源排他制御装置
CN103975286B (zh) 微处理器以及管理其重置事件的方法
CN104426696B (zh) 一种故障处理的方法、服务器及系统
JP4562568B2 (ja) 異常検出プログラムおよび異常検出方法
US9280444B2 (en) System and method for identifying contention of shared resources in a runtime system
US20160283272A1 (en) Shared resource access control method and apparatus
CN105824709B (zh) 一种临界区访问方法及装置
US9141439B2 (en) System and method for reporting a synchronization event in a runtime system of a computer system
US20170039095A1 (en) Switching a Locking Mode of an Object in a Multi-Thread Program
US20150026694A1 (en) Method of processing information, storage medium, and information processing apparatus
KR101212496B1 (ko) 모니터링 자원의 사용량 표현 방법, 컴퓨팅 장치 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록 매체
WO2014112066A1 (ja) 情報処理装置、メモリ管理方法及びプログラム
US10318466B2 (en) Method and apparatus for handling outstanding interconnect transactions
CN111733572B (zh) 加热处理方法、装置及电子设备
KR102443089B1 (ko) 컴퓨팅 디바이스에서의 동기화
CN113032128A (zh) 一种多任务的控制方法、装置、电子设备及存储介质
JP2011170414A (ja) ロック競合管理装置、ロック競合管理方法およびプログラム
CN106326599B (zh) 一种多处理器系统仿真的系统状态监测方法和装置
JP5375756B2 (ja) 時間監視装置及び方法
WO2016091140A1 (zh) 一种显示系统资源的方法及装置
JP3497478B2 (ja) Dma転送装置及びデータ転送システム
JP2006185365A (ja) 半導体装置およびデバッグ方法
JP2007034864A (ja) 入出力装置の診断方法
JP5768434B2 (ja) 相互監視システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13871695

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13871695

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP