JP5976046B2 - オペレ−ティングシステム構成装置及び方法 - Google Patents

オペレ−ティングシステム構成装置及び方法 Download PDF

Info

Publication number
JP5976046B2
JP5976046B2 JP2014140016A JP2014140016A JP5976046B2 JP 5976046 B2 JP5976046 B2 JP 5976046B2 JP 2014140016 A JP2014140016 A JP 2014140016A JP 2014140016 A JP2014140016 A JP 2014140016A JP 5976046 B2 JP5976046 B2 JP 5976046B2
Authority
JP
Japan
Prior art keywords
application program
operating system
resource
access
system resource
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.)
Active
Application number
JP2014140016A
Other languages
English (en)
Other versions
JP2015022763A (ja
Inventor
パク チャンイク
チャンイク パク
セジン パク
セジン パク
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.)
Academy Industry Foundation of POSTECH
Original Assignee
Academy Industry Foundation of POSTECH
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 Academy Industry Foundation of POSTECH filed Critical Academy Industry Foundation of POSTECH
Publication of JP2015022763A publication Critical patent/JP2015022763A/ja
Application granted granted Critical
Publication of JP5976046B2 publication Critical patent/JP5976046B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/22Microcontrol or microprogram 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

本発明は、オペレ−ティングシステムに関し、より詳細には、オペレ−ティングシステムの領域を分離し、オペレ−ティングシステムの信頼性を保証することができるオペレ−ティングシステム構成装置及び方法に関する。
オペレ−ティングシステム(OS)は、メモリ、プロセス、入出力装置及びネットワークのようなハードウェア及びシステム資源を効率的に制御し管理することによって、情報処理装置を利用するユーザにプログラムを便利に使用することができる環境を提供するシステムソフトウェアである。
オペレ−ティングシステムは、カーネル(kernel)で構成され、ハードウェアまたはシステム資源を効率的に管理する機能とシステム資源を基盤として応用プログラムを効率的に運用する機能を行うことができる。
ここで、一般的に、カーネルは、モジュールの構成方式によってモノリシックカーネルまたはマイクロカーネルに区分することができる。
モノリシックカーネル(monolithic kernel)方式は、オペレ−ティングシステムのすべての機能を1つのモジュールに実現し、同一のメモリ空間内で動作するようにオペレ−ティングシステムを構成する方式である。
図1は、従来のモノリシックカーネル方式で実現されたオペレ−ティングシステムを説明する例示図である。
図1を参照すると、モノリシックカーネル方式を利用するオペレ−ティングシステム100は、資源の割り当てを管理する資源割り当て管理者110、資源の解除を管理する資源解除管理者120及び資源のアクセスを管理する資源アクセス管理者130を1つのモジュールに構成し、システム資源140を管理することができる。
したがって、応用プログラムで要求するシステム資源140に対する管理及びシステム資源140を使用する応用プログラムの運用が同一のアドレス空間内で行われることができる。
このような、オペレ−ティングシステム100の構成は、オペレ−ティングシステム100の性能を向上させるという点で現在オペレ−ティングシステムを構成するのに選好される傾向にある。
しかし、システム資源140を管理する機能と応用プログラムを運用する機能がいずれも同一のアドレス空間内に実現されるので、オペレ−ティングシステムの一部分が毀損されれば、全体システムに問題が発生することができるという点で保安に脆弱であるという短所がある。
これにより、オペレ−ティングシステムの最小限の機能のみをカーネルに実現し、残りのオペレ−ティングシステムの機能は、カーネル外部のユーザモードで実行されるようにカーネルを小型化することによって、オペレ−ティングシステムの保安性を向上させるマイクロカーネル(micro kernel)方式が提案された。
図2は、従来のマイクロカーネル方式で実現されたオペレ−ティングシステムを説明する例示図である。
図2を参照すると、マイクロカーネル方式を利用するオペレ−ティングシステム100は、オペレ−ティングシステム100の機能別にモジュールを分離して構成されるので、それぞれのモジュール別に独立的なアドレス空間を提供することができる。
例えば、機能♯3モジュールと連動した資源141と、機能♯4モジュールと連動した資源143とは、独立的なアドレス空間が提供される。
これにより、応用プログラムがシステム資源にアクセスするためには、ファイルシステムモジュールに要請し、さらにファイルシステムモジュールは、記憶装置駆動器モジュールに要請をする様々な段階のモジュール間の通信を要求することができる。
このようなオペレ−ティングシステム100の構成は、オペレ−ティングシステムの機能によって独立的なアドレス空間を提供するので、オペレ−ティングシステムの特定機能が実現されたモジュールに問題が発生しても、全体システムには影響を及ぼさないという点でシステム保安性が高い。
但し、オペレ−ティングシステムの各機能が独立的に実現されているので、様々な段階のモジュール間の通信が要求され、オペレ−ティングシステム性能の低下が生じ得るという点で問題がある。
前述のような問題点を解決するために本発明の目的は、従来のモノリシックカーネル方式及びマイクロカーネル方式を結合してオペレ−ティングシステムを構成することによって、オペレ−ティングシステムの性能を向上させると同時に、高い保安性をサポートできるオペレ−ティングシステム構成装置を提供することにある。
また、本発明の他の目的は、システム資源を管理する機能と応用プログラムを運用する機能を分離してオペレ−ティングシステムに実現することによって、システム資源を効率的に管理すると同時に、オペレ−ティングシステムに対する信頼性を向上させることができるオペレ−ティングシステム構成方法を提供することにある。
前記目的を達成するための本発明の一態様によるオペレ−ティングシステム構成装置は、オペレ−ティングシステム内の第1領域において、オペレ−ティングシステムと連動するシステム資源に対する制御権限を付与することによってシステム資源を管理するシステム資源管理部と、第1領域から独立した第2領域において、システム資源管理部によって管理されるシステム資源を活用して応用プログラムを実行させるシステム運用部とを含む。
ここで、第1領域と第2領域とは、モノリシックカーネルの分離した領域にそれぞれ実現され、独立的な機能を行うことができる。
ここで、システム資源管理部は、応用プログラムによって要求するシステム資源を割り当てて、応用プログラムの識別情報及び応用プログラムに割り当てられたシステム資源に対する情報を生成する資源割り当てモジュールを含むことができる。
ここで、システム資源管理部は、応用プログラムの識別情報及びシステム資源に対する情報が提供され、応用プログラム識別情報に相当するシステム資源に対する情報をマッピング(mapping)することによってアクセス制御情報を生成し、生成されたアクセス制御情報を記録するアクセス制御情報DBを含むことができる。
ここで、システム資源管理部は、応用プログラムによるシステム資源に対する解除の要求により、アクセス制御情報DB(Data Base)に記録されたアクセス制御情報に基づいて、応用プログラムの識別情報に相当するシステム資源に対する情報をアクセス制御情報DBで削除する資源解除モジュールを含むことができる。
ここで、システム資源管理部は、応用プログラムによる、システム資源に対するアクセスの要請により、アクセス制御情報DBに記録されたアクセス制御情報に基づいて、応用プログラムの識別情報に相当するシステム資源に対する情報がアクセス制御情報DBに記録されているか否かを確認することによって、システム資源に対するアクセスを制御する資源アクセスモジュールを含むことができる。
ここで、システム資源管理部は、応用プログラムを構成するプロセスの手順を決定するスケジューリング(scheduling)を提供することができる。
ここで、システム運用部は、応用プログラムでアクセス可能なシステム資源を仮想化して生成されたシステム資源に対するアクセスアドレスを利用して応用プログラムを実行させることができる。
ここで、システム資源は、応用プログラムの実行に利用される入出力装置、記憶装置及び演算装置のうち少なくとも1つを含むことができる。
また、前記他の目的を達成するための本発明の一態様によるオペレ−ティングシステム構成方法は、オペレ−ティングシステム内の第1領域において、オペレ−ティングシステムと連動するシステム資源に対する制御権限を付与することによってシステム資源を管理する段階と、第1領域から独立した第2領域において、システム資源を活用して応用プログラムを実行させる段階とを含む。
ここで、システム資源を管理する段階及び応用プログラムを実行させる段階は、モノリシックカーネルの分離した領域で行うことができる。
ここで、システム資源を管理する段階は、応用プログラムで要求するシステム資源を割り当てて、応用プログラムに相当する割り当てられたシステム資源に対する情報をマッピングして生成されたアクセス制御情報を記録することができる。
ここで、システム資源を管理する段階は、応用プログラムでシステム資源に対するアクセスの要請によって、記録されたアクセス制御情報に基づいてアクセスが要請されたシステム資源に対する応用プログラムのアクセス権限の可否を確認することができる。
ここで、システム資源を管理する段階は、応用プログラムでシステム資源に対する解除の要請によって、記録されたアクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報を削除することができる。
ここで、システム資源を管理する段階は、応用プログラムを構成するプロセスの手順を決定するスケジューリングを提供することができる。
ここで、応用プログラムを実行させる段階は、応用プログラムでアクセス可能なシステム資源を仮想化して生成されたシステム資源に対するアクセスアドレスを利用して応用プログラムを実行させることができる。
前述したような本発明の実施形態によるオペレ−ティングシステム構成装置及び方法によれば、従来のモノリシックカーネル方式とマイクロカーネル方式を結合することによって、オペレ−ティングシステムの性能を向上させると同時に、高い保安性をサポートすることができる。
また、オペレ−ティングシステムのシステム資源を管理する機能と応用プログラムを運用する機能を分離して構成するので、システム資源に対する無欠性を保証することができ、オペレ−ティングシステムに対する信頼性を向上させることができる。
図1は、従来のモノリシックカーネル方式で実現されたオペレ−ティングシステムを説明する例示図である。 図2は、従来のマイクロカーネル方式で実現されたオペレ−ティングシステムを説明する例示図である。 図3は、本発明の一実施形態によるオペレ−ティングシステム構成装置を示すブロック図である。 図4は、本発明の一実施形態によるオペレ−ティングシステム構成装置の動作を説明する例示図である。 図5は、本発明の一実施形態によるアクセス制御情報を説明する例示図である。 図6は、本発明の一実施形態によるオペレ−ティングシステム構成方法を説明するフローチャートである。 図7は、本発明の一実施形態によるシステム資源に対する応用プログラムのアクセスを制御することを説明するフローチャートである。
本発明は多様な変更を行うことができ、さまざまな実施形態を有することができるところ、特定の実施形態を図面に例示し詳細に説明する。しかし、これは、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物や代替物を含むものと理解されなければならない。各図面を説明しながら類似の参照符号を類似の構成要素に対して使用した。
第1、第2、A、Bなどの用語は、多様な構成要素を説明するのに使用されうるが、前記構成要素は、前記用語によって限定されてはならない。前記用語は、1つの構成要素を他の構成要素から区別する目的だけで使用される。例えば、本発明の権利範囲を逸脱することなく、第1構成要素は、第2構成要素として命名されることができ、同様に、第2構成要素は、第1構成要素として命名されることができる。及び/またはという用語は、複数の関連した記載された項目の組み合わせまたは複数の関連した記載された項目のうちいずれかの項目を含む。
ある構成要素が他の構成要素に「連結されて」いるか、または「接続されて」いると言及されたときには、他の構成要素に直接的に連結されているかまたは接続されていることもできるが、中間に他の構成要素が存在することもできると理解されなければならない。一方、ある構成要素が他の構成要素に「直接連結されて」いるか、または「直接接続されて」いると言及されたときには、中間に他の構成要素が存在しないものと理解されなければならない。
本出願で使用した用語は、ただ特定の実施形態を説明するために使用されたもので、本発明を限定しようとする意図ではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本出願で、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、1つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性をあらかじめ排除しないものと理解されなければならない。
別途定義されない限り、技術的や科学的用語を含んでここで使用されるすべての用語は、本発明の属する技術分野における通常の知識を有する者によって一般的に理解されるものと同一の意味を有している。一般的に使用される辞書に定義されているもののような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されなければならないし、本発明で明白に定義しない限り、理想的や過度に形式的な意味として解釈されない。
以下、本発明の一実施形態でオペレ−ティングシステム構成装置及び方法は、ユーザ、応用プログラム、オペレ−ティングシステム及びハードウェアで構成されるコンピュータ、スマートホン、タブレットパソコン、サーバーのような情報処理装置のオペレ−ティングシステムにおいて実現できる。
ここで、オペレ−ティングシステム(Operating System;OS)は、応用プログラムとハードウェアとの間で応用プログラムの実行に要求される入出力装置、ネットワーク装置、演算装置及び記憶装置のようなハードウェアまたはシステム資源を効率的に管理する機能と、システム資源を基盤として応用プログラムを効率的に運用する機能を行うことができるが、これに限定されるものではない。
また、オペレ−ティングシステムは、カーネルで構成することができ、カーネルは、構成によってモノリシックカーネル(monolithic kernel)とマイクロカーネル(micro kernel)とに区分される。
ここで、モノリシックカーネル方式は、オペレ−ティングシステムのすべての機能を同一のアドレス空間に1つのモジュールで構成することによって、オペレ−ティングシステムの性能を向上させることができ、マイクロカーネル方式は、オペレ−ティングシステムの機能別にモジュール化し、独立的なアドレス空間を提供することによって、オペレ−ティングシステムの保安能力を向上させることができる。
応用プログラムは、オペレ−ティングシステムで提供するユーザインターフェースを通じて情報処理装置を使用するユーザの特定の要求を行うことができるように作成されたアプリケーション(application)だけでなく、オペレ−ティングシステムで実行され得るすべてのソフトウェアを意味する。
また、システム資源は、オペレ−ティングシステムと連動して、応用プログラムの実行に利用される入出力装置、記憶装置及び演算装置のうち少なくとも1つのハードウェアを含むことができる。
ここで、入出力装置は、オペレ−ティングシステムで提供するユーザインターフェースによって、応用プログラムに対する実行要求をユーザから入力することができるマウス、ペン、キーボード、タッチスクリーンと、応用プログラムの実行過程及び実行結果をユーザに提供することができるプリンター、モニター、スピーカーのようなハードウェア装置を意味するが、これに限定されるものではない。
また、演算装置は、応用プログラムのプロセスを処理するCPU(Central Processing Units)とGPU(Graphics Processing Units)及びGPGPU(Gerneral−Purpose computing on GPU)を含むことができる。
記憶装置は、演算装置内に内蔵されているバッファー(buffer)、キャッシュ(cache)とSRAM(Static Random Access Memory)、DRAM(Dynamic Random Acess Memory)、ROM(Read Only Memory)及びフラッシュメモリ(Flash Memory)を含むが、これに限定されるものではない。
以下、本発明による好ましい実施形態を添付の図面を参照して詳細に説明する。
図3は、本発明の一実施形態によるオペレ−ティングシステム構成装置を示すブロック図である。
図3を参照すると、オペレ−ティングシステム構成装置300は、システム資源管理部310及びシステム運用部360を含んで構成されることができる。
オペレ−ティングシステム構成装置300は、情報処理装置を構成するオペレ−ティングシステム内に実現されることができ、システム資源を管理する機能が実現される領域と応用プログラムの実行機能が実現される領域とで分離することができる。
ここで、応用プログラムは、オペレ−ティングシステムで提供するユーザインターフェースによって、情報処理装置を使用するユーザの特定の要求を行えるように作成されたアプリケーション(application)だけでなく、オペレ−ティングシステムで実行され得るすべてのソフトウェアを意味するが、これに限定されるものではない。
システム資源管理部310は、オペレ−ティングシステム内の第1領域にオペレ−ティングシステムと連動するシステム資源を管理することができる。
また、システム運用部360は、オペレ−ティングシステムの第1領域から独立した第2領域に、システム資源管理部によって管理されるシステム資源を活用して応用プログラムを実行させることができる。
ここで、第1領域と第2領域は、モノリシックカーネルの分離した領域に実現され、独立的な機能を行うことができる。
具体的に、性能に優れたモノリシックカーネルの方式を利用してオペレ−ティングシステムを構成し、且つシステム資源を管理する機能と応用プログラムを実行させる機能を第1領域と第2領域に分離して実現することによって、オペレ−ティングシステムの機能別にモジュールを分離するマイクロカーネルの方式を結合することができる。
これにより、オペレ−ティングシステム構成装置300は、モノリシックカーネル方式の性能の優秀性とマイクロカーネル方式のシステム保安性を同時にサポートするオペレ−ティングシステムを実現することができる。
システム資源に対する制御権限は、システム資源管理部310に付与され、システム資源管理部310は、システム資源に対するアクセスを制御することができる。
システム資源管理部310は、資源割り当てモジュール320、資源解除モジュール330、資源アクセスモジュール340及びアクセス制御情報DB 350を含んで構成されることができる。
資源割り当てモジュール320は、応用プログラムで要求するシステム資源を割り当てて、応用プログラムの識別情報及び応用プログラムに割り当てられたシステム資源に対する情報を生成することができる。
この際、アクセス制御情報DB 350は、応用プログラムで要求するシステム資源が割り当てられるときに生成される応用プログラムの識別情報とシステム資源に対する情報が提供される。これにより、アクセス制御情報DB 350は、応用プログラム識別情報に相当するシステム資源に対する情報をマッピングすることによって生成されるアクセス制御情報を記録することができる。
応用プログラムでシステム資源に対する解除を要求すれば、アクセス制御情報DBに記録されたアクセス制御情報に基づいて、資源解除モジュール330により応用プログラムの識別情報に相当するシステム資源に対する情報を削除することができる。
ここで、システム資源を解除することは、応用プログラムでシステム資源に対する使用が完了するか、または優先順位が高い他の応用プログラムを実行するためにオペレ−ティングシステムでシステム資源を意図的に回収する過程を意味するが、これに限定されるものではない。
資源アクセスモジュール340は、応用プログラムが特定システム資源に対するアクセスを要請すれば、アクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報が存在するか否かを確認することによって、システム資源に対するアクセスを制御することができる。
例えば、アクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報が存在すれば、応用プログラムで要求するシステム資源へのアクセスを許容することができる。
また、システム資源管理部310は、応用プログラムの実行のためのプロセスの手順を決定するスケジューリングを提供することができる。
ここで、スケジューリングは、プロセスの動作手順及びシステム資源の使用手順を適切に運用し、マルチプログラミングが実現できるように、システムの負荷を調節することができるオペレ−ティングシステムの資源管理機能を意味する。
すなわち、システム資源管理部310は、オペレ−ティングシステムの機能のうちシステム資源に対する制御権限を基盤としてシステム資源を管理するかまたはアクセスを制御する機能を実現することができる。
ここで、システム資源は、オペレ−ティングシステムと連動して応用プログラムの実行に利用される入出力装置、記憶装置及び演算装置のうち少なくとも1つを含むことができる。
また、装置間、プロセス間及び情報処理装置間の通信のためのネットワーク装置をさらに含むことができる。
システム運用部360は、システム資源管理部310に実現された資源管理機能を除いたオペレ−ティングシステムの全般的な機能が実現できる。
具体的に、システム運用部360は、応用プログラムでアクセスが許容されたシステム資源を仮想化し、システム資源に対するアクセスアドレスを生成することによって、システム資源に対する応用プログラムのアクセスを制御できるようにする。
システム資源に対するアクセスアドレスとは、応用プログラムで使用できるようにアクセスが許容されたシステム資源の論理アドレス(logical address)を意味する。
ここで、システム資源の論理アドレスだけでは、実際システム資源にアクセスすることができないので、実際システム資源にアクセスするためには、記憶管理装置(Memory Management Unit;MMU)のようなアドレス変換装置を利用してシステム資源の論理アドレス(logical address)を物理アドレス(physical address)に変換することができる。
図4は、本発明の一実施形態によるオペレ−ティングシステム構成装置の動作を説明する例示図であり、図5は、本発明の一実施形態によるアクセス制御情報を説明する例示図である。
図4及び図5を参照すると、オペレ−ティングシステム100内にシステム資源管理部310及びシステム運用部360に分離したオペレ−ティングシステム構成装置300は、システム資源140を管理して応用プログラムを実行させることができる。
ここで、システム資源管理部310は、オペレ−ティングシステムの機能のうちシステム資源に対する制御権限を基盤としてシステム資源を管理するかまたはアクセスを制御する資源管理機能を実現することができる。
また、システム運用部360は、システム資源管理部310に実現された資源管理機能を除いたオペレ−ティングシステムの全般的な機能が実現できる。
応用プログラムでシステム資源140に対する割り当てを要請すれば、システム資源管理部310の資源割り当てモジュール320は、応用プログラムで要求するシステム資源140を割り当てて、応用プログラム識別情報及びシステム資源の識別情報を生成することができる。
アクセス制御情報は、図5に示すように、資源割り当てモジュール320で生成された応用プログラム識別情報及びシステム資源に対する情報に基づいて、応用プログラム識別情報に相当する応用プログラムで要求したシステム資源に対する情報をマッピングすることによって記録できる。
ここで、応用プログラムの識別情報は、応用プログラムの固有識別番号及び識別IDを含むことができ、システム資源に対する情報は、システム資源に対する物理アドレス(physical address)を意味するが、これに限定されるものではない。
すなわち、アクセス制御情報は、応用プログラムの固有識別番号または識別IDとシステム資源の物理アドレスに対応してテーブル形式で記録できる。
この際、システム運用部360は、応用プログラムに割り当てられたシステム資源を仮想化し、システム資源に対するアクセスアドレス361を生成して、応用プログラムを実行させることができる。
ここで、システム資源に対するアクセスアドレス361とは、応用プログラムで使用できるようにアクセスが許容されたシステム資源の論理アドレス(logical address)を意味する。
例えば、応用プログラムでシステム資源の論理アドレスを利用してシステム資源に対するアクセスが試みられば、システム資源管理部310内の記憶管理装置(Memory Management Unit;MMU)のようなアドレス変換装置を利用してシステム資源に対する論理アドレスを物理アドレスに変換することによって、実際システム資源140に対するアクセスを制御することができる。
これにより、システム資源管理部310の資源アクセスモジュール340では、アクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報が存在するか否かを確認することによって、システム資源に対する応用プログラムのアクセスを制御することができる。
もし、応用プログラムがシステム資源140に対する解除を要請すれば、システム資源管理部310の資源解除モジュール330は、アクセス制御情報DB 350に記録されたアクセス制御情報から応用プログラムの識別情報に相当するシステム資源に対する情報を削除することができる。
ここで、システム資源を解除することは、応用プログラムでシステム資源に対する使用が完了するか、または優先順位が高い他の応用プログラムを実行するために、オペレ−ティングシステムでシステム資源を回収することを意味する。
図6は、本発明の一実施形態によるオペレ−ティングシステムの構成方法を説明するフローチャートである。
図6を参照すると、オペレ−ティングシステム内の第1領域において、オペレ−ティングシステムと連動するシステム資源を管理する段階S100と、オペレ−ティングシステムの第2領域において、システム資源を活用して応用プログラムを実行させる段階S200とを含むことができる。
ここで、システム資源を管理する段階S100及び応用プログラムを実行させる段階S200は、モノリシックカーネル(monolithic kernel)の分離した領域で行われる。
すなわち、性能に優れたモノリシックカーネルを利用してオペレ−ティングシステムを構成し、且つシステム資源を管理する機能と、応用プログラムを実行させる機能とを第1領域と第2領域に分離して実現することによって、システム保安性を高めることができるマイクロカーネルの方式を結合できる。
これにより、モノリシックカーネル方式の性能の優秀性とマイクロカーネルの保安能力とを同時にサポートできるオペレ−ティングシステムを実現することができる。
システム資源を管理する段階S100は、応用プログラムで要求するシステム資源を割り当てて、応用プログラムに相当する、割り当てられたシステム資源に対する情報をマッピング)して生成されたアクセス制御情報を記録することができる。
また、応用プログラムによるシステム資源に対するアクセスの要請によって、アクセス制御情報に基づいてアクセスが要請されたシステム資源に対する応用プログラムのアクセス権限の可否を確認することができる。
これにより、応用プログラムの識別情報に相当するシステム資源に対する情報が存在すれば、応用プログラムのアクセスを許容することができる。
システム資源を管理する段階S100は、応用プログラムによるシステム資源に対する解除の要請によって、アクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報を削除することができる。
この際、システム資源を解除することは、応用プログラムでシステム資源に対する使用が完了するか、または優先順位が高い他の応用プログラムを実行するためにオペレ−ティングシステムでシステム資源を回収することを意味するが、これに限定されるものではない。
システム資源を管理する段階S100は、応用プログラムの実行のためのプロセスの手順を決定するスケジューリング(scheduling)を提供することができる。
ここで、スケジューリングとは、プロセスの動作手順及びシステム資源の使用手順を適切に運用し、マルチプログラミングが実現できるように、システムの負荷を調節することができるオペレ−ティングシステムの資源管理機能を意味する。
システム資源を管理する第1領域と分離した第2領域において、第1領域で管理されたシステム資源を活用して応用プログラムを実行させることができる(S200)。
具体的に、応用プログラムでアクセスが許容されたシステム資源を仮想化し、システム資源に対するアクセスアドレスを生成することによって、応用プログラムを実行させることができる(S200)。
ここで、システム資源に対するアクセスアドレスは、応用プログラムで使用できるようにアクセスが許容されたシステム資源の論理アドレス(logical address)を意味する。
図7は、本発明の一実施形態によるシステム資源に対する応用プログラムのアクセスを制御することを説明するフローチャートである。
図7を参照すると、応用プログラムでシステム資源に対するアクセスが要請されると(S300)システム資源に対する応用プログラムのアクセス権限を確認し(S400)、アクセスを制御することができる。
例えば、応用プログラムからシステム資源の論理アドレスに、システム資源に対するアクセスが要請することができる(S300)。
この際、システム資源管理部310内の記憶管理装置(Memory Management Unit;MMU)のようなアドレス変換装置は、システム資源に対する論理アドレスを物理アドレスに変換できる。
これにより、あらかじめ記録されたアクセス制御情報に基づいて応用プログラムの識別情報に相当するシステム資源に対する情報の存在有無を確認できる(S400)。
ここで、あらかじめ記録されたアクセス制御情報は、応用プログラム識別情報に相当する応用プログラムで要求したシステム資源に対する情報をマッピング(mapping)することによって記録できる。
アクセス制御情報に記録された応用プログラムの識別情報は、応用プログラムの固有識別番号及び識別IDを含むことができ、システム資源に対する情報は、システム資源に対する物理アドレス(physical address)を意味するが、これに限定されるものではない。
したがって、アクセス制御情報に基づいて応用プログラム識別情報に相当する応用プログラムで要求したシステム資源に対する情報が存在すれば、アクセスを許容することができる(S410)。
一方、アクセス制御情報に応用プログラム識別情報に相当する応用プログラムで要求したシステム資源に対する情報が存在しない場合、システム資源へのアクセスを拒否することができる(S420)。
前述したような本発明の実施形態によるオペレ−ティングシステム構成装置及び方法によれば、従来のモノリシックカーネル方式とマイクロカーネル方式とを結合することによって、オペレ−ティングシステムの性能を向上させると同時に、高い保安性を支援することができる。
また、オペレ−ティングシステムのシステム資源を管理する機能と応用プログラムを運用する機能とを分離して構成するので、システム資源に対する無欠性を保証することができ、オペレ−ティングシステムに対する信頼性を向上させることができる。
前記において、本発明の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域を逸脱しない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。
100 オペレ−ティングシステム
110 資源割り当て管理者
120 資源解除管理者
130 資源アクセス管理者
140 システム資源
141 機能♯3と連動した資源
143 機能♯4と連動した資源
300 オペレ−ティングシステム構成装置
310 システム資源管理部
320 資源割り当てモジュール
330 資源解除モジュール
340 資源アクセスモジュール
350 アクセス制御情報DB
360 システム運用部
361 システム資源に対するアクセスアドレス

