タグ

ブックマーク / valinux.hatenablog.com (4)

  • OS徒然草 (3) - VA Linux エンジニアブログ

    仮想空間 仮想アドレス アドレス変換機構 プログラムの配置 オンデマンド 実アドレス空間 実 vs 物理 あとがき 執筆者 : 小田 逸郎 ※ 「OS徒然草」連載記事一覧はこちら 仮想空間 弊社は、Linuxカーネル(等基盤系OSS)の障害解析サービスを提供しています。サービスを提供する相手は、エンドユーザではなく、基盤の運用やサポートを行っている部署の方々となります。そうした方々に障害解析だけでなく、Linuxカーネルの内部構造だとかクラッシュダンプの解析の仕方だとかの勉強会を提供したりすることもあります。そうした方々は、普通のエンジニアに比べれば、コンピュータに詳しいはずなのですが、それでも仮想空間という概念を把握するのには苦労しているように見受けられます。今回は、仮想空間を巡るお話です。仮想空間というものは、OSを語る上で外せないものですので、稿が、仮想空間を理解するための助けにな

    OS徒然草 (3) - VA Linux エンジニアブログ
  • OS徒然草 (2) - VA Linux エンジニアブログ

    コンテキストスイッチ 割り込み スーパバイザモード あとがき 執筆者 : 小田 逸郎 コンテキストスイッチ OSの開発をしていると、必然的にシステムコールを使用したプログラムを作成することになります。誰しも始めたての頃は、fork(2)システムコールを不思議に思うのではないかと思います。 pid_t pid; pid = fork(); if (pid == 0) { /* child. child start here */ } else if (pid == -1) { /* error */ } else { /* parent */ } forkの復帰値が親と子で違っていて、それで自分が親か子かを区別できるというのは、どんな仕掛けになっているのだろうと気になりますよね*1。 似たような例としては、setjmp(3)、longjmp(3)関数があります。プログラム例を見てみましょう。

    OS徒然草 (2) - VA Linux エンジニアブログ
  • OS徒然草 (1) - VA Linux エンジニアブログ

    はじめに コンピュータのアーキテクチャ プログラムの構造 あとがき 執筆者 : 小田 逸郎 はじめに 筆者は自分のことを OS 開発者 (OS屋) だと思ってます。最近は、OSにあまり深く関われていないのですが、筆者が若かりし頃に情熱を注いだものであり、筆者の基盤をなしているものであることには間違いないです。 筆者が OS (UNIX) の開発に携わり始めたのは、1986年のことなので、もう40年近く経ってしまいました。その間に OS の規模も随分大きくなってしまったようです。 筆者が始めた頃の UNIX は、デバイスドライバを除くと、20K行くらいだったと記憶しています。 全コードをラインプリンタで出力、コピー、製し、皆で読み合わせて、勉強会をしたりしていました。そんなことができる分量だったのです。 今の Linux の規模はどれくらいでしょうか。筆者たちが「Linuxカーネル 2.6

    OS徒然草 (1) - VA Linux エンジニアブログ
  • 詳説 eBPF 実装編 - VA Linux エンジニアブログ

    1. はじめに 2. 使用環境 3. コンパイル 4. opensnoopとは 5. opensnoop.bpf.cの解説 5.1 mapの宣言 5.2 BPFプログラムのメイン処理 5.2.1 33-68行目 5.2.2 88-124行目 5.2.3 プログラムタイプとコンテキスト 5.3 opensnoop.bpf.cのコンパイル 6. opensnoop.cの解説 6.1 ヘッダファイルのインクルード 6.2 BPFアプリケーションのメイン処理 6.3 231-232行目 6.4 opensnoop_bpf__open 6.4.1 bpf_object__init_maps 6.4.2 bpf_object_init_progs 6.5 241-245行目 6.6 opensnoop_bpf__load 6.6.1 bpf_object__create_maps 6.6.2 bpf_

    詳説 eBPF 実装編 - VA Linux エンジニアブログ
  • 1