JP2004310615A - プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム - Google Patents

プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2004310615A
JP2004310615A JP2003105840A JP2003105840A JP2004310615A JP 2004310615 A JP2004310615 A JP 2004310615A JP 2003105840 A JP2003105840 A JP 2003105840A JP 2003105840 A JP2003105840 A JP 2003105840A JP 2004310615 A JP2004310615 A JP 2004310615A
Authority
JP
Japan
Prior art keywords
session
task
program
tasks
session management
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2003105840A
Other languages
English (en)
Inventor
Yutaka Kondo
裕 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003105840A priority Critical patent/JP2004310615A/ja
Priority to US10/817,792 priority patent/US20040261076A1/en
Priority to KR1020040023533A priority patent/KR20040087898A/ko
Publication of JP2004310615A publication Critical patent/JP2004310615A/ja
Pending legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session

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

【課題】アプリケーションが複数の機能を同時並行して動作する際に、複数の機能で同一のタスクを共有することを可能にする。
【解決手段】アプリケーション・プログラムは、複数のタスクで構成され、マルチタスク環境下で実行され、複数の機能を提供することができる。提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義する。タスクの1つとして構成されるセッション・マネージャは、呼び出されたセッションを実行するためのリソースと実行状態を管理する。セッションを操作する側は、個々のタスクの状態を意識せず、必要な機能を実現できる。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、複数のタスクで構成されるアプリケーションを実行するプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムに係り、特に、複数のタスクを擬似的に同時並列的に動作させるマルチタスク環境下でアプリケーションを実行するプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、本発明は、アプリケーションが複数の機能を同時並行して動作する際に複数の機能で同一のタスクを共有するプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムに係り、特に、複数の機能で共有されるタスクのリソースと実行状態を管理するプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムに関する。
【0003】
【従来の技術】
昨今のLSI(Large Scale Integration)技術における革新的な進歩とも相俟って、さまざまなタイプの情報処理機器や情報通信機器が開発・市販され、日常生活に深く浸透するに至っている。この種の機器では、オペレーティング・システムが提供する実行環境下で、CPU(Central Processing Unit)やその他のプロセッサが所定のプログラム・コードを実行することによりさまざまな処理サービスを提供するようになっている。
【0004】
一般に、オペレーティング・システムは、複数のタスクを時分割で実行することによって、プロセッサの数よりも多くのタスクをあたかも同時に実行しているかのように見せるマルチタスク機能を備えている。マルチタスク・オペレーティング・システムを使用することにより、アプリケーションを機能毎にタスクとして作成し、複数のタスクを擬似的に同時並列的に動作させることができる。
【0005】
しかしながら、オペレーティング・システムには、タスク単位の管理機能はあるものの、複数のタスクによってある特定の機能が実現されるような場合、その機能に係る一連のタスクを一元的に管理する機構は提供していない。すなわち、マルチタスクにおいて、個々のタスクの実行を制御するのみで、タスク間の関連性までは考慮しない。このため、各タスクが自分自身でタスク間の関連性を管理しなければならず、プログラムの組み易さやメンテナンス性が低下してしまう。
【0006】
また、同時並行して動作する複数の機能で同一のタスクを共有したい場合があるが、共有されるタスクを管理するような仕組みはオペレーティング・システムでは提供されない。
【0007】
【発明が解決しようとする課題】
本発明の目的は、アプリケーションが複数の機能を同時並行して動作する際に複数の機能で同一のタスクを好適に共有することができる、優れたプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムを提供することにある。
【0008】
本発明のさらなる目的は、複数の機能で共有されるタスクのリソースと実行状態を好適に管理することができる、優れたプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムを提供することにある。
【0009】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で複数のタスクからなるプログラムを実行するプログラム処理システムであって、
プログラムが提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義手段と、
呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理手段と、
を具備することを特徴とするプログラム処理システムである。
【0010】
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【0011】
オペレーティング・システムがプログラム実行を管理・制御する単位は、一般に「タスク」と呼ばれる。本発明に係るプログラム処理システムでは、プログラム中に複数のタスクが存在することを許容し、複数のタスクを時分割で実行し、タスクを頻繁に切り替えることにより、各タスクを擬似的に並列に実行させるマルチタスク機能を備えている。したがって、実際に計算を進める実体であるプロセッサの数よりも多くのタスクが存在し、多くのタスクをあたかも同時に実行しているかのように見える。
【0012】
ところが、オペレーティング・システムは、個々のタスクの実行を管理するだけで、実行されるタスク間の関連性までは考慮しない。
【0013】
そこで、本発明では、プログラムが提供する機能サービス毎に当該機能を実現するために必要なタスクとその実行順序を「セッション」として定義する。そして、セッション管理手段は、呼び出されたセッションを実行するためのリソースと実行状態を管理する。ここで言うリソース管理には、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理などが含まれる。したがって、セッションを操作する側は、個々のタスクの状態を意識せず、必要な機能を実現できる。
【0014】
本発明によれば、複数のタスクをセッションという形で一元的に管理することができ、なお且つ実行効率、生産性、移植性、保守性といったタスク単位での開発のメリットを生かすことができる。また、セッション間でタスクを共有することができるので、従来のタスク単体よりも効率的なアプリケーション開発が可能となる。
【0015】
前記セッション管理手段は、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理によりセッションのリソースを管理する。
【0016】
また、前記セッション管理手段は、プログラム外部からの要求に応じてセッションの実行状態の操作及び管理を行なう。
【0017】
前記セッション管理手段は、プログラム内の各セッションの識別情報と各セッションを構成するタスクの識別情報をあらかじめ静的に規定したセッション登録手段を備えることにより、セッションを構成するタスクを一斉に起動することによりセッションの起動操作を行なうことができる。
【0018】
前記セッション管理手段は、セッションの起動時に当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録するためのセッション管理テーブルを作成し、これに基づいてセッションを管理するようにする。
【0019】
例えば、前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクの実行を一斉に中断又は再開することによりセッションを中断又は再開操作することができる。
【0020】
また、前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクを一斉に強制終了するとともに、セッション管理テーブルを削除し各タスクが使用していたリソースを解放して、セッションを終了操作するようにする。
【0021】
前記セッション管理手段は、セッション操作において該セッションを構成する各タスクの操作を前記オペレーティング・システムへのシステム・コールを発行することにより制御することができる。
【0022】
また、本発明の第2の側面は、複数のタスクで構成され、複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で実行することにより複数の機能を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義手段と、
呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理手段と、
を具備することを特徴とするコンピュータ・プログラムである。
【0023】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係るプログラム処理システムと同様の作用効果を得ることができる。
【0024】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0025】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0026】
A.システム構成
図1には、本発明の実施に供されるプログラム処理システム10の構成を模式的に示している。同図に示すように、プログラム処理システム10は、プロセッサ11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、複数の入出力装置14−1,14−2…と、タイマ15とを含んでいる。
【0027】
プロセッサ11は、演算処理システム10のメイン・コントローラであり、オペレーティング・システム(OS)の制御下で、アプリケーションなどの各種のプログラム・コードを実行するようになっている。オペレーティング・システムは例えば組み込み型で構成される。
【0028】
オペレーティング・システムがプログラム実行を管理・制御する単位は、一般に「タスク」と呼ばれる。本実施形態に係るプログラム処理システム10では、プログラム中に複数のタスクが存在することを許容し、複数のタスクを時分割で実行し、タスクを頻繁に切り替えることにより、各タスクを擬似的に並列に実行させるマルチタスク機能を備えている。したがって、実際に計算を進める実体であるプロセッサの数よりも多くのタスクが存在し、多くのタスクをあたかも同時に実行しているかのように見える。
【0029】
オペレーティング・システムは、プロセッサ11により処理される各タスクに、他のタスクと識別可能なタスクIDを割り振り、個々のタスクの実行を管理する。但し、オペレーティング・システムは、実行されるタスク間の関連性までは考慮しない。
【0030】
一方、プログラム処理システム10上で実行されるアプリケーション・プログラムは、マルチタスク環境下で実行される複数のタスクで構成され、複数の機能を提供することができる。例えば、DVD記録再生装置における組み込みアプリケーションであれば、DVDの記録面に対する記録や再生などの複数の機能が提供される。本明細書中では、提供する機能サービス毎に当該機能を実現するために必要なタスクとその実行順序を「セッション」として定義する。また、「セッション・マネージャ」と呼ばれるタスクを備え、呼び出されたセッションを実行するためのリソースと実行状態を管理する。ここで言うリソース管理には、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理などが含まれる。セッションを操作する側は、個々のタスクの状態を意識せず、必要な機能を実現できる。
【0031】
プロセッサ11は、バス16によって他の機器類(後述)と相互接続されている。システム・バス16上の各機器にはそれぞれ固有のメモリ・アドレス又はI/Oアドレスが付与されており、プロセッサ11はこれらアドレスを指定することによって所定の機器へのアクセスが可能となっている。システム・バス16は、アドレス・バス、データ・バス、コントロール・バスを含む共通信号伝送路である。
【0032】
RAM12は、書き込み可能なメモリであり、プロセッサ11において実行されるプログラム・コードをロードしたり、実行プログラムの作業データを一時格納したりするために使用される。プログラム・コードには、例えば、BIOS(Basic input・Output system:基本入出力システム)、周辺機器をハードウェア操作するためのデバイス・ドライバ、オペレーティング・システム、アプリケーションなどが挙げられる。
【0033】
ROM13は、所定のコードやデータを恒久的に記憶するための不揮発メモリであり、例えば、BIOSや始動時の自己診断プログラム(Power on Self Test:POST)などを格納している。
【0034】
入出力装置14には、ディスプレイ21を接続するためのディスプレイ・インターフェース14−1、キーボード22やマウス23のようなユーザ入力装置を接続するためのユーザ入力装置インターフェース14−2、ハード・ディスク24やメディア・ドライブ25などの外部記憶装置を接続するための外部記憶装置インターフェース14−3、外部ネットワークと接続するためのネットワーク・インターフェース・カード(NIC)14−4などが含まれる。但し、装備すべき入出力装置14の種類や構成などは、プログラム処理システム10の実体が何であるかに依存する。例えば、システム10がDVD記録再生装置であれば、多重化装置、逆多重化装置、映像信号制御装置、音声信号制御装置などの入出力装置を備えている。
【0035】
ディスプレイ・インターフェース14−1は、プロセッサ11が発行する描画命令を実際に処理するための専用インターフェース・コントローラである。ディスプレイ・インターフェース14−1において処理された描画データは、例えばフレーム・バッファ(図示しない)に一旦書き込まれた後、ディスプレイ21によって画面出力される。
【0036】
HDD24は、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり(周知)、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。通常、HDD24には、プロセッサ11が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。ソフトウェア・プログラムを実行可能な状態でHDD24上に置くことをプログラムのシステムへの「インストール」と呼ぶ。例えば、オペレーティング・システムや、複数のタスクで構成され機能毎にタスクの集合からなるセッションが定義されているアプリケーション・プログラムをHDD24上にインストールすることができる。
【0037】
メディア・ドライブ25は、CD(Compact Disc)やMO(Magneto−Optical disc)、DVD(Digital Versatile Disc)などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。
【0038】
可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動(すなわち販売・流通・配布を含む)する目的で使用される。例えば、オペレーティング・システムや、複数のタスクで構成され機能毎にタスクの集合からなるセッションが定義されているアプリケーション・プログラムを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
【0039】
ネットワーク・インターフェース14−1は、Ethernet(登録商標)などの所定の通信プロトコルに従って、システム10をLAN(Local Area Network)などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続することができる。
【0040】
ネットワーク上では、複数のホスト端末(図示しない)がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信が行うことができる。例えば、オペレーティング・システムや、複数のタスクで構成され機能毎にタスクの集合からなるセッションが定義されているアプリケーション・プログラムを、ネットワーク経由でダウンロードすることができる。
【0041】
各入出力装置14−1,14−2…には、割り込みレベルが割り当てられており、所定のイベント発生(例えばキーボード入力やマウス・クリックなどのGUI処理や、ハード・ディスクにおけるデータ転送の完了など)に応答して、割り込み要求信号線19を介してプロセッサ11に通知することができる。プロセッサ11は、このような割り込み要求に応答して、対応する割り込みハンドラを実行する。
【0042】
タイマ15は、タイマ信号を所定周期で発生させる装置である。タイマ15にも割り込みレベルが割り当てられており、割り込み要求信号線19を介してプロセッサ11に対して周期的な割り込みを発生する。
【0043】
B.アプリケーション・プログラムの構成
本実施形態では、アプリケーション・プログラムは、マルチタスク環境下で実行される複数のタスクで構成され、複数の機能を提供することができる。図2には、アプリケーション・プログラム100の構成を模式的に示している。
【0044】
図示のアプリケーション・プログラム100によれば、並行動作する複数のタスクの連携によって、ある特定の機能が実現される。この一連の動作のことをセッションと呼び、セッションの動作に係るタスクをセッション構成タスクと呼ぶ。図示の例では、タスク111、タスク112、タスク113の実行順序で構成されるセッション101と、タスク112、タスク114、タスク115の実行順序で構成されるセッション102が定義されている。
【0045】
また、アプリケーション・プログラム100を構成するタスクの1つはセッション・マネージャ110であり、セッション毎の動作の実行を管理する。セッション・マネージャ110は、アプリケーション・プログラム100内のすべてのセッションを一元的に管理するために、あらかじめ静的に定義されているセッション登録テーブル130を備えている。セッション登録テーブル130には各セッションの識別番号と、それぞれのセッションを構成するタスクの識別番号並びに実行順序、各セッションにおいて使用されるハードウェア資源が格納されている。
【0046】
セッション登録テーブル130には、セッションを構成するタスクの数だけタスク識別番号が登録される。このとき、異なるセッションで同一のタスクを重複して登録することが可能である。図2に示す例では、タスク112は、セッション101及びセッション102の双方に登録されている。
【0047】
セッション・マネージャ110は、セッション登録テーブル130を用いて、セッションを実行するためのリソースと実行状態を管理する。ここで言うリソース管理には、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理などが含まれる。
【0048】
また、セッションは、タスクと同様に、起動、中断、再開、終了など、動作の実行状態を遷移させることが可能である。これらセッション単位の実行状態の操作及び管理は、セッション・マネージャ110が当該プログラム外部からの要求に応じて行なう。
【0049】
セッションの操作の際には、セッション・マネージャ110がセッションを構成するすべてのタスクの操作を一括して行なうので、セッション操作を要求する側では個々のセッション構成タスクを意識する必要はない。
【0050】
セッションの起動は、セッション・マネージャ110が、セッション登録テーブル130から当該セッションを構成する各タスクの識別番号を読み込み、該当するタスクを一斉に起動することにより行なわれる。この際、セッション・マネージャ110は、該当するセッションに対してセッション管理テーブルを作成し、そこに当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録し監視する。
【0051】
また、セッションの中断及び再開の操作は、セッション・マネージャ110が、指定された識別番号を持つセッションに対し、セッション管理テーブルに記録されているセッション構成タスクの実行を一斉に中断又は再開することにより行なわれる。
【0052】
また、セッションの終了では、セッション・マネージャ110は、セッション構成タスクを一斉に強制終了し、当該セッションのセッション管理テーブルを削除する。
【0053】
上述したセッション操作の際におけるセッションを構成する各タスクの動作は、セッション・マネージャ110がオペレーティング・システムのシステム・コールを発行することにより制御する。1つのアプリケーション・プログラムにおいて複数のセッションを登録することが可能であり、複数のセッションを同時に並行動作させることが可能である。また、同種のセッションを複数同時に動作させることも可能である。また、異種のセッション間で同一のタスクを共有することも可能である。
【0054】
C.具体例
前項Bでは、複数のタスクで構成され、マルチタスク環境下で実行されるアプリケーション・プログラムが、提供する機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義し、タスクの1つとして構成されるセッション・マネージャが呼び出されたセッションを実行するためのリソースと実行状態を管理する、という点を説明した。これによって、複数のタスクをセッションという形で一元的に管理することができ、なお且つ、実行効率、生産性、移植性、保守性といったタスク単位での開発のメリットを生かすことができる。また、セッションを操作する側では、個々のタスクの状態を意識することなく、必要な機能を実現することが可能である。また、セッション間でタスクを共有することができるので、従来のタスク単体よりも効率的なアプリケーション開発が可能となる。
【0055】
この項では、DVD記録再生装置における組み込みアプリケーションを例にとって、本発明に係るアプリケーション・プログラムの機能構成並びのその作用について説明する。
【0056】
図3には、DVD記録再生装置における組み込みアプリケーションの構成を模式的に示している。
【0057】
アプリケーション・プログラムは、複数のタスクで構成される。図示の例では、アプリケーション・プログラムを構成するタスクは、ソフトウェア・ブロックに格納されており(但し、セッション・マネージャを除く)、再生制御タスク、記録制御タスク、入出力制御タスク、多重化タスク、逆多重化タスク、映像符号化タスク、映像逆符号化タスク、音声符号化タスク、音声逆符号化タスク、メモリ制御タスクなどのタスクからなる。また、アプリケーション・プログラム中の各タスクは、システム10が持つハードウェア資源を使用する。例えば、入出力制御タスクは入出力制御装置を使用し、多重化タスクは多重化装置を使用し、逆多重化タスクは逆多重化装置を使用し、映像符号化タスク並びに映像逆符号化タスクは映像信号制御装置を使用し、音声符号化タスク並びに音声逆符号化タスクは音声信号制御装置を使用し、メモリ制御タスクはメモリを使用する。
【0058】
また、アプリケーションは、並行動作する複数のタスクの連携によって、DVDディスクの記録面に対する再生や記録特定の機能が実現される。ここでは、これら再生や記録に関する一連の動作のことをそれぞれ「再生セッション」、「記録セッション」と呼ぶ。
【0059】
図示の例では、再生セッションは、再生制御タスク、入出力制御タスク、逆多重化タスク、映像逆符号化タスク、音声逆符号化タスク、メモリ制御タスクというセッション構成タスクで定義される。また、記録セッションは、記録制御タスク、入出力制御タスク、多重化タスク、映像符号化タスク、音声符号化タスク、メモリ制御タスクというセッション構成タスクで定義される。
【0060】
また、このアプリケーション・プログラムを構成するタスクの1つは、セッション・マネージャであり、セッション毎の動作の実行を管理する。セッション・マネージャは、このアプリケーション・プログラム内のすべてのセッションを一元的に管理するために、あらかじめ静的に定義されているセッション登録テーブルを備えている。セッション登録テーブルには、再生セッション、記録セッションなど各セッションの識別番号と、それぞれのセッションを構成するタスクの識別番号並びに実行順序、各セッションにおいて使用されるハードウェア資源が格納されている。
【0061】
セッション登録テーブルには、セッションを構成するタスクの数だけタスク識別番号が登録される。このとき、異なるセッションで同一のタスクを重複して登録することが可能である。図3に示す例では、入出力制御タスクやメモリ制御タスクは、再生セッション及び記録セッションの双方に登録されている。
【0062】
セッション・マネージャは、外部からセッションのオープンが指示されると、セッション登録テーブルを参照して、当該セッションを構成するタスクや、各タスクが使用するハードウェア資源を獲得する。そして、セッション構成タスクのインスタンスを生成するとともに、インスタンスによるハードウェア資源に対する入出力を管理する。
【0063】
また、これらのセッションは、タスクと同様に、起動、中断、再開、終了など、動作の実行状態を遷移させることが可能である。これらセッション単位の実行状態の操作及び管理は、セッション・マネージャが外部からの要求に応じて行なう。セッションの操作の際には、セッション・マネージャがセッションを構成するすべてのタスクの操作を一括して行なうので、セッション操作を要求する側では個々のセッション構成タスクを意識する必要はない。
【0064】
図3に示す例では、再生セッションや記録セッションを始め複数のセッションが登録されている。図示の例では、再生セッションや記録セッションなど複数のセッションが同時に並行動作している。また、2つの再生セッションが同時に動作している。また、再生セッションと記録セッションという異種のセッション間で、入出力制御タスクとメモリ制御タスクが共有されている。再生セッション1、記録セッション2、再生セッション1は、ソフトウェア・ブロックにあるセッション構成タスクのインスタンスを生成したイメージを示している。
【0065】
図4には、図3に示したDVD記録再生装置における組み込みアプリケーションにおいて、再生セッションを起動する際に行なわれる動作シーケンスを示している。
【0066】
セッションの起動操作は、セッション・マネージャが、セッション登録テーブルから当該セッションを構成する各タスクの識別番号を読み込み、該当するタスクを一斉に起動することにより行なわれる。
【0067】
すなわち、コマンド・インターフェースからセッション・オープンの指示がなされると、セッション・マネージャは、該当するセッションに対してセッション管理テーブル(図示しない)を作成する。すなわち、セッション登録テーブルに問い合わせて、ハードウェア資源の獲得を行ない各ハードウェア資源の状態をセッション管理テーブルに書き込むとともに、再生セッションを構成するタスクを検索し、セッションの状態をセッション管理テーブルに書き込む。
【0068】
次いで、セッション・マネージャは、再生セッションを構成するすべてのタスクを一斉に起動する。このタスクの起動操作は、セッション・マネージャがオペレーティング・システムのシステム・コールを発行することにより制御する。すなわち、オペレーティング・システムは、セッション・マネージャからのシステム・コールに応答して、再生制御タスク、入出力制御タスク、逆多重化タスク、映像逆符号化タスク、音声逆符号化タスク、メモリ制御タスクという再生セッションを構成するすべてのタスクを一斉に起動する。
【0069】
オペレーティング・システムは、再生セッションを構成するすべてのタスクの起動が完了すると、タスクの起動完了をセッション・マネージャに通知する。そして、セッション・マネージャは、コマンド・インターフェースに再生セッションの起動完了を通知する。
【0070】
その後、セッションが開始され、オペレーティング・システムは、コマンド・インターフェースからの指示に従って個々のタスクの動作を開始する。
【0071】
セッション起動の際、セッション・マネージャは、該当するセッションに対してセッション管理テーブル(図示しない)を作成し、そこに当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録し監視する。
【0072】
また、図5には、図3に示したDVD記録再生装置における組み込みアプリケーションにおいて、再生セッションを終了する際に行なわれる動作シーケンスを示している。
【0073】
再生セッションの終了では、セッション・マネージャは、再生セッションを構成するすべてのタスクを一斉に強制終了し、当該セッションのセッション管理テーブルを削除する。
【0074】
すなわち、コマンド・インターフェースからセッション・クローズの指示がなされると、セッション・マネージャは、セッション管理テーブルでセッションの状態を参照して再生セッションの状態を取得した後、オペレーティング・システムに対してセッションを構成するすべてのタスクを終了する旨のシステム・コールを発行する。
【0075】
オペレーティング・システムは、このシステム・コールに応答して、再生制御タスク、入出力制御タスク、逆多重化タスク、映像逆符号化タスク、音声逆符号化タスク、メモリ制御タスクという再生セッションを構成するすべてのタスクを一斉に終了する。
【0076】
オペレーティング・システムは、再生セッションを構成するすべてのタスクの終了が完了すると、タスクの終了完了をセッション・マネージャに通知する。そして、セッション・マネージャは、セッション管理テーブルを参照して、セッション構成タスクにおいて使用されていたハードウェア資源を解放するとともに、セッション管理テーブルを削除する。そして、セッション・マネージャは、コマンド・インターフェースにセッション終了の完了を通知する。
【0077】
図4〜図5の説明からも分るように、セッションを操作する側すなわちコマンド・インターフェースは、個々のタスクの状態を意識せず、必要な機能を実現できる。
【0078】
[追補]
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0079】
【発明の効果】
以上詳記したように、本発明によれば、アプリケーションが複数の機能を同時並行して動作する際に複数の機能で同一のタスクを好適に共有することができる、優れたプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムを提供することができる。
【0080】
また、本発明によれば、複数の機能で共有されるタスクのリソースと実行状態を好適に管理することができる、優れたプログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラムを提供することができる。
【0081】
本発明によれば、複数のタスクをセッションという形で一元的に管理することができ、なお且つ実行効率、生産性、移植性、保守性といったタスク単位での開発のメリットを生かすことができる。
【0082】
本発明によれば、セッションを操作する側では、個々のタスクの状態を意識することなく、必要な機能を実現することが可能である。また、セッション間でタスクを共有することができるので、従来のタスク単体よりも効率的なアプリケーション開発が可能となる。
【図面の簡単な説明】
【図1】本発明の実施に供されるプログラム処理システムの構成を模式的に示した図である。
【図2】アプリケーション・プログラムの構成を模式的に示した図である。
【図3】DVD記録再生装置における組み込みアプリケーションの構成を模式的に示した図である。
【図4】図3に示したDVD記録再生装置における組み込みアプリケーションにおいて、再生セッションを起動する際の動作シーケンスを示した図である。
【図5】図3に示したDVD記録再生装置における組み込みアプリケーションにおいて、再生セッションを終了する際の動作シーケンスを示した図である。
【符号の説明】
10…プログラム処理システム
11…プロセッサ
12…RAM
13…ROM
14…入出力装置
15…タイマ
16…システム・バス
19…割り込み要求線
21…ディスプレイ
22…キーボード
23…マウス
24…HDD
25…メディア・ドライブ
100…アプリケーション・プログラム
102,103…セッション
110…セッション・マネージャ
111,112,113,114,115…タスク
121,122…セッション管理テーブル
130…セッション登録テーブル

