サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
alphakai.hatenadiary.jp
どうも、前回の記事が思っていたよりも反響があり、Blogを書くモチベーションが高まり、また記事を書くことにします。 ↑とか書いたんですが、このへんまで書いて50日くらい記事を書くのを放置していたので、ちゃっちゃと書き上げることにします。 今回はx86なCPUに存在するControl Registerのうち、CR0に存在するCache Disableフラグを操作するカーネルモジュールをLinux、FreeBSDのそれぞれ向けに作ったのでそれについて記述します。 それでは、続きからどうぞ。 はじめに、作成したカーネルモジュールのリポジトリへのリンクを掲載します。 Linux版のカーネルモジュール(procfsとして実装) cr0cd FreeBSD版のカーネルモジュール(キャラクタデバイスとして実装)cr0cd_fbsd そもそもこれはなに 一言で言うと、メモリのキャッシュ(L1, L2, L
どうも,最近Blog書こうという気持ちは高まっていてネタ帳は増えてるけど書いてなかったんでいい加減書こうと思って書きます. 筑波大学の情報学群情報科学類では,3年次に主専攻実験というものがあり,これは情報科学類に存在する3つの専攻に所属し,各専攻が開設する実験を履修するというものです. それで,履修する実験は決められたルールのもとで自由に選ぶことができることになっています. そこで自分は,春学期は「カーネルハック」を履修しています(面白いことに,今年は自分1人だけが履修しています.) そこの課題の一つに,ファイルシステムを実装するというものがあり,初めにFUSEを用いたファイルシステムの実装を行っています. 半分趣味みたいな形で実験ができることは本当によくて家でも楽しく実装をしています. 実装や設計については続きからどうぞ. はじめに コードは次のRepositoryにて公開しています:
だいぶ前(3ヶ月)に書こうと思っていた記事なのだが,ぼけーっとしていたら夏休みも終わり,そして夏休みが終わってからも1ヶ月がたっており,いい加減記事をかくか,とおもい書くことにした. とりあえず,本文は続きから とりあえず,まずコードを先に示す. #include <stdio.h> #include <sys/mman.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> #include <stdint.h> #include <string.h> int main(int argc, const char *argv[]) { long page_size = sysconf(_SC_PAGESIZE); char _code[] = { 0x55, // push rbp 0x48, 0x89, 0xe5, //
このページを最初にブックマークしてみませんか?
『alphakai.hatenadiary.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く