タグ

OSに関するryochackのブックマーク (24)

  • RustでOS作成したという論文を訳してみた その1 - 飽きっぽい人のブログ

    ここの翻訳になります 原文は2015年に書かれたものなので現在のRustの仕様と異なることが書いてある場合があります 文章はGithubで管理されています この翻訳は7割方間違っているので信用しないでください 次:その2 Reenix: RustでのUnixライクオペレーティングシステムの実装 Alex Light(alexander_light@brown.edu) Advisor: Tom Doeppner Reader: Shriram Krishnamurthi Brown University, Department of Computer Science 要旨 この論文はRustでのUnixライクなOSカーネルの実装でわかった成功と失敗の体験を説明するものである。 CS167/9のために書かれたWeenix OSの基礎デザインと大量の低レベルな処理をサポートするコードを使って

    RustでOS作成したという論文を訳してみた その1 - 飽きっぽい人のブログ
  • RustでOSを書いてみる(環境構築編) - Qiita

    記事は自作OS Advent Calendar 2016 16日目の 記事です。 はじめに 大学に入った頃からOS自作に興味があり、「30日でできる! OS自作入門」を見ながらはりぼてOSもどきをつくって遊んでいました(OS自作を始めたのはが出版される少し前です)。 時は流れて2016年・・・RustでOSが作れるという話をどこかで知って以来、RustでOSを作ってみたいという気持ちが強くなり、作り始めることにしました。 作り始めてみたものの、いまだにほとんど何もできてない状態ですが、環境構築してブートプログラムからRustのコードを呼び出すくらいはできたので、記事ではRustを使ってOS自作したい人に向けて環境構築の手順について解説していきたいと思います。 注意事項 記事で解説する手順はi686(Intel 32bit CPU)環境向けとなります。また、Mac OS X El C

    RustでOSを書いてみる(環境構築編) - Qiita
  • 死んでしまったOSたちへ

    自分はの草稿に誤字脱字探しをしつつ好き勝手言う係としてちょっとだけ手伝った。せっかくなので宣伝してみる。 このはコード読みブログやアーキテクチャ解読ブログをまとめたような体裁になっている。といっても各章バラバラではなく、としての連続性はある。そして OS というものを包括的に解説するかわりに Android の特徴的なところ、たとえば GUI フレームワークや VM のランタイムなど、をつまみいしている。これは正しいアプローチだと思う。伝統的な OS の話をしだすと Android ってだいたい Linux だからね。Android に限らず、この「伝統的な OS の上にあるプラットホームのレイヤ」の中身を説明したは少ない。 そこが面白い。 このの欠点は文章がけっこう slippery なところ。悪い意味でブログぽいというか同人誌ぽい。ただそれは「支える技術」シリーズに共通する

    死んでしまったOSたちへ
  • Google: IoT向け新OS「Fuchsia」を発表 - BusinessNewsline

  • 『Operating System Design: The Xinu Approach, Linksys Version』を読んだ - 読むために生まれ。

    実際のOSのソースコードを示して解説する教科書といえば、TanenbaumのMINIXが有名である。書は、Dougras ComerによるXINUというOSにつての同様の趣旨のである。このようながあるという事は、以前から知ってはいた:XINU("XINU is Not UNIX"の略)オペレーティングシステムの開発について述べた優れた。<中略>このはオペレーティングシステム概論の授業の副読としてうってつけで、UNIXカーネルの授業でLionsのテキストと一緒に使っても良いくらいだ。(『Life with UNIX』p.127) この記述は書の初版に関するもので、LSI 11というPDP-11をワンチップ化したハードウェアを対象に書かれたものである。Amazonで調べてみると、書はその後、PC版やMac版が出ていたようである。しかし、長いこと絶版となっていた。 ところが最近

    『Operating System Design: The Xinu Approach, Linksys Version』を読んだ - 読むために生まれ。
  • Rustで書いた自作OSをRaspberry Pi Zeroで動かす - Qiita

    この記事は"Aizu Advent Calendar 2015"25日目として書かれた. はじめに ファイナルベント担当のもぷりです. 今年のAizu Advent Calendarも自作OSについて書いていこうと思います. ゆっくり書いていたらIntroductionがだいぶ長くなってしまったので読み飛ばしてもらっても全然問題ありません. 今までの自作OS ソースコードはすべてgithubに公開してある. mopp/Axel 今までは全て、C言語とアセンブラ(nasm)を使って開発を行ってきた. 対象アーキテクチャはx86_32のみで、不完全なものも含むが、物理/仮想メモリ管理、割り込み、ユーザプロセス、システムコール、ATAデバイスの読み書き、FATファイルシステム対応などなど はりぼてOSにならって、こんな感じの画面をつけたりもした. (こんなところで書くのも何だけれども、OS自作

    Rustで書いた自作OSをRaspberry Pi Zeroで動かす - Qiita
  • Introduction Rust for Creating Your Operating System - Qiita

    これは、Rustを使って自作OSをするための手引兼メモです. 間違っていることもあると思うので、何かあればコメントをおねがいします. Rustは、Mozillaによって開発されたプログラミング言語であり、目標の一つにCPUやOSなどのLow-levelなものを抽象化することがある. 特徴としては、メモリ安全なプログラミングを行うための言語的機能などなどといろいろあるが、触れると長くなるので簡単に、OSを作ることを考えた時に気になるであろう事項を書いておく. また、特に上から順に読む必要はなく、必要な箇所だけ必要なときに参照するしてほしい. stableなrustだといくつかの機能が使えないようなので、先にEnvironmentの項を見て、ビルドしておくことをおすすめする. Features of Rust これらについて、簡単に書こうと思い調べたところ、非常によくまとまっている投稿を発見し

    Introduction Rust for Creating Your Operating System - Qiita
  • QNX - Wikipedia

    QNX(キューエヌエックス、またはキューニックスと発音)は商用のリアルタイムUnix系オペレーティングシステムであり、POSIXとPOSIX 1003.1bに対応している。主に組み込みシステム向けに販売されている。元々はカナダの企業QNXソフトウェアシステムズが開発していたが、同社は後にリサーチ・イン・モーション(現ブラックベリー)が取得した。 詳細[編集] マイクロカーネルOSとして、QNXではOSのほとんどが「サーバ」と呼ばれる小さなタスクとして動作する。この点は従来からのモノリシックなカーネルを採用したOSと大きく異なる。モノリシックカーネルOSでは機能の大部分はひとつの大きなプログラムに含まれ、例えば不要な機能をOFFにしたい時などにはOS自体を変更(再リンクなど)する必要がある。それに対しQNXではユーザや開発者はサーバを停止させることで簡単に不要な機能をOFFにすることができる

    ryochack
    ryochack 2014/07/24
    QNXのプロセス間通信は、受信プロセスがメッセージを待っていた場合、同時に受信側プロセスにCPUの制御が渡され、この際にスケジューラを経由しない。そのため、全く無駄な点がない。
  • Commentary on the Sixth Edition UNIX Operating System

    This directory contains a copy of John Lions' “A commentary on the Sixth Edition UNIX Operating System”. This form of the document is the one that Warren Toomey published on the USENET alt.folklore.computers newsgroup in May 1994, with corrections supplied by Brian Foley in 2014 and incorporated into the source by Conway Yee in August 2023. It's available in several forms: The book in PDF, for pri

    ryochack
    ryochack 2014/05/26
    Lions’ Commentary on UNIXがPDF公開されてる
  • SSSSLIDE

    SSSSLIDE
  • Plan 9のお話

    Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Preferred Networks

    Plan 9のお話
  • ベル研究所が開発するOS「Plan 9」が新たにGPLv2で公開される | OSDN Magazine

    ベル研究所がUNIXの後継として研究用に開発するOS「Plan 9」が、新たにGPLv2で公開された。カリフォルニア大学バークレー校がベル研究所を所有するAlcatel-Lucentの許可を受けて実現したもので、これにより同校で開発が進められているOS「Akaros」への組み込みが可能となる。 Plan 9はKen Thompson氏らが中心となって1980年代後半に開発がはじまったOS。独自の通信プロトコル「9P」を利用した分散アーキテクチャが特徴で、各プロセスは独自のミュータブルな名前空間を持ち、関係ないプロセスの名前空間に影響を与えることなく名前空間の削除や追加が可能という。ウィンドウシステム、コンパイラ、ファイルサーバー、ネットワークサービスなどはすべてPlan 9向けに新たに作成されているが、 UNIXプログラムも利用できる。 Plan9は1992年の初回リリース後、1995年、

    ベル研究所が開発するOS「Plan 9」が新たにGPLv2で公開される | OSDN Magazine
  • Linuxに勝てなかったPlan 9 - @IT

    2002年頃、とある雑誌でPlan 9の記事を6ページほど作ったことがある。冷静に考えると、とても流行するようには思えなかったのだが、私にはPlan 9はまぶしく輝いて見えた。それは紛れもなく未来のUNIXだったし、日々コンピュータやネットワークを利用する環境として、ぜひとも使いたいと思えるような機能が多くあった。 「Plan 9」(プラン・ナイン)はUNIXが生まれたベル研究所で、次世代UNIXとして開発されていた分散OSだ。UNIXやC言語を生み出したケン・トンプソン、デニス・リッチー、ロブ・パイクらのチームが、当時UNIXが抱えていた限界を打ち破るために、ネットワークやGUIを最初からUNIXの設計思想に基づいて取り入れた先進的なOSだった。それは、未来のUNIXとなるはずだった。 UNIXの大きな特徴として、デバイスをファイルにマッピングして抽象化するというものがある。各I/Oポー

    ryochack
    ryochack 2014/02/18
    「より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ」
  • LispでOSを書く

    (このエントリは、Lisp Advent Calendar 2012 の22日目である) ELIS復活祭のとき、ELISのTCP/IPプロトコルスタックを書いたという方とお話する機会があった。ELISのプロトコルスタックはもちろんLispで書かれていた。その方がおっしゃるには、「C言語はよい。BSDからソースコードを持ってくればいいのだから。しかし、Lispで書かれたプロトコルスタックなどなかった。自分で書くしかなかった」ということだった。それにしても、LispでOSを書くというのは、いったいどんな感じなのだろう? OS記述言語としてのLisp UnixがCで書かれて以来、OSは、伝統的にCとその派生言語で書かれることになった。BSDやLinuxを含むUnix-likeなシステムはもちろんCで書かれている。Windows NTはC++を使っている。BeOSもC++で書いたし、MacOS X

  • OSセキュリティチュートリアル

    3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki

    OSセキュリティチュートリアル
  • C++でできる!OS自作入門

    3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki

    C++でできる!OS自作入門
    ryochack
    ryochack 2014/01/12
  • プロセス、スレッド、ファイバ、タスク、ジョブ、違いを整理してみよう - Schi Heil と叫ぶために

    まずは分かりやすいプロセスとスレッドから。 WindowsLinux などの汎用 OS 上のアプリケーションは一般にプロセスとして動作している。プロセスはプログラムの実行単位である。プロセスは1つ以上のスレッドと、ファイル、ヒープメモリなどのリソースで構成される。一方、スレッドは CPU 利用の単位である。スレッドはそれぞれが専用のスタックと CPU レジスタのコピーを保持するが、ファイルやヒープメモリは同一プロセス内の全てのスレッドで共有する。 スレッドのさらにサブセットがファイバである。スレッドとの違いは切り替え動作にありファイバのほうが軽いというメリットがある。プロセス、スレッド、ファイバの関係はこちらの説明が分かりやすかった。 プロセスはプログラム実行のための固有のメモリ空間を持っており、最も独立性の高い実行単位である反面、起動や切り替えに時間がかかるという特性を持っています

    プロセス、スレッド、ファイバ、タスク、ジョブ、違いを整理してみよう - Schi Heil と叫ぶために
  • 「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)

    はじめに 「はじめてのOSコードリーディング 〜UNIX V6で学ぶカーネルのしくみ〜」というを2013年1月8日に技術評論社から出版します。 はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus) 作者: 青柳隆宏出版社/メーカー: 技術評論社発売日: 2013/01/09メディア: 単行(ソフトカバー)購入: 56人 クリック: 1,959回この商品を含むブログ (29件) を見る このエントリでは、そのの紹介を行います。もし興味を持ったならば、書店などで手に取っていただけると幸いです。 追記 追記 2013/08/17 PDP11エミュレータをJavaScriptで実装しました。WebBrowser(Crhome)上でUNIX V6の動作確認を行うことができます。デバッグ機能もありますので、読者の方はコードリーディ

    「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)
  • Unix V6 Manuals

    This are the manuals from Sixth Edition Unix. Thanks to aiju for helping getting this set up. TODO: For technical reasons Section 0 is not currently available. Manual Sections Section: 1 - General commands. - cat, sed, grep, etc. Section: 2 - System calls. - stat, open, wait, etc. Section: 3 - C library functions - printf, getpw, ttyn, etc. Section: 4 - Special files and devices - /dev/null, /dev/

    ryochack
    ryochack 2013/01/07
    UNIX V6のマニュアル。カーネルを読むには第2章と第4章が重要らしい
  • 初めてのOS source code reading(UNIX 6th source code readingのススメ) - やる気のないブログ(A boring diary)

    このエントリはhttp://d.hatena.ne.jp/takahirox/20120131/1328006885を和訳したものです。 はじめに 最近UNIX 6thのソースコードの読書メモを書き終えました。 みさなんにもUNIX 6thのソースコードを読むことをオススメします。 その理由をこのエントリで書いていきます。 まとめ UNIX 6thは初めてOSのソースコードを読む人にうってつけ! 今すぐ読み始めましょう! UNIX 6thのソースコードはこちらなどで読むことができます。 http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6 UNIX 6thのソースコードを読むことをオススメする理由 たったの10,000行 最近のLinuxカーネルのソースコードは100万行を超えています。全てを理解するのは至難の業です。 一方、UNIX 6thのカー

    初めてのOS source code reading(UNIX 6th source code readingのススメ) - やる気のないブログ(A boring diary)