Claims (26)

  1. 複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で複数のタスクからなるプログラムを実行するプログラム処理システムであって、
    プログラムが提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義手段と、
    呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理手段と、
    を具備することを特徴とするプログラム処理システム。
  2. 前記セッション管理手段は、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理によりセッションのリソースを管理する、
    ことを特徴とする請求項1に記載のプログラム処理システム。
  3. 前記セッション管理手段は、プログラム外部からの要求に応じてセッションの実行状態の操作及び管理を行なう、
    ことを特徴とする請求項1に記載のプログラム処理システム。
  4. 前記セッション管理手段は、プログラム内の各セッションの識別情報と各セッションを構成するタスクの識別情報をあらかじめ静的に規定したセッション登録手段を備え、セッションを構成するタスクを一斉に起動することによりセッションの起動操作を行なう、
    ことを特徴とする請求項1に記載のプログラム処理システム。
  5. 前記セッション管理手段は、セッションの起動時に当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録するためのセッション管理テーブルを作成し、これに基づいてセッションを管理する、
    ことを特徴とする請求項4に記載のプログラム処理システム。
  6. 前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクの実行を一斉に中断又は再開することによりセッションを中断又は再開操作する、
    ことを特徴とする請求項5に記載のプログラム処理システム。
  7. 前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクを一斉に強制終了するとともに、セッション管理テーブルを削除することによりセッションを終了操作する、
    ことを特徴とする請求項5に記載のプログラム処理システム。
  8. 前記セッション管理手段は、セッション操作において該セッションを構成する各タスクの操作を前記オペレーティング・システムへのシステム・コールを発行することにより制御する、
    ことを特徴とする請求項1に記載のプログラム処理システム。
  9. 複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で複数のタスクからなるプログラムを実行するプログラム処理方法であって、
    プログラムが提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義ステップと、
    呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理ステップと、
    を具備することを特徴とするプログラム処理方法。
  10. 前記セッション管理ステップでは、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理によりセッションのリソースを管理する、
    ことを特徴とする請求項9に記載のプログラム処理方法。
  11. 前記セッション管理ステップでは、プログラム外部からの要求に応じてセッションの実行状態の操作及び管理を行なう、
    ことを特徴とする請求項9に記載のプログラム処理方法。
  12. 前記セッション管理ステップでは、プログラム内の各セッションの識別情報と各セッションを構成するタスクの識別情報をあらかじめ静的に登録し、セッションを構成するタスクを一斉に起動することによりセッションの起動操作を行なう、
    ことを特徴とする請求項9に記載のプログラム処理方法。
  13. 前記セッション管理ステップでは、セッションの起動時に当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録するためのセッション管理テーブルを作成し、これに基づいてセッションを管理する、
    ことを特徴とする請求項12に記載のプログラム処理方法。
  14. 前記セッション管理ステップは、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクの実行を一斉に中断又は再開することによりセッションを中断又は再開操作する、
    ことを特徴とする請求項13に記載のプログラム処理方法。
  15. 前記セッション管理ステップでは、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクを一斉に強制終了するとともに、セッション管理テーブルを削除することによりセッションを終了操作する、
    ことを特徴とする請求項13に記載のプログラム処理方法。
  16. 前記セッション管理ステップでは、セッション操作において該セッションを構成する各タスクの操作を前記オペレーティング・システムへのシステム・コールを発行することにより制御する、
    ことを特徴とする請求項9に記載のプログラム処理方法。
  17. 複数のタスクで構成され、複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で実行することにより複数の機能を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
    提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義手段と、
    呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理手段と、
    を具備することを特徴とするコンピュータ・プログラム。
  18. 前記セッション管理手段はコンピュータ・プログラムを構成するタスクである、
    ことを特徴とする請求項17に記載のコンピュータ・プログラム。
  19. 前記セッション管理手段は、セッションに含まれるタスクのインスタンスの生成及びタスクが行なう入出力の管理によりセッションのリソースを管理する、
    ことを特徴とする請求項17に記載のコンピュータ・プログラム。
  20. 前記セッション管理手段は、前記コンピュータ・プログラム外部からの要求に応じてセッションの実行状態の操作及び管理を行なう、
    ことを特徴とする請求項17に記載のコンピュータ・プログラム。
  21. 前記セッション管理手段は、前記コンピュータ・プログラム内の各セッションの識別情報と各セッションを構成するタスクの識別情報をあらかじめ静的に規定したセッション登録手段を備え、セッションを構成するタスクを一斉に起動することによりセッションの起動操作を行なう、
    ことを特徴とする請求項17に記載のコンピュータ・プログラム。
  22. 前記セッション管理手段は、セッションの起動時に当該セッション及び各セッション構成タスクの識別番号及び動作状態を記録するためのセッション管理テーブルを作成し、これに基づいてセッションを管理する、
    ことを特徴とする請求項21に記載のコンピュータ・プログラム。
  23. 前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクの実行を一斉に中断又は再開することによりセッションを中断又は再開操作する、
    ことを特徴とする請求項22に記載のコンピュータ・プログラム。
  24. 前記セッション管理手段は、指定された識別情報を持つセッションに対し、セッション管理テーブルの記録されているセッション構成タスクを一斉に強制終了するとともに、セッション管理テーブルを削除することによりセッションを終了操作する、
    ことを特徴とする請求項22に記載のコンピュータ・プログラム。
  25. 前記セッション管理手段は、セッション操作において該セッションを構成する各タスクの操作を前記オペレーティング・システムへのシステム・コールを発行することにより制御する、
    ことを特徴とする請求項17に記載のコンピュータ・プログラム。
  26. 複数のタスクを擬似的に並列に実行させることができるマルチタスク・オペレーティング・システムが提供するマルチタスク環境下で複数のタスクからなるプログラムの処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
    プログラムが提供する各機能毎に該機能を実現するために必要なタスクとその実行順序をセッションとして定義するセッション定義ステップと、
    呼び出されたセッションを実行するためのリソースと実行状態を管理するセッション管理ステップと、
    を具備することを特徴とするプログラム・プログラム。
