最初に 「ゼロからのOS自作入門」を実践するための、環境構築方法及びコマンドリストと実行結果のメモです。最短で実行したい方、うまく動かすことができない人用の記事となります。 書籍に関する感想は、以下ブログ記事に書いているので、書籍自体を買おうか迷っている人はこちらを参考にしてみてください。 本記事は「ゼロからのOS自作入門」を読んで、個人的にまとめたものとなります。内容に関して、もし問題や誤りがあった場合の文責は私にありますので、この記事に関しての疑問は私に問い合わせください。もちろん書籍自体の質問は、書籍のサポートに連絡ください。 この記事を読むと、書籍を読まなくてもOSを動かすことはできます。ただ、書籍を読みながら自分で理解したり改造したりしながら動かさないと何も身につかないと思うので、興味ある人は書籍を買いましょう。価格の何倍もの価値がある良書だと思います。 ゼロからのOS自作入門
自作 OS や関連する話題を書いていくカレンダーです。自作 OS に直接は関係ない低レイヤな話題も大歓迎です。 カレンダーを立てた uchan_nos は osdev-jp の人ですが、osdev-jp メンバーに限らずどなたでもご参加いただけます。 過去の自作 OS Advent Calendar たち 2019 https://adventar.org/calendars/4027 2018 https://adventar.org/calendars/2915 2017 https://adventar.org/calendars/2282 2016 https://adventar.org/calendars/1666 2014 https://adventar.org/calendars/511 主催者より: このアドベントカレンダーには、超初心者による記事から上級者によるものま
仮想マシンがどのように実現されているか気になったので、勉強がてら簡単なハイパーバイザを作ってみました。ソースコードはGitHubで公開しています。 方針 RaspberryPi3で動作するAArch64向けのType-1(ベアメタル)ハイパーバイザを作ることにしました。名前は"raspvisor"とします。 スクラッチから作り始める気力はなかったので、なるべく流用できるものは使っていくことにしました。そこで、RaspberryPiのOS開発教材であるRPi OSをハイパーバイザに改造していくことにしました。RPi OSはコード量が少なく読みやすい上、割り込み処理、プロセススケジューラ、ユーザプロセス、システムコール、仮想メモリといった機能が一通り実装されています。OSを改造することにしたのは、プロセス管理や仮想メモリ、割り込み処理といった部分を、ハイパーバイザの実装に流用できそうだと思った
OS内部どうなってんのか知っといた方がいいんだろうなぁ、と思っている人向けになんか書きたいなぁ、と思って書きました。 OSを理解しようとすると、初回は挫折感をあじわって退場するのですが、原因いろいろあると思います。 C言語、アセンブリ(gnu assembly)、ELF, linker scriptの知識 boot処理時(の登場人物)で混乱する マルチタスク処理(switching, interrupt)がわからん OS自作しようぜ、みたいなはじめから強い本が多い まぁ、最後のは冗談として(自分は凡人なので..)、 https://github.com/mit-pdos/xv6-public (Unix V6のx86(32bit) implementation。以下xv6と呼びます) と https://pdos.csail.mit.edu/6.828/2018/xv6.html がとても
みなさん、自作OSという言葉をご存知でしょうか? 自作PCという言葉には馴染みがあっても、自作OSという言葉は初めて聞いたという方も多くいらっしゃると思います。本連載では、そもそも自作OSとは何か、という基本的なところから、自作OSのこれまでの歴史、現代のコンピューターにおける自作OSの難しさ、そして自作OSの将来的な可能性について、筆者の実体験を踏まえながらご紹介したいと思います。 身近にあるOSの例 自作OSというのは、OS, つまりオペレーティングシステムを自分の手でつくりあげることを指します。といっても、そもそもOSとは何か知らない方も多くいらっしゃると思いますので、最初はそもそもOSとは一体何なのか見ていきましょう。 さて、みなさんの知っているOSにはどんなものがあるでしょうか?下記の図は、2019年5月の、日本国内におけるOSのシェアを示したグラフです。 最も多く使われているO
→ PDF版(PDFファイル直リンク(表紙画像リンク先と同じ),技術書典オンラインマーケット) 紙版(BEEP) 初版発行日: 2023/05/20 (技術書典14) 「SimH」というシミュレータを用いて、「PDP-7」という1960年代のコンピュータをアセンブリ言語で直接制御するベアメタルプログラミングを行う本です! 基本的な計算の行い方から始め、テレタイプによる入出力で「HELLO WORLD!」や「エコーバック」のプログラムを作ったり、シミュレータ上で動作するベクタースキャンディスプレイを制御したりします! サンプルコードは↓で公開しています(GitHub) https://github.com/cupnes/pdp7-baremetal-programming-with-simh-samples 追加・訂正情報 Scrapboxに追加の情報などをまとめています 「セキュリ
前回の記事では、自作OSとは何か、そしてこれまでの自作OSの歴史を紹介しました。しかし、近年になって自作OSを取り巻く状況は大きく変化してきています。そこで今回は、現代における自作OSでは、これまでと比べてどのような点が変化してきたのか、どのような難しい点があるのかについて紹介し、さらにそれらに対する解決策を、筆者の経験をもとに提案してゆきます。 自作OSをとりまく環境の変化 川合秀実氏著「30日でできる!OS自作入門」が出版された2006年頃と比べて、コンピュータをとりまく環境は大きく変化してきました。その変化には、CPUのコア数やビット幅からファームウェアの変遷、そしてデバイスの進化も含まれています。まず最初に、CPUのコア数について着目してみましょう。 CPUコア数の増加 上記の図は、1999年から2019年までにIntelから発売されたCPUのコア数の変化を示したグラフです。ご覧の
本エントリはさくらインターネットアドベントカレンダー2018の12月25日の記事です。メリークリスマス!!!!! 12月24日は、echizenya yotaさんの「さくらインターネット株式会社の田中邦裕社長からクリスマスプレゼントをもらう方法」でした。 ということで、今日は @matsumotory が 「分散型データセンターOSとリアクティブ性を持つコンテナ実行基盤技術のこれから」について書いてみようと思います。 現状のgVisorやFirecrackerをはじめとするコンテナ実行基盤技術の公開に伴って、個人としてはこれからますます分散型データセンターOSのような基盤と、その上で実行されるリアクティブ性を持つコンテナ実行環境が重要になってくる時代がはじまるように思っています。 今日は、そのあたりについての自分の考えと、その流れを見据えて現在開発しているミドルウェアを2つ紹介したいと思い
2009年12月21日 ARM Linux の移植 新しいターゲットボードに ARM Linux を移植するとき、何をすれば良いのか、各ファイルにはどのような役割があるのか、なかなかわかりにくいと思います。 自分の経験を元に、以下にまとめてみます。内容は無保証です。 ROM 化の部分は扱いません。make vmlinux できるところまでです。とりあえず vmlinux (圧縮前の ELF 形式) さえできれば、PARTNER から直接実行できます。 > l /path/to/vmlinux,/offs=xxxxxxxx # ロードしたい DRAM 物理アドレス位置へのオフセットを指定 > _pc=xxxxxxxx # pc をロードした位置に合わせてセット。 > _r1=xxxx # machine number を正しくセットしておかないとブートできません。 > g # 実行 (それ以
日本ラッドは10月7日、同社のSaaS、レンタルサーバ事業のブランド「SaaSesサービス」の1つとして、5.1GBまでの容量を無料で使えるクラウド型オンラインストレージサービス「ソラ箱」(無料版)の提供を10月12日より開始すると発表した。 同サービスは、法人・個人を問わず、ユーザー登録を行うだけで無料で利用可能で、5.1GBまでの容量制限や商業利用が不可である点を除き、有料版と同じサービスが保証されるという。 同社はクラウド型の分散ストレージシステムを独自に開発。同社の「排熱型データセンター」で運用されるこのシステムが同サービスの基盤となる。 同サービスには、一般企業のユーザー向けに「エクスプローラ感覚で利用可能な専用ツール」が用意されるほか、システムインテグレーター(開発者)などのビジネスユーザーも想定し、Linuxコマンドラインによる利用も可能となっている。 同サービスの対応Web
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く