JPH08314699A - オペレーティングシステムの生成方法、生成装置および計算機システム - Google Patents

オペレーティングシステムの生成方法、生成装置および計算機システム

Info

Publication number
JPH08314699A
JPH08314699A JP7115447A JP11544795A JPH08314699A JP H08314699 A JPH08314699 A JP H08314699A JP 7115447 A JP7115447 A JP 7115447A JP 11544795 A JP11544795 A JP 11544795A JP H08314699 A JPH08314699 A JP H08314699A
Authority
JP
Japan
Prior art keywords
operating system
system call
specifications
source code
call
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
JP7115447A
Other languages
English (en)
Inventor
Eiko Naya
英光 納谷
Takanori Yokoyama
孝典 横山
Atsuhiko Hirota
敦彦 廣田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7115447A priority Critical patent/JPH08314699A/ja
Publication of JPH08314699A publication Critical patent/JPH08314699A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】任意のアプリケーションの実行を可能にする必
要最小限のオペレーティングシステムを生成して、計算
機資源の消費を大幅に低減する。 【構成】オペレーティングシステム作成装置は、主記憶
装置40にオペレーティングシステムソースコードジェ
ネレータ60、外部記憶装置50にシステムコール仕様
やデバイス仕様の管理データベース70を備えている。
ジェネレータ60は、アプリケーションソースコード5
1に存在するシステムコールおよびデバイスを抽出し、
管理データベース70の定義を参照して整理した後に、
オペレーティングシステムのソースコードを自動生成
し、コンパイラ41で実行形式に変換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機システムのオペレ
ーティングシステムに係り、特に必要最小量のオペレー
ティングシステムを作成する方式に関する。
【0002】
【従来の技術】MS−DOSやUNIX等のオペレーテ
ィングシステムは、1993年刊マイクロソフトプレス
のインサイド ウインドウズNT(Micro Soft Press:I
nsideWindows NT)に示されるように、入出力デバイス
のためのデバイスドライバ、メモリ管理ルーチン、プロ
グラム実行単位であるプロセス管理ルーチン等、低レベ
ルのサービスルーチンと、それを利用して汎用性のある
サービスを提供するシステムコールとをまとめた一つの
プログラムであり、全てのシステムコールを提供するた
めに巨大な実行ファイルとなっている。このため、オペ
レーティングシステムは低レベルサービスルーチンを提
供するマイクロカーネルと、マイクロカーネルを利用し
て汎用サービスに対応するシステムコールを提供するオ
ペレーティングシステムサーバに分離する傾向となって
いる。
【0003】なお、オペレーティングシステム生成に関
する公知例には、特開昭64−46131号のように、
システム設置構成や動作環境定義のシステム生成情報
が、前オペレーティングシステムと同じものはそれを利
用してバージョンアップするものや、システム生成プロ
グラムから外部記憶装置の諸元情報を独立させ、この諸
元情報に従って任意の記憶装置に対するシステム生成を
行う特開平4−145526号などがある。
【0004】
【発明が解決しようとする課題】従来のオペレーティン
グシステムは、多種のシステム間のオープン化に伴い、
益々巨大な実行ファイルとなって、アプリケーションの
実行に必要なメモリなどの資源を無駄に消費しているこ
とが多い。これはマイクロカーネルを用いる場合も同様
で、オペレーティングシステムサーバは全てのシステム
コールを提供するので、依然として計算機資源を多量に
消費している。
【0005】また、従来のオペレーティングシステムサ
ーバは、オペレーティングシステムと1対1に対応して
いるので、他のオペレーティングシステムのシステムコ
ールを提供できない。
【0006】さらに、アプリケーションソースコードを
開発する場合、必要な全てのシステムコールを予め把握
して正確に作成しないと、コンパイルに支障が生じるた
め、ユーザのプログラム開発を難しいものにしている。
【0007】このように、従来のオペレーティングシス
テムは、一方で巨大化して計算機資源を無駄にし、他方
でユーザのアプリケーション作成を難かしくしている
が、オペレーティングシステムの生成において、アプリ
ケーションソースを利用することの考慮がみられない。
【0008】本発明の目的は、任意のアプリケーション
プログラムの実行にのみ必要なシステムコールを提供す
るオペレーティングシステムの生成方法および生成装置
を提供することにある。
【0009】本発明の目的は、アプリケーションプログ
ラムに対応し、その実行のみにサービスする最小容量の
オペレーティングシステムを備え、資源を節約できる汎
用の計算機システムを提供することにある。
【0010】
【課題を解決するための手段】本発明の目的は、アプリ
ケーションプログラムの実行に必要なシステムコールや
デバイスを提供するオペレーティングシステムの生成方
法において、予め、所要のシステムコール仕様とデバイ
ス仕様を名称毎に定義しておき、前記アプリケーション
プログラムのソースコードから抽出したシステムコール
と対応するシステムコール仕様と、該対応するシステム
コール仕様から参照又は前記ソースコードから抽出した
デバイスと対応するデバイス仕様を基に、オペレーティ
ングシステムソースコードを生成することにより達成さ
れる。
【0011】前記オペレーティングシステムは、前記ア
プリケーションプログラムが必要とする最小限のシステ
ムコールおよび/またはデバイスを提供することを特徴
とする。
【0012】本発明の目的は、また、前記アプリケーシ
ョンプログラムのソースコードから抽出したシステムコ
ールおよび/またはデバイスが、定義されている場合
は、対応するシステムコール仕様および/またはデバイ
ス仕様を基に、コンパイル可能なオペレーティングシス
テムソースコードを生成し、定義されていない場合は、
類似するシステムコール仕様および/またはデバイス仕
様を選択可能に表示し、選定されたシステムコール仕様
および/またはデバイス仕様を基に、コンパイル可能な
オペレーティングシステムソースコードを生成すること
により達成される。
【0013】本発明の他の目的は、中央処理装置と主記
憶装置を備える計算機システムにおいて、前記主記憶装
置にアプリケーションプログラムとオペレーティングシ
ステムを記憶し、前記オペレーティングシステムは、前
記中央処理装置による前記アプリケーションプログラム
の実行に際して提供する必要最小限のシステムコールを
有してなることにより達成される。
【0014】
【作用】本発明のオペレーティングシステムの生成方式
によれば、任意のアプリケーションソースコードに存在
するシステムコールやデバイスを、通常はそれを含む行
毎抽出し、管理データベースに定義されている場合は、
対応する仕様を基に、それらのシステムコールやデバイ
スを提供するオペレーティングシステムのソースコード
を生成する。
【0015】一方、抽出したシステムコール/デバイス
が、前記管理データベースに定義されていない場合は、
類似のシステムコール仕様/デバイス仕様を選択可能に
表示し、ユーザにより選択されたシステムコール仕様/
デバイス仕様を基に、オペレーティングシステムを生成
する。
【0016】これによれば、生成されるオペレーティン
グシステムは、生成の基になるアプリケーションプログ
ラムを実行するのに必要最小限のシステムコールやデバ
イスを提供するものとなるので、低容量のオペレーティ
ングシステムを提供できる。
【0017】また、アプリケーションソースコードに記
述されているシステムコールやデバイスが、定義されて
いる仕様と不一致の場合でも、類似のものを表示してユ
ーザの選択に供して代替可能にしているので、ユーザは
システムコール等を熟知していなくともよく、アプリケ
ーションプログラムの作成が容易になる。
【0018】また、本発明の計算機システムの作用によ
れば、オペレーティングシステムはアプリケーションプ
ログラムの実行のみをサービスする必要最小量を実装さ
れているので、計算機資源の無駄がくなり、資源の効率
的な使用と小型化が可能になる。また、小型の汎用計算
機を利用して、種々のアプリケーションの専用機を構築
でき、しかも専用機の変更を簡単に行える。
【0019】
【実施例】以下、本発明の複数の実施例を図面に基づい
て説明する。
【0020】図1は、本発明のオペレーティングシステ
ム生成装置の一実施例で、表示装置1、入力装置2、中
央処理装置3、主記憶装置40、外部記憶装置50を備
える計算機システムにより構成される。主記憶装置40
はオペレーティングシステムソースコードジェネレータ
60とコンパイラ41のプログラムを有している。外部
記憶装置50はアプリケーションプログラムソースコー
ドのファイル51、被生成オペレーティングシステムソ
ースコードのファイル52、管理データベース70を有
している。管理データベース70はオペレーティングシ
ステムが提供するシステムコールの仕様80と、システ
ムコール仕様80に対応するシステムコールライブラリ
71と、デバイス仕様90と、デバイス仕様90に対応
するデバイスライブラリ72を有している。
【0021】システムコール仕様80は名称毎に、引数
型、処理内容などを定義されている。システムコールラ
イブラリ71は、システムコールに対応しオペレーティ
ングシステムのソースコードを生成するときに参照され
るコード名を記憶している。デバイス仕様90は、名称
毎に識別子などを定義されている。デバイスライブラリ
72は、デバイスに対応しオペレーティングシステムの
ソースコードを生成するときに参照されるコード名を記
憶している。
【0022】図2は、本発明の第一の実施例によるオペ
レーティングシステムソースコードジェネレータ60の
機能ブロックを示したものである。アプリケーションソ
ースコード読み込み部61、アプリケーションソースコ
ード解析部62、被利用システムコール登録部63、被
利用システムコールテーブル64、被利用デバイス登録
部65、被利用デバイステーブル66及びソースコード
生成部67から構成されている。
【0023】図3は、本実施例のオペレーティングシス
テム生成装置の動作を示すフローチャートである。
【0024】本装置のジェネレータ60が起動される
と、アプリケーションソースコード読み込み部61が、
アプリケーションソースコード51の1行毎に読み込む
(ステップS11)。次に、アプリケーションソースコー
ド解析部62が、読み込み行にシステムコールが存在す
るか解析し、存在すれば管理データベース70のシステ
ムコール仕様部80を参照し、対応するシステムコール
仕様を抽出する(ステップS12)。被利用システムコー
ル登録部テーブル64は、抽出したシステムコール仕様
を被利用システムコールテーブル64に登録する(ステ
ップS13)。
【0025】さらに、アプリケーションソースコード解
析部62は読み込み行にデバイスが存在するか解析し、
存在すればデバイス仕様部90を参照し、対応するデバ
イス仕様を抽出し(ステップS14)、被利用デバイステ
ーブル66に登録する(ステップS15)。なお、ステッ
プS14においては、ステップS12で抽出したシステ
ムコール仕様にデバイス名称等が含まれている場合は、
その名称等に対応するデバイス仕様をデバイス仕様部9
0から抽出する。
【0026】この後、再度アプリケーションソースコー
ド51の読み込みに戻る。ステップS11で、アプリケ
ーションソースコード51の終端に達した場合にはステ
ップS16に移行する。ソースコード生成部67は、被
利用システムコールテーブル64内のシステムコールや
被利用デバイステーブル66内のデバイスに重複があれ
ばそれを整理し(ステップS16,S17)、最終的に登
録されているシステムコールやデバイスを提供するオペ
レーティングシステムのソースコードを生成し、被生成
ソースコードファイル52に記憶する(ステップS1
8)。
【0027】本実施例を実行した具体的な一例を図4、
図5により説明する。図4に、管理データベースの登録
内容を示す。同図(a)はシステムコール仕様80の一
部を示す。通信システムコールの名称であるsokce
t81は、そのint型引数82とネットワークデバイ
ス情報名称(NET)83を定義されている。同図
(b)はデバイス仕様90の一部を示し、ネットワーク
デバイス情報のNET92に、それを組み込む場合のコ
ンパイルに必要な識別子CONFIG_NET93が定
義されている。
【0028】図5に、オペレーティングシステムソース
コードの生成過程を示す。ソースコードジェネレータ6
0がアプリケーションソースコード51の1行を読み出
して解釈すると、行内にシステムコールsocketが
含まれているので、対応する通信システムコール仕様s
okcet81が抽出され、被利用システムコールテー
ブル64に定義内容であるシステムコール52として登
録される。この読出した行にはデバイスの記述はない。
しかし、システムコール仕様socket81から、デ
バイスNETの必要なことがわかるので、ネットワーク
デバイス仕様NET91が抽出され、被利用デバイステ
ーブル66に定義内容であるデバイス53として登録さ
れる。ネットワークデバイスNET53が登録される。
【0029】ソースコード生成部67は、システムコー
ルライブラリ71を参照し、被利用システムコールテー
ブル64から読み出したsocket52から、コンパ
イル可能なシステムコールライブラリコンパイル実行指
定ソースファイル54を生成する。同様に、デバイスラ
イブラリ72を参照し、被利用デバイステーブル66か
ら読み出したNET53から、デバイスドライバコンパ
イル実行指定ソースファイル55を生成し、さらにコン
パイラ41によって実行形式のオペレーティングシステ
ムに変換する。このソースコードの生成や変換は周知の
方法による。なお、ソースファイル54、55は、外部
記憶装置50の被生成オペレーティングシステムファイ
ル52に設けられる。
【0030】本実施例では、任意のアプリケーションソ
ースコードから抽出したシステムコールやデバイスにつ
いて、管理データベースを参照し、予め定義されている
システムコール仕様やデバイス仕様の中から対応する仕
様を抽出して、オペレーティングシステムを自動的に生
成する。これによれば、当該アプリケーションの実行に
のみサービスされるオペレーティングシステムが生成で
きるので、必要最小限の容量となって大幅に減量され、
計算機資源の無駄な消費がなくなり効率化できる。
【0031】次に、本発明のオペレーティングシステム
作成装置の第二の実施例を図6〜図11にしたがって説
明する。なお、作成装置の基本構成は図1と同等であ
る。
【0032】図6に、オペレーティングシステムソース
コードジェネレータ60の機能ブロックを示し、図2と
同等の要素には同一の符号を付して説明を省略する。オ
ペレーティングシステムソースコードジェネレータ60
は、図2の機能にシステムコールテーブル100、未定
義システムコールテーブル101、システムコール解析
部102、デバイステーブル103、未定義デバイステ
ーブル104及びデバイス解析部105を付加してい
る。
【0033】図7に、本実施例のオペレーティングシス
テム作成装置の動作を概略的に示し、同図に表われるサ
ブルーチンSub1〜Sub4の詳細を、図8〜図11
のフローチャートに示す。
【0034】まず、アプリケーションソースコード51
を1行毎に読み込み(ステップS31)、システムコー
ルの有無を解釈して(ステップS32)、存在していれ
ば当行の全体または関連部分のコードをシステムコール
テーブル100に登録する(ステップS33)。同様
に、デバイスの有無を解釈して(ステップS33)、存
在していれば当行または関連部をデバイステーブル10
3に登録する(ステップS33)。この後、次の行の読
み込みに戻り、読み込みがアプリケーションソースコー
ド51の終端に達していると、Sub1をコールする。
【0035】図8のSub1は、システムコール解析部
102の処理を示す。まず、システムコールテーブル1
00内の重複を排除する整理を行い(ステップS3
6)、次に、システムコールテーブル100のシステム
コール(行または関連コード)を順次読出し、管理デー
タベース70に定義されているシステムコール仕様と比
較する(ステップS37)。この比較はシステムコール
名称の一致のみでなく、たとえば引数型も一致している
かチエックする。当該行のシステムコールの関連部と内
容的に一致する定義がある場合は、定義されているシス
テムコール仕様を被利用システムコールテーブル64に
登録する(ステップS38)。一致する定義をもつ仕様
がない場合は、当該行または関連部分のコードを未定義
システムコールテーブル101に登録する(ステップS
39)。
【0036】図9のSub2は、デバイス解析部105
の処理を示す。Sub2は、Sub1のリターンにより
コールされ、デバイステーブル103内の重複を排除す
る整理を行い(ステップS40)、次に、デバイステー
ブル103のデバイスを順次読出し、管理データベース
70に定義されているデバイスと比較する(ステップS
41)。この比較はデバイス名称の一致のみでなく、た
とえば識別子も一致しているかチエックする。当該行の
デバイスの関連部と内容的に一致する定義がある場合
は、定義されているデバイス仕様を被利用デバイステー
ブル66に登録する(ステップS42)。一致する定義
をもつ仕様がない場合は、当該行または関連部のコード
を未定義デバイステーブル104に登録する(ステップ
S43)。
【0037】図10のSub3は、システムコール解析
部102の後半の処理を示す。Sub3は、Sub2の
リターンによりコールされ、未定義システムコールテー
ブル101から未定義のシステムコールを含む行をテー
ブルが空になるまで順次、読み出し(ステップS4
4)、読み出した行にあるシステムコールに対し、類似
するシステムコールを管理データベース70から探索す
る(ステップS45)。類似のシステムコールとして
は、本例では名称の一致するものを類似の範囲としてい
るが、たとえば名称毎に置換可能な複数の引数型を定義
してもよい。
【0038】システムコール仕様部80から類似システ
ムコールが探索された場合は、そのシステムコール仕様
を表示装置1に表示する(ステップS46)。そして、
入力装置2からのユーザによる選択要求を受け付けると
(ステップS47)、アプリケーションソースコードに
存在する未定義のシステムコールに対応して、選択され
たシステムコール仕様を被利用システムコールテーブル
64に登録し(ステップS48)、ステップS44に戻
る。
【0039】一方、システムコール仕様部80から類似
システムコールが探索されなかった場合は、未定義シス
テムコールの特徴データの入力をユーザに促し、入力装
置2から特徴データを受け付ける(ステップS49)。
システムコールやデバイスの特徴は必要な場合、予め仕
様の一部として定義されている。入力された特徴データ
を基に、それを定義している類似システムコールを探索
する(ステップS50)。この結果、類似システムコー
ルが存在すればステップS46に移行する。
【0040】図11のSub4は、デバイス解析部10
5の後半の処理を示す。Sub4は、Sub3のリター
ンによりコールされ、未定義デバイステーブル104か
ら未定義のデバイスを含む行を、テーブルが空になるま
で順次、読み出し(ステップS51)、読み出した行の
デバイスに対し、類似するデバイスを管理データベース
70から探索する(ステップS52)。類似のデバイス
として、本例では名称の一致するもを類似範囲としてい
るが、たとえば名称毎に置換可能な複数の識別子を定義
するようにしてもよい。この後、システムコールの場合
と同様に、類似デバイスの表示から登録までの処理(S
53〜S55)、あるいは、デバイス特徴入力による類
似デバイスの探索を行なう(S56,S57)。
【0041】以上により、アプリケーションソースコー
ドから抽出されたシステムコールやデバイスは、管理デ
ータベースに定義されている仕様に置換され、被利用シ
ステムコールテーブル64と被利用デバイステーブル6
6に登録される。ソースコード生成部67は、これらフ
ァイルのシステムコールやデバイスを基に、ライブラリ
を参照してオペレーティングシステムソースコードを生
成する(ステップS58)。このソースコードは、コンパ
イラ41によって実行形式のオペレーティングシステム
に変換される。
【0042】本実施例を実行した具体的な一例を図12
乃至図14により説明する。図12は、管理データベー
ス70の登録内容の一例で、同図(a)はシステムコー
ル仕様80の一部を示す。システムコールopen81
0には、引数型811、動作概要または特徴データであ
るファイル開設813が登録されている。また、システ
ムコールselect820には、引数型821、必要
となるデバイスNET822、動作概要または特徴デー
タである入出力選択823が登録されている。なお、s
elect820には、その第2、第3、第4引数にf
d_set型のポインタを利用することが定義されてい
る。
【0043】同図(b)はデバイス仕様90を示し、通
信デバイス94にデバイスの名称/dev/ttya9
5、コンパイルに必要な識別子96(CONFIG_C
HR_DEV96)及び特徴データ97(通信デバイス
の特徴である「シリアルポート」)が登録されている。
【0044】図13に、本例のオペレーティングシステ
ムソースコードの生成過程を示す。アプリケーションソ
ースコード51の1行分を、ソースコードジェネレータ
60が読出して解釈する。これにより、システムコール
openの関連コード110、selectの関連コー
ド111、またデバイス/dev/ttyaの関連コー
ド120が抽出され、それぞれシステムコールテーブル
100とデバイステーブル103に登録される。ope
nの関連コード110は、返値fdの型がint型、関
連部の第一引数/dev/ttya/chart*型、
大に引数O_RDONLYがint型で、システムコー
ル仕様810に適合するので、Sub1の処理で、被利
用システムコールテーブル64にシステムコール仕様8
10の内容がopen112として登録される。
【0045】一方、selectの関連コード111
は、第二引数&readfdと第三引数&writef
dと第四引数&exceptがint*型で、システム
コール仕様820のfd_set*型に適合しないの
で、未定義システムコールテーブル101にselec
tの関連コード111が登録される。本例では、名称の
一致するものを類似システムコールとして、引数の相違
は解消するようにとり扱われる。すなわち、Sub3の
処理で、システムコール解析部102が未定義システム
コールテーブル101からselectの関連コード1
11を読み出し、システムコール仕様部80を探索して
関数名(名称)が一致するシステムコール仕様820を
抽出し、表示装置1に表示する。ユーザがシステムコー
ル820を選択すると、システムコール仕様820の内
容がselect113として被利用システムコールテ
ーブル64に登録される。
【0046】また、デバイステーブル103の/dev
/ttyaの関連コード120は、デバイス仕様94の
デバイス名称95に適合するので、被利用デバイステー
ブル66に、デバイス仕様94の内容がそのまま/de
v/ttya121として登録される。
【0047】図14に、オペレーティングシステムの最
終の生成過程を示す。ソースコード生成部67は、被利
用システムコールテーブル64と被利用デバイステーブ
ル66から、システムコールopen112、sele
ct113と、デバイス/dev/ttya121を読
み出し、図示のように、コンパイル可能なシステムコー
ルライブラリコンパイル実行指定ソースファイル130
と、デバイスドライバコンパイル実行指定ソースファイ
ル140を生成する。
【0048】以上のようにして、オペレーティングシス
テムソースコードジェネレータ60によって生成された
ソースファイル130、140は、コンパイラ41で実
行形式に変換されて、アプリケーションと1対1に対応
するオペレーティングシステムとなる。
【0049】第2の実施例においては、任意のアプリケ
ーションに存在するシステムコールやデバイスが、予め
管理データベースに登録されていない場合は、予め定め
られた類似範囲のシステムコールやデバイスを抽出し、
さらに、類似も見つからない場合には所定の特徴キーに
よって類似範囲のシステムコールやデバイスを抽出し
て、当該アプリケーションの実行に代替可能なシステム
コールやデバイスをユーザが選定できるように提供し、
このように選定されたシステムコールやデバイスを基に
してオペレーティングシステムのソースコードを生成す
る。
【0050】上記の管理データベースに登録されていな
い場合は、アプリケーションのプログラマーがシステム
コールやデバイスを熟知していないために生じることが
多い。しかし、本実施例によれば、必ずしも必要なシス
テムコールやデバイスの全てを把握していなくてもよ
く、ユーザのプログラム開発を容易にできる。
【0051】なお、管理データベースに登録のされてい
ない場合の他の要因は、データベースを必ずしも最大限
に構成していないことによる。そのため、多種多様のア
プリケーションの適用において、定義不足の生じること
が予想される。このような場合、図10のステップS4
7またはステップS50及び図11のステップS54ま
たはS57において、ユーザが登録を指示した未定義の
システムコールやデバイスを、管理データベース70に
登録できるようにしてもよい。これによれば、オペレー
ティングシステム作成装置の適用を柔軟に拡張できる。
【0052】図15は、第1または第2の実施例により
作成されたオペレーティングシステムを適用する計算機
システムの構成図である。中央処理装置200、主記憶
201、入力装置202、表示装置203、外部記憶装
置204及び通信装置205を備える汎用の計算機装置
である。なお、他の計算機との通信を必要としない場合
には、通信装置205は不要となる。
【0053】主記憶装置201には、アプリケーション
プログラム206と、アプリケーション206を基に生
成したオペレーティングシステム209が記憶されてい
る。アプリケーション206には、システムコールop
en207とselect208の呼出関数が存在し、
オペレーティングシステム209には、システムコール
open210とselect211と、デバイス/d
ev/ttya212が存在する。
【0054】本計算機装置の構成において、オペレーテ
ィングシステム209と、その上で稼働するアプリケー
ション206は、1対1に対応した組合せになる。しか
し、その組合せ一つに固定的されるものではなく、計算
機装置が実行する種々のアプリケーションに応じて任意
の組合せが可能になる。このオペレーティングシステム
はアプリケーションを実行するのに必要な最小限の容量
ですむ。ちなみに、アプリケーションを稼働させるだけ
の環境では、オペレーティングシステムの容量は従来の
半分になる。言い替えれば、小型の汎用の計算機装置
で、種々のアプリケーションの変更可能な専用機を構築
することができる。
【0055】なお、上記では一つのアプリケーションの
実行環境を示したが、オペレーティングシステムとアプ
リケーションの複数の組合を持つことは可能である。ま
た、本実施例によるオペレーティングシステムを、最小
限の低レベルのサービスルーチンを提供するマイクロカ
ーネルと組合せて利用することも可能である。
【0056】
【発明の効果】本発明によれば、任意のアプリケーショ
ンソースコードに存在するシステムコールやデバイスを
抽出し、そのシステムコールやデバイスを基に、アプリ
ケーションを実行するのに最小限必要なシステムコール
やデバイスを提供するオペレーティングシステムを生成
できる効果がある。
【0057】また、アプリケーションに存在するシステ
ムコールやデバイスが、予め定義されていない場合で
も、類似のものによる代替可能にしているので、アプリ
ケーションプログラムの開発が容易になる。
【0058】また、最小限必要なオペレーティングシス
テムを提供できるので、アプリケーションの実行環境と
しての計算機リソースの容量を低限できる。
【図面の簡単な説明】
【図1】本発明のオペレーティングシステム作成装置の
実施例を示す構成図。
【図2】本発明の第1の実施例におけるオペレーティン
グシステムコードジェネレータの機能構成図。
【図3】第1の実施例におけるオペレーティングシステ
ムコードジェネレータの動作を説明するためのフローチ
ャート。
【図4】第1の実施例の管理データベースに登録されて
いるシステムコール仕様とデバイス仕様の一例を示す説
明図。
【図5】第1の実施例におけるオペレーティングシステ
ムのソースファイル生成過程を説明する遷移図。
【図6】本発明の第2の実施例におけるオペレーティン
グシステムコードジェネレータの機能構成図。
【図7】第2の実施例におけるオペレーティングシステ
ムコードジェネレータの動作を説明するための概略のフ
ローチャート。
【図8】図7のSub1の詳細を説明するフローチャー
ト。
【図9】図7のSub2の詳細を説明するフローチャー
ト。
【図10】図7のSub3の詳細を説明するフローチャ
ート。
【図11】図7のSub4の詳細を説明するフローチャ
ート。
【図12】第2の実施例の管理データベースに登録され
ているシステムコール仕様とデバイス仕様の一例を示す
説明図。
【図13】第2の実施例におけるオペレーティングシス
テムのソースファイル生成過程を説明する遷移図。
【図14】生成されたシステムコールライブラリコンパ
イル実行指定ソースファイルと、デバイスドライバコン
パイル実行指定ソースファイルの一例を示す説明図。
【図15】本発明のオペレーティングシステム作成方式
により生成したオペレーティングシステムと、その上で
稼働するアプリケーションの実行環境を示し、両者が1
対1に対応して実行可能に構成される計算機システムの
構成図。
【符号の説明】
1…表示装置、2…入力装置、3…中央処理装置、40
…主記憶装置、41…コンパイラ、50…外部記憶装
置、51…アプリケーションソースコード、54…シス
テムコールライブラリコンパイル実行指定ソースファイ
ル、55…デバイスドライバコンパイル実行指定ソース
ファイル、60…オペレーティングシステムソースコー
ドジェネレータ、61…アプリケーションソースコード
読み込み部、62…アプリケーションソースコード解析
部、63…被利用システムコール登録部、64…被利用
システムコールテーブル、65…被利用デバイス登録
部、66…被利用デバイステーブル、67…ソースコー
ド生成部、70…管理データベース、71…システムコ
ールライブラリ、72…デバイスライブラリ、80…シ
ステムコール仕様、90…デバイス仕様、100…シス
テムコールテーブル、101…未定義システムコールテ
ーブル、102…システムコール解析部、103…デバ
イステーブル、104未定義デバイステーブル、105
…デバイス解析部。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションプログラムの実行に必
    要なシステムコールを提供するオペレーティングシステ
    ムの生成方法において、 予め、所要のシステムコール仕様を名称毎に定義してお
    き、前記アプリケーションプログラムのソースコードか
    ら抽出したシステムコールと対応するシステムコール仕
    様を基に、オペレーティングシステムソースコードを生
    成することを特徴とするオペレーティングシステムの生
    成方法。
  2. 【請求項2】 アプリケーションプログラムの実行に必
    要なシステムコールやデバイスを提供するオペレーティ
    ングシステムの生成方法において、 予め、所要のシステムコール仕様とデバイス仕様を名称
    毎に定義しておき、前記アプリケーションプログラムの
    ソースコードから抽出したシステムコールと対応するシ
    ステムコール仕様と、該対応するシステムコール仕様か
    ら参照又は前記ソースコードから抽出したデバイスと対
    応するデバイス仕様を基に、オペレーティングシステム
    ソースコードを生成することを特徴とするオペレーティ
    ングシステムの生成方法。
  3. 【請求項3】 請求項2において、 前記オペレーティングシステムは、前記アプリケーショ
    ンプログラムが必要とする最小限のシステムコールおよ
    び/またはデバイスを提供することを特徴とするオペレ
    ーティングシステムの生成方法。
  4. 【請求項4】 請求項1、2または3において、 前記システムコール仕様は、少なくとも引数型を定義さ
    れていることを特徴とするオペレーティングシステムの
    生成方法。
  5. 【請求項5】 アプリケーションプログラムの実行に必
    要なシステムコールやデバイスを提供するオペレーティ
    ングシステムの生成方法において、 予め、所要のシステムコール仕様やデバイス仕様を名称
    毎に定義しておき、 前記アプリケーションプログラムのソースコードから抽
    出したシステムコールおよび/またはデバイスが、定義
    されている場合は、対応するシステムコール仕様および
    /またはデバイス仕様を基にコンパイル可能なオペレー
    ティングシステムソースコードを生成し、定義されてい
    ない場合は、類似するシステムコール仕様および/また
    はデバイス仕様を選択可能に表示し、選定されたシステ
    ムコール仕様および/またはデバイス仕様を基にコンパ
    イル可能なオペレーティングシステムソースコードを生
    成することを特徴とするオペレーティングシステムの生
    成方法。
  6. 【請求項6】 請求項5において、 前記類似するシステムコール仕様および/またはデバイ
    ス仕様のない場合は、前記抽出したシステムコールおよ
    び/またはデバイスの特徴データの入力に応じて、該特
    徴データを定義しているシステムコール仕様および/ま
    たはデバイス仕様を選択可能に表示することを特徴とす
    るオペレーティングシステムの生成方法。
  7. 【請求項7】 請求項5または6において、 前記類似するシステムコール仕様および/またはデバイ
    ス仕様は、抽出されたシステムコールおよび/またはデ
    バイスと前記名称が一致することを特徴とするオペレー
    ティングシステムの生成方法。
  8. 【請求項8】 請求項1〜7の1ずれか1項において、 前記アプリケーションプログラムのソースコードから抽
    出されるシステムコールは、前記名称を含む行の全体ま
    たは関連コードであることを特徴とするオペレーティン
    グシステムの生成方法。
  9. 【請求項9】 アプリケーションプログラムの実行に必
    要なシステムコールやデバイスを提供するオペレーティ
    ングシステムを生成する装置において、 システムコール仕様やデバイス仕様を名称毎に定義する
    管理データベースと、 前記アプリケーションプログラムのソースコードを記憶
    する記憶装置と、 前記アプリケーションプログラムのソースコードに存在
    するシステムコールおよび/またはデバイスを抽出し、
    対応するシステムコール仕様および/またはデバイス仕
    様を前記管理データベースから参照し、それを基にオペ
    レーティングシステムソースコードを生成する作成手段
    と、を備える中央処理装置より構成されることを特徴と
    するオペレーティングシステムの生成装置。
  10. 【請求項10】 アプリケーションプログラムの実行に
    必要なシステムコールやデバイスを提供するオペレーテ
    ィングシステムを生成する装置において、 システムコール仕様やデバイス仕様を名称毎に定義する
    管理データベースと、 前記アプリケーションプログラムのソースコードを記憶
    する記憶装置と、 前記アプリケーションプログラムのソースコードから抽
    出したシステムコールおよび/またはデバイスが、前記
    管理データベースに定義されている場合は、対応するシ
    ステムコール仕様および/またはデバイス仕様を基にコ
    ンパイル可能なオペレーティングシステムソースコード
    を生成し、前記管理データベースに定義されていない場
    合は、類似のシステムコール仕様および/またはデバイ
    ス仕様から選択された仕様を基に、コンパイル可能なオ
    ペレーティングシステムソースコードを生成する作成手
    段を備える中央処理装置と、 前記類似のシステムコール仕様および/またはデバイス
    仕様を表示する表示装置と、表示された仕様を選択する
    入力装置を備えることを特徴とするオペレーティングシ
    ステムの生成装置。
  11. 【請求項11】 請求項9または10において、 前記中央処理装置に、生成された前記オペレーティング
    システムソースコードを実行形式のオペレーティングシ
    ステムに変換するコンパイラを備えることを特徴とする
    オペレーティングシステムの生成装置。
  12. 【請求項12】 中央処理装置と主記憶装置を備える汎
    用の計算機システムにおいて、前記主記憶装置にアプリ
    ケーションプログラムとオペレーティングシステムを記
    憶し、前記オペレーティングシステムは、前記中央処理
    装置による前記アプリケーションプログラムの実行に際
    して提供する必要最小限のシステムコールを有して構成
    されることを特徴とする計算機システム。
