「ゼロからの OS 自作入門」の実装メモ
Microsoftは6月24日(現地時間)、次期OS「Windows 11」を発表した。Windows 11 Insider Previewの公開も始まっており、筆者の周りにはPC系ライターも多いので、すでにインストール祭り状態である。 筆者は現在、執筆をMacで行っており、Windows環境はびっくりするほどプアである。クラウド時代の昨今、Macだから、Windowsだからという差はそんなにないのだが、時折レビュー製品でWindows版しか設定アプリがないものがあったり、Macで読めないHDDに動画素材が入ってたりということがたまにある。 そんなときのために、2020年9月にドンキの激安ノートこと「MUGAストイックPC3」を購入していた。CPUにCeleron N3350(Apollo Lake)、メモリ4GB、ストレージ64GBで、1万9800円である。 いや、購入直後はそこそこ普通
Apple、「OS X Lion」と「Mountain Lion」を無料でダウンロード可能に 2021 7/01 MacRumorsによると、Appleが古いMac向けに「OS X Lion」と「OS X Mountain Lion」を無料で提供し始めたことが分かりました。 「OS X Lion」と「Mountain Lion」はこれまで19.99ドル(2,440円)で提供されてきましたが、現在、Apple公式サイトのサポートドキュメントから無料でダウンロード可能となっています。 「OS X Lion」は2011年7月、「OS X Mountain Lion」は2012年7月にリリースされたOSとなっていますが、必要な方は是非どうぞ。 なお、「OS X Mountain Lion」が有料版としては最後のバージョンで、その次の「OS X Mavericks」からはOSのアップグレードは無料で
ゼロからのOS自作入門 を 一通り写経 したところ、 Rust に移植したくなったのでやっていきます。 次回: 「ゼロからのOS自作入門」を Rust でやる (第5章) - gifnksmの雑多なメモ 関連記事一覧: ゼロからのOS自作入門 カテゴリーの記事一覧 - gifnksmの雑多なメモ github.com Rust で OS なので名前は "錆OS" です。安直です。 "sabios" でざっとググったところ、スペイン語で "賢い" って意味があるようです。 良いですね。 クレバーな実装を目指したいところです。 方針 「ゼロからのOS自作入門」の章立てに沿って1章から順番に実装していきます。 C++ で一通り写経は完了しているので完成形の OS と関係ない節はスキップしていきます。 せっかく Rust で実装するので安全性や抽象化という点で MikanOS との差異を出せたら良
この本は組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説本です。 著者自身、本職はウェブプログラマーですが、趣味で組込みOSの自作をしています。この本はそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ
開発者にとってシェルが必要不可欠なものであることは論を俟ちませんが、当たり前の存在すぎてこれがどのように実現されているのかを知る機会はあまりないと思います。本トークでは、シェルがどのように実現されているのかを、実際にシェルを実装する過程を通じてお話しします。 ※ もともとのトークのタイトルは「入門 シェル」でしたが,わかりやすさのため「入門 シェル実装」にタイトルを変更しています.Read less
マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい
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
builderscon tokyo 2018 2018-09-08 10:00-11:00 @ Track-C
その名もズバリ「OS.js」というJavaScriptライブラリです。 誰かのイタズラかと思いきや、使ってみるとブラウザの中にもう1つ別のパソコンが起動しているような感覚になり、その完成度の高さに驚かされます。 APIも提供されており、「OS.js」で起動したデスクトップ環境用のアプリケーションを自分で開発することも可能になっているのは面白い点でしょう。
「C」ドライブの謎:WindowsのハードディスクはなぜデフォルトがC?2015.04.11 21:008,568 福田ミホ 「A」も「B」も飛ばして「C」である理由は。 ハードディスクドライブがパソコンで使われるようになってからほぼずっと、MS-DOSとかWindowsでは、メインのハードディスクがCドライブと名付けられていました。これはどうしてなんでしょうか。 そもそもストレージデバイスを文字で識別するという考え方は、1960年代に開発されたIBMの仮想マシンのOSにさかのぼります。最初はCP-40やCP/CMSといったシステムにその考え方が見られ、その後デジタルリサーチ社の開発したCP/M OSでも追随されていきました。初期のシステム(CP/CMS)では、文字はたいてい論理デバイスの識別に使われていましたが、その後CP/Mなどでは、物理ストレージデバイスの特定にも使われるようになりま
最も安全なOSとは?覚えておくべき4つのポイント 2015年03月05日08:00 ツイート fsecure_blog ヘルシンキ発 もしあなたがこの問いの答えを予想しても、まず正解は出ないでしょう。最近の調査によると、アップル製品は脆弱性の数が最も多い、つまり、セキュリティ面が最も弱いことがわかっています。脆弱性の数を数えるだけというのは、セキュリティの強度を測る上であまり科学的な方法とは言えませんし、数字の解釈に関する議論も起こっています。しかし、いずれにせよ、古い思い込みを否定するのに役立つ、歓迎すべき発見といえます。 アップルは長い間セキュリティの問題を頑なに否定してきましたし、セキュリティのイメージを構築するマーケティングにも成功しました。一方、Windowsは最もマルウェアの標的にされるシステムでした。マイクロソフトはウイルスや脆弱性の問題に本腰を入れ、最前線で取り組んできまし
最近の動向でわからないことがある。最近、クラウド(笑)とか称するマーケティング用語はともかく、クラウド(笑)のサーバー群の実装に、ハードウェアの仮想化技術がふんだんに使われていることだ。 完全にソフトウェアでハードウェアを実装するエミュレーターと違い、この手の仮想化技術は、ハードウェアに仮想化をサポートするための機能があり、それを使って、大きなオーバーヘッドが生じない仮想化を実現させている。 そのハードウェア仮想化の上で、ユーザーごとにゲストOSを実行している。つまり、これはOS外の仮想化である。 OSとは何だったのか。 我々は何十年も、OS内で仮想化を実装してきた。ひとつのコンピューターを複数人が使うという状況で、ユーザーとかアカウントという単位で仮想化を実現してきた。また、ファイルアクセスに権限を設け、ユーザーごとに柔軟に設定できるようにもした。プログラムはプロセスという単位で、他のプ
パソコンが遅い! できる事はとりあえずやってみたけど、まだまだ遅い! といった場合は「OSの再インストール」が常に選択肢としてあります。そこで今回は、再インストールの手順、コツ、最も効率的なやり方などを詳しく説明してみたいと思います。 再インストールを迫られるまでのシナリオは数多く考えられます。過程がどうあれ、再インストールの手順は同じであり、それが最善策であることも多いです。ただし、間違えるとデータが消えてしまう危険性もあるので、十分注意して作業して下さい。やり方はさまざまありますが、今回は時間効率的に優れた方法を紹介していきます。 手順1:ハードディスクのクローンを作成 まずはデータのバックアップが必要です。バックアップをDropboxなどオンラインで行っている人、AppleのTime Machineなどのソフトを使っている人、その他のやり方でファイルをバックアップしている人も、ハード
サーバ/クライアントPC問わず、今使っているマシンのハードウェア構成がどのようなものかをOS上で確認したくなることもあるでしょう。 そんな時にお手軽に調べられる方法を、たまーにググったりするので、Linux/Mac OS X/Windowsの3つのOSの場合の調べ方をここに残しておきます。 Linux Linuxでは、dmidecodeコマンドを使います。 BIOSの情報とか、マシンの各種システム情報(シリアルナンバー等の各種メタ情報、CPU、メモリ、その他デバイス情報とか)が取得できます。 CentOS/RHELとかだと"kernel-utils"パッケージがインストールされていれば使えます。 ちょっと長いですが、以下のような感じです。 # dmidecode # dmidecode 2.11 SMBIOS 2.7 present. 87 structures occupying 399
今後、「Firefox OS」を搭載したスマートフォンが発売されることになりますが、そのFirefox OSのボタンやタブなどがどのようなコンセプトを持って作成され、どのようなものになっているかが分かるスライドがあります。 MozCamp Warsaw: Design Principles Behind Firefox OS UX | Mozilla UX https://blog.mozilla.org/ux/2012/09/mozcamp-warsaw-design-principles-behind-firefox-os-ux/ 基本的なFirefox OS全てのデザインのテーマは以下のようになります。 ○力強く・幾何学的、だけど受け入れやすい感じの形 ○手作りされたようなデザインを伝えるユーザーインターフェース ○小さく・効果的・直感的、そして暖かさを感じるデザイン まず、全てのア
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く