タグ

OSに関するbluescreenのブックマーク (13)

  • UEFI ブートキット入門 - FFRIエンジニアブログ

    はじめに 基礎技術研究部の松尾です。 PC やサーバーの電源を入れた際、まずはじめに実行されるのが Basic Input/Output System (BIOS) というシステムファームウェアです。 もし BIOS が攻撃者に乗っ取られたら、その後に起動される OS 等を好き勝手に改ざんできる事になります。 この、BIOS に感染するマルウェアの事を「ブートキット (Bootkit)」と呼びます。 そこまでして感染させる必要があるのかと思う方も多いと思いますが、ブートキットは机上の話ではなく、数は少ないものの実際に観測されている脅威です。 確かに民間企業を狙うマルウェアであれば、BIOS まで狙うのはオーバーキルだと思います。しかし、安全保障に関わる領域、クラウドや Trusted Execution Environment (TEE) 等のハイパーバイザーベースのセキュリティが絡む領域

    UEFI ブートキット入門 - FFRIエンジニアブログ
  • はじめに | OS in 1,000 Lines

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

  • Linuxカーネルから見た「コマンド名」

    はじめに Linuxを使っているみなさんは普段からLinux上で様々なコマンドを実行していると思います。それらを識別するときに「コマンド名」という単語を使っていると思いますが、文脈によってこの単語が意味するものは異なります。記事ではLinuxカーネルがいうところのコマンド名がどういうものかについて書きます。 一番最初に短い結論、その次に具体的な説明、そして最後にこれについて調べようとしたきっかけ、およびその後の調査プロセスについて書きます。 結論 Linuxカーネルから見たコマンド名は実行ファイル名のbasename(ファイル名からディレクトリ部分を除いたもの)の先頭15バイト カーネルのメモリ内のプロセス(正確にはカーネルレベルのスレッド)ごとに存在するtask_structという名前の構造体の中のcommという16バイトのフィールドにNULL終端文字列として格納されている カーネルの

    Linuxカーネルから見た「コマンド名」
  • 古いPCをサクサク動作に復活させるGoogle製OS「ChromeOS Flex」のインストール手順まとめ

    Googleが開発するChrome OSは、作業のほとんどをオンラインサービスで実行可能なOSで、Chrome OSを搭載したChromebookは安価ながらサクサク動作するマシンとして教育機関や発展途上国などで大きな人気を獲得しています。そんなChrome OSを古いPCMacBookにインストール可能にした「ChromeOS Flex」が2022年7月に正式リリースされたので、実際に古くなったPCにインストールする手順をまとめてみました。 インストールを準備する - Chrome OS Flex ヘルプ https://support.google.com/chromeosflex/answer/11552529 ◆目次 ・1:ChromeOS FlexのUSBインストーラーを作成する手順 ・2:ChromeOS FlexをPCにインストールする手順 ・3:ChromeOS Flex

    古いPCをサクサク動作に復活させるGoogle製OS「ChromeOS Flex」のインストール手順まとめ
  • あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)

    あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう パソコンを操作するうえで、欠かすことができないOS(オペレーティングシステム)ですが、あまりにも「あたりまえ」の存在ゆえ、その実像をイメージすることは多くはないでしょう。OSは「なにを」「どのように」処理しているのかを学ぶと、自身が使用するパソコンがもっとよく理解できるようなるかもしれません。内田公太さんが、OSの役割と働きの基、そして「OSの気持ち」を理解するための方法を解説してくれました。 こんにちは、内田公太(@uchan_nos)です。 普段皆さんはパソコンを使っていろいろな処理をしていると思います。ネットサーフィンに文書作成、音楽を聴いたり絵を描いたり。この記事をお読みの方はプログラミングもしている方が多いと思います。 C言語の入門書で学ぶ最初のプログラムはだいたい printf("Hell

    あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)
  • RISC-V OSを作ろう (1) ~ブート処理 - VA Linux エンジニアブログ

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

    RISC-V OSを作ろう (1) ~ブート処理 - VA Linux エンジニアブログ
  • グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影

    Googleグーグル)が2021年4月、AndroidLinuxカーネルを開発するプログラミング言語に「Rust」を採用すると明らかにした。Rustの採用は米Microsoft(マイクロソフト)もWindows OS開発で進める。CやC++の独壇場だったOS開発に、2015年に「バージョン1」になったばかりの新世代言語であるRustが採用される背景には、サイバー戦争の深刻化がある。 グーグルは2021年4月6日(米国時間)に、Android OSの開発言語にRustを採用すると発表した。また同社は8日後の2021年4月14日(同)に、Linuxカーネルの開発にRustが適していると公式ブログで主張すると共に、Linuxカーネル開発へのRustの採用を目指す団体である「Rust for Linux」に参加したことを明らかにしている。 マイクロソフトはグーグルよりも早い2019年7月の時

    グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
  • Docker for Apple Siliconの仮想化基盤が変わるかもな話

    Apple Silicon向けのDocker Desktop RC 2で、バックエンドを切り替えられるオプションが追加されました。 今までのqemuベースのバックエンド以外に、virtualization.frameworkを使ったバックエンドも追加されて、オプションのexperimentalのチェックボックスで有効化できます。 といっても、qemuも裏ではHypervisor.frameworkを利用していたので、Appleの提供する仕組みには乗っています。Virtualization.frameworkは高水準なAPILinuxに特化してます。VZLinuxBootLoaderというAPIが提供されています。 Virtualization.Frameworkも現在はおそらくはHypervisor.frameworkの上に構築されていると思います。実際、このオプションのON/OFFを切

    Docker for Apple Siliconの仮想化基盤が変わるかもな話
  • 『ゼロからの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
  • Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

    どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ

    Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記
  • はじめに - Rustで始める自作組込みOS入門

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

  • Virtual Operating Systems for Windows and Macintosh

    Complete Desktops Complete desktops contain all operating system components as well as Internet Explorer and Outlook Express. Where possible, I have tried to include built in file transfer programs (Web Publishing Wizard, Web Folders), useful system tools (System File Checker, System Restore) and certain wizards (Network Setup Wizard, Internet Connection Wizard). As a result, some of the desktops

  • 現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ

    前回の記事では、自作OSとは何か、そしてこれまでの自作OSの歴史を紹介しました。しかし、近年になって自作OSを取り巻く状況は大きく変化してきています。そこで今回は、現代における自作OSでは、これまでと比べてどのような点が変化してきたのか、どのような難しい点があるのかについて紹介し、さらにそれらに対する解決策を、筆者の経験をもとに提案してゆきます。 自作OSをとりまく環境の変化 川合秀実氏著「30日でできる!OS自作入門」が出版された2006年頃と比べて、コンピュータをとりまく環境は大きく変化してきました。その変化には、CPUのコア数やビット幅からファームウェアの変遷、そしてデバイスの進化も含まれています。まず最初に、CPUのコア数について着目してみましょう。 CPUコア数の増加 上記の図は、1999年から2019年までにIntelから発売されたCPUのコア数の変化を示したグラフです。ご覧の

    現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ
  • 1