JP7115447A 1995-05-15 1995-05-15 オペレーティングシステムの生成方法、生成装置および計算機システム Pending JPH08314699A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7115447A JPH08314699A (ja) 1995-05-15 1995-05-15 オペレーティングシステムの生成方法、生成装置および計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7115447A JPH08314699A (ja) 1995-05-15 1995-05-15 オペレーティングシステムの生成方法、生成装置および計算機システム

Publications (1)

Publication Number Publication Date
JPH08314699A true JPH08314699A (ja) 1996-11-29

Family

ID=14662783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7115447A Pending JPH08314699A (ja) 1995-05-15 1995-05-15 オペレーティングシステムの生成方法、生成装置および計算機システム

Country Status (1)

Country Link
JP (1) JPH08314699A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199214A (ja) * 2008-02-20 2009-09-03 Nec Corp Osイメージ縮小方法、osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体
JP2013084085A (ja) * 2011-10-07 2013-05-09 Mitsubishi Electric Corp プログラム再利用システムおよびプログラム再利用方法
JP2019518274A (ja) * 2016-05-13 2019-06-27 ティブコ ソフトウェア インク 最小限のメモリ及びディスク資源消費のカスタム構築式プロセスエンジン

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199214A (ja) * 2008-02-20 2009-09-03 Nec Corp Osイメージ縮小方法、osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体
US8443178B2 (en) 2008-02-20 2013-05-14 Nec Corporation Operating system image shrinking apparatus and method and computer readable tangible medium storing a program for operating system image shrinking
JP2013084085A (ja) * 2011-10-07 2013-05-09 Mitsubishi Electric Corp プログラム再利用システムおよびプログラム再利用方法
JP2019518274A (ja) * 2016-05-13 2019-06-27 ティブコ ソフトウェア インク 最小限のメモリ及びディスク資源消費のカスタム構築式プロセスエンジン

