JP4727478B2 - デバイス制御装置及びデバイス制御プログラム - Google Patents
デバイス制御装置及びデバイス制御プログラム Download PDFInfo
- Publication number
- JP4727478B2 JP4727478B2 JP2006089866A JP2006089866A JP4727478B2 JP 4727478 B2 JP4727478 B2 JP 4727478B2 JP 2006089866 A JP2006089866 A JP 2006089866A JP 2006089866 A JP2006089866 A JP 2006089866A JP 4727478 B2 JP4727478 B2 JP 4727478B2
- Authority
- JP
- Japan
- Prior art keywords
- script
- driver
- processing
- kernel space
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
また、デバイスドライバとはコンピュータに接続された周辺機器を制御するプログラムである。近年、周辺機器を制御するために家庭用電気機器、すなわち家電にもOS及びデバイスドライバが組み込まれつつある。
なお、一般的には、デバイスドライバというと、OSに読み込まれて周辺機器を制御するプログラムであって、そのOS用の記述仕様に沿って作成されたプログラムを指すことが多いが、本明細書、特許請求の範囲及び図面中においては、このようなデバイスドライバだけでなく、周辺機器を制御するプログラムであれば特にOS用の記述仕様に従っていなくてもデバイスドライバと称する。
通常、デバイスドライバは特許文献1に記載されているように、カーネル空間に置かれ、OSと一体になって実行される。この場合は、OSのスケジューラによりアプリケーションプログラムの処理よりも優先的にデバイスドライバの処理が割当てられるため、応答速度の速い処理が可能となる。さらにカーネル空間からはハードウェアを直接制御できるため、処理全体も高速化できるという利点もある。
また、特許文献2に記載されているように、アプリケーションプログラム側でデバイスドライバの処理を行う場合もあり、この場合は、移植性が高く、デバッグも比較的容易であるという利点がある。
一方、特許文献2に記載されているような、アプリケーションプログラム側でドライバ処理を行う場合は、直接にハードウェアを制御することができず、OSによる処理の優先度が低くなることにより、ハードウェアからの割込み応答処理速度が遅くなり、シビアなタイミングが要求される処理に対応できないなどの問題がある。
一形態として、ユーザ空間のアプリケーションプログラムが実行されるときに、各デバイスを制御するために用いられるアルゴリズムを含むスクリプトがカーネル空間のドライバ処理部に読み込まれ、各デバイス処理部においてスクリプトが実行されることにより各デバイスが制御される。これにより、デバイスドライバの変更やデバッグが容易なまま処理速度の高速化を図ることが可能となる。
また、本発明の放送受像機は、デバイス制御装置を備える。
また、本発明の放送受像機は、デバイス制御プログラムを備える。
図1は、周辺機器が接続されたコンピュータのソフトウェアの全体構成図である。このコンピュータにはn個の周辺機器が接続され、1番目、2番目、n番目の周辺機器をそれぞれデバイス41、42、43と表わす。
以下の説明において、コンピュータに読み込まれたプログラムであるドライバ処理部100、ドライバ処理部100に含まれる実行部、処理部等、あるいはアプリケーションプログラム200が何らかの処理を行うという記載は、それらのプログラムがコンピュータのCPUによって実行されることにより当該処理をコンピュータに実行させることを意味する。
図1では1番目、2番目、n番目のデバイス処理部をデバイス1処理部10、デバイス2処理部20、デバイスn処理部30と表わす。これらはドライバ処理部100を構成する。
通常、スクリプトはインタプリタ型の言語であり、スクリプトの内容を逐次解釈しながら処理が実行される。本発明のスクリプトもこのような逐次解釈の形で実行するように実現可能であり、その場合は、スクリプトを逐次解釈するためのインタプリタをドライバ処理部100が持っている形になる。「ドライバ処理部=スクリプトのインタプリタ」と言える場合もある。
また、本発明では、スクリプトは逐次解釈される形のみを想定しているわけではなく、C言語など、従来のコンパイル型言語と同様に、最初の時点で実行形式(プログラムコード)にコンパイル(翻訳)され、その後はCPUによって直接実行できるように実現することも可能である。これは、ドライバ処理部100あるいはアプリケーションプログラム200が、スクリプトを実行形式に翻訳するコンパイラを備え、スクリプトがドライバ処理部100に読み込まれる際に、スクリプトを実行形式に翻訳したものを読み込ませることによって実現できる。
図3はアプリケーションがバス制御ドライバを介してハードウェアに対してデータの書込み処理を行う場合の概念図である。アプリケーションはハードウェア初期化などのドライバ初期化処理を行う(S101)。次に、書込むデータを用意された書き込み用のバッファに入力して、データ書込み処理を呼び出す(S102)。
データ書込み処理では、まず初期設定として、バススピード設定や、割り込みが開始されるように設定を行う(S103)。次に、バッファのデータの内で所定の送信単位(例では1byte)のデータ値をハードウェアのレジスタに書込み、データ送信をする(S104)。1byteのデータ送信が完了すると、ハードウェアが割込み処理を呼出す(S105)。割込み処理は次の1byteデータの入力をするために、データ書込み処理を呼出す(S106)。S104〜S106を繰り返し、全てのデータが書込まれると、アプリケーションにデータ書き込み終了を通知する(S107)。
データ読込み処理では、まず初期設定として、バススピード設定や、割り込みが開始されるように設定を行う(S203)。次に、バッファのデータの内で所定の取得単位(例では1byte)のデータ値をハードウェアのレジスタから読込んで、データを取得する(S204)。次の1byteのデータ取得が完了すると、ハードウェアが割込み処理を呼出す(S205)。割込み処理は次の1byteデータを取得するために、データ読込み処理を呼出す(S206)。S204〜S206を繰り返し、全てのデータが読込まれると、アプリケーションに読み込み終了を通知する(S207)。
図6は従来の主な2つのソフトウェアスタック構成を示している。図6(a)はカーネル空間上でデバイスを制御する場合の構成である。カーネル空間のデバイスドライバ上に、デバイスを制御するドライバ処理シーケンスが実装されている。デバイスドライバはカーネル(以下、単に「カーネル」とはデバイスドライバを含まないOSを意味する)の管理下にあるため、ハードウェアなどからのドライバに対する割込み応答速度は速く、システム全体として最適にドライバ処理が行われる。
図7は放送受像機を例とする本発明の一実施形態であり、周辺機器が接続された放送受像機に内蔵されたコンピュータのソフトウェアスタック構成を示す。なお、図7では図5におけるカーネルの記載は省略されている。コンピュータの記憶領域は論理的な空間としてユーザ空間とカーネル空間に分けられ、これらの空間におけるソフトウェアスタック構成は、ユーザ空間2にはアプリケーションプログラム200、カーネル空間1にはデバイスドライバとして動作するドライバ処理部100が読み込まれている。ドライバ処理部100は、ハードウェアなどを制御する各種ドライバ処理シーケンスを記述したスクリプトを実行するスクリプト実行部101、スクリプトを保存するスクリプト保存部102、符号化された音声データを復号化するための音声復号化処理部103、符号化された映像データを復号化するための映像復号化処理部104、音声や映像などのデータを受信処理するためのデータ受信処理部105、タイマを用いて同期信号を生成するための同期信号生成部106、ユーザがリモコンなどを用いて設定した選局情報を受信するための選局情報受信部107、特定のバスに接続されたデバイスを制御するためのバス制御ドライバ108を含む。なお、バスとはコンピュータ内部でデータをやり取りするための伝送路のことであるが、周辺機器によっては特定のバスに接続することを前提に入出力インタフェースが定義されているものがあり、図7においては、音声複合化デバイス56、映像複合化デバイス57及びチューナ54が、この特定のバスに接続されることを前提として設計されているものと仮定している。
チューナ54が放送波を受信すると、チューナ54はデータ受信処理部105に割込み信号を出力する(ステップS31)。データ受信処理部105は割込み信号に応答し、チューナ54からデータを取得する(ステップS32)。データ受信処理部105は取得したデータを音声復号化処理部103及び映像復号化処理部104へ出力する。音声復号化処理部103、映像復号化処理部104は、ドライバ処理スクリプト202に記述された処理シーケンスによるアルゴリズムと音声復号化デバイス56、映像復号化デバイス57を用いてそれぞれ音声信号、映像信号を復号化する(ステップS33)。なお、上述したように、映像復号化処理部104の処理は、タイマ53から入力されるタイミング信号を用いて同期信号生成部106によって生成された同期信号に応じて行われる。復号化された音声信号、映像信号はそれぞれスピーカ51、モニタ52へ送信される(ステップS34)。そして、ステップS31に戻り、処理を繰り返す。
一例としてカーネルがドライバ処理部100に対して関数呼び出しを行うことにより、ドライバ初期化処理(ステップS41)、データ格納領域設定及びバススピード設定(ステップS42)が行われる。これらの初期化処理または設定処理は、スクリプト実行部101からの指示に従って上記のバス制御ドライバにおいて行われる。
そして、一例として周辺機器からデータの読み出し又は書き込み処理のための割込み信号が検出されると割込み処理が開始される(ステップS43)。このとき1バイト単位で割込みが発生してバスへのデータの読み出し又は書き込みの処理が行われ(ステップS44)、例えば、周辺機器から送信された所定のバイト数のデータの読み出し又は周辺機器への所定のバイト数のデータの書き込みが行われた後、割込み処理が終了する(ステップS45)。一例として放送受像機の電源がオフされる前にバス制御ドライバの終了処理が行われる(ステップS46)。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Claims (2)
- オペレーティングシステムによって記憶領域が、オペレーティングシステム自体が置かれるカーネル空間とユーザ空間とに分けて管理され、前記カーネル空間にデバイス制御プログラムが読み込まれ、前記ユーザ空間にアプリケーションプログラムが読み込まれるコンピュータを具備するデバイス制御装置において、
周辺機器を制御するアルゴリズムが記述されたスクリプトが前記記憶領域のシーケンス書換が容易な前記ユーザ空間に記憶されており、
前記記憶領域の前記カーネル空間に前記スクリプトを保存するスクリプト保存領域を備え、
前記デバイス制御プログラムは、ユーザ空間に記憶されている前記スクリプトを、カーネル空間にある前記スクリプト保存領域に、前記アプリケーションプログラムの実行時に読み込み、該読み込んだスクリプトを逐次解釈して前記カーネル空間で実行することにより周辺機器を制御する処理を前記コンピュータに実行させることを特徴とするデバイス制御装置。 - 記憶領域が、オペレーティングシステムが置かれるカーネル空間とアプリケーションプログラムが読み込まれるユーザ空間とに分かれているコンピュータのデバイス制御プログラムであって、
前記カーネル空間にデバイスドライバを読み込むステップと、
シーケンス書換が容易な前記ユーザ空間に記憶されており周辺機器を制御するアルゴリズムが記述されたスクリプトを前記カーネル空間にあるスクリプト保存領域に、前記アプリケーションプログラムの実行時に読み込むステップと、
前記デバイスドライバが、前記スクリプト保存領域から前記スクリプトを読み込み、該読み込んだスクリプトを逐次解釈して前記カーネル空間上で実行することにより周辺機器を制御するステップと、
の処理を前記コンピュータに実行させることを特徴とするデバイス制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006089866A JP4727478B2 (ja) | 2006-03-29 | 2006-03-29 | デバイス制御装置及びデバイス制御プログラム |
PCT/JP2007/056454 WO2007119527A1 (ja) | 2006-03-29 | 2007-03-27 | 記憶装置、デバイス制御装置、デバイス制御プログラム、放送受像機及びデバイス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006089866A JP4727478B2 (ja) | 2006-03-29 | 2006-03-29 | デバイス制御装置及びデバイス制御プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007204371A Division JP4571171B2 (ja) | 2007-08-06 | 2007-08-06 | 受像機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007265064A JP2007265064A (ja) | 2007-10-11 |
JP4727478B2 true JP4727478B2 (ja) | 2011-07-20 |
Family
ID=38609306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006089866A Expired - Fee Related JP4727478B2 (ja) | 2006-03-29 | 2006-03-29 | デバイス制御装置及びデバイス制御プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4727478B2 (ja) |
WO (1) | WO2007119527A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5549363B2 (ja) | 2010-05-10 | 2014-07-16 | 株式会社リコー | 情報処理装置、印刷制御プログラム、記録媒体、画像形成装置、及び印刷システム |
WO2016043040A1 (ja) * | 2014-09-19 | 2016-03-24 | 株式会社aLab | デバイスドライバ登録装置とこれを用いたデバイスドライバの登録方法 |
CN106922189B (zh) * | 2014-09-19 | 2020-02-21 | 株式会社艾拉博 | 设备代理装置及其控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004086280A (ja) * | 2002-08-23 | 2004-03-18 | Mitsubishi Electric Corp | 情報処理装置、外部デバイスおよびドライバインストールプログラム |
JP4284499B2 (ja) * | 2003-03-07 | 2009-06-24 | ソニー株式会社 | デバイス管理方法およびデバイス管理システム |
-
2006
- 2006-03-29 JP JP2006089866A patent/JP4727478B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-27 WO PCT/JP2007/056454 patent/WO2007119527A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007119527A1 (ja) | 2007-10-25 |
JP2007265064A (ja) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677335B (zh) | 提高移动终端首次开机速度的方法及装置 | |
US6954806B2 (en) | Data transfer apparatus and method | |
EP2568408A1 (en) | Information processing device, information processing method, and program distribution system | |
CN105468410B (zh) | 系统升级方法及装置 | |
JP4727478B2 (ja) | デバイス制御装置及びデバイス制御プログラム | |
KR100725386B1 (ko) | 가상 머신 어플리케이션을 실행하는 방법 및 그 방법을이용한 디지털 방송 수신기 | |
NO319201B1 (no) | Fremgangsmate ved kommunisering av data via en anordningsdriver og tilsvarende anordningsdriver | |
CN112579038A (zh) | 一种内置录音方法、装置、电子设备和存储介质 | |
WO2012034323A1 (zh) | 使用数据卡与无线网络通信的方法、系统及数据卡 | |
CN112035273A (zh) | 一种硬件数据获取方法、系统和计算机设备 | |
JP2013246817A (ja) | 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 | |
JPWO2004034698A1 (ja) | 情報処理装置 | |
EP2487586A1 (en) | Method and system for terminal device installation | |
CN114296646A (zh) | 基于io业务的缓存方法、装置、服务器和存储介质 | |
JP4571171B2 (ja) | 受像機 | |
CN108595192A (zh) | 一种应用程序的安装方法及终端设备 | |
TWI235921B (en) | System and method for effectively performing physical direct memory access operations | |
JP4303884B2 (ja) | モデム制御 | |
WO2017047476A1 (en) | Information processing apparatus, control method therefor, and program | |
CN112612531A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
KR20110072023A (ko) | 휴대 단말기의 프로세서 간 데이터 통신 방법 및 장치 | |
KR100658918B1 (ko) | 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 | |
JP2010092240A (ja) | 情報処理装置およびデバイス認識方法 | |
US20040216140A1 (en) | Method and system for accessing system operations through an interface layer | |
JP7315750B2 (ja) | サーバシステム、クライアント装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080815 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080821 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110310 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110413 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |