view slide/slide.md @ 15:82407e7fefd9

fix
author okud
date Sun, 14 Feb 2021 15:40:34 +0900
parents 101c076a190b
children c977b5f82b9f
line wrap: on
line source

---
marp: false
title: Gears OS UEFI対応
paginate: true

theme: default
size: 16:9
style: |
  section {
    background-color: #FFFFFF;
    font-size: 28px;
    color: #4b4b4b;
    font-family: "Arial", "Hiragino Maru Gothic ProN";
  }

  section.title {
    font-size: 40px;
    padding: 40px;
  }
  section.title h1 {
    text-align: center;
  }

  section.slide h1 {
    position: absolute;
    left: 50px; top: 35px;
  }

---
<!-- class: title -->
# <!--fit--> Gears OS のBootに関する研究

- 奥田光希
    - 琉球大学工学部工学科知能情報コース
- 河野 真治
    - 琉球大学工学部

---
<!-- class: slide -->
# OSとアプリケーションの信頼性を高めたい

- Meta計算を用いて信頼性を高めるGearsOSを提案している
- x.v6を元にRaspberry Pi上で動くGearsOSを実装中
- BIOSからBootしているのでUEFIに移行したい
---
<!-- class: slide -->
# UEFI採用の利点
- CPUなどの機種依存性を避けることができる
- GearsOSはCbC(Continuation based C)で記述されていて、CPUやデバイスに影響されない
- 様々な組み込みシステムに対してGearsOSを応用できる様になる
---
<!-- class: slide -->
# CbC(Continuation based C)
- 並列信頼研究で開発されているプログラミング言語
- C言語の下位言語
- 関数呼び出しではなく継続(goto)
- 関数の代わりにCodeGearという単位でプログラミングを行う。

---
<!-- class: slide -->

![CbCの遷移](images/CbC.png)




---
<!-- class: slide -->
# GearsOS
- 並列信頼研究で開発されているOS
- 信頼性と拡張性がテーマ
- CbCによって記述されている
- x.v6をCbCで書き直して実装している
---
<!-- class: slide -->
# UEFI
- Unified Extensible Firmware Interfaceの略
- OSとプラットフォームファームウェアの間のソフトウェアインタフェースを定義する仕様
- Intel、AMD、Apple、Microsoftなどの企業からなるUnified EFI Forumの元で開発
- BIOSの後継
---
<!-- class: slide -->
# UEFIのここがすごい
- CPUやドライバに依存しない
- 2TBを超える大きなディスクからBootできる
- ネットワークにつながる
- メモリも64bitなら理論上16EB
- 高速でBoot
- 仕様だから開発が簡単

---
<!-- class: slide -->
# UEFI Application
- UEFI Boot Managreがロード、実行するプログラムのこと
- C言語で記述可能
- OSがなくてもプログラムを書ける
- CPUやドライバに依存しない

---
<!-- class: slide -->
# UEFI 開発環境
- EDK2
- gnu-efi

---
<!-- class: slide -->
# EDK2
- 独自のビルドシステムをもつ大規模で複雑な環境
- CrossCompilerとしてGCC、MinGW、Microsoft Visual C++などが使用できる
- UEFI Application のコンパイルだけでなくBIOS ROMにフラッシュするUEFIファームウェアのコンパイルにも利用できる

---
<!-- class: slide -->
# gnu-efi
- システムのネイティブGCCでUEFIアプリケーションをコンパイルできる
- UEFI Applicationをリンクするためのライブラリがある
- UEFI Applicationの開発に特化している

---
<!-- class: slide -->
# UEFIによるGearsOSのBoot

---
<!-- class: slide -->
# まとめ(デモ???)