Claims (14)

  1. オペレーティングシステム内の第1領域において、応用プログラムで要求するシステム資源に対する割り当て、解除及びアクセスを制御することにより、前記システム資源を管理するシステム資源管理部と、
    前記第1領域から独立した第2領域において、前記システム資源管理部によって管理される前記システム資源を活用して応用プログラムを実行させるシステム運用部と、を含み、
    前記オペレーティングシステムをモノリシックカーネル(monolithic kernel)方式が用いるメモリアドレス空間で構成した後、
    前記モノリシックカーネル(monolithic kernel)方式で構成されるメモリアドレス空間を分離して、前記第1領域と前記第2領域のそれぞれに割り当てて、
    前記第1領域と前記第2領域のそれぞれに割り当てられたメモリアドレス空間において、前記第1領域と前記第2領域のそれぞれに相当する機能が果たせるようにするマイクロカーネル(micro kernel)方式を用いることを特徴とする、オペレーティングシステム構成装置。
  2. 前記システム資源管理部は、
    前記応用プログラム要求する前記システム資源を割り当てて、前記応用プログラムの識別情報及び前記応用プログラムに割り当てられたシステム資源に対する情報を生成する資源割り当てモジュールを含むことを特徴とする、請求項1に記載のオペレーティングシステム構成装置。
  3. 前記システム資源管理部は、
    前記応用プログラムの識別情報及び前記システム資源に対する情報を提供されて、前記応用プログラム識別情報に相当する前記システム資源に対する情報をマッピング(mapping)することによってアクセス制御情報を生成し、前記生成されたアクセス制御情報を記録するアクセス制御情報DBを含むことを特徴とする、請求項に記載のオペレーティングシステム構成装置。
  4. 前記システム資源管理部は、
    前記応用プログラムによる前記システム資源に対する解除の要求によって、前記アクセス制御情報に基づいて前記アクセス制御情報DBから、前記応用プログラムの識別情報に相当する前記システム資源に対する情報を削除する資源解除モジュールを含むことを特徴とする、請求項に記載のオペレーティングシステム構成装置。
  5. 前記システム資源管理部は、
    前記応用プログラムによる前記システム資源に対するアクセスの要請によって、前記アクセス制御情報に基づいて、前記応用プログラムの識別情報に相当する前記システム資源に対する情報が記録されているか否かを確認することにより、前記システム資源に対するアクセスを制御する資源アクセスモジュールを含むことを特徴とする、請求項に記載のオペレーティングシステム構成装置。
  6. 前記システム資源管理部は、
    前記応用プログラムを構成するプロセスの手順を決定するスケジューリング(scheduling)を提供することを特徴とする、請求項1に記載のオペレーティングシステム構成装置。
  7. 前記システム運用部は、
    前記応用プログラムでアクセス可能な前記システム資源を仮想化して生成された前記システム資源に対する論理アドレスを利用して、前記システム資源に対するアクセスが要請されると、アドレス変換装置が前記システム資源に対する論理アドレスを前記システム資源に対する物理アドレスに変換することにより、前記応用プログラムを実行させることを特徴とする、請求項1に記載のオペレーティングシステム構成装置。
  8. 前記システム資源は、
    前記応用プログラムの実行に利用される入出力装置、記憶装置及び演算装置のうち少なくとも1つを含むことを特徴とする、請求項1に記載のオペレーティングシステム構成装置。
  9. オペレーティングシステム構成装置で行われるオペレーティングシステム構成方法において、
    前記オペレーティングシステム内の第1領域により、応用プログラムで要求するシステム資源に対する割り当て、解除及びアクセスを制御することにより、前記システム資源を管理する段階と、
    前記第1領域とは独立した第2領域により、前記システム資源を活用して応用プログラムを実行させる段階と、を含み、
    前記オペレーティングシステムをモノリシックカーネル(monolithic kernel)方式が用いるメモリアドレス空間で構成した後、
    前記モノリシックカーネル(monolithic kernel)方式で構成されるメモリアドレス空間を分離して、前記第1領域と前記第2領域のそれぞれに割り当てて、
    前記第1領域と前記第2領域のそれぞれに割り当てられたメモリアドレス空間において、前記第1領域と前記第2領域のそれぞれに相当する機能が果たせるようにするマイクロカーネル(micro kernel)方式を用いることを特徴とする、
    オペレーティングシステム構成方法。
  10. 前記システム資源を管理する段階は、
    前記応用プログラム要求する前記システム資源を割り当てて、前記応用プログラムに相当する前記割り当てられたシステム資源に対する情報をマッピング(mapping)して生成されたアクセス制御情報を記録することを特徴とする、請求項に記載のオペレーティングシステム構成方法。
  11. 前記システム資源を管理する段階は、
    前記応用プログラムによる前記システム資源に対するアクセスの要請によって、前記アクセス制御情報に基づいて前記アクセスが要請された前記システム資源に対する前記応用プログラムのアクセス権限可否を確認することを特徴とする、請求項10に記載のオペレーティングシステム構成方法。
  12. 前記システム資源を管理する段階は、
    前記応用プログラムによる前記システム資源に対する解除の要請によって、前記アクセス制御情報に基づいてアクセス制御情報DBから、前記応用プログラムの識別情報に相当する前記システム資源に対する情報を削除することを特徴とする、請求項10に記載のオペレーティングシステム構成方法。
  13. 前記システム資源を管理する段階は、
    前記応用プログラムを構成するプロセスの手順を決定するスケジューリング(scheduling)を提供することを特徴とする、請求項に記載のオペレーティングシステム構成方法。
  14. 前記応用プログラムを実行させる段階は、
    前記応用プログラムでアクセス可能な前記システム資源を仮想化して生成された前記システム資源に対する論理アドレスを利用して前記システム資源に対するアクセスが要請されると、アドレス変換装置が前記システム資源に対する論理アドレスを前記システム資源に対する物理アドレスに変換することにより、前記応用プログラムを実行させることを特徴とする、請求項に記載のオペレーティングシステム構成方法。