JP2003105840A 2003-04-09 2003-04-09 プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム Pending JP2004310615A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003105840A JP2004310615A (ja) 2003-04-09 2003-04-09 プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
US10/817,792 US20040261076A1 (en) 2003-04-09 2004-04-06 Program processing system, program processing method, and computer program
KR1020040023533A KR20040087898A (ko) 2003-04-09 2004-04-06 프로그램 처리 시스템 및 프로그램 처리 방법, 및컴퓨터·프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003105840A JP2004310615A (ja) 2003-04-09 2003-04-09 プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2004310615A true JP2004310615A (ja) 2004-11-04

Family

ID=33468235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003105840A Pending JP2004310615A (ja) 2003-04-09 2003-04-09 プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US20040261076A1 (ja)
JP (1) JP2004310615A (ja)
KR (1) KR20040087898A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058541A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd プロセッサ、処理方法及び処理プログラム
JP5783246B2 (ja) * 2011-03-19 2015-09-24 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4288609B2 (ja) * 2005-03-14 2009-07-01 ソニー株式会社 再生装置、再生方法、再生プログラム、記録装置、記録方法及び記録プログラム
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
KR100755710B1 (ko) * 2006-05-16 2007-09-05 삼성전자주식회사 태스크 수행을 위한 장치 및 방법
KR100850583B1 (ko) * 2006-12-01 2008-08-06 한국전자통신연구원 Tpm 명령어 처리 방법 및 이를 이용한 무선 단말
KR100865572B1 (ko) * 2007-12-04 2008-10-28 한국전자통신연구원 이동통신 단말기의 인터페이스 제공 장치 및 그 방법
US8799912B2 (en) * 2009-07-22 2014-08-05 Empire Technology Development Llc Application selection of memory request scheduling
US8839255B2 (en) * 2009-07-23 2014-09-16 Empire Technology Development Llc Scheduling of threads by batch scheduling
WO2013100923A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Pipelined image processing sequencer
US11943305B2 (en) * 2022-07-20 2024-03-26 Bentley Systems, Incorporated Workspace databases

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058541A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd プロセッサ、処理方法及び処理プログラム
JP5783246B2 (ja) * 2011-03-19 2015-09-24 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
US9424085B2 (en) 2011-03-19 2016-08-23 Fujitsu Limited Recognizing a process group that is related to an application

