タグ

OSに関するsonota88のブックマーク (59)

  • はじめに - Writing an OS in 1,000 Lines

    書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

    はじめに - Writing an OS in 1,000 Lines
    sonota88
    sonota88 2023/08/05
    「本書はあくまで『自作OSで学ぶマイクロカーネルの設計と実装』 (愛称: エナガ本) の補足資料です。」
  • Operating System ManiaX あなたの知らないマイナーOSの世界 | インプレス NextPublishing

    目次 第1章 Not Amiga - AROS Research Operating System 第2章 Google第3のOS Fuchsia 第3章 GenodeフレームワークとSculpt OS 第4章 BeOS最後の末裔 Haiku 第5章 マクロカーネルの新しい実装HelenOS 第6章 ネットの海に消えたRTOS Jaluna-1/ChorusOS 第7章 商用RTOS LynxOS(試用版) 第8章 海外HobbyOSの雄 MikeOS 第9章 帰ってきたMINIX MINIX3 第10章 Amiga互換商用OS MorphOS 第11章 独自言語OberonOS BlueBottle 第12章 歴史ある組み込みRTOS OS9000/80386 DemoFloppy 第13章 クラウド超軽量OS OSv 第14章 紆余曲折の果てに復活 QNX6 Neutrino 第15章

    Operating System ManiaX あなたの知らないマイナーOSの世界 | インプレス NextPublishing
  • 自作OS Advent Calendar 2022 - Adventar

    自作OSや関連する話題を書いていくカレンダーです。自作OSに直接は関係なくとも、低レイヤな話題であれば大歓迎です。 カレンダーを立てた hikalium は osdev-jp の人ですが、osdev-jp メンバーに限らずどなたでもご参加いただけます。 過去の自作 OS Advent Calendar たち 2021 https://adventar.org/calendars/6581 2020 https://adventar.org/calendars/4954 2019 https://adventar.org/calendars/4027 2018 https://adventar.org/calendars/2915 2017 https://adventar.org/calendars/2282 2016 https://adventar.org/calendars/1666

    自作OS Advent Calendar 2022 - Adventar
    sonota88
    sonota88 2023/03/21
  • The Xinu Page

    Description XINU stands for Xinu Is Not Unix -- although it shares concepts and even names with Unix, the internal design differs completely. Xinu is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The small size makes Xinu suitable for embedded

    sonota88
    sonota88 2023/03/05
  • GitHub - lzungri/laritos: Highly-configurable and modular arm32 operating system created from scratch

    sonota88
    sonota88 2022/09/10
  • Rustで始める自作組込みOS入門 | インプレス NextPublishing

    書は、組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーが、自作OSをはじめるため解説書です。C言語を用いることが多い低レイヤーシステム開発について、書ではRustを使います。RustはC言語と比較して、様々なモダンな機能やツールがそろっているだけでなく、C言語の長所である直接のメモリ制御が可能なため、高パフォーマンスな組込みシステム開発での利用が注目されています。書はRustそのもの解説も含みますが、低レイヤーシステム開発特有のテクニックを中心に解説します。

    Rustで始める自作組込みOS入門 | インプレス NextPublishing
  • MenuetOS

    MenuetOS is an operating system in development for PC, written completely in 64bit assembly language. Features include pre-emptive and real-time multitasking with multiprocessor support and Graphical User Interface. Menuet64 is released under License and Menuet32 under GPL. Menuet supports assembly programming for much faster, smaller and less resource hungry applications. Menuet isn't based on ot

    sonota88
    sonota88 2022/05/07
  • マイクロカーネルの設計と実装 - seiya - BOOTH

    電子版のダウンロード(無料)電子版は https://seiya.me/microkernel-book で無償公開しています。 概要OSカーネルの機能を必要最低限に抑え,ファイルシステムやTCP/IP,デバイスドライバといった主要機能をアプリケーションとして実装する「マイクロカーネル」というカーネル設計手法があります。小さなカーネルを実現するために,モノリシックカーネルには見られない特色・面白さがマイクロカーネルにはあります。 書では,マイクロカーネルの各機能(プロセス管理・IPCなど)を3つのステップで学んでいきます。まず,機能の基的な概念をざっくり解説します。次に,C言語で新たに書いた非常にシンプル(LoCは3000行以下!)なマイクロカーネル「Resea」のソースコードを用いて,具体的にどう実装するのかを見ていきます。そして,L4やZircon (Fuchsia) といった実用

    マイクロカーネルの設計と実装 - seiya - BOOTH
  • nakst / essence · GitLab

    GitLab.com

    nakst / essence · GitLab
    sonota88
    sonota88 2022/01/03
  • この個人サイトは自作OSで動いています

    追記 (2022 5/29): サーバ代をケチるべくVercelに移行しました。動いていたソースコードは ココ に置いてあります。 あなたの予想に反して、このページが見えているでしょうか?このWebサイトは自作OSのKerlaが提供しています。 これは自作OS Advent Calendar 2021の23日目の記事です。 自作OS「Kerla」の紹介 Kerla(かーら)はRustで書かれたLinux ABI互換モノリシックカーネルです。今年の春頃から作り始め、DropbearというSSHサーバが動作する程度には基的なUNIXの機能が実装されています。具体的には、ファイルの読み書きやUDP/TCPソケット、fork/exec、シグナル、擬似端末といったものです。 カーネル実装の雰囲気を軽く紹介すると、Kerlaでは以下のようにシステムコールが実装されています。 /// write(2)

    この個人サイトは自作OSで動いています
  • 自作OS Advent Calendar 2021 - Adventar

    自作 OS や関連する話題を書いていくカレンダーです。自作 OS に直接は関係ない低レイヤな話題も大歓迎です。 カレンダーを立てた uchan_nos は osdev-jp の人ですが、osdev-jp メンバーに限らずどなたでもご参加いただけます。 過去の自作 OS Advent Calendar たち 2020 https://adventar.org/calendars/4954 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 主

    自作OS Advent Calendar 2021 - Adventar
    sonota88
    sonota88 2021/12/13
  • SerenityOS

    A graphical Unix-like operating system for desktop computers! SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems. Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix. This is a system by u

    sonota88
    sonota88 2021/11/19
  • 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 エンジニアブログ
  • GitHub - vvaltchev/tilck: A Tiny Linux-Compatible Kernel

    Tilck is an educational monolithic x86 kernel designed to be Linux-compatible at binary level. Project's small-scale and simple design makes it the perfect playground for playing in kernel mode while retaining the ability to compare how the very same usermode bits run on the Linux kernel as well. That's a rare feature in the realm of educational kernels. Because of that, building a program for Til

    GitHub - vvaltchev/tilck: A Tiny Linux-Compatible Kernel
  • OpeLa セルフホストなOSと言語処理系の自作

    sonota88
    sonota88 2021/06/22
  • uchan OpeLa

    sonota88
    sonota88 2021/06/22
  • GitHub - HobbyOSs/opennask: nask clone assembly, it can boot tiny OS with Linux

    sonota88
    sonota88 2021/02/23
  • 『ゼロからの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
  • Writing an OS in Rustを一通りやった|LTKSK

    文字通りRustでOSを作ってみるという内容の記事で、最新のAsync/Awaitまで写経を終わらせたので復習も兼ねて内容をまとめる 結論から書くと非常に面白い記事だった x86_64というcrateが用意されていて、だいたいはそれを使って書いていくことになるのでアセンブラはほとんど触らず理論的な部分の学習にフォーカスできた(なので低レベル初心者の自分でもなんとかなった) OSを構築する概念についてざっくり踏み込みたい場合に良い題材になるんじゃないかと思う。特にメモリアロケーションやCPU割り込みの仕組みに興味がある人はやってみるとイイかも 以下は各章のざっくりまとめ。個人的に印象的だった内容だけ掻い摘んで書いておく。もちろん僕の理解度で書いているので間違いがあるかも知れない A Freestanding Rust Binary 1つ目の記事ではオレオレkernelを作成するところから始め

    Writing an OS in Rustを一通りやった|LTKSK
  • はじめに - Rustで始める自作組込みOS入門

    このは組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説です。 著者自身、職はウェブプログラマーですが、趣味で組込みOSの自作をしています。このはそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