uchan note

プログラミングや電子工作の話題を書きます

OS を作る!? 夏の集中開発ゼミ開催!

2018 年の夏季 3 日間で集中して OS を開発するイベントのご紹介です。なんと参加費、交通費、宿泊費など無料なので、学生さんは奮ってご参加ください!

概要

オペレーティングシステム(OS)は IT システムを構成する重要な要素です。しかし OS の中身を知らなくてもアプリケーションを開発できるため、多くの人にとっては OS が具体的に何をするかは謎ですし、謎のままでそんなに困っていないかもしれません。

f:id:uchan_nos:20180426162030j:plain

しかし、性能を求めるソフトウェアシステムを構成したり、低レイヤ部分に原因がある問題を解析したりするためには OS についての深い知識が欠かせません。特にこのレイヤにセキュリティ脆弱性があると、単一のアプリーションにとどまらず、システム全体の安全を脅かします。2018 年頭から世間を賑わわせている Spectre & Meltdownはその代表例でしょう。多数の顧客が同一システムに載るクラウドサービスが全盛の現代では、低レイヤを深く知る重要性がより高まっていると言えます。

そこで、学生に OS についての知識を会得してもらうために、x86 CPU 向けの OS を集中的に開発する 「OS 開発ゼミ」を開催します。テーマは「フルスクラッチ OS を書こう!」「最先端 OS 談義」「Linux 開発者を目指そう!」の 3 つです。夏の 3 日間で OS 開発にチャレンジしてみませんか?それぞれのテーマを得意とする講師がみなさまをバックアップします。

もっと詳しく

OS 開発ゼミを講師自ら紹介する動画を公開しております.是非ご覧ください.

各テーマの紹介文は別記事 seccamp2018 を参照してください。

応募するには?

IPA の応募要項ページ からエントリーをお願いします。

基本情報

  • 開催日:2018/08/15 - 17
  • 場所:クロス・ウェーブ府中(東京都)
  • イベント:セキュリティキャンプ全国大会 2018
  • ゼミ:集中開発コース システムプログラミングトラック OS 開発ゼミ
  • 講師:粟本(@liva_jy)、武内(@satoru_takeuchi)、内田(@uchan_nos)
  • 対象者:2019/03/31 時点で 22 歳以下の生徒、学生
  • 選考:書類選考のうえ決定
  • 応募締め切り:2018/05/28
  • 参加費:無料(交通費、宿泊費、食費など主催者負担)

【技術書典4】USB 3.0 ホストドライバ自作入門を出します(ダウンロード頒布有)

大人気の技術書オンリーの同人誌即売会技術書典 4」が、2018/04/22(日)に秋葉原 UDX で開かれます。

今回は「USB 3.0 ホストドライバ自作入門」を出しますので、そのお知らせです。

頒布情報

  • 日時 2018 年 4 月 22 日(日)
  • 場所 秋葉原 UDX アキバ・スクエア
  • ブース け 51「windhole」 windhole のサークルページ
  • 書名 USB 3.0 ホストドライバ自作入門
    • windhole ブースでは他にも Linux や自作 OS 系の低レイヤな同人誌を頒布しています。
  • ページ数 52(表紙含む)

f:id:uchan_nos:20180414175839j:plain:w150

続きを読む

seccamp2018

このページはセキュリティキャンプ全国大会 2018 の集中開発コース「OS 開発ゼミ」の紹介ページです.

OS 開発ゼミ 基本情報

OS 開発ゼミの基本的な情報は以下の通りです。

  • イベント:セキュリティキャンプ全国大会 2018
  • コース:集中開発コース
  • トラック:システムプログラミングトラック
  • ゼミ:OS 開発ゼミ
  • 時間帯:3 日間連続(8/15 - 8/17)
  • 必要機材:PC、その他必要に応じて仕様書や参考書など
  • 事前学習:あり(詳しくは後述)
  • 講師:粟本さん,武内さん,内田
続きを読む

x86-64 モードのプログラミングではスタックのアライメントに気を付けよう

x86-64 モードというのは x86 系 CPU の動作モードの一つです.64 ビットモードとかロングモードと呼ばれることもあります. x86-64 モードではページングが必須だったり,セグメント CS や DS に設定するベースアドレスやリミットが無視されるなど,CPU 自体の制約事項もあります. それ以外に,x86-64 モードでよく使われる ABI による制約もあり,ハマりやすい部分でもあるので本記事で説明します.

続きを読む

How to reset NVRAM of MinnowBoard Turbot

This article expresses how to reset a NVRAM of a MinnowBoard Turbot. MinnowBoard Turbot is a x86_64 board for embedded use.

Why this article is useful

Enabling fast boot in BIOS setup utility will block you to enter to the utility again. You can re-enter to it by resetting NVRAM on the board.

How to reset NVRAM

0. Prerequisite

You'll need a jumper connector to short-circuit two pins.

f:id:uchan_nos:20180109074238j:plain

1. Short-circuit two J7 pins

J7 (Jumper 7) pins are the upper right of the board.

f:id:uchan_nos:20180109074002j:plain

Connect two pins using a jumper connector.

f:id:uchan_nos:20180109074131j:plain

2. Boot up

Boot the board up and hit DELETE key repeatedly. Then your BIOS settings are reset and you should be able to get into BIOS setup utility.

3. Finish

Shut down the board and remove the jumper connector.

OS 自作に便利な C++ の機能 10 選(後編)

自作 OS Advent Calendar 2017 11 日目の記事です(盛大に遅刻しました). 1 日目の記事 に引き続き,OS を書く際に便利な C++ の機能を紹介していきます.

続きを読む

レガシー BIOS が 2020 年で消えたあとの世界

11 月に入って,Intel が 2020 年までにレガシー BIOS サポートを完全に消そうとしているというニュースが飛び込んできました.

www.itmedia.co.jp

OS を自作する場合はいまだに BIOS に頼った起動コードを書くことが多いと思います. このニュースが意味する正確なところを少し解説した後,レガシー BIOS がなくなった後の世界を自作 OS の視点から考えてみます.

自作 OS Advent Calendar 2017 5 日目の記事です.

続きを読む