タグ

osに関するa2ikmのブックマーク (37)

  • ハイパーバイザを作ってみた - Qiita

    仮想マシンがどのように実現されているか気になったので、勉強がてら簡単なハイパーバイザを作ってみました。ソースコードはGitHubで公開しています。 方針 RaspberryPi3で動作するAArch64向けのType-1(ベアメタル)ハイパーバイザを作ることにしました。名前は"raspvisor"とします。 スクラッチから作り始める気力はなかったので、なるべく流用できるものは使っていくことにしました。そこで、RaspberryPiのOS開発教材であるRPi OSをハイパーバイザに改造していくことにしました。RPi OSはコード量が少なく読みやすい上、割り込み処理、プロセススケジューラ、ユーザプロセス、システムコール、仮想メモリといった機能が一通り実装されています。OSを改造することにしたのは、プロセス管理や仮想メモリ、割り込み処理といった部分を、ハイパーバイザの実装に流用できそうだと思った

    ハイパーバイザを作ってみた - Qiita
  • 自作OSの将来とは?自作OSのススメ 〜自作OSのいまと昔 [第5回] | さくらのナレッジ

    これまで、第1回・第2回では、自作OSとは何かという基的なところから、現代における自作OSの難しい点について解説しました。また第3回・第4回では、自作OSをする上で欠かせないオープンソースの開発ツールへの、バグ修正を通した貢献について触れました。 最終回となる今回は、連載名にもなっている、自作OSの「いまと昔」から一足進んで、これから自作OSをはじめてみようと考えている皆様にむけて、どのように自作OSを楽しめばよいのか、という将来へ向けた話をしてみたいと思います。 自作OSは役に立つ? 第1回でも触れた通り、自作OSの楽しみ方は人それぞれです。知的好奇心を満たしてくれる積木として、ハードウエアを極限まで使い倒すための道具として、日々成長させるのが楽しみな盆栽として、等々、どのような目的であっても、開発している人が楽しければ、それは立派な自作OSといえます。 それでも、ふと、こんな気持ち

    自作OSの将来とは?自作OSのススメ 〜自作OSのいまと昔 [第5回] | さくらのナレッジ
  • 開発ツール(QEMU)への貢献(後半) 〜自作OSのいまと昔 [第4回] | さくらのナレッジ

    これまでのおさらい 前回の記事では、QEMUのVFAT機能にバグがあり、そしてその原因がメモリ破壊である、というところまでを突き止めました。 しかし、バグを発生させる直接の要因がわかっただけでは、そのバグを修正することはできません。今回はさらにもう一歩踏み込んで、どのような仕組みでメモリ破壊が発生したのかを突き止めると共に、それに基づいて修正パッチを投稿するところまでの道のりを紹介します。 lldbのwatchpoint機能 メモリ破壊系のバグらしき挙動を発見した際には、どのプログラムがそのアドレスのデータを書き換えたのか特定できれば、多くの場合原因が判明します。これを特定するために使える機能として、デバッガのwatchpointという機能があります。これは、特定のアドレスに対しての読み書きアクセスが発生した場合に、プログラムの動作を止めてデバッガで調査できる機能です。 この機能は通常、ハ

    開発ツール(QEMU)への貢献(後半) 〜自作OSのいまと昔 [第4回] | さくらのナレッジ
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • Linux メモリ管理を理解したい - Qiita

    Linux カーネルのメモリ管理方法について、勉強したことをまとめる。 メモリ管理はハードウェアに強く依存するため、x86_64 かつ OS起動後に 64bitプロテクトモード に移行したあとに話を絞る。また、OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 概要 ノイマン型アーキテクチャ コンピュータの基的な構成のひとつ。次の図が参考になる。 ほぼ全てのコンピュータが、このアーキ

    Linux メモリ管理を理解したい - Qiita
  • Writing an OS in Rust (Second Edition)

    This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code, so you can follow along if you like. The source code is also available in the corresponding Github repository. Latest post: Async/Await The first step in creating our own operating system kernel is to create a Rust executable that does not link the standar

  • 自作OSに挑戦する日記 1日目 - yn0014 Blog

    「30日でできる!OS自作入門」を読んで分かったことや、とりあえず書いておきたいことなどを書いていきます。 このはChapterが1から30まであるので、各チャプター毎に1記事書いていきます。 Chapter 1 「PCの仕組みからアセンブラ入門まで」 今回やった内容 バイナリを写経して「hello, world」を表示するようなOSを作る アセンブラを写経して「hello, world」を表示するようなOSを作る 環境 メインPC MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports) macOS Mojave 10.14 自作OSを動作させるPC Core 2 Duo 4GB RAM (ハードオフのジャンクコーナにいた子) 作業記録 まずはに書かれているバイナリを写経します。 バイナリ写経 書き上げたバイナリを「(任意の名前).i

    自作OSに挑戦する日記 1日目 - yn0014 Blog
    a2ikm
    a2ikm 2019/05/14
    すごい
  • GitHub - osxfuse/osxfuse: FUSE extends macOS by adding support for user space file systems

    macFUSE macFUSE allows you to extend macOS via third party file systems. About macFUSE The macFUSE software package provides multiple APIs for developing file systems for macOS 10.9 to macOS 14. You can use the provided APIs to develop numerous types of file systems, whose content can come from a local disk, from across the network, from memory, or any other source. One of these APIs is a superset

    GitHub - osxfuse/osxfuse: FUSE extends macOS by adding support for user space file systems
  • RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興) - 欣快の至り

    お手製のCPUの上で自分で作ったOSを動かすというのは、割と夢のある行為だと思っていて、今回それを一定のレベルですることができたので、簡単に内容についてメモをしておこうと思います。 曖昧な日語を読むより、プログラムを読むほうが速いと思う人は、駄文を読まずにGitHubを見てください。 https://github.com/moratorium08/osmium/ 僕が書いたのはOSだけで、コアはATPが書きました。また、乗算命令の実装はdaiが書きました。 https://github.com/hitohira/yokyo 概要 RustでフルスクラッチでRISC-V(rv32im)で動作するOSの実装をしました。OSを実装するにあたり、ページングやカーネルとユーザーモードでの権限切り分け、割り込みなどの仕様を考える必要があり、これもRISC-VのPrivilegeの仕様書に従ったものに

    RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興) - 欣快の至り
  • MySQL innodb_flush_method = O_DIRECTの検討 - SH2の日記

    MySQL InnoDBのパラメータでinnodb_flush_methodというものがあります。これはUNIX/Linuxにおいてデータファイル、ログファイルの読み書き方式を指定するためのもので、マニュアルの13.6.3. InnoDB Startup Options and System Variablesによると以下の3種類の設定が可能とされています。 無指定(fdatasync):デフォルトの設定です。特別なフラグなしでファイルをオープンし、書き込み時にfsync()を行います。 O_DSYNC:データファイルについてはfdatasyncと同じです。ログファイルについてO_SYNCフラグをつけてファイルをオープンします。 O_DIRECT:データファイルについてO_DIRECTフラグをつけてファイルをオープンします。ログファイルについてはfdatasyncと同じです。 今回はこのパ

  • 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
    a2ikm
    a2ikm 2018/05/18
  • http://www.nces.is.nagoya-u.ac.jp/NEXCESS/blog/index.php?catid=44&blogid=5

    http://www.nces.is.nagoya-u.ac.jp/NEXCESS/blog/index.php?catid=44&blogid=5
    a2ikm
    a2ikm 2016/04/17
  • 天才あらわる 14歳の少年プログラマが作った64ビットOS「ExDOS」が凄い | ソフトアンテナ

    「ExDOS」はコンパクトで軽量なGUI搭載のマルチタスクオペレーティングシステム。アセンブリ言語を用いてスクラッチから作られたx86_64 PC向けのOSで、64bitのIntelおよびAMD CPUを搭載したPCで動作します(名前に"DOS"と入っていますがあのDOSとは関係ない模様)。 アセンブリ言語の成果により、マルチタスク、GUI、EXDFSファイルシステムへのアクセス、カーネルモジュールなど含めカーネルコードが200KB以下の省メモリで動作するところが特徴です。 そしてなんといっても驚きなのはこのOSの作者Omar Mohammad氏がエジプトのカイロ在住の14歳の少年であること。About Meによると、9〜10歳でコンピュータに目覚めてHTMLを習得。コンピューターの動作原理に興味を覚え12歳から既存のOSソースコードを解析。自作のOSの作成にとりかかり現在に至るとあります

    天才あらわる 14歳の少年プログラマが作った64ビットOS「ExDOS」が凄い | ソフトアンテナ
    a2ikm
    a2ikm 2016/04/07
  • Nix & NixOS | Reproducible builds and deployments

    Declarative builds and deployments. Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems. $ # Hi!$ # Wondering how to start using Nix?$ # Here are a few examples:$ node -e "console.log(1+1)"node: command not found$ # Interesting, no node on this machine$ # No problem with Nix!$ nix-shell -p nodej

  • 30日でできない 自作Linuxクローン開発 - るくすの日記 ~ Out_Of_Range ~

    この記事は 自作OS Advent Calendar 2014 - Adventar 12/25の記事です。 一ヶ月程前からLinuxカーネルのコードを読み始めたので、解読ついでに自分でもカーネルを作ってみました。 とはいっても、まだ半分も完成してないです() 当初は、30日でできる 自作Linuxクローン開発 を予定していたのですが、 予想以上の規模で、解読とフルスクラッチ開発を併行するのは結構大変でした... という訳で、現在実装できている所まで紹介します。 開発レポジトリはこちらです。 RKX1209/Abyon · GitHub (インストール方法や実行方法はここに書いてます) 実装した機能 プロセススケジューラー Runキュー ハードウェア割り込み(PIC 8259A) 遅延割り込み Tasklet グローバルタイマー(PIT) タイマーリスト 仮想ページング(IA-32 MMU

    30日でできない 自作Linuxクローン開発 - るくすの日記 ~ Out_Of_Range ~
  • Osquery

  • MS、「ウィンドウズ」を無償化 グーグルやアップルに対抗 - MSN産経ニュース

    米マイクロソフトは2日、タブレット端末などに向けて基ソフト(OS)「ウィンドウズ」を無償提供すると発表した。普及が著しい画面サイズ9インチ(約23センチ)以下のタブレットや、スマートフォンのメーカーを対象とし、存在感を高めてライバルのアップルやグーグルに対抗する。 この日サンフランシスコで開いた開発者会議で発表した。サトヤ・ナデラ最高経営責任者(CEO)は「われわれは(製品やサービスで)顧客に対する一貫性がある」と述べて、競争に打ち勝つ自信を示した。ウィンドウズXPのサポート終了には言及しなかった。 マイクロソフトは先月、事務統合ソフト「オフィス」をアップルのタブレット向けに無償提供すると発表したばかり。今回のウィンドウズ提供で、主力のソフトウエアで勢力拡大を目指す路線がより鮮明になった。これまでは有償で提供していた。(共同)

  • Playstation 4のOSはFreeBSD 9.0ベース

    Vgleaksの記事「Details about Playstation 4 OS development」において、Sony Playstation 4のオペレーティングシステムは「Orbis OS」と呼ばれており、これは「FreeBSD 9.0」ベースであることが紹介されている。Playstation 4のOSがFreeBSDベースであることは発表されていたが、バージョンが9.0ベースであることが明らかになった。比較的新しいバージョンを採用していることになる。 ソニー・コンピュータエンタテインメントは、OSとして採用しているかどうかは明らかにしていないものの、PlayStation 3やPlayStation VitaでFreeBSDのソースコードを使っていることは明らかにしている。「Open Source Software used in PlayStationR3」や「Open S

    Playstation 4のOSはFreeBSD 9.0ベース
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    a2ikm
    a2ikm 2013/04/14
    懐かしい
  • Firefox OSの正式発表から、大人の事情を考えて、これは面白くなってきたと思いましたよ

    トップ > Firefox OS > Firefox OSの正式発表から、大人の事情を考えて、これは面白くなってきたと思いましたよ いしたにまさきの新刊:HONDA、もうひとつのテクノロジー ~インターナビ×ビッグデータ×IoT×震災~ 01 それはメッカコンパスから始まった|Honda、もうひとつのテクノロジー 02 ~インターナビ×GPS×ラウンドアバウト~ 運転する人をサポートすること|Honda、もうひとつのテクノロジー 03 ~インターナビ×災害情報×グッドデザイン大賞~ 通行実績情報マップがライフラインになった日 2013.02.28 Mobile World Congress開催ということで、Firefox OSに関する話がいろいろと出てきています。 とりあえず、そのFirefox OSの実際の動きをわかりやすく見ることができるのが、対応を発表したソニーエリクソンの動画です。