タグ

osに関するmanabouのブックマーク (32)

  • 異世界言語OSのモックを作ってみた話 架空世界で親しまれているという設定の伝統ゲーム「机戦」 

    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。hsjoihs氏は、架空世界の言語を話す架空世界の人間のためのOS作成について発表しました。全2回。前半は、架空伝統ゲーム「机戦(セッカイク)」と、OS作成のツールチェーンとデスクトップ環境について。 趣味は「架空世界創作」 スタンフォード大学に通うhsjoihs氏 hsjoihs氏(以下、hsjoihs):よろしくお願いいたします。こういうタイトルでやっていきたいと思います。「long version」と書いてあることからもわかるように、2022年9月17日にセキュリティキャンプのアフターイベントで発表した5分の「short version」を長くしたものとなっています。あらかじめご了承ください。 自己紹介です。hsjoihs(はすじょい)と

    異世界言語OSのモックを作ってみた話 架空世界で親しまれているという設定の伝統ゲーム「机戦」 
    manabou
    manabou 2024/05/17
  • 1,000行で作るオペレーティングシステム

    「Writing an OS in 1,000 Lines」 というオンラインブックを書きました。ゼロから1,000行でOSを作るという内容です。 『自作OSで学ぶマイクロカーネルの設計と実装』 とは違い、最初の一歩の部分を重点的に解説しています。シンプルなモノリシックカーネル設計で、実装の解説だけでなくカーネルプログラミング特有の難しい部分、特に「カーネルをどうデバッグすれば良いか」をおさえた、初学者向きの内容になっています。 3日ほどあれば済むボリュームです。夏休みの自由研究がてら、ぜひチャレンジしてみてください。

    1,000行で作るオペレーティングシステム
  • 車載 OS について語る

    はじめに 他分野のエンジニアに「1回のミーティングで車載OSについて教えて」と相談されることがあったため、その説明の際に使ったメモ書きを共有する。一応、最初に予防線を張っておくと、私自身、車載ソフトウェア業界に身を置くが、「いわゆる車載OS分野の専門家か?」というとそうでもないし、やや距離のある分野の方への説明なので、ツッコミはお手柔らかにお願いしたい。 ISO-26262機能安全について OSという耽美な響きからGeekでTechな話を期待されたかもしれないが、まず国際標準の話から説明を始める。というのも、この点が生命・財産に関わるソフトウェアと、そうでないソフトウェアを分かつ、大きな前提のため、ここはスキップできない。 機能安全とは? 国際標準とは世界で統一的なコミュニケーションを図るための規格であり、Terminologyについては他のどんな文書より定義が厳密なものだが、「1回のミー

    車載 OS について語る
  • ゼロからのOS自作入門 - ぱたへね

    ゼロからのOS自作入門を1年かけて読みました。 book.mynavi.jp 長い時間かかりましたが、それだけの価値があるです。 OSに限らずCPUや周辺デバイスの制御を手を動かしながら勉強したい人にお勧めです。 C++のソースコードが読みやすく、解説も詳しいです。ただ、扱っている内容が高度なのでちょっとよく分からないところがでてくるのはしょうがないと感じました。ただ、一回は動かしたという自信がつくので、今後何か必要な事が出てきたら、確実にこのに戻ってこれます。 これからもずっと棚に居続けるそんなになりました。 の内容 ブートローダーから始まって、GUI付きのOSを作っていきます。タスク(プロセス)の管理、入出力、ファイルシステム、GUIとパソコンっぽい機能が充実しています。最低限動くところをC++のソース付きで解説してあるのですが、その最低限の所がかなり上の方にありました。楽し

    ゼロからのOS自作入門 - ぱたへね
  • RISC-V OSを作ろう (1) ~ブート処理 - VA Linux エンジニアブログ

    はじめに 環境の用意 ブートプログラムを作る 動かしてみる コンパイル QEMU上で起動 GDBで制御 最後に おまけ 執筆者 : 高橋 浩和 はじめに RISC-VはMIPSアーキテクチャの流れを汲む正統派?のRISC CPUです。命令セットはシンプルですが、既存のメジャーなCPUのアーキテクチャと大きな違いがあるわけではありません。 Linux上で利用できるRISC-Vツール群も揃ってきたので、それらを使ってRISC-V用の小さなOSを実装してみようと思います。 最初は欲張らずに単純な実装を目指すことにします。 シングルコアのみサポート 64bitモードを使用 マルチタスキングを実現 タイムシェアリングスケジューリングを実装 割り込みネストは無し 保護機能は使わない 既存のBIOSやbootプログラムは利用せず、リセットエントリから全て作成する qemuの仮想マシン上で動作させる。ター

    RISC-V OSを作ろう (1) ~ブート処理 - VA Linux エンジニアブログ
  • 『ゼロからのOS自作入門』に込めた思い - uchan note

    2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 書は OS を手作りするで、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろうを書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS

    『ゼロからのOS自作入門』に込めた思い - uchan note
  • 実践的低レイヤプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

  • OS付属コンパイラが古すぎて困った人へ | HPCシステムズ Tech Blog

    RHEL/CentOSについて これらのディストリビューションはその名の通りエンタープライズ用途に用いることを前提に作られ、サポートされています。長期に渡って運用されるシステムのために固定された仕様のまま、セキュリティ対応の修正が入れられています。バージョンが固定されていることで、仕様変更が入らないことが保証され、修正は入っても突然ソフトウエアが使えなくなる恐れはありません。しかしその反面、何年も前に策定された仕様のため、新しいソフトウエアに対応できなくなるという弊害をはらんでいます。 RHEL6.0/7.0のリリースはそれぞれ2010年/2014年なので、10年前/5年前の仕様となっています。それは6.10/7.7がリリースされた現在でも変わりません。yum updateなどとしてアップデートしても、バグ修正された同じバージョンのソフトウエアで置き換えられるので、そうした仕様に関する不整

    OS付属コンパイラが古すぎて困った人へ | HPCシステムズ Tech Blog
  • uchanの自作OS的な自分史 - uchan note

    筆者(uchan)は現在,自作OSの分野で精力的に活動しています.そんな筆者も最初から知識が有ったわけではありません.当然ですが最初は初心者でした.このエッセイは,筆者の自作OS人生を振り返り,何のきっかけで自作OSに足を踏み入れ,どうやって成長したかを語るものです. 筆者について 筆者はOS開発関連技術のコミュニティosdev-jpで活動しています.OSや低レイヤ技術が好きな人が集まってもくもくと作業をする「自作OSもくもく会」を2ヶ月に1回くらい開催したり,OSC(オープンソースカンファレンス)に出展したりしています.また,2017年と2018年にはセキュリティキャンプ全国大会でOS開発を主題とするゼミの講師をやりました. 筆者はIntel x86アーキテクチャが好きで,そのためのOSを作るための要素技術を研究しています.OSを作るためにはページングやLocal APICなどのCPU

    uchanの自作OS的な自分史 - uchan note
  • マイコン向け処理系の実装戦略を調べる会 - .mjtの日記復帰計画

    追記: mruby/c 1.1にはGCが有るらしい http://www.s-itoc.jp/news/notice/726 C向けにヒープ実装を用意するにあたって、まぁ富豪的にガツンとやってしまえば良いんじゃないかと適当に考えていたけど、営業上どうしても32KiBヒープで動くアプリを用意する必要が出てきたので比較的真面目にROM化やポインタの圧縮等を考える必要が出てきた。というわけでいくつか処理系を見てまわることにする。 PICOBIT (R4RS Scheme) https://github.com/stamourv/picobit 家 http://users.eecs.northwestern.edu/~stamourv/slides/picobit-ifl09.pdf スライド https://github.com/stamourv/sixpic SIXPIC: Schemeで

    マイコン向け処理系の実装戦略を調べる会 - .mjtの日記復帰計画
  • GitHub - GoogleCloudPlatform/cos-gpu-installer: Scripts to build and use a container to install GPU drivers on Container-Optimized OS images

  • 東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生

    東大の情報科学科では3年の秋学期にCPU実験という、自分たちでCPU、コンパイラ、シミュレーターを作ってレイトレーシングを動かすことが単位要件の名物実験があります。僕らの班では12月初旬に単位要件を満たすCPUは出来ていたので、2/20にあった成果報告会までの間にIwashi班という自作CPU上でlinuxを動かすことを目標とした余興班を作ってこのエントリのタイトルにあるような結果に終わったのでその報告をしたいと思います。 コンテキストスイッチしている画像: 目次 目次 対象とする読者 自己紹介 できたこととできなかったこと 技術的な詳細 ISA よかったところ 悪かったところ 結論 ステート管理 Floating point UART 自作OS/Shellの仕様 動機 やること 実装方針 増えるレジスタ 増える命令 MMUの挙動 タイマ割り込みの挙動 iretの挙動 Kernelの実装

    東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生
  • Linuxのプロセス間通信 - Qiita

    この記事について LinuxのIPC(プロセス間通信)を紹介します。 プロセス間通信とは Inter Process Communication(IPC)はプログラムの実行単位であるプロセスの間で行われるデータ交換のことを指します。プロセスの依存関係は可能な限り疎結合になるようOSで管理されています。そのため、IPCLinux OSの機能を経由して行う必要があります。 OSがプロセスに提供するデータ交換の方法はひとつだけではありません。それぞれ特徴のある多彩な方法を提供しています。 ここで紹介するのは以下の5つです。 共有メモリー セマフォ マップドメモリー パイプ ソケット通信 (他にありましたらコメントで教えていただければ幸いです。) それでは、見ていきましょう。 共有メモリ プロセス間で同じメモリを共有します。 共有メモリの最大の利点はそのアクセススピードにあります。 一度共有メモ

    Linuxのプロセス間通信 - Qiita
  • OSカーネルを0から作り始めてみた - Qiita

    1. 概要 OSカーネル[^1]をフルスクラッチで(0から)作り始めてみました。 稿では下記について記載します。 カーネルを自作し始めた背景 カーネル自作における方針 稿執筆時カーネルの機能概要 カーネルの実行方法 プロセスを起動してみる 今後の課題 2. 背景 私がカーネルを自作し始めた理由は次の2点です。 1.コンピュータがどの様に動いてるのか知りたかった 2.使用しているOSに不満があった 2.1 コンピュータがどの様に動いてるのか知りたかった かれこれ10年以上前に遡りますが、私が大学に入学した頃、VisualBasicやBasic、Cなどの言語を使って簡単なソフトウェアを作ることが出来ましたが、どうして簡単なコードでウィンドウが表示できるのか、どうしてprintf文を書けばコンソールに文字が出力できるのか、コンピュータはいったいどんな風に動いてるのか全く分からず、不思議で仕方

    OSカーネルを0から作り始めてみた - Qiita
  • 「30日でできる!OS自作入門」のHaribote OSをラズベリーパイに移植してみた - Moiz's journal

    稿について タイトル通りですが、HariboteOSのラズベリーパイへの移植が一段落したので報告したいと思います。 「30日でできる!OS自作入門」とHaribote OSとは 『30日でできる!OS自作入門』とは2006年に発行された川合秀実氏のOS入門書です。Haribote OSはこの書籍内で作るOSの名前です 30日でできる! OS自作入門 | マイナビブックス 書籍販売ページの内容紹介 プログラミングの基礎からはじめて、30日後にはウィンドウシステムを有する32bitマルチタスクOSをフルスクラッチで作り上げるという入門書。 ビギナーでも無理なく作成できるようPCの仕組み・アセンブラ・Cの解説から始まり、試行錯誤を繰り返しながらアルゴリズムを学びつつ、たのしく自由な雰囲気でOSをゼロから構築していくという、他に類を見ない手法による、趣味と実用と学習を兼ね備えたOS作成の入門書で

    「30日でできる!OS自作入門」のHaribote OSをラズベリーパイに移植してみた - Moiz's journal
  • UNIX/Linux互換OSをゼロから作った話 - Qiita

    こんにちはredcap97です。 私は、UNIX互換OSをゼロから作っています。 ある程度動くようになったので紹介したいと思います。 デモ 現在、QEMUの上で動作するようになっています。CPUはx86ではなくARMを対象に作っています。シェルと基的なコマンドが動作するようになっていて、リダイレクトやパイプも利用できます。 Dockerを使うと簡単にOSを動かすことができます。 概要 33のシステムコールを実装している システムコールはLinuxと互換性がある シェルはDashが利用できる Coreutilsのコマンドが使える libcはmusl libcを使用している ファイルシステムはMinix File Systemを実装している 以上です。 私は実装がとても遅いので、ここまで作るのに2年ぐらいかかっています。 Linusの偉大さを肌で感じなら、これからもノロノロと作っていきたいと

    UNIX/Linux互換OSをゼロから作った話 - Qiita
  • GitHub - redcap97/cyanurus: Cyanurus is a Unix-like operating system for ARMv7-A

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - redcap97/cyanurus: Cyanurus is a Unix-like operating system for ARMv7-A
  • OSのデバッグ:メモリアロケーション講座 | POSTD

    追記:やあやあHacker Newsさん!おひさしぶり!メモリ管理を深く掘り下げた私の投稿を読む邪魔はしたくないし、私の投稿のあら探しをする人たちを邪魔するつもりもありません。技術的なマル秘テクニックに注目するのもいいでしょう(いや、わかりますよ。楽しいですしね!)。でも、私たちはひとりぼっちでソフトウェアを書いているわけではないのです。だから、ためになる技術的なコンテンツ(私の記事もそうでありたいものです)を捜すだけじゃなくて、政治的な話題にも目を向けることを強くおすすめします。ソフトウェア開発者である私たちは、今後数十年にわたって社会を変える最前線に立つ特権を与えられています。私たちは、自分たちの仕事を社会全体に役立てられるようにするための情報や知識を必要としています。 そういう意味でみなさんには、 Hacker Newsが「政治的」なコンテンツを検閲すると言い出したこと に反対しても

    OSのデバッグ:メモリアロケーション講座 | POSTD
  • 自作エミュレータで自作OSを動かしてみようとした話 - 重力に縋るな

    これは自作OS Advent Calendar 2016の22日目の記事です。 『30日でできる! OS自作入門』という(このアドベントカレンダーの5,6,9,15日目の記事のKさん著)があります。 このはhikaliumさんも書かれていましたが、まさに「OS自作における聖書」といえるようなで、例によって今回やったこともこのが発端となっています。 実際何をやったのかというと、タイトルの通り「自作OSを自作エミュレータで動かしてみたい」と思ったので色々やってみた、ということです。 エミュレータと自作OS 突然ですが、「ソフトウェアを開発する」ということに着目した時、一般的なアプリケーションの開発とOSの開発の一番の違いはなんでしょうか? 僕は、「デバッグに仮想環境を使うか使わないか」ではないかと思います。一般的なアプリケーション開発ではデバッグしようと思ったらとりあえず実行してみれば

    自作エミュレータで自作OSを動かしてみようとした話 - 重力に縋るな
  • AtmanOS

    AtmanOS compiles ordinary Go programs into images which can be run on a hypervisor without a conventional operating system. It provides a microkernel and implementation of Go's runtime and standard library implemented natively in Go (with a little bit of Assembly). It currently targets the Xen hypervisor, allowing the images to be run on Amazon EC2, Rackspace Cloud, IBM SoftLayer, and other cloud

    AtmanOS