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
Alder Lake以降のIntel CPUでは、P-coreとE-coreの2種類のコアが搭載されている。 P-coreは性能重視、E-coreは省電力重視という位置づけで、OSがうまくこれらのコアを使い分けることで、消費電力と性能の両立が図られている。 ここまでの話は広く知られているが、実際にどのようにしてOSに対してコアの使い分けをさせているのかの実装レベルでの解説は (少なくとも日本語では) ほぼ存在しないようなので調べてみた。 OSから見たP-coreとE-core OSの役割の一つとしてプロセススケジューリングがあり、どのプロセスをいつどれぐらいの期間どのCPUコアで実行するかを決める。OSができるだけ効率よくプロセスをスケジューリングするためには、CPUコアの性能や消費電力の違いを考慮したスケジューリングが必要になる。そこで、Intel CPUではOSに対して次の2つの情報を
本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま
どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ
マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい
追記 12/7 公開してから一年の月日が経ちました。早いですね。僕もこの一年に色々な経験をしていました。 記事を挙げた二日目には止まってしまったこのシリーズ。でも僕は諦めてません。絶対に戻ってきます。絶対に次の記事を書いて30日目までがんばります。少し待っていてください。(12月中にリニューアルさせたい) あと実は9日目くらいまでは完成していたのですがあんまり仕組みがわかってないです() 自己紹介 はじめまして。色んなことに挑戦してエラーで諦めてしまう小6のtatsuです。文章の所々間違っていると思いますがよろしくです。 環境構築 VirtualBox https://www.oracle.com/technetwork/jp/server-storage/virtualbox/overview/index.html バイナリエディタ Hex Fiend https://ridiculou
オープンソースのコード共有サイトであるGitHub上にページが作成されたことでその存在が明らかになったGoogleの新OS「Fuchsia」ですが、発見当初の「IoT(モノのインターネット)向けの組み込みOS」であるという予測から外れ、スマートフォンやタブレット向けに開発されているOSであることが判明しています。 Google’s “Fuchsia” smartphone OS dumps Linux, has a wild new UI | Ars Technica https://arstechnica.com/gadgets/2017/05/googles-fuchsia-smartphone-os-dumps-linux-has-a-wild-new-ui/ Google’s mysterious new Fuchsia OS has a UI now - The Verge ht
Googleが、Linuxカーネルに依存しない新しいオープンソースOSの開発を進めている。 「Android」と「Chrome OS」はLinuxをベースにしているが、Googleの新OS「Fuchsia」では、組み込みシステムから高性能スマートフォン、PCまで、あらゆるIoT(モノのインターネット)デバイスを動かすのに適した軽量かつ高機能なOSの開発を目指し、Linux以外のカーネルを採用している。 Linuxカーネルに代わって、Googleの新OSは「Magenta」を採用している。Magentaのベースである「LittleKernel」は、「FreeRTOS」や「ThreadX」といった組み込みシステム向け商用OSのライバルだ。 Android Policeによると、Magentaは(ユーザーアカウントを要する)ユーザーモードをサポートし、また「Android 6.0」のパーミッショ
今年のCPU実験では、有志からなる我らがX班が、おそらくCPU実験史上初である自作CPUへのOS (xv6) 移植に成功しました。コア係とコンパイラ係の面々がそれぞれまとめ記事を書いていたので、OS係から見たOS移植のまとめも書こうかなと思います。こんなことしてましたってことが伝わればいいなと思います。 この記事を読む後輩やらなんやらがいたら、ぜひ僕らがやったようなことはさっさとクリアしちゃって、さらにさらに面白いことをする踏み台にしていってほしいですね。 どなたが読んでもある程度概要が伝わるよう、まずCPU実験とは何かということをさらっと書いた後、実際にxv6を移植するにあたってやったことをまとめたいと思います。 CPU実験とは CPU実験は僕の学科(理学部情報科学科)で3年冬に行われる、半年間にわたる学科名物演習です。 最初の週で4~5人程度の班に分けられた後、それぞれの班でオリジナル
Identify Even the Most Unlikely Discrepancies Caused by Code Changes The Progeni Corporation announces the release of ThreeRs, Version 3.0. ThreeRs, which stands for Record, Replay, and Research, is a toolset used to confirm the integrity of modified code and identify the unanticipated impact of change after maintenance changes, migration or conversion to target platforms. ThreeRs can be used in s
●「Webさえあれば大丈夫。」そんな未来はもうすぐです ガジェ通豆知識「まめち!」担当ふかみんです(豆知識「まめち!」の記事一覧はこちら)。さて『Chrome OS』ですが、最新版では特に設定をいじらなくてもいきなり日本語入力ができるようになってきており、Flashも最初から組み込んでありますから、すぐにニコニコ動画を観ることもできます。上級者じゃなくてもChrome OSが体験できるような環境が整いつつある、ってわけです。実際この原稿もChrome OS 上で書きました。 来月6月にはChromeBook(Chrome OS が最初から入っているノートパソコン)も発売される予定で、なんか面白そうなんだけど、それって一体どんなもので、どれくらい使えるのか、というところが気になっている人も多いんじゃないでしょうか――というわけで実際に動かしてみたら割と面白かったので「Chrome OS」を体
多くの人はWindows搭載のPCを使っていると思いますが、その問題は起動速度の遅さ。スリープ状態やスタンバイ状態にしておけば、使用可能な状態まで1分以内にたどり着くことができますが、電源を切った状態から1分以内に使用可能になるのはちょっと難しく、古いマシンともなるといつまで待てば使える状態になるのか分からないなんてこともざらです。 そんな状況を打破すべく、マイクロソフトがDeviceVM社と組み、瞬間起動するOS「Splashtop OS」の無料ダウンロードを開始しました。これはWindowsの代わりのOSではなくWindowsと共存するOSで、ユーザーは起動してわずか数秒でウェブサイトを利用したりメールの送受信が可能になります。 どれほどに起動が高速かわかる動画もあったので、紹介します。 Splashtop OS beta http://os.splashtop.com/ これがSpl
WindowsプログラムをOS Xアプリに変える「WineBottler」(Kindle for PCもMacで使えるよ!)2010.01.11 09:00 satomi Macユーザーにグッドニュース♪ LinuxにWindowsアプリをぶち込んで使えるんで人気のツール「Wine」が、Macでも使えるようになりましたよ。 Wineと言えば、ライフハッカーが『Kindle for PC』をLinuxマシンで使う方法でフィーチャーしていた技ですよね。 Macで使うには無料ユーティリティ「WineBottler」っていうのを使います。これでWindowsプログラムをスタンドアローンのMacアプリとして動かせる別個のアプリバンドルに「瓶詰め」するんでございますよ~。 「WineBottler」を使うには、Windows EXE.をダウンロードしてWineBottlerアプリにドラッグ&ドロップ。
「VMware」は、WindowsやLinux対応の素晴らしいツールですが、Mac OS Xはサポートされていません。WindowsではSnow Leopardが動くようになったのですが、Macハッキングブログの「iHackintosh」に、そのインストールと設定のポイントが書いてありました。 VMwareでSnow Leopardを動かすためには、まずIntel内蔵のWindowsマシン(AMDは最近サポートしていないのです)と普通に売っているSnow Leopardが必要になります。 VMwareでは、かなり細かく設定をしなければなりません。いくつかのディスクを切り替えたり、素早いキーボード操作が必要になったりしますが、全体的にそこまで難しい作業ではありません。 設定についての詳しい説明は、以下リンク先のiHackintoshのページをご覧ください。英文のブログですが、セッティングのプ
先週「Androidと家電」というタイトルで講演をさせていただいた私だが、そのプレゼンのキーポイントは、「なぜGoogleはAndroidを無料で配布するのか?」。それを私なりに説明するための資料として作ったスライドが以下の二枚。 まずこれは、MicrosoftとIntelがパソコン・ビジネスを育てるためにした「コモディティ戦略」を図式化したもの。IntelとMicrosoftで協力してCPUとOSを部品化・規格化することにより、誰でもパソコンを作れる様にしたのがそれ。これにより、パソコン・ビジネスへの参入障壁が減り、パソコン・メーカーが乱立。差別化がしにくい部分(つまりIntelとMicrosoftがほぼ独占的に提供するCPUとOS以外の部分)で激しいコスト競争が起こり、パソコンのコモディティ化が一気に進んだのは皆さんの記憶にも新しいはず。 特筆すべきなのは、MicrosoftもInte
まだ未完成でその全貌が明らかにはなっていないChrome OSですが、仮想マシン上でChromeOSを試す方法を以前に紹介しました。このChrome OSをUSBメモリから走らせる方法もあるそうあので、そちらをご紹介。 始めに始めに言っておくと、Chrome OSはまだ開発段階です。動かない機能もあります。場合によっては全く動かない可能性もあります。またChrome OSはネットブック向けにかなりシンプルにデザインされているので、OSを起動した際に立ち上がるのはウェブブラウザだけで、ネットを見たり、メールを送ったりなどの簡単な作業を基本的に行うことを想定しています。 ■必要条件 言うまでもないですが、まずUSBメモリが必要です。ディスクイメージの大きさは2,988,442,112バイトなので、4Gくらいの容量が必要となるかと思います。USBメモリに削除したくないファイルがある場合、この作業
11月19日(日本時間11月20日午前3時半)、グーグルはWebアプリケーションの実行に特化したオープンソースの新しいOS、Google Chrome OSのための「Chromium OS」プロジェクトをオープンソースとして公開したと発表しました。 オフィシャルページでグーグルは「Google Chrome OS will be ready for consumers this time next year.」と書き、Chrome OSの製品がユーザーの手に届くのは来年になるとしています。 公開されたのは、以下のものです。 Source code(ソースコード) Design docs(システムデザインのドキュメント) User interface experiments(ユーザーインターフェイスのドキュメント) Getting and Building a Chromium-Based
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く