Similar Documents

Publication Publication Date Title
US5812843A (en) System and method for executing job between different operating systems
KR100285223B1 (ko) 프로그램에입각하여분산오브젝트프로그램을생성하는방법
US7162709B2 (en) System and method for common code generation
US5754845A (en) Portable and dynamic distributed applications architecture
US5740431A (en) Configuration file management
EP1011043B1 (en) Method and apparatus for loading a java application program
EP0735467B1 (en) Compiler with generic front end and dynamically loadable back ends
CN101719056B (zh) 用于实时系统控制的组件模型
EP0219993A2 (en) System for generating software source code components
US20020089542A1 (en) Computer program product, recording medium having screen component interface program code recorded therein, and screen program creating method
EP0496494A2 (en) Software maintenance system
JPH0926873A (ja) オブジェクト指向システムのクラス関係を識別する方法およびシステム
JPH10161885A (ja) 遠隔コンパイル方法およびシステム
US5842205A (en) Method and process of inter-machine communication and generalized method for program preparation therefor
US6101325A (en) Parameterized packaging system for programming languages
US6219802B1 (en) System for generating test data
US20010051974A1 (en) Method and apparatus for automatic generation of data interfaces
US20070038988A1 (en) Method and apparatus for providing class hierarchy information for function devirtualization
US8458668B1 (en) Ignoring output arguments of functions in programming environments
JPH08263299A (ja) プログラム変換方法
JPH08314699A (ja) オペレーティングシステムの生成方法、生成装置および計算機システム
US20050192929A1 (en) Generation and conversion of object that provide for efficient object modification
JPH07182179A (ja) オブジェクト指向データベース管理装置
JPH11296359A (ja) プログラム開発支援ツール
EP0860776A1 (en) Inter-object communication method