JP2014140016A 2013-07-18 2014-07-07 オペレ−ティングシステム構成装置及び方法 Active JP5976046B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0084601 2013-07-18
KR1020130084601A KR101535792B1 (ko) 2013-07-18 2013-07-18 운영체제 구성 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2015022763A JP2015022763A (ja) 2015-02-02
JP5976046B2 true JP5976046B2 (ja) 2016-08-23

Family

ID=51229798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014140016A Active JP5976046B2 (ja) 2013-07-18 2014-07-07 オペレ−ティングシステム構成装置及び方法

Country Status (5)

Country Link
US (1) US9684525B2 (ja)
EP (1) EP2827246A1 (ja)
JP (1) JP5976046B2 (ja)
KR (1) KR101535792B1 (ja)
CN (1) CN104298519B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160141476A (ko) * 2015-06-01 2016-12-09 엘지전자 주식회사 이동 단말기
CN106713388B (zh) * 2015-11-13 2021-03-30 创新先进技术有限公司 一种突发业务处理方法及装置
US10305209B2 (en) * 2016-02-26 2019-05-28 Amphenol Fci Asia Pte Ltd Electrical connector and method of assembling the same
KR102111991B1 (ko) * 2018-08-17 2020-05-18 주식회사 한컴엠디에스 운영체제 시스템의 자원 관리 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487547B1 (en) * 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
KR100406532B1 (ko) 1999-07-26 2003-11-20 주식회사 케이티 내장형 시스템을 위한 운영체제 구현 방법
US7962950B2 (en) * 2001-06-29 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for file system mandatory access control
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
CN1922576A (zh) * 2003-09-30 2007-02-28 扎鲁纳股份有限公司 操作***
GB2453284A (en) * 2004-04-02 2009-04-01 Symbian Software Ltd Mechanism for notifying a kernel of a thread entering a critical section.
US7721298B2 (en) 2004-12-03 2010-05-18 Microsoft Corporation Operating system performance
WO2006061481A1 (fr) * 2004-12-09 2006-06-15 France Telecom Dispositif et procede de controle d’acces, noyau a composants le comportant et son utilisation
EP1892625B1 (en) * 2006-08-09 2018-07-11 Red Bend Software Finer grained operating system scheduling
WO2008096891A1 (ja) * 2007-02-09 2008-08-14 Ntt Docomo, Inc. 端末装置及びソフトウエア検査方法
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
JP5676845B2 (ja) * 2008-11-06 2015-02-25 イグジット−キューブ,インク. コンピュータシステム、カーネルスケジューリングシステム、リソース割当方法及びプロセス実行共有方法
KR101122962B1 (ko) * 2010-08-04 2012-03-16 삼성에스디에스 주식회사 사용자 단말장치 및 멀티 가상머신 전환 방법
US10346276B2 (en) * 2010-12-16 2019-07-09 Microsoft Technology Licensing, Llc Kernel awareness of physical environment
US8898672B2 (en) * 2011-09-14 2014-11-25 Alcatel Lucent Method and apparatus for providing isolated virtual space
US9098726B2 (en) 2012-04-24 2015-08-04 Samsung Electronics Co., Ltd. Scalable and secure application resource management and access control for multicore operating systems