Also Published As

Publication number Publication date
US20040261076A1 (en) 2004-12-23
KR20040087898A (ko) 2004-10-15

Similar Documents

Publication Publication Date Title
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
KR100928603B1 (ko) 가상 머신 정보를 최적화하는 방법 및 시스템, 머신 액세스가능 매체
US7840965B2 (en) Selective generation of an asynchronous notification for a partition management operation in a logically-partitioned computer
JP5496254B2 (ja) マシンから仮想マシンへの変換
US6275893B1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US7827551B2 (en) Real-time threading service for partitioned multiprocessor systems
KR101330495B1 (ko) 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법
JP4690988B2 (ja) 持続的なユーザレベルスレッド用の装置、システムおよび方法
TWI273495B (en) Information processing device, process control method, and computer program
JP2003345612A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
WO2006035728A1 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
US20050204013A1 (en) Portable personal computing environment technologies
JP2004310615A (ja) プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
JP3938343B2 (ja) タスク管理システム、プログラム、及び制御方法
JP2004334537A (ja) プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
US20140325508A1 (en) Pausing virtual machines using api signaling
JP3993342B2 (ja) 電子計算機における処理の中断/再開方法
JP2005293417A (ja) コンピュータ機器、コンピュータネットワークシステム、プログラム転送方法およびプログラム転送用プログラム
CN115981795B (zh) 一种在安卓设备上通过容器实现系统隔离的方法
JP2004005227A (ja) 演算処理システム、コンピュータ・システム上での例外処理方法、並びにコンピュータ・プログラム
JP2003067200A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
JPH113231A (ja) ソフトウェア処理方法
JP2003345607A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、プログラム変換方法、並びにコンピュータ・プログラム