comparison Cerium_IO/Cerium_IO_memo.txt @ 102:bb7a0778747b

add 6/4 seminor memo
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Wed, 04 Jun 2014 11:26:23 +0900
parents e64b09046d20
children
comparison
equal deleted inserted replaced
101:3c96cbfa309c 102:bb7a0778747b
1 -------------------------------------------------------------------
2 2014/06/03 (Tue)
3 [seminor]
4 * アドレス固定しないでも実装できます
5 * ceriumは絶対アドレス関係ないから
6 * サジェスチョンでしかない、書いてないはず
7 * map_fixidで書く必要はない
8 * mmapしたアドレスがどこにmappingされるかは置いといて
9 * それを正しく渡せればいいのだから、fixidは関係ない
10 * どのアドレスを指定しているのか
11 * blocked_read
12 * 実メモリでないところをmmapしようとしてたら駄目
13 * どこの固定アドレスを指定してるかの問題がある
14 * mmapなのにreadtaskを使う意味はあるのかどうか
15 * 今までのmmapはどこに書いていた?
16 * mmapをダブルバッファリングでやってほしい
17 * ダブルバッファリングとは
18 * mmapを2つやって、片っ方の仕事が終わったら解放して、
19 * もう一度mmapで割り当てる、これを繰り返す感じ
20 * 2つのメモリマップ領域を交互に使う
21 * 片っ方が処理を終える頃には片っ方が実行できるみたいな
22 * file mmapってのを配列にして
23 * 要素1を読んでるタスクに対して読み込みwaitforにひっかけておいて
24 * 全部おわったらダブルバッファリングの切り替えを行う
25 * どのタイミングでいつだれがダブルバッファリングを動かすのか
26 * readのばあいはruntaskにいれたよね
27 * vSyncの場合
28 * 単なる待ち合わせの場合
29 画面を書いている間、表示しているみたいな
30 表示と書き込みが別にあるってのがダブルバッファリングのきも
31 readの場合は、mmapが動かない
32 条件分岐があってー・・・。
33
34 * runtask16の場合
35 * readのタスクに対してかけてる
36 * メモリマップしたやつにwaitforかけていくけども
37 * 全部にかけちゃうと量的に多い
38 * readのところにいれてできるのか?
39 * できなくはな・・・い・・・?
40 * wのtaskのところでアドレスを振わけるのがめんどくさい
41 * ダブルバッファリングしてくればこの辺りをいじらなくて済む
42 * file -> mmapとは
43 * ダブルバッファリングをしているとこいつを直接書き換えられる割と楽になる!
44 * file mmap、next mmap用意
45 * 全部終わったらnext mmapに切り替える
46 * そのときnext mmapがあくから〜〜〜
47 * create taskしてるときに
48 * readの方のwait for(run taskに対するwait for)
49 * wait for h exec
50 * run task16にかかっている
51 * 16ずつやっていく
52 * 最後にひっかかるから、そこでバッファを切り替え
53 * 問題はlogicを自分で理解して書けるのかどうかって点
54
1 ------------------------------------------------------------------- 55 -------------------------------------------------------------------
2 2014/05/11 (Sun) 56 2014/05/11 (Sun)
3 [memo] 57 [memo]
4 void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); 58 void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off);
5 59