教育用OS「xv6」のソースコードから、initプロセスの生成と実行を見る。
マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい
Huawei’s rumored operating system is now less of a rumor and more of a reality. At the Huawei Developer Conference, they announced Harmony OS, to be used on the Honor Vision TV and perhaps the Honor Smart Screen. They indicated that they would continue to use Android on phones and tablets… but that is contingent on the current trade ban. As XDA Developers’ Mishaal Rahman noted: Yet, this new OS is
セキュリティキャンプ 2018 全国大会の集中開発コースの講師をやったので報告です. 「フルスクラッチ OS を書こう!」というテーマで,自作 OS を一から作るお手伝いをしました. 「フルスクラッチ OS を書こう!」の概要 フルスクラッチと言いつつキャンプの 3 日間(名目上は 5 日間だが,前後 1 日は作業できない)ではフルスクラッチで OS を作るのは難しいので, 小さな OS を作る,または改造するという方向で受講者とネタを考えました. 結果,2 人はそれぞれ次のネタをやることになりました. 「はりぼて OS」にコマンドを増やす xv6 を UEFI で起動する 「はりぼて OS」にコマンドを増やす 受講者の 1 人は「30 日でできる!OS 自作入門」で題材となっている「はりぼて OS」にコマンドを付けたすことになりました. 受講者本人が記事を書いているので,そちらもどうぞ.
raphine.hatenablog.com 以前こんな記事を書きました。 この記事の最後では「ここの記事に書いた内容を実践するだけじゃ大学生は強くなれないよ」と言い残したわけですが、多方面から「じゃあ大学生はどうすれば良いんだよ!」みたいなお叱りを頂いたので、続編の大学生版を書きます。 ただし続編といっても、少しだけ補足条件を。 上の記事の内容をある程度実践している。(完璧にとは言いません。完璧なんてものは存在しないので) 研究室配属前の学生である。 二つ目は結構大事な事で、まだ研究を初めてない、というのは大きなポイントです。 中高生版でも書きましたが「強さ」というのは曖昧です。別に成績が良くなくても強い人はいます。だから「SNS映えするような強さ(?)を求めるだけなら簡単でっせ?」という事を伝えたい、というのが前の記事の趣旨でした。 でも研究始めちゃうと、強さの定義って「いかに良い学会
Xv6, a simple Unix-like teaching operating system Introduction Xv6 is a teaching operating system developed in the summer of 2006 for MIT's operating systems course, 6.828: Operating System Engineering. We hope that xv6 will be useful in other courses too. This page collects resources to aid the use of xv6 in other courses, including a commentary on the source code itself. History and Background F
Ruby,Lisp,Emacs,Clojure.OCaml,Haskell,Raspberry Piのメモ いよいよOS本体を起動する処理の作成だ。 IPLとOS本体を含むイメージファイルを作成するには、筆者作成のedimg.exeを使うと簡単であるが、ここ や ここ を参考にすると、UbuntuやDebianのmtoolsパッケージに含まれるmformatコマンドを使ってFDイメージを作成しているので、同様の手順で作成することにした。 mformatコマンドを使うとイメージファイルを次のコマンドで作成できる。 $ mformat -f 1440 -B ブートセクタファイル -C -i イメージファイル名 :: ipl.binはブートセクタのファイルをBオプションで指定できる。 なお、man mformatを見ても、iオプションの説明は無かった。 OS本体をイメージファイルにコピーする
以下のツイートが結構反響があったので、どんな事をやったのかまとめておく。 自分の勉強用に最小構成のlinuxを作ったので、githubに転がしておく(不要な.cファイルもパッと見つけられる限り削除した)https://t.co/KdTb6zgr8N— Liva (@liva_jy) 2018年2月8日 元ネタはsatさんのこのツイート。 linuxのコードを理解するための、主要関数や構造体の名前はそのままに、簡略化したカーネルというのは作ってみたい。cgroupsとかトレーサとかエラー処理とかは思い切ってばっさりと。常人はそこにはまって躓くから— sat (@satoru_takeuchi) 2018年2月8日 僕はカーネルには詳しくはないので、中のソースを弄って素朴な実装にリプレースする、みたいな事はできないのだけど、kernel configでminimalな構成にして、不要なファイル
Removing (most of) the software stack from the cloud Clive is an operating system designed to work in distributed and cloud computing environments. It’s main design guidelines are: There is no software stack in the cloud. Applications and services are compiled along with libraries that permit them to run on the bare hardware.System nterfaces are designed along a CSP-like style. Applications and co
2020/05/06更新: 新しい記事を書きました。こちらのほうがより新しい情報が乗っていると思います。 巷でよく聞くRustでOSないしベアメタルプログラミングの試みの備忘録。 Rustにはとても興味があってかつ大学での研究分野が低レイヤー系だったので面白そう思ったのだが、 いざやろうとしてみるといろいろなハードルがあるようで、ベストプラクティスも確立していないっぽい。 ので、とりあえず適当に漁った資料をまとめてみる C以外でのベアメタルプログラミング oruminさんのKernel/VM勉強会での発表のSpeaker Deck。自前のbinutilsとxargoを使ってベアメタルプログラミングしている RustでOSを書いてみる(環境構築編) - Qiita Introduction Rust for Creating Your Operating System - Qiita 実際に
Nov 6, 2017 I’ve been planning for some time to make a post about things you can do with virtual memory, so when @jimsagevid tweeted me about virtual memory in response to my last post, I felt the time was right. Virtual memory is funny. As programmers, we know that it’s there (on all modern CPUs and OSs), but we tend to forget about it, perhaps because it’s not directly exposed in our programming
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く