Also Published As

Publication number Publication date
US9684525B2 (en) 2017-06-20
EP2827246A1 (en) 2015-01-21
KR101535792B1 (ko) 2015-07-10
CN104298519A (zh) 2015-01-21
US20150026447A1 (en) 2015-01-22
KR20150010095A (ko) 2015-01-28
CN104298519B (zh) 2018-04-24
JP2015022763A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
Wisniewski et al. mOS: An architecture for extreme-scale operating systems
KR101697937B1 (ko) 멀티프로세서 시스템에서 동적 태스크 마이그레이션을 위한 방법 및 시스템
US10713095B2 (en) Multi-core processor and method of controlling the same using revisable translation tables
JP2004220608A (ja) スレッド型に基づくコンピュータ・リソースの動的割り付け
WO2015114745A1 (ja) 計算機及び計算機のi/o制御方法
JP5976046B2 (ja) オペレ−ティングシステム構成装置及び方法
Horey et al. Big data platforms as a service: challenges and approach
US9501285B2 (en) Register allocation to threads
US20110202918A1 (en) Virtualization apparatus for providing a transactional input/output interface
JPWO2016063482A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法およびコンピュータプログラム
TWI785320B (zh) 裝置內標記資料移動系統、資訊處置系統及用於提供裝置內標記資料移動之方法
US20200201691A1 (en) Enhanced message control banks
WO2011039887A1 (ja) 計算機装置
JP2022546906A (ja) 分割ストレージスタックのためのシステムおよび方法
KR102474986B1 (ko) 클라우드 상의 가상 머신 자원 할당을 지원하는 서버 및 그 제어 방법
US11429412B2 (en) Guest protection from application code execution in kernel mode
CN113076180B (zh) 上行数据通路的构建方法及数据处理***
JP6951962B2 (ja) OpenCLカーネルを処理する方法、及びそれを遂行するコンピューティング装置
WO2022125254A1 (en) Paging in thin-provisioned disaggregated memory
JP2007293639A (ja) アクセス制御方法、アクセス制御方法を用いた機器及びシステム
CN114510436A (zh) 一种存储设备
Tsalapatis et al. utmem: Towards memory elasticity in cloud workloads
US10367883B2 (en) Computing resource management using dedicated leadership pool
WO2019188174A1 (ja) 情報処理装置
JP5561147B2 (ja) 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R150 Certificate of patent or registration of utility model

Ref document number: 5976046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250