The document discusses Linux KVM (Kernel-based Virtual Machine) and how it enables full virtualization on x86 hardware. KVM uses Intel VT-x and AMD-V virtualization extensions to allow a Linux kernel to function as a hypervisor. Guest virtual machines see a bare metal interface while the host kernel manages scheduling and resource allocation. Qemu is used as a processor emulator to add missing gue
Operating Systems Lecture Notes Lecture 6 CPU Scheduling Martin C. Rinard What is CPU scheduling? Determining which processes run when there are multiple runnable processes. Why is it important? Because it can can have a big effect on resource utilization and the overall performance of the system. By the way, the world went through a long period (late 80's, early 90's) in which the most popular op
Advancing intelligent systems that perceive, learn, and interact Through fundamental research across computational, physical, and social dimensions, we shape artificial intelligence and robotics to advance knowledge and benefit society. Our institute Located in Stuttgart and Tübingen we combine theory, software, and hardware expertise in the research field of intelligent systems. Research & Facult
Linux Kernel(2.6)の実装に関するメモ書き 書き殴っているので書き方/内容にムラあり。 3.6系に関する記述は【3.6】と記載。 カーネル プロセス プロセスのBlockとWakeup プロセスの優先度 コンテキストスイッチ プリエンプション スケジューラ RunQueue WaitQueue WorkQueue 例外処理 割り込み処理 ページフォルト ページフォルト - 個々のハンドラ ソフト割り込み システムコール 排他制御関連 モジュール 64bit環境での32bitプロセスの動作 メモリ管理 アドレス空間 アドレス空間の管理 カーネル空間のメモリマップ 64bitでのアドレス空間 HighMemory kmalloc,vmalloc 物理ページ管理 スラブアロケータ Rmap proc/meminfo 空きページの確保 kswapd Swap Swap - Swap領
•1 VA Linux Systems Japan taka@valinux.co.jp Linux World C&D/Tokyo 2001 2001 10 24 Linux World C&D/Tokyo 2001 2001 10 24 u u u u u u u u u u u u u CD Linux if ( A { A B B A if ( A { B return } B •2 u u u u ’ u … ² u u u u u u u u u u u u u u u u u u u u J •3 u u u u … u … u … u … u … u … u u u u u u u u u u … u u u u …… u u u u •4 u u u u u l l l l CD Linux libc.so 4. I/O a.out LINUX fread() 3. I/
何故かExt2ファイルシステムについて調べてました。ちょっとカーネルのソースを覗いてみたら、struct list_head構造体がやたら出てくる。気になって、include/linux/list.hを覗いてみると、驚くべき仕組みが隠れてた。 そんなわけで写経。 #include <stdio.h> struct list_head { struct list_head *next, *prev; }; #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); \ (ptr)->prev = (ptr); \ } while(0) static inline void __list_add(struct list_head *new, struct list_head *prev, struct list_head *next) { n
リード・コピー・アップデート(read-copy-update、RCUと略記)とは、オペレーティングシステムにおいて一種の排他制御[note 1]を実装する同期機構であり、リーダー・ライターロック(英語版)の代替手段として使われることがある。参照において待ち状態が生じず、極めてオーバーヘッドが低い。しかしRCUにおけるデータ更新は、既存の参照者のために古い版のデータ構造を保持しつつ行うため、時間と空間(メモリ)をより多く必要とする。古い版のデータ構造は、既存の参照者が全てアクセスを完了した後で回収される。 RCUでは「参照側クリティカルセクション」という概念があり、通常 rcu_read_lock() と rcu_read_unlock() で挟まれた部分がそれにあたる。参照側クリティカルセクション内にない文は「不活性状態」と呼ばれ、RCUで保護されたデータ構造への参照を保持することは許さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く