{"updated":"2025-01-22T00:37:14.273648+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00067424","sets":["1164:1867:5984:5985"]},"path":["5985"],"owner":"10","recid":"67424","title":["OCamlによるOSの実装"],"pubdate":{"attribute_name":"公開日","attribute_value":"2010-01-20"},"_buckets":{"deposit":"e78ba3e5-7b0e-4af6-a176-4e2803b38526"},"_deposit":{"id":"67424","pid":{"type":"depid","value":"67424","revision_id":0},"owners":[10],"status":"published","created_by":10},"item_title":"OCamlによるOSの実装","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"OCamlによるOSの実装"},{"subitem_title":"Implementation of an Operating System in OCaml","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"OS実装法","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2010-01-20","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"電気通信大学"},{"subitem_text_value":"電気通信大学"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"The University of Electro-Communications","subitem_text_language":"en"},{"subitem_text_value":"The University of Electro-Communications","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/67424/files/IPSJ-OS10113004.pdf"},"date":[{"dateType":"Available","dateValue":"2012-01-20"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-OS10113004.pdf","filesize":[{"value":"797.1 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"11"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"72c15729-ccc9-4377-ba33-abb65ff539a2","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2010 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"井上, 翔大"},{"creatorName":"大山, 恵弘"}],"nameIdentifiers":[{}]}]},"item_4_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Shouta, Inoue","creatorNameLang":"en"},{"creatorName":"Yoshihiro, Oyama","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10444176","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"現在,Java,C#,ML のような高い生産性での安全なプログラミングを支援する現代的なプログラミング言語が様々な目的で利用されている.しかし,OS や組み込み系ソフトウェアなどの低レベルのシステムソフトウェアの分野では,未だに C 言語が広く用いられており,低い生産性や致命的なバグの原因となっている.そこで,本研究では,現代的な関数型言語 OCaml で OS を開発し,低レベルのシステムソフトウェアの記述における関数型言語の有効性を評価する.その OS は極めて小さいが,カーネル空間とユーザ空間の分離,マルチタスク,割り込み処理,初歩的な入出力デバイス管理などのいくつかの基本 OS 機構を備えている.その OS の大部分は OCaml で記述され,残りは C 言語とアセンブリ言語で記述されている.この論文では,その OS の設計と実装について述べるとともに,開発を通じて得た,関数型言語を使用することの利害得失などに関する知見を示す.","subitem_description_type":"Other"}]},"item_4_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Modern programming languages such as Java, C#, and ML support secure and high productivity programming, and are currently used on various purposes. Unfortunately, in the field of low-level system software including operating systems and embedded software, the C language is still widely used and causes low productivity and critical bugs. In this work, we develop an operating system in a modern functional language OCaml, and evaluate the effectiveness of functional languages in writing low-level system software. Though the operating system is extremely small, it provides several basic operating system mechanisms including user-kernel separation, multitasking, interrupt handling, and primitive I/O device handling. Most of the operating system is described in OCaml, and the rest is described in C and assembly. This paper decribes the design and implementation of the operating system, and presents several insights we obtained through the development (e.g., pros and cons of using functional languages).","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"8","bibliographic_titles":[{"bibliographic_title":"研究報告システムソフトウェアと オペレーティング・システム(OS)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2010-01-20","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"4","bibliographicVolumeNumber":"2010-OS-113"}]},"relation_version_is_last":true,"weko_creator_id":"10"},"created":"2025-01-18T23:27:51.037484+00:00","id":67424,"links":{}}