ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
§°§á§Ö§â§Ñ§è?§Û§ß?
§ã§Ú§ã§ä§Ö§Þ§Ú
§­§Ö§Ü§è?§ñ 11
§¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ
§Ó §°§³ Linux, UNIX, Windows
2/19§­§Ö§Ü§è?§ñ 11
§±§Ý§Ñ§ß §Ý§Ö§Ü§è??
? §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ §Ó §°§³ UNIX ? Linux
? §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ §Ó §°§³ Windows
3/19§­§Ö§Ü§è?§ñ 11
§£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó
UNIX ? Linux
? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù§Õ?§Û§ã§ß§ð?§ä§î§ã§ñ §é§Ö§â§Ö§Ù §æ§Ñ§Û§Ý§à§Ó§å
§ã§Ú§ã§ä§Ö§Þ§å
? §¬§à§Ø§ß§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å §á§â§Ú§ã§ä§â§à§ð §Ó?§Õ§á§à§Ó?§Õ§Ñ? §à§Õ§Ú§ß §Ñ§Ò§à §Ü?§Ý§î§Ü§Ñ
§ã§á§Ö§è?§Ñ§Ý§î§ß§Ú§ç §æ§Ñ§Û§Ý?§Ó §á§â§Ú§ã§ä§â§à?§Ó
? §¶§Ñ§Û§Ý§Ú §á§â§Ú§ã§ä§â§à?§Ó §ä§â§Ñ§Õ§Ú§è?§Û§ß§à §â§à§Ù§Þ?§ë§Ö§ß? §å §Ü§Ñ§ä§Ñ§Ý§à§Ù? /dev
? §¬§à§Ø§ß§Ú§Û §æ§Ñ§Û§Ý §á§â§Ú§ã§ä§â§à§ð §ç§Ñ§â§Ñ§Ü§ä§Ö§â§Ú§Ù§å?§ä§î§ã§ñ §é§à§ä§Ú§â§Þ§Ñ
§á§Ñ§â§Ñ§Þ§Ö§ä§â§Ñ§Þ§Ú
? ?§Þ¡¯§ñ §æ§Ñ§Û§Ý§å
? §Ù§Ñ§ã§ä§à§ã§à§Ó§å?§ä§î§ã§ñ §Õ§Ý§ñ §Õ§à§ã§ä§å§á§å §Õ§à §á§â§Ú§ã§ä§â§à§ð §Ù §á§â§Ú§Ü§Ý§Ñ§Õ§ß§Ú§ç
§á§â§à§Ô§â§Ñ§Þ
? §´§Ú§á §á§â§Ú§ã§ä§â§à§ð (§ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§Û §é§Ú §Ò§Ý§à§Ü§à§Ó§Ú§Û)
? §æ§Ñ§Ü§ä§Ú§é§ß§à §Ó§Ü§Ñ§Ù§å? §ß§Ñ §ä§Ñ§Ò§Ý§Ú§è§ð ¨C §à§Õ§ß§Ñ §ä§Ñ§Ò§Ý§Ú§è§ñ §Õ§Ý§ñ §ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§ç
§á§â§Ú§ã§ä§â§à?§Ó, §Õ§â§å§Ô§Ñ ¨C §Õ§Ý§ñ §Ò§Ý§à§Ü§à§Ó§Ú§ç
? Major number ¨C §ß§à§Þ§Ö§â §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ä§Ñ§Ò§Ý§Ú§è?
? §è?§Ý§Ö §é§Ú§ã§Ý§à, §ñ§Ü §á§â§Ñ§Ó§Ú§Ý§à, 1 §Ò§Ñ§Û§ä (§Þ§à§Ø§Ö 2)
? Minor number ¨C §ß§à§Þ§Ö§â §á§â§Ú§ã§ä§â§à§ð
? §è§Ö §é§Ú§ã§Ý§à §á§Ö§â§Ö§Õ§Ñ§ð§ä§î §Õ§â§Ñ§Û§Ó§Ö§â§å, §Õ§â§Ñ§Û§Ó§Ö§â §Þ§à§Ø§Ö §á§â§Ñ§è§ð§Ó§Ñ§ä§Ú §Ù
§Ü?§Ý§î§Ü§à§Þ§Ñ §á§â§Ú§ã§ä§â§à§ñ§Þ§Ú, §å §ä§à§Þ§å §é§Ú§ã§Ý? §â?§Ù§ß§Ú§Þ§Ú
4/19§­§Ö§Ü§è?§ñ 11
§²§à§Ò§à§ä§Ñ §Ù §æ§Ñ§Û§Ý§Ñ§Þ§Ú
§á§â§Ú§ã§ä§â§à?§Ó
? §¶§Ñ§Û§Ý§Ú §á§â§Ú§ã§ä§â§à?§Ó, §ñ§Ü? ? §Ù§Ó§Ú§é§Ñ§Û§ß? §æ§Ñ§Û§Ý§Ú, §Þ§à§Ø§ß§Ñ
§ã§ä§Ó§à§â§ð§Ó§Ñ§ä§Ú §Û §Ó§Ú§Õ§Ñ§Ý§ñ§ä§Ú
? §¯§Ñ §Õ§â§Ñ§Û§Ó§Ö§â §è§Ö §ß?§ñ§Ü §ß§Ö §Ó§á§Ý§Ú§Ó§Ñ?
? §¬§à§Þ§Ñ§ß§Õ§Ñ §ã§ä§Ó§à§â§Ö§ß§ß§ñ §æ§Ñ§Û§Ý§å §á§â§Ú§ã§ä§â§à§ð:
mknod /dev/mydevice c 150 1
? §©§Ó§Ö§â§ß§Ö§ß§ß§ñ §Õ§à §æ§Ñ§Û§Ý§å:
? §³§á§à§é§Ñ§ä§Ü§å ¨C §Ù§Ó§Ö§â§ß§Ö§ß§ß§ñ §Õ§à §æ§Ñ§Û§Ý§å §Ù§Ñ ?§Þ§Ö§ß§Ö§Þ
? §³§Ú§ã§ä§Ö§Þ§Ñ §Ù§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à ?§ß§Õ§Ö§Ü§ã§ß§à§Ô§à §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ
? §±§Ö§â§Ö§Ó?§â§ñ? §á§â§Ñ§Ó§Ñ §Õ§à§ã§ä§å§á§å
? §© §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ §Ó§Ú§Ù§ß§Ñ§é§Ñ? §ä§Ú§á §á§â§Ú§ã§ä§â§à§ð ? §ß§à§Þ§Ö§â
§Õ§â§Ñ§Û§Ó§Ö§â§Ñ
? §©§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §á§Ö§â§Ö§Õ§Ñ? §Û§à§Þ§å §ß§à§Þ§Ö§â
§á§â§Ú§ã§ä§â§à§ð
? §£§Ú§Ü§à§ß§å? §Ù§Ñ§Õ§Ñ§ß§å §æ§Ñ§Û§Ý§à§Ó§å §à§á§Ö§â§Ñ§è?§ð
5/19§­§Ö§Ü§è?§ñ 11
§°§á§Ö§â§Ñ§è?? §â§à§Ò§à§ä§Ú §Ù
§á§â§Ú§ã§ä§â§à§ñ§Þ§Ú
? §¥§â§Ñ§Û§Ó§Ö§â §Ù§à§Ò§à§Ó¡¯§ñ§Ù§Ñ§ß§Ú§Û §á?§Õ§ä§â§Ú§Þ§å§Ó§Ñ§ä§Ú §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß?
§æ§Ñ§Û§Ý§à§Ó? §à§á§Ö§â§Ñ§è??
? open(), read(), write(), lseek()
? §±§â§Ú§Ü§Ý§Ñ§Õ§ß? §á§â§à§Ô§â§Ñ§Þ§Ú §Ó§Ú§Ü§à§ß§å§ð§ä§î §ä§Ñ§Ü? §à§á§Ö§â§Ñ§è?? §ä§Ñ§Ü, §ñ§Ü§Ò§Ú
§Ó§à§ß§Ú §á§â§Ñ§è§ð§Ó§Ñ§Ý§Ú ?§Ù §Ù§Ó§Ú§é§Ñ§Û§ß§Ú§Þ§Ú §æ§Ñ§Û§Ý§Ñ§Þ§Ú
? §¥§Ý§ñ §Õ§Ö§ñ§Ü§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó §Ü§â?§Þ §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß§Ú§ç §à§á§Ö§â§Ñ§è?§Û,
§Þ§à§Ø§Ý§Ú§Ó§à, §Ó§Ú§Ù§ß§Ñ§é§Ö§ß? §Û §Õ§Ö§ñ§Ü? ?§ß§ê? §à§á§Ö§â§Ñ§è??
? §¥§Ý§ñ §â§Ö§Ñ§Ý?§Ù§Ñ§è?? §ß§Ö§ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß§Ú§ç §à§á§Ö§â§Ñ§è?§Û §á§Ö§â§Ö§Õ§Ò§Ñ§é§Ö§ß§à
§å§ß?§Ó§Ö§â§ã§Ñ§Ý§î§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü ioctl()
ioctl( int d, int request, char *agrp );
d ¨C §æ§Ñ§Û§Ý§à§Ó§Ú§Û §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â
request ¨C §Ü§à§Õ §à§á§Ö§â§Ñ§è??
* agrp ¨C §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §Õ§à§Ó?§Ý§î§ß§å §á§Ñ§Þ¡¯§ñ§ä§î
? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §Õ§Ý§ñ §á§â§Ú§Ó§à§Õ§å §à§á§ä§Ú§é§ß§à§Ô§à §Õ§Ú§ã§Ü§å §ä§Ñ§Ü §Þ§à§Ø§ß§Ñ
§Ó§Ú§Ù§ß§Ñ§é§Ú§ä§Ú §à§á§Ö§â§Ñ§è?§ð EJECT
6/19§­§Ö§Ü§è?§ñ 11
§³§ä§â§å§Ü§ä§å§â§Ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
? §¬§à§Õ ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?? (§à§Õ§ß§Ñ §æ§å§ß§Ü§è?§ñ init())
? §¬§à§Õ §Ó§Ú§Ü§à§ß§å?§ä§î§ã§ñ §á?§Õ §é§Ñ§ã §Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ §ñ§Õ§â§Ñ §ã§Ú§ã§ä§Ö§Þ§Ú §Ñ§Ò§à §á?§Õ §é§Ñ§ã
§Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ §Þ§à§Õ§å§Ý§ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
? §¸§Ö§Û §Ü§à§Õ §â§Ö§Ñ§Ý?§Ù§å? §â§Ö?§ã§ä§â§Ñ§è?§ð §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ã§Ú§ã§ä§Ö§Þ? (§Ó§Ú§Ò?§â §ß§à§Þ§Ö§â§Ñ,
§â§Ö?§ã§ä§â§Ñ§è?§ð §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é?§Ó §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î)
? §¸§Ö§Û §Ü§à§Õ §ß§Ö §Þ§à§Ø§Ö §ã§ä§Ó§à§â§ð§Ó§Ñ§ä§Ú §ã§á§Ö§è?§Ñ§Ý§î§ß? §æ§Ñ§Û§Ý§Ú!
? §²§Ö§Ñ§Ý?§Ù§Ñ§è?§ð §æ§Ñ§Û§Ý§à§Ó§Ú§ç §à§á§Ö§â§Ñ§è?§Û ? ioctl()
? §¥§Ý§ñ §ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó: open(), close(), read(), write(), lseek(),
select(), mmap()
? §¥§Ý§ñ §Ò§Ý§à§Ü§à§Ó§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó ? §à§ã§à§Ò§Ý§Ú§Ó?§ã§ä§î: §â§Ö§Ñ§Ü§è?§ð §ß§Ñ §à§á§Ö§â§Ñ§è??
§Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ ? §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§ð§ä§î §ß§Ö §á§â§ñ§Þ§à, §Ñ §á?§ã§Ý§ñ
§á§â§à§ç§à§Õ§Ø§Ö§ß§ß§ñ §Ü§Ö§â§å§Ó§Ñ§ß§ß§ñ §é§Ö§â§Ö§Ù §Ò§å§æ§Ö§â§ß§Ú§Û §Ü§Ö§ê; §Õ§Ý§ñ §è§î§à§Ô§à ?§ç
§â§Ö§Ñ§Ý?§Ù§å§ð§ä§î §Ó §à§Õ§ß?§Û §æ§å§ß§Ü§è??
? UNIX ¨C strategy()
? Linux ¨C request()
? §°§Ò§â§à§Ò§ß§Ú§Ü§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î
? §°§Ò§â§à§Ò§ß§Ú§Ü?§Ó §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î §Þ§à§Ø§Ö ? §ß§Ö §Ò§å§ä§Ú: §Õ§â§Ñ§Û§Ó§Ö§â §Þ§à§Ø§Ö §ß§Ö
§Ù§Ñ§ã§ä§à§ã§à§Ó§å§Ó§Ñ§ä§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ, §Ñ §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú §à§á§Ú§ä§å§Ó§Ñ§ß§ß§ñ §á§â§Ú§ã§ä§â§à?§Ó
? §°§Ò§â§à§Ò§ß§Ú§Ü§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î §Þ§Ñ§ð§ä§î §Ó§Ö§â§ç§ß§ð ? §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§Ú
7/19§­§Ö§Ü§è?§ñ 11
§£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù
§â§à§Ù§á§à§Õ?§Ý§à§Þ ? §à§Ò¡¯?§Õ§ß§Ñ§ß§ß§ñ§Þ
? §©§Ñ §à§Õ§ß§å §à§á§Ö§â§Ñ§è?§ð §Ù§Õ?§Û§ã§ß§ð?§ä§î§ã§ñ §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ §Ó, §Ñ§Ò§à
§Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §Ù §Ü?§Ý§î§Ü§à§ç §ß§Ö §á§à§Ó¡¯§ñ§Ù§Ñ§ß§Ú§ç §Õ?§Ý§ñ§ß§à§Ü §á§Ñ§Þ¡¯§ñ§ä?
? §£§Ó§Ö§Õ§Ö§ß§ß§ñ ¨C scatter ¨C readv()
? §£§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ¨C gather ¨C writev()
ssize_t readv(int fdl, const struct iovec *iov, int count);
fdl ¨C §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â §Ó?§Õ§Ü§â§Ú§ä§à§Ô§à §æ§Ñ§Û§Ý§å;
iov ¨C §Þ§Ñ§ã§Ú§Ó §ã§ä§â§å§Ü§ä§å§â, §ñ§Ü? §Ù§Ñ§Õ§Ñ§ð§ä§î §ß§Ñ§Ò?§â §Õ?§Ý§ñ§ß§à§Ü §á§Ñ§Þ¡¯§ñ§ä? §Õ§Ý§ñ
§Ó§Ó§Ö§Õ§Ö§ß§ß§ñ ? §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ;
count ¨C §Ü?§Ý§î§Ü?§ã§ä§î §ã§ä§â§å§Ü§ä§å§â §å §Þ§Ñ§ã§Ú§Ó? iov
? §¬§à§Ø§ß§Ú§Û §Ö§Ý§Ö§Þ§Ö§ß§ä §Þ§Ñ§ã§Ú§Ó§å §Þ?§ã§ä§Ú§ä§î §Õ§Ó§Ñ §á§à§Ý§ñ:
iov_base ¨C §Ù§Ñ§Õ§Ñ? §Ò§Ñ§Ù§à§Ó§å §Ñ§Õ§â§Ö§ã§å §Õ?§Ý§ñ§ß§Ü§Ú §á§Ñ§Þ¡¯§ñ§ä?
iov_len ¨C §Ù§Ñ§Õ§Ñ? §Õ§à§Ó§Ø§Ú§ß§å §Õ?§Ý§ñ§ß§Ü§Ú §á§Ñ§Þ¡¯§ñ§ä?
? §£§Ú§Ü§Ý§Ú§Ü§Ú §á§à§Ó§Ö§â§ä§Ñ§ð§ä§î §Ù§Ñ§Ô§Ñ§Ý§î§ß§å §Ü?§Ý§î§Ü?§ã§ä§î §Ò§Ñ§Û§ä?§Ó
(§Ù§é§Ú§ä§Ñ§ß§Ú§ç §Ñ§Ò§à §Ù§Ñ§á§Ú§ã§Ñ§ß§Ú§ç)
8/19§­§Ö§Ü§è?§ñ 11
§£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù
§á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ
? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ §á§â§à §ã§ä§Ñ§ß
§Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó
1. §¤§à§ä§å§ð§ä§î §ã§ä§â§å§Ü§ä§å§â§å §Õ§Ñ§ß§Ú§ç fdarr §Ù §à§á§Ú§ã§à§Þ §å§ã?§ç §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó, §ã§ä§Ñ§ß
§ñ§Ü§Ú§ç §ä§â§Ö§Ò§Ñ §Ó?§Õ§ã§ä§Ö§Ø§å§Ó§Ñ§ä§Ú
2. §±§Ö§â§Ö§Õ§Ñ§ð§ä§î fdarr §å §ã§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ (§å POSIX ¨C
§Ó§Ú§Ü§Ý§Ú§Ü§Ú select() ? poll())
3. §±?§ã§Ý§ñ §Ó§Ú§ç§à§Õ§å §Ù §Ó§Ú§Ü§Ý§Ú§Ü§å fdarr §Þ?§ã§ä§Ú§ä§î ?§ß§æ§à§â§Þ§Ñ§è?§ð §á§â§à §ã§ä§Ñ§ß §å§ã?§ç
§Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó
4. §µ §è§Ú§Ü§Ý? §à§Ò§ç§à§Õ§ñ§ä§î §å§ã? §Ö§Ý§Ö§Þ§Ö§ß§ä§Ú fdarr ? §Õ§Ý§ñ §Ü§à§Ø§ß§à§Ô§à §Ù §ß§Ú§ç
§Ó§Ú§Ù§ß§Ñ§é§Ñ§ð§ä§î §Ô§à§ä§à§Ó§ß?§ã§ä§î §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ
? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ §á§â§à §á§à§Õ??
(§å FreeBSD ¨C kqueue, Linux 2.6 ¨C epoll)
1. §³§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü (epoll_create()) §ã§ä§Ó§à§â§ð? §ã§ä§â§å§Ü§ä§å§â§å §Õ§Ñ§ß§Ú§ç §å
§ñ§Õ§â? (§á§â§à§ã§Ý§å§ç§à§Ó§å§Ó§Ñ§Ý§î§ß§Ú§Û §à§Ò¡¯?§Ü§ä)
2. §¥§Ý§ñ §á§â§à§ã§Ý§å§ç§à§Ó§å§Ó§Ñ§Ý§î§ß§à§Ô§à §à§Ò¡¯?§Ü§ä§Ñ §æ§à§â§Þ§å§ð§ä§î §ß§Ñ§Ò?§â
§Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó, §Õ§Ý§ñ §Ü§à§Ø§ß§à§Ô§à §Ù §ß§Ú§ç §Ó§Ü§Ñ§Ù§å§ð§ä§î §á§à§Õ??, §ñ§Ü? §è?§Ü§Ñ§Ó§Ý§ñ§ä§î
(epoll_ctl())
3. §£§Ú§Ü§Ý§Ú§Ü §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ (epoll_wait()) §á§à§Ó§Ö§â§ä§Ñ? ?§ß§æ§à§â§Þ§Ñ§è?§ð §Ý§Ú§ê§Ö
§á§â§à §ä? §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ú, §ñ§Ü? §Ù§Þ?§ß§Ú§Ý§Ú §ã§Ó?§Û §ã§ä§Ñ§ß §Ù §Þ§à§Þ§Ö§ß§ä§å §à§ã§ä§Ñ§ß§ß§î§à§Ô§à
§Ó§Ú§Ü§Ý§Ú§Ü§å
9/19§­§Ö§Ü§è?§ñ 11
§¡§ã§Ú§ß§ç§â§à§ß§ß§Ö §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
? §³§ä§Ñ§ß§Õ§Ñ§â§ä POSIX §á§Ö§â§Ö§Õ§Ò§Ñ§é§Ñ? §ä§Ñ§Ü? §Ó§Ú§Ü§Ý§Ú§Ü§Ú §Õ§Ý§ñ §Ñ§ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à
§Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ:
? aio_read() ¨C §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ
? aio_write() ¨C §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ
? aio_suspend() ¨C §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ
? aio_cancel() ¨C §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
? aio_return() ¨C §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §â§Ö§Ù§å§Ý§î§ä§Ñ§ä§å
? aio_error() ¨C §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §ã§ä§Ñ§ä§å§ã§å §à§á§Ö§â§Ñ§è??
? §µ§ã? §Ó§Ú§Ü§Ý§Ú§Ü§Ú, §Ü§â?§Þ aio_suspend(), §á§â§Ú§Û§Þ§Ñ§ð§ä§î §á§Ñ§â§Ñ§Þ§Ö§ä§â§à§Þ
§á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ã§ä§â§å§Ü§ä§å§â§å aiocb §Ù §á§à§Ý§ñ§Þ§Ú:
? aio_fildes ¨C §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â §æ§Ñ§Û§Ý§å, §Õ§Ý§ñ §ñ§Ü§à§Ô§à §Ù§Õ?§Û§ã§ß§ð§ð§ä§î §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
? aio_buf ¨C §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §Ò§å§æ§Ö§â, §å §ñ§Ü§Ú§Û §Ù§é§Ú§ä§Ñ? §Õ§Ñ§ß? aio_read() ? §Ù
§ñ§Ü§à§Ô§à §Ù§Ñ§á§Ú§ê§Ö §Õ§Ñ§ß? aio_write()
? aio_nbytes() ¨C §â§à§Ù§Þ?§â §Ò§å§æ§Ö§â§Ñ
? §¶§à§â§Þ§Ñ§ä §Ó§Ú§Ü§Ý§Ú§Ü§å aio_suspend():
int aio_suspend(struct aiocb *list[], int cnt, struct timespec *tout);
10/19§­§Ö§Ü§è?§ñ 11
§±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ
§à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
1. §±§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ §Ô§à§ä§å? §Ò§å§æ§Ö§â §å §ã§Ó§à?§Þ§å §Ñ§Õ§â§Ö§ã§ß§à§Þ§å §á§â§à§ã§ä§à§â?
2. §±§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ §Ó§Ú§Ü§à§ß§å? §ã§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü read() §Õ§Ý§ñ
§ã§á§Ö§è?§Ñ§Ý§î§ß§à§Ô§à §æ§Ñ§Û§Ý§å §á§â§Ú§ã§ä§â§à§ð, ? §á§Ö§â§Ö§Õ§Ñ? §å §Ó§Ú§Ü§Ý§Ú§Ü §Ñ§Õ§â§Ö§ã§å
§Ò§å§æ§Ö§â§Ñ
3. §£?§Õ§Ò§å§Ó§Ñ?§ä§î§ã§ñ §á§Ö§â§Ö§ç?§Õ §å §â§Ö§Ø§Ú§Þ §ñ§Õ§â§Ñ
? §±§Ö§â§Ö§Ü§Ý§ð§é§Ö§ß§ß§ñ §Ü§à§ß§ä§Ö§Ü§ã§ä§å §ß§Ö §Ù§Õ?§Û§ã§ß§ð§ð§ä§î
4. §¯§Ñ §á?§Õ§ã§ä§Ñ§Ó? ?§ß§æ§à§â§Þ§Ñ§è?? §Ù ?§ß§Õ§Ö§Ü§ã§ß§à§Ô§à §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§à§Ô§à
§æ§Ñ§Û§Ý§å §Ó§Ú§Ù§ß§Ñ§é§Ñ§ð§ä§î §ß§Ö§à§Ò§ç?§Õ§ß§Ú§Û §Õ§â§Ñ§Û§Ó§Ö§â ? §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§ð§ä§î §æ§å§ß§Ü§è?§ð,
§ñ§Ü§Ñ §Ù§Ñ§â§Ö?§ã§ä§â§à§Ó§Ñ§ß§Ñ §ñ§Ü §â§Ö§Ñ§Ý?§Ù§Ñ§è?§ñ §æ§Ñ§Û§Ý§à§Ó§à? §à§á§Ö§â§Ñ§è?? read() §Õ§Ý§ñ
§Ó?§Õ§á§à§Ó?§Õ§ß§à§Ô§à §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
5. §¶§å§ß§Ü§è?§ñ:
? §£§Ú§Ü§à§ß§å? §ß§Ö§à§Ò§ç?§Õ§ß? §á?§Õ§Ô§à§ä§à§Ó§é? §à§á§Ö§â§Ñ§è??
? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §â§à§Ù§Þ?§ë§å? §Ò§å§æ§Ö§â §å §á§Ñ§Þ¡¯§ñ§ä? §ñ§Õ§â§Ñ
? §£?§Õ§ã§Ú§Ý§Ñ? §Ü§à§ß§ä§â§à§Ý§Ö§â§å §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä §ß§Ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è??
§Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ
? §±§Ö§â§Ö§ç§à§Õ§Ú§ä§î §å §â§Ö§Ø§Ú§Þ §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ
? §¥§Ý§ñ §è§î§à§Ô§à §ñ§Ü §á§â§Ñ§Ó§Ú§Ý§à §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §æ§å§ß§Ü§è?§ð sleep_on()
? §±§â§Ú §è§î§à§Þ§å §á§â§à§è§Ö§ã, §ë§à §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§Ó §à§á§Ö§â§Ñ§è?§ð, §á§â§Ú§Ù§å§á§Ú§ß§ñ?§ä§î§ã§ñ
11/19§­§Ö§Ü§è?§ñ 11
§±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ
§à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (2)
6. §¬§à§ß§ä§â§à§Ý§Ö§â §Ù§Õ?§Û§ã§ß§ð? §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ
? §±§â§Ú §è§î§à§Þ§å §Ó?§ß, §Þ§à§Ø§Ý§Ú§Ó§à, §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å? §Ò§å§æ§Ö§â, §ß§Ñ§Õ§Ñ§ß§Ú§Û §Û§à§Þ§å
§æ§å§ß§Ü§è??§ð §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
6. §±?§ã§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ §Ü§à§ß§ä§â§à§Ý§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
7. §¡§á§Ñ§â§Ñ§ä§ß§Ö §Ù§Ñ§Ò§Ö§Ù§á§Ö§é§Ö§ß§ß§ñ §Ñ§Ü§ä§Ú§Ó?§Ù§å? §Ó§Ö§â§ç§ß§ð §á§à§Ý§à§Ó§Ú§ß§å
§à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
8. §¬§à§Õ §Ó§Ö§â§ç§ß§î§à? §á§à§Ý§à§Ó§Ú§ß§Ú §ã§ä§Ñ§Ó§Ú§ä§î §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§å §å §é§Ö§â§Ô§å §ß§Ñ
§Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ
9. §¬§à§Õ §ß§Ú§Ø§ß§î§à? §á§à§Ý§à§Ó§Ú§ß§Ú:
? §©§Ñ§á§à§Ó§ß§ð? §Ò§å§æ§Ö§â, §ñ§Ü§ë§à §Ó?§ß §ß§Ö §Ò§å§Ó §Ù§Ñ§á§à§Ó§ß§Ö§ß§Ú§Û §Ü§à§ß§ä§â§à§Ý§Ö§â§à§Þ
? §£§Ú§Ü§à§ß§å? ?§ß§ê? §ß§Ö§à§Ò§ç?§Õ§ß? §Õ?? §Õ§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ
? §±§à§ß§à§Ó§Ý§ð? §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §á§â§à§è§Ö§ã§å, §ë§à §à§é?§Ü§å?
6. §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §á?§ã§Ý§ñ §á§à§ß§à§Ó§Ý§Ö§ß§ß§ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §á§â§à§è§Ö§ã§å §á§à§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §å
§â§Ö§Ñ§Ý?§Ù§Ñ§è?§ð §æ§å§ß§Ü§è?? read() §Õ§Ý§ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ¨C §å §Ü§à§Õ, §ë§à §ã§Ý?§Õ§å? §Ù§Ñ
§Ó§Ú§Ü§Ý§Ú§Ü§à§Þ sleep_on()
? §¸§Ö§Û §Ü§à§Õ §Ü§à§á?§ð? §Õ§Ñ§ß? §Ù §Ò§å§æ§Ö§â§Ñ §ñ§Õ§â§Ñ §å §Ò§å§æ§Ö§â §â§Ö§Ø§Ú§Þ§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ
6. §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §á§à§Ó§Ö§â§ä§Ñ§ð§ä§î §å §á§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ
12/19§­§Ö§Ü§è?§ñ 11
§£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §å
Windows
? §¢§Ñ§Ù§à§Ó§Ú§Û §Ü§à§Þ§á§à§ß§Ö§ß§ä ¨C §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
(I/O Manager)
? §°§á§Ö§â§Ñ§è?? ¨C §Ñ§ã§Ú§ß§ç§â§à§ß§ß?
? §³§Ú§ß§ç§â§à§ß§ß? §à§á§Ö§â§Ñ§è?? §â§Ö§Ñ§Ý?§Ù§å§ð§ä§î §ñ§Ü §Ñ§ã§Ú§ß§ç§â§à§ß§ß? §à§á§Ö§â§Ñ§è?? +
§à§é?§Ü§å§Ó§Ñ§ß§ß§ñ
? §°§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó?§Õ§à§Ò§â§Ñ§Ø§Ñ§ð§ä§î§ã§ñ §å
§Ó§Ú§Ô§Ý§ñ§Õ? §ã§ä§â§å§Ü§ä§å§â §Õ§Ñ§ß§Ú§ç ¨C §á§Ñ§Ü§Ö§ä?§Ó §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (I/O Request Packet)
? §®§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §ã§ä§Ó§à§â§ð? §á§Ñ§Ü§Ö§ä ? §á§Ö§â§Ö§Õ§Ñ?
§á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ß§î§à§Ô§à §á§à§ä§â?§Ò§ß§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å
? §¥§â§Ñ§Û§Ó§Ö§â
? §à§ä§â§Ú§Þ§å? §á§Ñ§Ü§Ö§ä,
? §Ó§Ú§Ü§à§ß§å? §á§à§ä§â?§Ò§ß§å §à§á§Ö§â§Ñ§è?§ð,
? §á§à§Ó§Ö§â§ä§Ñ? §á§Ñ§Ü§Ö§ä §ñ§Ü ?§ß§Õ§Ú§Ü§Ñ§ä§à§â §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ñ§Ò§à §Õ§Ý§ñ
§á§Ö§â§Ö§Õ§Ñ§é? §Û§à§Ô§à ?§ß§ê§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å
? §±?§ã§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ,
§Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ú§Ó?§Ý§î§ß§ñ? §á§Ñ§Þ¡¯§ñ§ä§î, §ñ§Ü§å §Ù§Ñ§Û§Þ§Ñ§Ó §á§Ñ§Ü§Ö§ä
13/19§­§Ö§Ü§è?§ñ 11
§¡§ã§Ú§ß§ç§â§à§ß§ß§Ö §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
? §¯§Ñ §Ó?§Õ§Þ?§ß§å §Ó?§Õ §ã§ä§Ñ§ß§Õ§Ñ§â§ä§å POSIX, §å Win32 API §Õ§Ý§ñ
§Ñ§ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Þ§à§Ø§ß§Ñ
§Ù§Ñ§ã§ä§à§ã§à§Ó§å§Ó§Ñ§ä§Ú §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß? §æ§å§ß§Ü§è?? §æ§Ñ§Û§Ý§à§Ó§à§Ô§à §Ó/§Ó ¨C
ReadFile() ? WriteFile()
? §¥§Ý§ñ §è§î§à§Ô§à §å §æ§å§ß§Ü§è?? §á§Ö§â§Ö§Õ§Ñ?§ä§î§ã§ñ §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§å
§ã§ä§â§å§Ü§ä§å§â§å OVERLAPPED
? §¶§Ñ§Û§Ý §á§à§Ó§Ú§ß§Ö§ß §Ò§å§ä§Ú §Ó?§Õ§Ü§â§Ú§ä§Ú§Þ §Ù §Õ§à§Ù§Ó§à§Ý§à§Þ §Ñ§ã§Ú§ß§ç§â§à§ß§ß§Ú§ç
§à§á§Ö§â§Ñ§è?§Û FILE_FLAG_OVERLAPPED
? §¥§Ý§ñ §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
§Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §å§ß?§Ó§Ö§â§ã§Ñ§Ý§î§ß§å §æ§å§ß§Ü§è?§ð §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ
? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, WaitForSingleObject()
? §¥§Ý§ñ §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §â§Ö§Ù§å§Ý§î§ä§Ñ§ä§å §ß§Ö§à§Ò§ç?§Õ§ß§à §Ó§Ú§Ü§à§â§Ú§ã§ä§Ñ§ä§Ú
§æ§å§ß§Ü§è?§ð GetOverlappedResult()
? §¥§Ý§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
§Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §æ§å§ß§Ü§è?§ð CancelIo()
14/19§­§Ö§Ü§è?§ñ 11
§±§à§â§ä§Ú §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (I/O completion port)
? §³§á§à§é§Ñ§ä§Ü§å §ã§ä§Ó§à§â§ð§ð§ä§î §ß§à§Ó§Ú§Û §à§Ò¡¯?§Ü§ä §á§à§â§ä§å, §á§à§ä?§Þ §Õ§à§Õ§Ñ§ð§ä§î §å §ß§î§à§Ô§à
§æ§Ñ§Û§Ý§à§Ó? §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ú
? §©§Ñ§ã§ä§à§ã§à§Ó§å§ð§ä§î §Ó§Ú§Ü§Ý§Ú§Ü CreateCompletionPort()
CreateCompletionPort (fdarr[key], ph, key, Rmax);
? §°§Õ§Ú§ß §Ù §á§Ñ§â§Ñ§Þ§Ö§ä§â?§Ó, §ñ§Ü§Ú§Û §á§Ö§â§Ö§Õ§Ñ§ð§ä§î §å §Ó§Ú§Ü§Ý§Ú§Ü ¨C §è§Ö §Þ§Ñ§Ü§ã§Ú§Þ§Ñ§Ý§î§ß§Ñ
§Ü?§Ý§î§Ü?§ã§ä§î §á§à§ä§à§Ü?§Ó, §ë§à §Þ§à§Ø§å§ä§î §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú§ã§î §å §ã§Ú§ã§ä§Ö§Þ? Rmax
? §°§á§ä§Ú§Þ§Ñ§Ý§î§ß§à ¨C §Õ§à§â?§Ó§ß§ð? §Ü?§Ý§î§Ü§à§ã§ä? §á§â§à§è§Ö§ã§à§â§ß§Ú§ç §ñ§Õ§Ö§â
? §±?§ã§Ý§ñ §è§î§à§Ô§à §æ§à§â§Þ§å§ð§ä§î §á§å§Ý §â§à§Ò§à§é§Ú§ç §á§à§ä§à§Ü?§Ó (thread pool)
? §¬?§Ý§î§Ü?§ã§ä§î §Þ§Ñ? §á§Ö§â§Ö§Ó§Ú§ë§å§Ó§Ñ§ä§Ú Rmax
? §¬§à§Ø§ß§Ú§Û §Ù §á§à§ä§à§Ü?§Ó §á§à§Ó§Ú§ß§Ö§ß §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú §à§Õ§Ú§ß ? §ä§à§Û §ã§Ñ§Þ§Ú§Û §Ü§à§Õ
For ( : : ) {
// §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ §ß§Ñ §à§Ò¡¯?§Ü§ä? §á§à§â§ä§å, §Ù§Ñ§Õ§Ñ§ß§à§Þ§å §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§à§Þ ph
GetQueuedCompletionStatus (ph, nbytes, &key, &ov, INFINITE);
// §ä§å§ä §á§à§ä?§Ü ? §Ñ§Ü§ä§Ú§Ó§ß§Ú§Þ
ReadFile (fdarr[key], request, ¡­ ); // §á§â§à§é§Ú§ä§Ñ§ä§Ú §Ù§Ñ§á§Ú§ä
process_request (request); // §à§Ò§ã§Ý§å§Ø§Ú§ä§Ú §Ü§Ý??§ß§ä§Ñ
}
15/19§­§Ö§Ü§è?§ñ 11
§¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó
? §´§Ú§á§Ú §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §Ù§Ô?§Õ§ß§à Windows Driver Model, WDM
(§Õ§Ý§ñ §ñ§Õ§â§Ñ §Ó§Ö§â§ã?? 5)
? §¥§â§Ñ§Û§Ó§Ö§â§Ú §ê§Ú§ß§Ú
? §¬§Ö§â§å§ð§ä§î §Ý§à§Ô?§é§ß§à§ð §Ñ§Ò§à §æ?§Ù§Ú§é§ß§à§ð §ê§Ú§ß§à§ð, §Ó?§Õ§á§à§Ó?§Õ§Ñ§ð§ä§î §Ù§Ñ §Ó§Ú§ñ§Ó§Ý§Ö§ß§ß§ñ
§á§â§Ú§ã§ä§â§à?§Ó
? §¶§å§ß§Ü§è?§à§ß§Ñ§Ý§î§ß? §Õ§â§Ñ§Û§Ó§Ö§â§Ú
? §¬§Ö§â§å§ð§ä§î §á§â§Ú§ã§ä§â§à?§Þ §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §ä§Ú§á§å
? §¥§â§Ñ§Û§Ó§Ö§â§Ú-§æ?§Ý§î§ä§â§Ú
? §¥§à§á§à§Ó§ß§ð§ð§ä§î §Ñ§Ò§à §Ù§Þ?§ß§ð§ð§ä§î §á§à§Ó§Ö§Õ?§ß§Ü§å ?§ß§ê§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â?§Ó
? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §ñ§Õ§â§Ñ (§Ü§â?§Þ WDM-§Õ§â§Ñ§Û§Ó§Ö§â?§Ó)
? §¶§Ñ§Û§Ý§à§Ó§Ú§ç §ã§Ú§ã§ä§Ö§Þ
? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §Ù§Ñ§á§Ú§ä§Ú §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ, §ë§à §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î
§æ§Ñ§Û§Ý§Ú, §å §Ù§Ñ§á§Ú§ä§Ú §Õ§à §ß§Ú§Ù§î§Ü§à§â?§Ó§ß§Ö§Ó§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §á§â§Ú§ã§ä§â§à?§Ó
? §£?§Õ§à§Ò§â§Ñ§Ø§Ö§ß§ß§ñ (Display Drivers)
? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §ß§Ö§Ù§Ñ§Ý§Ö§Ø§ß? §Ó?§Õ §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä§Ú §á?§Õ§ã§Ú§ã§ä§Ö§Þ§Ú GDI §Ó
§Ü§à§Þ§Ñ§ß§Õ§Ú §Ô§â§Ñ§æ?§é§ß§à§Ô§à §Ñ§Õ§Ñ§á§ä§Ö§â§Ñ §Ñ§Ò§à §Ü§à§Þ§Ñ§ß§Õ§Ú §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §å §á§Ñ§Þ¡¯§ñ§ä§î
? §µ§ã§á§Ñ§Õ§Ü§à§Ó§Ñ§ß?
? §²§à§Ù§â§à§Ò§Ý§Ö§ß? §Õ§Ý§ñ Windows NT 4
16/19§­§Ö§Ü§è?§ñ 11
§¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó (2)
? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §â§Ö§Ø§Ú§Þ§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ
? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §Õ§â§Ñ§Û§Ó§Ö§â§Ú §á§â§Ú§ß§ä§Ö§â§Ñ
? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §ß§Ö§Ù§Ñ§Ý§Ö§Ø§ß? §Ó?§Õ §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä§Ú §á?§Õ§ã§Ú§ã§ä§Ö§Þ§Ú GDI §Ó
§Ü§à§Þ§Ñ§ß§Õ§Ú §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §á§â§Ú§ß§ä§Ö§â§Ñ ? §á§Ö§â§Ö§Õ§Ñ§ð§ä§î ?§ç WDM §Õ§â§Ñ§Û§Ó§Ö§â§å
? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §Ó §Ù§Ñ§Ý§Ö§Ø§ß§à§ã§ä? §Ó?§Õ §â?§Ó§ß§ñ §á?§Õ§ä§â§Ú§Þ§Ü§Ú
§Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §á§â§Ú§ã§ä§â§à§ð
? §¬§Ý§Ñ§ã-§Õ§â§Ñ§Û§Ó§Ö§â§Ú
? §²§Ö§Ñ§Ý?§Ù§å§ð§ä§î ?§ß§ä§Ö§â§æ§Ö§Û§ã §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ,
§ã§á§Ö§è§Ú§æ?§é§ß§Ú§ç §Õ§Ý§ñ §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §Ü§Ý§Ñ§ã§å §á§â§Ú§ã§ä§â§à?§Ó (§Õ§Ú§ã§Ü§Ú, CD-ROM)
? §±§à§â§ä-§Õ§â§Ñ§Û§Ó§Ö§â§Ú
? §²§Ö§Ñ§Ý?§Ù§å§ð§ä§î ?§ß§ä§Ö§â§æ§Ö§Û§ã §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ,
§ã§á§Ö§è§Ú§æ?§é§ß§Ú§ç §Õ§Ý§ñ §á§Ö§Ó§ß§à§Ô§à §Ü§Ý§Ñ§ã§å §á§à§â§ä?§Ó (SCSI)
? §®?§ß?§á§à§â§ä-§Õ§â§Ñ§Û§Ó§Ö§â§Ú
? §¬§Ö§â§å§ð§ä§î §â§Ö§Ñ§Ý§î§ß§Ú§Þ §Ü§à§ß§Ü§â§Ö§ä§ß§Ú§Þ §á§â§Ú§ã§ä§â§à?§Þ
17/19§­§Ö§Ü§è?§ñ 11
§³§ä§â§å§Ü§ä§å§â§Ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
§á§â§Ú§ã§ä§â§à§ð
? §±§â§à§è§Ö§Õ§å§â§Ñ ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?? Driver Entry
? ?? §Ó§Ú§Ü§à§ß§å? §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §á?§Õ §é§Ñ§ã §Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ
§Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ã§Ú§ã§ä§Ö§Þ§å
? §©§Õ?§Û§ã§ß§ð? §Ô§Ý§à§Ò§Ñ§Ý§î§ß§å ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?§ð §ã§ä§â§å§Ü§ä§å§â §Õ§Ñ§ß§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â§Ñ
? §±§â§à§è§Ö§Õ§å§â§Ñ §Õ§à§Õ§Ñ§Ó§Ñ§ß§ß§ñ §á§â§Ú§ã§ä§â§à§ð Add-device routine
? §¥§Ý§ñ §â§Ö§Ñ§Ý?§Ù§Ñ§è?? §ä§Ö§ç§ß§à§Ý§à§Ô?? Plug and Play
? §®§Ö§ß§Ö§Õ§Ø§Ö§â Plug and Play §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §è§ð §á§â§à§è§Ö§Õ§å§â§å, §ñ§Ü§ë§à §Ù§ß§Ñ§ç§à§Õ§Ú§ä§î
§á§â§Ú§ã§ä§â?§Û, §Ù§Ñ §ñ§Ü§Ú§Û §Ó?§Õ§á§à§Ó?§Õ§Ñ? §Õ§â§Ñ§Û§Ó§Ö§â
? §¯§Ñ§Ò?§â §á§â§à§è§Ö§Õ§å§â §Õ§Ú§ã§á§Ö§ä§é§Ö§â§Ú§Ù§Ñ§è?? Dispatch Routines
? §¡§ß§Ñ§Ý§à§Ô?§é§ß? §æ§å§ß§Ü§è?§ñ§Þ §æ§Ñ§Û§Ý§à§Ó§Ú§ç §à§á§Ö§â§Ñ§è?§Û §Ó UNIX ? Linux
? §±§â§à§è§Ö§Õ§å§â§Ñ §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ Interrupt Service Routine,
ISR
? §¡§ß§Ñ§Ý§à§Ô?§é§ß§Ñ §Ó§Ö§â§ç§ß?§Û §á§à§Ý§à§Ó§Ú§ß? §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
? §°§ã§ß§à§Ó§ß§Ö §Ù§Ñ§Ó§Õ§Ñ§ß§ß§ñ ¨C §Ù§Ñ§á§Ý§Ñ§ß§å§Ó§Ñ§ä§Ú §Õ§Ý§ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§å
§à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ
? §±§â§à§è§Ö§Õ§å§â§Ñ §Ó?§Õ§Ü§Ý§Ñ§Õ§Ö§ß§à§Ô§à §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ DPC Routine
? §¡§ß§Ñ§Ý§à§Ô?§é§ß§Ñ §ß§Ú§Ø§ß?§Û §á§à§Ý§à§Ó§Ú§ß? §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
18/19§­§Ö§Ü§è?§ñ 11
§±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ
§à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
1. §©§Ñ§á§Ú§ä §Ó/§Ó §á§Ö§â§Ö§ç§à§á§Ý§ð? §Õ§Ú§ß§Ñ§Þ?§é§ß§Ñ §Ò?§Ò§Ý?§à§ä§Ö§Ü§Ñ
? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, Win32 §á§Ö§â§Ö§ç§à§á§Ý§ð? §Ó§Ú§Ü§Ý§Ú§Ü WriteFile()
2. §¥§Ú§ß§Ñ§Þ?§é§ß§Ñ §Ò?§Ò§Ý?§à§ä§Ö§Ü§Ñ §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §Ó§ß§å§ä§â?§ê§ß§ð §æ§å§ß§Ü§è?§ð
NTWriteFile(), §ñ§Ü§Ñ §Ù§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à §Þ§Ö§ß§Ö§Õ§Ø§Ö§â§Ñ §Ó/§Ó
3. §®§Ö§ß§Ö§Õ§Ø§Ö§â §Ó/§Ó §ã§ä§Ó§à§â§ð? §á§Ñ§Ü§Ö§ä IRP, §â§à§Ù§Þ?§ë§Ñ? §Û§à§Ô§à §å §á§Ñ§Þ¡¯§ñ§ä? ?
§Ó?§Õ§á§â§Ñ§Ó§Ý§ñ? §á§à§ã§Ú§Ý§Ñ§ß§ß§ñ §ß§Ñ §ß§î§à§Ô§à §Õ§â§Ñ§Û§Ó§Ö§â§å §Ó§Ú§Ü§Ý§Ú§Ü§à§Þ §æ§å§ß§Ü§è??
IoCallDriver()
4. §¥§â§Ñ§Û§Ó§Ö§â §Ò§Ö§â§Ö §Õ§Ñ§ß? §Ù IRP ? §á§Ö§â§Ö§Õ§Ñ? ?§ç §Ü§à§ß§ä§â§à§Ý§Ö§â§å §á§â§Ú§ã§ä§â§à§ð,
§á?§ã§Ý§ñ §é§à§Ô§à §Õ§Ñ? §Ü§à§Þ§Ñ§ß§Õ§å §â§à§Ù§á§à§é§Ñ§ä§Ú §à§á§Ö§â§Ñ§è?§ð §Ó/§Ó
5. §¥§Ý§ñ §ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó/§Ó §Õ§â§Ñ§Û§Ó§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §æ§å§ß§Ü§è?§ð §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ
? §±§à§ä§à§é§ß§Ú§Û §á§à§ä?§Ü §á§â§Ú§Ù§å§á§Ú§ß§ñ§ð§ä§î
6. §¬§à§Ý§Ú §à§á§Ö§â§Ñ§è?§ñ §Ù§Ñ§Ó§Ö§â§ê§å?§ä§î§ã§ñ, §Ü§à§ß§ä§â§à§Ý§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ?
§á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
7. §¥§â§Ñ§Û§Ó§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §æ§å§ß§Ü§è?§ð IoCompleteRequest() §Õ§Ý§ñ
§á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ §Þ§Ö§ß§Ö§Õ§Ø§Ö§â§å §Ó/§Ó §á§â§à §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Õ?§Û §Ù
§á§Ñ§Ü§Ö§ä§à§Þ, §á?§ã§Ý§ñ §é§à§Ô§à §Ó§Ú§Ü§à§ß§å§ð§ä§î §Ü§à§Õ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è??
19/19§­§Ö§Ü§è?§ñ 11
§©§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä§å
§Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ
? §©§Ó§Ú§é§Ñ§Û§ß§à §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§Ó§à§Õ§Ú§ä§î§ã§ñ §Õ§à §Ü§à§á?§ð§Ó§Ñ§ß§ß§ñ §Õ§Ñ§ß§Ú§ç §Ó
§Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§â§à§è§Ö§ã§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ
? §µ §â§Ñ§Ù? §ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â
§ß§Ñ§Ý§Ö§Ø§Ú§ä§î §Õ§à §á§â§à§è§Ö§ã§å, §ë§à §â§à§Ò§Ú§Ó §Ó§Ú§Ü§Ý§Ú§Ü
? §¥§Ñ§ß? §Þ§à§Ø§å§ä§î §Ò§å§ä§Ú §Ù§Ñ§á§Ú§ã§Ñ§ß? §å §ß§î§à§Ô§à §Ò§Ö§Ù§á§à§ã§Ö§â§Ö§Õ§ß§î§à
? §Á§Ü§ë§à §Ù§Ñ§á§Ú§ä §Ò§å§Ó §Ñ§ã§Ú§ß§ç§â§à§ß§ß§Ú§Þ, §Ñ§Ü§ä§Ú§Ó§ß§Ú§Û §á§à§ä?§Ü §Û§Þ§à§Ó?§â§ß§à
§ß§Ñ§Ý§Ö§Ø§Ú§ä§î §Õ§à ?§ß§ê§à§Ô§à §á§â§à§è§Ö§ã§å
? §¯§Ö§à§Ò§ç?§Õ§ß§à §Õ§à§é§Ö§Ü§Ñ§ä§Ú§ã§ñ, §á§à§Ü§Ú §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§à§ä§â?§Ò§ß§à§Ô§à
§á§â§à§è§Ö§ã§å §ß§Ö §ã§ä§Ñ§ß§Ö §Õ§à§ã§ä§å§á§ß§Ú§Û
? §¥§Ý§ñ §è§î§à§Ô§à §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó/§Ó §á§Ý§Ñ§ß§å? §Õ§à §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§å APC-
§á§â§à§è§Ö§Õ§å§â§å (§Ó?§Õ Asynchronous Procedure Call)
? APC-§á§â§à§è§Ö§Õ§å§â§Ñ §Ó§Ú§Ü§à§ß§å?§ä§î§ã§ñ §Ý§Ú§ê§Ö §å §Ü§à§ß§ä§Ö§Ü§ã§ä? §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à
§á§à§ä§à§Ü§å
? §°§ä§â§Ú§Þ§å? §Ü§Ö§â§å§Ó§Ñ§ß§ß§ñ
? §¬§à§á?§ð? §á§à§ä§â?§Ò§ß? §Õ§Ñ§ß? §Ó §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§â§à§è§Ö§ã§å
? §£§Ú§Ó?§Ý§î§ß§ñ? §á§Ñ§Þ¡¯§ñ§ä§î §Ù-§á?§Õ §á§Ñ§Ü§Ö§ä§Ñ IRP
? §±§Ö§â§Ö§Ó§à§Õ§Ú§ä§î §æ§Ñ§Û§Ý§à§Ó§Ú§Û §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â (§Ñ§Ò§à §á§à§â§ä §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-
§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ) §å §ã§Ú§Ô§ß§Ñ§Ý?§Ù§à§Ó§Ñ§ß§Ú§Û §ã§ä§Ñ§ß

More Related Content

What's hot (20)

tmux
tmuxtmux
tmux
Jason Lotito
?
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals
ÕܺÀ ¿µÕܺÀ
?
7 Ways To Crash Postgres
7 Ways To Crash Postgres7 Ways To Crash Postgres
7 Ways To Crash Postgres
PostgreSQL Experts, Inc.
?
Kdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysisKdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysis
Buland Singh
?
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
The Linux Foundation
?
Lokalizowanie i usuwanie uszkodze¨½ systemu operacyjnego
Lokalizowanie i usuwanie uszkodze¨½ systemu operacyjnegoLokalizowanie i usuwanie uszkodze¨½ systemu operacyjnego
Lokalizowanie i usuwanie uszkodze¨½ systemu operacyjnego
Szymon Konkol - Publikacje Cyfrowe
?
§­§Ö§Ü§è?§ñ ¡í5
§­§Ö§Ü§è?§ñ ¡í5§­§Ö§Ü§è?§ñ ¡í5
§­§Ö§Ü§è?§ñ ¡í5
Michael Attwood
?
Linux kernel
Linux kernelLinux kernel
Linux kernel
Mahmoud Shiri Varamini
?
Windows Registry Forensics - Artifacts
Windows Registry Forensics - Artifacts Windows Registry Forensics - Artifacts
Windows Registry Forensics - Artifacts
MD SAQUIB KHAN
?
PHP and MySQL.pptx
PHP and MySQL.pptxPHP and MySQL.pptx
PHP and MySQL.pptx
natesanp1234
?
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume Management
Manolis Kartsonakis
?
Linux presentation
Linux presentationLinux presentation
Linux presentation
Nikhil Jain
?
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
National Cheng Kung University
?
Linux: LVM
Linux: LVMLinux: LVM
Linux: LVM
Michal Sedlak
?
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
?
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
Positive Hack Days
?
Cgroups in android
Cgroups in androidCgroups in android
Cgroups in android
ramalinga prasad tadepalli
?
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1
Federico Campoli
?
Systems Administration
Systems AdministrationSystems Administration
Systems Administration
Mark John Lado, MIT
?
Ubuntu OS Presentation
Ubuntu OS PresentationUbuntu OS Presentation
Ubuntu OS Presentation
Loren Schwappach
?
Kdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysisKdump and the kernel crash dump analysis
Kdump and the kernel crash dump analysis
Buland Singh
?
§­§Ö§Ü§è?§ñ ¡í5
§­§Ö§Ü§è?§ñ ¡í5§­§Ö§Ü§è?§ñ ¡í5
§­§Ö§Ü§è?§ñ ¡í5
Michael Attwood
?
Windows Registry Forensics - Artifacts
Windows Registry Forensics - Artifacts Windows Registry Forensics - Artifacts
Windows Registry Forensics - Artifacts
MD SAQUIB KHAN
?
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume Management
Manolis Kartsonakis
?
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
National Cheng Kung University
?
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
?
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
§¤§à§â§Ú§Ù§à§ß§ä§Ñ§Ý§î§ß§í§Ö §á§Ö§â§Ö§Þ§Ö§ë§Ö§ß§Ú§ñ §Ó §Ú§ß§æ§â§Ñ§ã§ä§â§å§Ü§ä§å§â§Ö Windows
Positive Hack Days
?
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1
Federico Campoli
?

Viewers also liked (14)

Pp 240812 peru21 lima   per¨²21 - ciudad - pag 16Pp 240812 peru21 lima   per¨²21 - ciudad - pag 16
Pp 240812 peru21 lima per¨²21 - ciudad - pag 16
Josias Espinoza
?
QCV
QCVQCV
QCV
Riyas Ibrahim
?
Ally's PowerPoint
Ally's PowerPointAlly's PowerPoint
Ally's PowerPoint
DarleneUrwin
?
How To Work With A Pharmacy Staffing Firm
How To Work With A Pharmacy Staffing FirmHow To Work With A Pharmacy Staffing Firm
How To Work With A Pharmacy Staffing Firm
cochranmarc
?
China Connection
China ConnectionChina Connection
China Connection
ROGER J CHENG-- ASRC U-ALBANY NEW YORK
?
noise induced hearing loss
noise induced hearing lossnoise induced hearing loss
noise induced hearing loss
Letitia Kale
?
US Six Cities and Relevance for Clean Air Policy in Ireland
US Six Cities and Relevance for Clean Air Policy in IrelandUS Six Cities and Relevance for Clean Air Policy in Ireland
US Six Cities and Relevance for Clean Air Policy in Ireland
Environmental Protection Agency, Ireland
?
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
Environmental Protection Agency, Ireland
?
Climate Joint Programming Initiative ¨C Anja Skjoldborg Hansen
Climate Joint Programming Initiative ¨C Anja Skjoldborg HansenClimate Joint Programming Initiative ¨C Anja Skjoldborg Hansen
Climate Joint Programming Initiative ¨C Anja Skjoldborg Hansen
Environmental Protection Agency, Ireland
?
Revista reikibalear n?.7 mayo 2.016Revista reikibalear n?.7 mayo 2.016
Revista reikibalear n?.7 mayo 2.016
Tom¨¢s Reikibalear
?
where magazine sips 2016
where magazine sips 2016where magazine sips 2016
where magazine sips 2016
Molly Yun
?
SeriesSeries
Series
Ana Valero
?
Chemistry of Solar System
Chemistry of Solar SystemChemistry of Solar System
Chemistry of Solar System
Irshad Moidheen
?
PacasmayoPacasmayo
Pacasmayo
valeria quiroz briones
?
Pp 240812 peru21 lima   per¨²21 - ciudad - pag 16Pp 240812 peru21 lima   per¨²21 - ciudad - pag 16
Pp 240812 peru21 lima per¨²21 - ciudad - pag 16
Josias Espinoza
?
How To Work With A Pharmacy Staffing Firm
How To Work With A Pharmacy Staffing FirmHow To Work With A Pharmacy Staffing Firm
How To Work With A Pharmacy Staffing Firm
cochranmarc
?
noise induced hearing loss
noise induced hearing lossnoise induced hearing loss
noise induced hearing loss
Letitia Kale
?
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
The Public Health Benefits of Smokey Coal Ban ¨C and today¡¯s challenges ¨C Prof...
Environmental Protection Agency, Ireland
?
Revista reikibalear n?.7 mayo 2.016Revista reikibalear n?.7 mayo 2.016
Revista reikibalear n?.7 mayo 2.016
Tom¨¢s Reikibalear
?
where magazine sips 2016
where magazine sips 2016where magazine sips 2016
where magazine sips 2016
Molly Yun
?
SeriesSeries
Series
Ana Valero
?

Similar to §­§Ö§Ü§è?§ñ ¡í11 (20)

iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
Anatoliy Okhotnikov
?
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§îLec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
cit-cit
?
Lecture 12 for distance courses "Fundamentals of Informatics"
Lecture 12 for distance courses "Fundamentals of Informatics"Lecture 12 for distance courses "Fundamentals of Informatics"
Lecture 12 for distance courses "Fundamentals of Informatics"
kostyanik-irina
?
§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü
Yura_Shilo
?
§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü
Yura_Shilo
?
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
Alexey Yankovski
?
§Ý§â5 §à§ã§ß§à§Ó§Ú modbus tcp
§Ý§â5 §à§ã§ß§à§Ó§Ú modbus tcp§Ý§â5 §à§ã§ß§à§Ó§Ú modbus tcp
§Ý§â5 §à§ã§ß§à§Ó§Ú modbus tcp
§±§å§á§Ö§ß§Ñ §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â
?
Budova komp yutera
Budova komp yuteraBudova komp yutera
Budova komp yutera
prezynt
?
§­§Ö§Ü§è?§ñ ¡í9
§­§Ö§Ü§è?§ñ ¡í9§­§Ö§Ü§è?§ñ ¡í9
§­§Ö§Ü§è?§ñ ¡í9
Michael Attwood
?
+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000
§°§Ý§î§Ô§Ñ §²§í§Ò§Ñ§Ü
?
+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000
§°§Ý§î§Ô§Ñ §²§í§Ò§Ñ§Ü
?
Computers and Computing Works lecture ¡í4
Computers and Computing Works lecture ¡í4Computers and Computing Works lecture ¡í4
Computers and Computing Works lecture ¡í4
Lesia Sobolevska
?
Computers and Computing Works lecture ¡í5
Computers and Computing Works lecture ¡í5Computers and Computing Works lecture ¡í5
Computers and Computing Works lecture ¡í5
Lesia Sobolevska
?
System programing module 2
System programing module 2System programing module 2
System programing module 2
Andrii Hladkyi
?
IIHE-Lecture-3_1
IIHE-Lecture-3_1IIHE-Lecture-3_1
IIHE-Lecture-3_1
Georgii Zhabieiev
?
§°§á§Ö§â§Ñ§è?§Û§ß§Ñ §ã§Ú§ã§ä§Ö§Þ§Ñ UNIX
§°§á§Ö§â§Ñ§è?§Û§ß§Ñ §ã§Ú§ã§ä§Ö§Þ§Ñ UNIX§°§á§Ö§â§Ñ§è?§Û§ß§Ñ §ã§Ú§ã§ä§Ö§Þ§Ñ UNIX
§°§á§Ö§â§Ñ§è?§Û§ß§Ñ §ã§Ú§ã§ä§Ö§Þ§Ñ UNIX
§¦§Ü§Ñ§ä§Ö§â§Ú§ß§Ñ §°§ã§Ñ§Õ§é§Ñ§ñ
?
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
Anatoliy Okhotnikov
?
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§îLec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
Lec13 14 §Ò§Ñ§Ô§Ñ§ä§à§á§à§ä§à§é§ßi§ã§ä§î
cit-cit
?
Lecture 12 for distance courses "Fundamentals of Informatics"
Lecture 12 for distance courses "Fundamentals of Informatics"Lecture 12 for distance courses "Fundamentals of Informatics"
Lecture 12 for distance courses "Fundamentals of Informatics"
kostyanik-irina
?
§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü
Yura_Shilo
?
§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü§Ò§å§Õ§à§Ó§Ñ §á§Ü
§Ò§å§Õ§à§Ó§Ñ §á§Ü
Yura_Shilo
?
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
§ê§Ñ§Ò§Ý§à§ß §ã§ä§â§Ú§Þ§å§Ó§Ñ§ß§ß§ñ §ä§Ñ §Ó?§Õ§ß§à§Ó§Õ§Ö§ß§ß§ñ 01 ay
Alexey Yankovski
?
Budova komp yutera
Budova komp yuteraBudova komp yutera
Budova komp yutera
prezynt
?
§­§Ö§Ü§è?§ñ ¡í9
§­§Ö§Ü§è?§ñ ¡í9§­§Ö§Ü§è?§ñ ¡í9
§­§Ö§Ü§è?§ñ ¡í9
Michael Attwood
?
Computers and Computing Works lecture ¡í4
Computers and Computing Works lecture ¡í4Computers and Computing Works lecture ¡í4
Computers and Computing Works lecture ¡í4
Lesia Sobolevska
?
Computers and Computing Works lecture ¡í5
Computers and Computing Works lecture ¡í5Computers and Computing Works lecture ¡í5
Computers and Computing Works lecture ¡í5
Lesia Sobolevska
?
System programing module 2
System programing module 2System programing module 2
System programing module 2
Andrii Hladkyi
?

More from Michael Attwood (11)

§­§Ö§Ü§è?§ñ ¡í16
§­§Ö§Ü§è?§ñ ¡í16§­§Ö§Ü§è?§ñ ¡í16
§­§Ö§Ü§è?§ñ ¡í16
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í15
§­§Ö§Ü§è?§ñ ¡í15§­§Ö§Ü§è?§ñ ¡í15
§­§Ö§Ü§è?§ñ ¡í15
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í14
§­§Ö§Ü§è?§ñ ¡í14§­§Ö§Ü§è?§ñ ¡í14
§­§Ö§Ü§è?§ñ ¡í14
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í12
§­§Ö§Ü§è?§ñ ¡í12§­§Ö§Ü§è?§ñ ¡í12
§­§Ö§Ü§è?§ñ ¡í12
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í8
§­§Ö§Ü§è?§ñ ¡í8§­§Ö§Ü§è?§ñ ¡í8
§­§Ö§Ü§è?§ñ ¡í8
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í7
§­§Ö§Ü§è?§ñ ¡í7§­§Ö§Ü§è?§ñ ¡í7
§­§Ö§Ü§è?§ñ ¡í7
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í4
§­§Ö§Ü§è?§ñ ¡í4§­§Ö§Ü§è?§ñ ¡í4
§­§Ö§Ü§è?§ñ ¡í4
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í3
§­§Ö§Ü§è?§ñ ¡í3§­§Ö§Ü§è?§ñ ¡í3
§­§Ö§Ü§è?§ñ ¡í3
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í2
§­§Ö§Ü§è?§ñ ¡í2§­§Ö§Ü§è?§ñ ¡í2
§­§Ö§Ü§è?§ñ ¡í2
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í16
§­§Ö§Ü§è?§ñ ¡í16§­§Ö§Ü§è?§ñ ¡í16
§­§Ö§Ü§è?§ñ ¡í16
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í15
§­§Ö§Ü§è?§ñ ¡í15§­§Ö§Ü§è?§ñ ¡í15
§­§Ö§Ü§è?§ñ ¡í15
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í14
§­§Ö§Ü§è?§ñ ¡í14§­§Ö§Ü§è?§ñ ¡í14
§­§Ö§Ü§è?§ñ ¡í14
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í12
§­§Ö§Ü§è?§ñ ¡í12§­§Ö§Ü§è?§ñ ¡í12
§­§Ö§Ü§è?§ñ ¡í12
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í8
§­§Ö§Ü§è?§ñ ¡í8§­§Ö§Ü§è?§ñ ¡í8
§­§Ö§Ü§è?§ñ ¡í8
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í7
§­§Ö§Ü§è?§ñ ¡í7§­§Ö§Ü§è?§ñ ¡í7
§­§Ö§Ü§è?§ñ ¡í7
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í4
§­§Ö§Ü§è?§ñ ¡í4§­§Ö§Ü§è?§ñ ¡í4
§­§Ö§Ü§è?§ñ ¡í4
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í3
§­§Ö§Ü§è?§ñ ¡í3§­§Ö§Ü§è?§ñ ¡í3
§­§Ö§Ü§è?§ñ ¡í3
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í2
§­§Ö§Ü§è?§ñ ¡í2§­§Ö§Ü§è?§ñ ¡í2
§­§Ö§Ü§è?§ñ ¡í2
Michael Attwood
?
§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1§­§Ö§Ü§è?§ñ ¡í1
§­§Ö§Ü§è?§ñ ¡í1
Michael Attwood
?

§­§Ö§Ü§è?§ñ ¡í11

  • 2. 2/19§­§Ö§Ü§è?§ñ 11 §±§Ý§Ñ§ß §Ý§Ö§Ü§è?? ? §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ §Ó §°§³ UNIX ? Linux ? §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ§Þ §Ó §°§³ Windows
  • 3. 3/19§­§Ö§Ü§è?§ñ 11 §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó UNIX ? Linux ? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù§Õ?§Û§ã§ß§ð?§ä§î§ã§ñ §é§Ö§â§Ö§Ù §æ§Ñ§Û§Ý§à§Ó§å §ã§Ú§ã§ä§Ö§Þ§å ? §¬§à§Ø§ß§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å §á§â§Ú§ã§ä§â§à§ð §Ó?§Õ§á§à§Ó?§Õ§Ñ? §à§Õ§Ú§ß §Ñ§Ò§à §Ü?§Ý§î§Ü§Ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§Ú§ç §æ§Ñ§Û§Ý?§Ó §á§â§Ú§ã§ä§â§à?§Ó ? §¶§Ñ§Û§Ý§Ú §á§â§Ú§ã§ä§â§à?§Ó §ä§â§Ñ§Õ§Ú§è?§Û§ß§à §â§à§Ù§Þ?§ë§Ö§ß? §å §Ü§Ñ§ä§Ñ§Ý§à§Ù? /dev ? §¬§à§Ø§ß§Ú§Û §æ§Ñ§Û§Ý §á§â§Ú§ã§ä§â§à§ð §ç§Ñ§â§Ñ§Ü§ä§Ö§â§Ú§Ù§å?§ä§î§ã§ñ §é§à§ä§Ú§â§Þ§Ñ §á§Ñ§â§Ñ§Þ§Ö§ä§â§Ñ§Þ§Ú ? ?§Þ¡¯§ñ §æ§Ñ§Û§Ý§å ? §Ù§Ñ§ã§ä§à§ã§à§Ó§å?§ä§î§ã§ñ §Õ§Ý§ñ §Õ§à§ã§ä§å§á§å §Õ§à §á§â§Ú§ã§ä§â§à§ð §Ù §á§â§Ú§Ü§Ý§Ñ§Õ§ß§Ú§ç §á§â§à§Ô§â§Ñ§Þ ? §´§Ú§á §á§â§Ú§ã§ä§â§à§ð (§ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§Û §é§Ú §Ò§Ý§à§Ü§à§Ó§Ú§Û) ? §æ§Ñ§Ü§ä§Ú§é§ß§à §Ó§Ü§Ñ§Ù§å? §ß§Ñ §ä§Ñ§Ò§Ý§Ú§è§ð ¨C §à§Õ§ß§Ñ §ä§Ñ§Ò§Ý§Ú§è§ñ §Õ§Ý§ñ §ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó, §Õ§â§å§Ô§Ñ ¨C §Õ§Ý§ñ §Ò§Ý§à§Ü§à§Ó§Ú§ç ? Major number ¨C §ß§à§Þ§Ö§â §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ä§Ñ§Ò§Ý§Ú§è? ? §è?§Ý§Ö §é§Ú§ã§Ý§à, §ñ§Ü §á§â§Ñ§Ó§Ú§Ý§à, 1 §Ò§Ñ§Û§ä (§Þ§à§Ø§Ö 2) ? Minor number ¨C §ß§à§Þ§Ö§â §á§â§Ú§ã§ä§â§à§ð ? §è§Ö §é§Ú§ã§Ý§à §á§Ö§â§Ö§Õ§Ñ§ð§ä§î §Õ§â§Ñ§Û§Ó§Ö§â§å, §Õ§â§Ñ§Û§Ó§Ö§â §Þ§à§Ø§Ö §á§â§Ñ§è§ð§Ó§Ñ§ä§Ú §Ù §Ü?§Ý§î§Ü§à§Þ§Ñ §á§â§Ú§ã§ä§â§à§ñ§Þ§Ú, §å §ä§à§Þ§å §é§Ú§ã§Ý? §â?§Ù§ß§Ú§Þ§Ú
  • 4. 4/19§­§Ö§Ü§è?§ñ 11 §²§à§Ò§à§ä§Ñ §Ù §æ§Ñ§Û§Ý§Ñ§Þ§Ú §á§â§Ú§ã§ä§â§à?§Ó ? §¶§Ñ§Û§Ý§Ú §á§â§Ú§ã§ä§â§à?§Ó, §ñ§Ü? ? §Ù§Ó§Ú§é§Ñ§Û§ß? §æ§Ñ§Û§Ý§Ú, §Þ§à§Ø§ß§Ñ §ã§ä§Ó§à§â§ð§Ó§Ñ§ä§Ú §Û §Ó§Ú§Õ§Ñ§Ý§ñ§ä§Ú ? §¯§Ñ §Õ§â§Ñ§Û§Ó§Ö§â §è§Ö §ß?§ñ§Ü §ß§Ö §Ó§á§Ý§Ú§Ó§Ñ? ? §¬§à§Þ§Ñ§ß§Õ§Ñ §ã§ä§Ó§à§â§Ö§ß§ß§ñ §æ§Ñ§Û§Ý§å §á§â§Ú§ã§ä§â§à§ð: mknod /dev/mydevice c 150 1 ? §©§Ó§Ö§â§ß§Ö§ß§ß§ñ §Õ§à §æ§Ñ§Û§Ý§å: ? §³§á§à§é§Ñ§ä§Ü§å ¨C §Ù§Ó§Ö§â§ß§Ö§ß§ß§ñ §Õ§à §æ§Ñ§Û§Ý§å §Ù§Ñ ?§Þ§Ö§ß§Ö§Þ ? §³§Ú§ã§ä§Ö§Þ§Ñ §Ù§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à ?§ß§Õ§Ö§Ü§ã§ß§à§Ô§à §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ ? §±§Ö§â§Ö§Ó?§â§ñ? §á§â§Ñ§Ó§Ñ §Õ§à§ã§ä§å§á§å ? §© §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ §Ó§Ú§Ù§ß§Ñ§é§Ñ? §ä§Ú§á §á§â§Ú§ã§ä§â§à§ð ? §ß§à§Þ§Ö§â §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §©§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §á§Ö§â§Ö§Õ§Ñ? §Û§à§Þ§å §ß§à§Þ§Ö§â §á§â§Ú§ã§ä§â§à§ð ? §£§Ú§Ü§à§ß§å? §Ù§Ñ§Õ§Ñ§ß§å §æ§Ñ§Û§Ý§à§Ó§å §à§á§Ö§â§Ñ§è?§ð
  • 5. 5/19§­§Ö§Ü§è?§ñ 11 §°§á§Ö§â§Ñ§è?? §â§à§Ò§à§ä§Ú §Ù §á§â§Ú§ã§ä§â§à§ñ§Þ§Ú ? §¥§â§Ñ§Û§Ó§Ö§â §Ù§à§Ò§à§Ó¡¯§ñ§Ù§Ñ§ß§Ú§Û §á?§Õ§ä§â§Ú§Þ§å§Ó§Ñ§ä§Ú §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß? §æ§Ñ§Û§Ý§à§Ó? §à§á§Ö§â§Ñ§è?? ? open(), read(), write(), lseek() ? §±§â§Ú§Ü§Ý§Ñ§Õ§ß? §á§â§à§Ô§â§Ñ§Þ§Ú §Ó§Ú§Ü§à§ß§å§ð§ä§î §ä§Ñ§Ü? §à§á§Ö§â§Ñ§è?? §ä§Ñ§Ü, §ñ§Ü§Ò§Ú §Ó§à§ß§Ú §á§â§Ñ§è§ð§Ó§Ñ§Ý§Ú ?§Ù §Ù§Ó§Ú§é§Ñ§Û§ß§Ú§Þ§Ú §æ§Ñ§Û§Ý§Ñ§Þ§Ú ? §¥§Ý§ñ §Õ§Ö§ñ§Ü§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó §Ü§â?§Þ §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß§Ú§ç §à§á§Ö§â§Ñ§è?§Û, §Þ§à§Ø§Ý§Ú§Ó§à, §Ó§Ú§Ù§ß§Ñ§é§Ö§ß? §Û §Õ§Ö§ñ§Ü? ?§ß§ê? §à§á§Ö§â§Ñ§è?? ? §¥§Ý§ñ §â§Ö§Ñ§Ý?§Ù§Ñ§è?? §ß§Ö§ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß§Ú§ç §à§á§Ö§â§Ñ§è?§Û §á§Ö§â§Ö§Õ§Ò§Ñ§é§Ö§ß§à §å§ß?§Ó§Ö§â§ã§Ñ§Ý§î§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü ioctl() ioctl( int d, int request, char *agrp ); d ¨C §æ§Ñ§Û§Ý§à§Ó§Ú§Û §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â request ¨C §Ü§à§Õ §à§á§Ö§â§Ñ§è?? * agrp ¨C §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §Õ§à§Ó?§Ý§î§ß§å §á§Ñ§Þ¡¯§ñ§ä§î ? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §Õ§Ý§ñ §á§â§Ú§Ó§à§Õ§å §à§á§ä§Ú§é§ß§à§Ô§à §Õ§Ú§ã§Ü§å §ä§Ñ§Ü §Þ§à§Ø§ß§Ñ §Ó§Ú§Ù§ß§Ñ§é§Ú§ä§Ú §à§á§Ö§â§Ñ§è?§ð EJECT
  • 6. 6/19§­§Ö§Ü§è?§ñ 11 §³§ä§â§å§Ü§ä§å§â§Ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §¬§à§Õ ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?? (§à§Õ§ß§Ñ §æ§å§ß§Ü§è?§ñ init()) ? §¬§à§Õ §Ó§Ú§Ü§à§ß§å?§ä§î§ã§ñ §á?§Õ §é§Ñ§ã §Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ §ñ§Õ§â§Ñ §ã§Ú§ã§ä§Ö§Þ§Ú §Ñ§Ò§à §á?§Õ §é§Ñ§ã §Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ §Þ§à§Õ§å§Ý§ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §¸§Ö§Û §Ü§à§Õ §â§Ö§Ñ§Ý?§Ù§å? §â§Ö?§ã§ä§â§Ñ§è?§ð §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ã§Ú§ã§ä§Ö§Þ? (§Ó§Ú§Ò?§â §ß§à§Þ§Ö§â§Ñ, §â§Ö?§ã§ä§â§Ñ§è?§ð §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é?§Ó §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î) ? §¸§Ö§Û §Ü§à§Õ §ß§Ö §Þ§à§Ø§Ö §ã§ä§Ó§à§â§ð§Ó§Ñ§ä§Ú §ã§á§Ö§è?§Ñ§Ý§î§ß? §æ§Ñ§Û§Ý§Ú! ? §²§Ö§Ñ§Ý?§Ù§Ñ§è?§ð §æ§Ñ§Û§Ý§à§Ó§Ú§ç §à§á§Ö§â§Ñ§è?§Û ? ioctl() ? §¥§Ý§ñ §ã§Ú§Þ§Ó§à§Ý§î§ß§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó: open(), close(), read(), write(), lseek(), select(), mmap() ? §¥§Ý§ñ §Ò§Ý§à§Ü§à§Ó§Ú§ç §á§â§Ú§ã§ä§â§à?§Ó ? §à§ã§à§Ò§Ý§Ú§Ó?§ã§ä§î: §â§Ö§Ñ§Ü§è?§ð §ß§Ñ §à§á§Ö§â§Ñ§è?? §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ ? §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§ð§ä§î §ß§Ö §á§â§ñ§Þ§à, §Ñ §á?§ã§Ý§ñ §á§â§à§ç§à§Õ§Ø§Ö§ß§ß§ñ §Ü§Ö§â§å§Ó§Ñ§ß§ß§ñ §é§Ö§â§Ö§Ù §Ò§å§æ§Ö§â§ß§Ú§Û §Ü§Ö§ê; §Õ§Ý§ñ §è§î§à§Ô§à ?§ç §â§Ö§Ñ§Ý?§Ù§å§ð§ä§î §Ó §à§Õ§ß?§Û §æ§å§ß§Ü§è?? ? UNIX ¨C strategy() ? Linux ¨C request() ? §°§Ò§â§à§Ò§ß§Ú§Ü§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î ? §°§Ò§â§à§Ò§ß§Ú§Ü?§Ó §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î §Þ§à§Ø§Ö ? §ß§Ö §Ò§å§ä§Ú: §Õ§â§Ñ§Û§Ó§Ö§â §Þ§à§Ø§Ö §ß§Ö §Ù§Ñ§ã§ä§à§ã§à§Ó§å§Ó§Ñ§ä§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ, §Ñ §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú §à§á§Ú§ä§å§Ó§Ñ§ß§ß§ñ §á§â§Ú§ã§ä§â§à?§Ó ? §°§Ò§â§à§Ò§ß§Ú§Ü§Ú §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§î §Þ§Ñ§ð§ä§î §Ó§Ö§â§ç§ß§ð ? §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§Ú
  • 7. 7/19§­§Ö§Ü§è?§ñ 11 §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §â§à§Ù§á§à§Õ?§Ý§à§Þ ? §à§Ò¡¯?§Õ§ß§Ñ§ß§ß§ñ§Þ ? §©§Ñ §à§Õ§ß§å §à§á§Ö§â§Ñ§è?§ð §Ù§Õ?§Û§ã§ß§ð?§ä§î§ã§ñ §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ §Ó, §Ñ§Ò§à §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §Ù §Ü?§Ý§î§Ü§à§ç §ß§Ö §á§à§Ó¡¯§ñ§Ù§Ñ§ß§Ú§ç §Õ?§Ý§ñ§ß§à§Ü §á§Ñ§Þ¡¯§ñ§ä? ? §£§Ó§Ö§Õ§Ö§ß§ß§ñ ¨C scatter ¨C readv() ? §£§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ¨C gather ¨C writev() ssize_t readv(int fdl, const struct iovec *iov, int count); fdl ¨C §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â §Ó?§Õ§Ü§â§Ú§ä§à§Ô§à §æ§Ñ§Û§Ý§å; iov ¨C §Þ§Ñ§ã§Ú§Ó §ã§ä§â§å§Ü§ä§å§â, §ñ§Ü? §Ù§Ñ§Õ§Ñ§ð§ä§î §ß§Ñ§Ò?§â §Õ?§Ý§ñ§ß§à§Ü §á§Ñ§Þ¡¯§ñ§ä? §Õ§Ý§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ ? §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ; count ¨C §Ü?§Ý§î§Ü?§ã§ä§î §ã§ä§â§å§Ü§ä§å§â §å §Þ§Ñ§ã§Ú§Ó? iov ? §¬§à§Ø§ß§Ú§Û §Ö§Ý§Ö§Þ§Ö§ß§ä §Þ§Ñ§ã§Ú§Ó§å §Þ?§ã§ä§Ú§ä§î §Õ§Ó§Ñ §á§à§Ý§ñ: iov_base ¨C §Ù§Ñ§Õ§Ñ? §Ò§Ñ§Ù§à§Ó§å §Ñ§Õ§â§Ö§ã§å §Õ?§Ý§ñ§ß§Ü§Ú §á§Ñ§Þ¡¯§ñ§ä? iov_len ¨C §Ù§Ñ§Õ§Ñ? §Õ§à§Ó§Ø§Ú§ß§å §Õ?§Ý§ñ§ß§Ü§Ú §á§Ñ§Þ¡¯§ñ§ä? ? §£§Ú§Ü§Ý§Ú§Ü§Ú §á§à§Ó§Ö§â§ä§Ñ§ð§ä§î §Ù§Ñ§Ô§Ñ§Ý§î§ß§å §Ü?§Ý§î§Ü?§ã§ä§î §Ò§Ñ§Û§ä?§Ó (§Ù§é§Ú§ä§Ñ§ß§Ú§ç §Ñ§Ò§à §Ù§Ñ§á§Ú§ã§Ñ§ß§Ú§ç)
  • 8. 8/19§­§Ö§Ü§è?§ñ 11 §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ ? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ §á§â§à §ã§ä§Ñ§ß §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó 1. §¤§à§ä§å§ð§ä§î §ã§ä§â§å§Ü§ä§å§â§å §Õ§Ñ§ß§Ú§ç fdarr §Ù §à§á§Ú§ã§à§Þ §å§ã?§ç §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó, §ã§ä§Ñ§ß §ñ§Ü§Ú§ç §ä§â§Ö§Ò§Ñ §Ó?§Õ§ã§ä§Ö§Ø§å§Ó§Ñ§ä§Ú 2. §±§Ö§â§Ö§Õ§Ñ§ð§ä§î fdarr §å §ã§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ (§å POSIX ¨C §Ó§Ú§Ü§Ý§Ú§Ü§Ú select() ? poll()) 3. §±?§ã§Ý§ñ §Ó§Ú§ç§à§Õ§å §Ù §Ó§Ú§Ü§Ý§Ú§Ü§å fdarr §Þ?§ã§ä§Ú§ä§î ?§ß§æ§à§â§Þ§Ñ§è?§ð §á§â§à §ã§ä§Ñ§ß §å§ã?§ç §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó 4. §µ §è§Ú§Ü§Ý? §à§Ò§ç§à§Õ§ñ§ä§î §å§ã? §Ö§Ý§Ö§Þ§Ö§ß§ä§Ú fdarr ? §Õ§Ý§ñ §Ü§à§Ø§ß§à§Ô§à §Ù §ß§Ú§ç §Ó§Ú§Ù§ß§Ñ§é§Ñ§ð§ä§î §Ô§à§ä§à§Ó§ß?§ã§ä§î §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ ? §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ù §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ§Þ §á§â§à §á§à§Õ?? (§å FreeBSD ¨C kqueue, Linux 2.6 ¨C epoll) 1. §³§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü (epoll_create()) §ã§ä§Ó§à§â§ð? §ã§ä§â§å§Ü§ä§å§â§å §Õ§Ñ§ß§Ú§ç §å §ñ§Õ§â? (§á§â§à§ã§Ý§å§ç§à§Ó§å§Ó§Ñ§Ý§î§ß§Ú§Û §à§Ò¡¯?§Ü§ä) 2. §¥§Ý§ñ §á§â§à§ã§Ý§å§ç§à§Ó§å§Ó§Ñ§Ý§î§ß§à§Ô§à §à§Ò¡¯?§Ü§ä§Ñ §æ§à§â§Þ§å§ð§ä§î §ß§Ñ§Ò?§â §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â?§Ó, §Õ§Ý§ñ §Ü§à§Ø§ß§à§Ô§à §Ù §ß§Ú§ç §Ó§Ü§Ñ§Ù§å§ð§ä§î §á§à§Õ??, §ñ§Ü? §è?§Ü§Ñ§Ó§Ý§ñ§ä§î (epoll_ctl()) 3. §£§Ú§Ü§Ý§Ú§Ü §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ (epoll_wait()) §á§à§Ó§Ö§â§ä§Ñ? ?§ß§æ§à§â§Þ§Ñ§è?§ð §Ý§Ú§ê§Ö §á§â§à §ä? §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ú, §ñ§Ü? §Ù§Þ?§ß§Ú§Ý§Ú §ã§Ó?§Û §ã§ä§Ñ§ß §Ù §Þ§à§Þ§Ö§ß§ä§å §à§ã§ä§Ñ§ß§ß§î§à§Ô§à §Ó§Ú§Ü§Ý§Ú§Ü§å
  • 9. 9/19§­§Ö§Ü§è?§ñ 11 §¡§ã§Ú§ß§ç§â§à§ß§ß§Ö §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ? §³§ä§Ñ§ß§Õ§Ñ§â§ä POSIX §á§Ö§â§Ö§Õ§Ò§Ñ§é§Ñ? §ä§Ñ§Ü? §Ó§Ú§Ü§Ý§Ú§Ü§Ú §Õ§Ý§ñ §Ñ§ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ: ? aio_read() ¨C §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ ? aio_write() ¨C §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ ? aio_suspend() ¨C §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ ? aio_cancel() ¨C §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ ? aio_return() ¨C §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §â§Ö§Ù§å§Ý§î§ä§Ñ§ä§å ? aio_error() ¨C §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §ã§ä§Ñ§ä§å§ã§å §à§á§Ö§â§Ñ§è?? ? §µ§ã? §Ó§Ú§Ü§Ý§Ú§Ü§Ú, §Ü§â?§Þ aio_suspend(), §á§â§Ú§Û§Þ§Ñ§ð§ä§î §á§Ñ§â§Ñ§Þ§Ö§ä§â§à§Þ §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ã§ä§â§å§Ü§ä§å§â§å aiocb §Ù §á§à§Ý§ñ§Þ§Ú: ? aio_fildes ¨C §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â §æ§Ñ§Û§Ý§å, §Õ§Ý§ñ §ñ§Ü§à§Ô§à §Ù§Õ?§Û§ã§ß§ð§ð§ä§î §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ? aio_buf ¨C §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §Ò§å§æ§Ö§â, §å §ñ§Ü§Ú§Û §Ù§é§Ú§ä§Ñ? §Õ§Ñ§ß? aio_read() ? §Ù §ñ§Ü§à§Ô§à §Ù§Ñ§á§Ú§ê§Ö §Õ§Ñ§ß? aio_write() ? aio_nbytes() ¨C §â§à§Ù§Þ?§â §Ò§å§æ§Ö§â§Ñ ? §¶§à§â§Þ§Ñ§ä §Ó§Ú§Ü§Ý§Ú§Ü§å aio_suspend(): int aio_suspend(struct aiocb *list[], int cnt, struct timespec *tout);
  • 10. 10/19§­§Ö§Ü§è?§ñ 11 §±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ 1. §±§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ §Ô§à§ä§å? §Ò§å§æ§Ö§â §å §ã§Ó§à?§Þ§å §Ñ§Õ§â§Ö§ã§ß§à§Þ§å §á§â§à§ã§ä§à§â? 2. §±§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ §Ó§Ú§Ü§à§ß§å? §ã§Ú§ã§ä§Ö§Þ§ß§Ú§Û §Ó§Ú§Ü§Ý§Ú§Ü read() §Õ§Ý§ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§à§Ô§à §æ§Ñ§Û§Ý§å §á§â§Ú§ã§ä§â§à§ð, ? §á§Ö§â§Ö§Õ§Ñ? §å §Ó§Ú§Ü§Ý§Ú§Ü §Ñ§Õ§â§Ö§ã§å §Ò§å§æ§Ö§â§Ñ 3. §£?§Õ§Ò§å§Ó§Ñ?§ä§î§ã§ñ §á§Ö§â§Ö§ç?§Õ §å §â§Ö§Ø§Ú§Þ §ñ§Õ§â§Ñ ? §±§Ö§â§Ö§Ü§Ý§ð§é§Ö§ß§ß§ñ §Ü§à§ß§ä§Ö§Ü§ã§ä§å §ß§Ö §Ù§Õ?§Û§ã§ß§ð§ð§ä§î 4. §¯§Ñ §á?§Õ§ã§ä§Ñ§Ó? ?§ß§æ§à§â§Þ§Ñ§è?? §Ù ?§ß§Õ§Ö§Ü§ã§ß§à§Ô§à §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§à§Ô§à §æ§Ñ§Û§Ý§å §Ó§Ú§Ù§ß§Ñ§é§Ñ§ð§ä§î §ß§Ö§à§Ò§ç?§Õ§ß§Ú§Û §Õ§â§Ñ§Û§Ó§Ö§â ? §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§ð§ä§î §æ§å§ß§Ü§è?§ð, §ñ§Ü§Ñ §Ù§Ñ§â§Ö?§ã§ä§â§à§Ó§Ñ§ß§Ñ §ñ§Ü §â§Ö§Ñ§Ý?§Ù§Ñ§è?§ñ §æ§Ñ§Û§Ý§à§Ó§à? §à§á§Ö§â§Ñ§è?? read() §Õ§Ý§ñ §Ó?§Õ§á§à§Ó?§Õ§ß§à§Ô§à §Õ§â§Ñ§Û§Ó§Ö§â§Ñ 5. §¶§å§ß§Ü§è?§ñ: ? §£§Ú§Ü§à§ß§å? §ß§Ö§à§Ò§ç?§Õ§ß? §á?§Õ§Ô§à§ä§à§Ó§é? §à§á§Ö§â§Ñ§è?? ? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §â§à§Ù§Þ?§ë§å? §Ò§å§æ§Ö§â §å §á§Ñ§Þ¡¯§ñ§ä? §ñ§Õ§â§Ñ ? §£?§Õ§ã§Ú§Ý§Ñ? §Ü§à§ß§ä§â§à§Ý§Ö§â§å §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä §ß§Ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ ? §±§Ö§â§Ö§ç§à§Õ§Ú§ä§î §å §â§Ö§Ø§Ú§Þ §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ ? §¥§Ý§ñ §è§î§à§Ô§à §ñ§Ü §á§â§Ñ§Ó§Ú§Ý§à §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §æ§å§ß§Ü§è?§ð sleep_on() ? §±§â§Ú §è§î§à§Þ§å §á§â§à§è§Ö§ã, §ë§à §Ó§Ú§Ü§Ý§Ú§Ü§Ñ§Ó §à§á§Ö§â§Ñ§è?§ð, §á§â§Ú§Ù§å§á§Ú§ß§ñ?§ä§î§ã§ñ
  • 11. 11/19§­§Ö§Ü§è?§ñ 11 §±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (2) 6. §¬§à§ß§ä§â§à§Ý§Ö§â §Ù§Õ?§Û§ã§ß§ð? §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ ? §±§â§Ú §è§î§à§Þ§å §Ó?§ß, §Þ§à§Ø§Ý§Ú§Ó§à, §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å? §Ò§å§æ§Ö§â, §ß§Ñ§Õ§Ñ§ß§Ú§Û §Û§à§Þ§å §æ§å§ß§Ü§è??§ð §Õ§â§Ñ§Û§Ó§Ö§â§Ñ 6. §±?§ã§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§é§Ú§ä§å§Ó§Ñ§ß§ß§ñ §Ü§à§ß§ä§â§à§Ý§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ 7. §¡§á§Ñ§â§Ñ§ä§ß§Ö §Ù§Ñ§Ò§Ö§Ù§á§Ö§é§Ö§ß§ß§ñ §Ñ§Ü§ä§Ú§Ó?§Ù§å? §Ó§Ö§â§ç§ß§ð §á§à§Ý§à§Ó§Ú§ß§å §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ 8. §¬§à§Õ §Ó§Ö§â§ç§ß§î§à? §á§à§Ý§à§Ó§Ú§ß§Ú §ã§ä§Ñ§Ó§Ú§ä§î §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§å §å §é§Ö§â§Ô§å §ß§Ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ 9. §¬§à§Õ §ß§Ú§Ø§ß§î§à? §á§à§Ý§à§Ó§Ú§ß§Ú: ? §©§Ñ§á§à§Ó§ß§ð? §Ò§å§æ§Ö§â, §ñ§Ü§ë§à §Ó?§ß §ß§Ö §Ò§å§Ó §Ù§Ñ§á§à§Ó§ß§Ö§ß§Ú§Û §Ü§à§ß§ä§â§à§Ý§Ö§â§à§Þ ? §£§Ú§Ü§à§ß§å? ?§ß§ê? §ß§Ö§à§Ò§ç?§Õ§ß? §Õ?? §Õ§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ ? §±§à§ß§à§Ó§Ý§ð? §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §á§â§à§è§Ö§ã§å, §ë§à §à§é?§Ü§å? 6. §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §á?§ã§Ý§ñ §á§à§ß§à§Ó§Ý§Ö§ß§ß§ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §á§â§à§è§Ö§ã§å §á§à§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §å §â§Ö§Ñ§Ý?§Ù§Ñ§è?§ð §æ§å§ß§Ü§è?? read() §Õ§Ý§ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ¨C §å §Ü§à§Õ, §ë§à §ã§Ý?§Õ§å? §Ù§Ñ §Ó§Ú§Ü§Ý§Ú§Ü§à§Þ sleep_on() ? §¸§Ö§Û §Ü§à§Õ §Ü§à§á?§ð? §Õ§Ñ§ß? §Ù §Ò§å§æ§Ö§â§Ñ §ñ§Õ§â§Ñ §å §Ò§å§æ§Ö§â §â§Ö§Ø§Ú§Þ§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ 6. §¬§Ö§â§å§Ó§Ñ§ß§ß§ñ §á§à§Ó§Ö§â§ä§Ñ§ð§ä§î §å §á§â§à§è§Ö§ã §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ
  • 12. 12/19§­§Ö§Ü§è?§ñ 11 §£§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §å Windows ? §¢§Ñ§Ù§à§Ó§Ú§Û §Ü§à§Þ§á§à§ß§Ö§ß§ä ¨C §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (I/O Manager) ? §°§á§Ö§â§Ñ§è?? ¨C §Ñ§ã§Ú§ß§ç§â§à§ß§ß? ? §³§Ú§ß§ç§â§à§ß§ß? §à§á§Ö§â§Ñ§è?? §â§Ö§Ñ§Ý?§Ù§å§ð§ä§î §ñ§Ü §Ñ§ã§Ú§ß§ç§â§à§ß§ß? §à§á§Ö§â§Ñ§è?? + §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ ? §°§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó?§Õ§à§Ò§â§Ñ§Ø§Ñ§ð§ä§î§ã§ñ §å §Ó§Ú§Ô§Ý§ñ§Õ? §ã§ä§â§å§Ü§ä§å§â §Õ§Ñ§ß§Ú§ç ¨C §á§Ñ§Ü§Ö§ä?§Ó §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (I/O Request Packet) ? §®§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §ã§ä§Ó§à§â§ð? §á§Ñ§Ü§Ö§ä ? §á§Ö§â§Ö§Õ§Ñ? §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ß§î§à§Ô§à §á§à§ä§â?§Ò§ß§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å ? §¥§â§Ñ§Û§Ó§Ö§â ? §à§ä§â§Ú§Þ§å? §á§Ñ§Ü§Ö§ä, ? §Ó§Ú§Ü§à§ß§å? §á§à§ä§â?§Ò§ß§å §à§á§Ö§â§Ñ§è?§ð, ? §á§à§Ó§Ö§â§ä§Ñ? §á§Ñ§Ü§Ö§ä §ñ§Ü ?§ß§Õ§Ú§Ü§Ñ§ä§à§â §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ñ§Ò§à §Õ§Ý§ñ §á§Ö§â§Ö§Õ§Ñ§é? §Û§à§Ô§à ?§ß§ê§à§Þ§å §Õ§â§Ñ§Û§Ó§Ö§â§å ? §±?§ã§Ý§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ, §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ú§Ó?§Ý§î§ß§ñ? §á§Ñ§Þ¡¯§ñ§ä§î, §ñ§Ü§å §Ù§Ñ§Û§Þ§Ñ§Ó §á§Ñ§Ü§Ö§ä
  • 13. 13/19§­§Ö§Ü§è?§ñ 11 §¡§ã§Ú§ß§ç§â§à§ß§ß§Ö §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ? §¯§Ñ §Ó?§Õ§Þ?§ß§å §Ó?§Õ §ã§ä§Ñ§ß§Õ§Ñ§â§ä§å POSIX, §å Win32 API §Õ§Ý§ñ §Ñ§ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Þ§à§Ø§ß§Ñ §Ù§Ñ§ã§ä§à§ã§à§Ó§å§Ó§Ñ§ä§Ú §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß? §æ§å§ß§Ü§è?? §æ§Ñ§Û§Ý§à§Ó§à§Ô§à §Ó/§Ó ¨C ReadFile() ? WriteFile() ? §¥§Ý§ñ §è§î§à§Ô§à §å §æ§å§ß§Ü§è?? §á§Ö§â§Ö§Õ§Ñ?§ä§î§ã§ñ §á§à§Ü§Ñ§Ø§é§Ú§Ü §ß§Ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§å §ã§ä§â§å§Ü§ä§å§â§å OVERLAPPED ? §¶§Ñ§Û§Ý §á§à§Ó§Ú§ß§Ö§ß §Ò§å§ä§Ú §Ó?§Õ§Ü§â§Ú§ä§Ú§Þ §Ù §Õ§à§Ù§Ó§à§Ý§à§Þ §Ñ§ã§Ú§ß§ç§â§à§ß§ß§Ú§ç §à§á§Ö§â§Ñ§è?§Û FILE_FLAG_OVERLAPPED ? §¥§Ý§ñ §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §å§ß?§Ó§Ö§â§ã§Ñ§Ý§î§ß§å §æ§å§ß§Ü§è?§ð §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ ? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, WaitForSingleObject() ? §¥§Ý§ñ §à§ä§â§Ú§Þ§Ñ§ß§ß§ñ §â§Ö§Ù§å§Ý§î§ä§Ñ§ä§å §ß§Ö§à§Ò§ç?§Õ§ß§à §Ó§Ú§Ü§à§â§Ú§ã§ä§Ñ§ä§Ú §æ§å§ß§Ü§è?§ð GetOverlappedResult() ? §¥§Ý§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §æ§å§ß§Ü§è?§ð CancelIo()
  • 14. 14/19§­§Ö§Ü§è?§ñ 11 §±§à§â§ä§Ú §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ (I/O completion port) ? §³§á§à§é§Ñ§ä§Ü§å §ã§ä§Ó§à§â§ð§ð§ä§î §ß§à§Ó§Ú§Û §à§Ò¡¯?§Ü§ä §á§à§â§ä§å, §á§à§ä?§Þ §Õ§à§Õ§Ñ§ð§ä§î §å §ß§î§à§Ô§à §æ§Ñ§Û§Ý§à§Ó? §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§Ú ? §©§Ñ§ã§ä§à§ã§à§Ó§å§ð§ä§î §Ó§Ú§Ü§Ý§Ú§Ü CreateCompletionPort() CreateCompletionPort (fdarr[key], ph, key, Rmax); ? §°§Õ§Ú§ß §Ù §á§Ñ§â§Ñ§Þ§Ö§ä§â?§Ó, §ñ§Ü§Ú§Û §á§Ö§â§Ö§Õ§Ñ§ð§ä§î §å §Ó§Ú§Ü§Ý§Ú§Ü ¨C §è§Ö §Þ§Ñ§Ü§ã§Ú§Þ§Ñ§Ý§î§ß§Ñ §Ü?§Ý§î§Ü?§ã§ä§î §á§à§ä§à§Ü?§Ó, §ë§à §Þ§à§Ø§å§ä§î §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú§ã§î §å §ã§Ú§ã§ä§Ö§Þ? Rmax ? §°§á§ä§Ú§Þ§Ñ§Ý§î§ß§à ¨C §Õ§à§â?§Ó§ß§ð? §Ü?§Ý§î§Ü§à§ã§ä? §á§â§à§è§Ö§ã§à§â§ß§Ú§ç §ñ§Õ§Ö§â ? §±?§ã§Ý§ñ §è§î§à§Ô§à §æ§à§â§Þ§å§ð§ä§î §á§å§Ý §â§à§Ò§à§é§Ú§ç §á§à§ä§à§Ü?§Ó (thread pool) ? §¬?§Ý§î§Ü?§ã§ä§î §Þ§Ñ? §á§Ö§â§Ö§Ó§Ú§ë§å§Ó§Ñ§ä§Ú Rmax ? §¬§à§Ø§ß§Ú§Û §Ù §á§à§ä§à§Ü?§Ó §á§à§Ó§Ú§ß§Ö§ß §Ó§Ú§Ü§à§ß§å§Ó§Ñ§ä§Ú §à§Õ§Ú§ß ? §ä§à§Û §ã§Ñ§Þ§Ú§Û §Ü§à§Õ For ( : : ) { // §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ §ß§Ñ §à§Ò¡¯?§Ü§ä? §á§à§â§ä§å, §Ù§Ñ§Õ§Ñ§ß§à§Þ§å §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â§à§Þ ph GetQueuedCompletionStatus (ph, nbytes, &key, &ov, INFINITE); // §ä§å§ä §á§à§ä?§Ü ? §Ñ§Ü§ä§Ú§Ó§ß§Ú§Þ ReadFile (fdarr[key], request, ¡­ ); // §á§â§à§é§Ú§ä§Ñ§ä§Ú §Ù§Ñ§á§Ú§ä process_request (request); // §à§Ò§ã§Ý§å§Ø§Ú§ä§Ú §Ü§Ý??§ß§ä§Ñ }
  • 15. 15/19§­§Ö§Ü§è?§ñ 11 §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó ? §´§Ú§á§Ú §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §Ù§Ô?§Õ§ß§à Windows Driver Model, WDM (§Õ§Ý§ñ §ñ§Õ§â§Ñ §Ó§Ö§â§ã?? 5) ? §¥§â§Ñ§Û§Ó§Ö§â§Ú §ê§Ú§ß§Ú ? §¬§Ö§â§å§ð§ä§î §Ý§à§Ô?§é§ß§à§ð §Ñ§Ò§à §æ?§Ù§Ú§é§ß§à§ð §ê§Ú§ß§à§ð, §Ó?§Õ§á§à§Ó?§Õ§Ñ§ð§ä§î §Ù§Ñ §Ó§Ú§ñ§Ó§Ý§Ö§ß§ß§ñ §á§â§Ú§ã§ä§â§à?§Ó ? §¶§å§ß§Ü§è?§à§ß§Ñ§Ý§î§ß? §Õ§â§Ñ§Û§Ó§Ö§â§Ú ? §¬§Ö§â§å§ð§ä§î §á§â§Ú§ã§ä§â§à?§Þ §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §ä§Ú§á§å ? §¥§â§Ñ§Û§Ó§Ö§â§Ú-§æ?§Ý§î§ä§â§Ú ? §¥§à§á§à§Ó§ß§ð§ð§ä§î §Ñ§Ò§à §Ù§Þ?§ß§ð§ð§ä§î §á§à§Ó§Ö§Õ?§ß§Ü§å ?§ß§ê§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â?§Ó ? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §ñ§Õ§â§Ñ (§Ü§â?§Þ WDM-§Õ§â§Ñ§Û§Ó§Ö§â?§Ó) ? §¶§Ñ§Û§Ý§à§Ó§Ú§ç §ã§Ú§ã§ä§Ö§Þ ? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §Ù§Ñ§á§Ú§ä§Ú §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ, §ë§à §Ó§Ú§Ü§à§â§Ú§ã§ä§à§Ó§å§ð§ä§î §æ§Ñ§Û§Ý§Ú, §å §Ù§Ñ§á§Ú§ä§Ú §Õ§à §ß§Ú§Ù§î§Ü§à§â?§Ó§ß§Ö§Ó§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §á§â§Ú§ã§ä§â§à?§Ó ? §£?§Õ§à§Ò§â§Ñ§Ø§Ö§ß§ß§ñ (Display Drivers) ? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §ß§Ö§Ù§Ñ§Ý§Ö§Ø§ß? §Ó?§Õ §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä§Ú §á?§Õ§ã§Ú§ã§ä§Ö§Þ§Ú GDI §Ó §Ü§à§Þ§Ñ§ß§Õ§Ú §Ô§â§Ñ§æ?§é§ß§à§Ô§à §Ñ§Õ§Ñ§á§ä§Ö§â§Ñ §Ñ§Ò§à §Ü§à§Þ§Ñ§ß§Õ§Ú §Ù§Ñ§á§Ú§ã§å§Ó§Ñ§ß§ß§ñ §å §á§Ñ§Þ¡¯§ñ§ä§î ? §µ§ã§á§Ñ§Õ§Ü§à§Ó§Ñ§ß? ? §²§à§Ù§â§à§Ò§Ý§Ö§ß? §Õ§Ý§ñ Windows NT 4
  • 16. 16/19§­§Ö§Ü§è?§ñ 11 §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó (2) ? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §â§Ö§Ø§Ú§Þ§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ ? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, §Õ§â§Ñ§Û§Ó§Ö§â§Ú §á§â§Ú§ß§ä§Ö§â§Ñ ? §±§Ö§â§Ö§ä§Ó§à§â§ð§ð§ä§î §ß§Ö§Ù§Ñ§Ý§Ö§Ø§ß? §Ó?§Õ §á§â§Ú§ã§ä§â§à§ð §Ù§Ñ§á§Ú§ä§Ú §á?§Õ§ã§Ú§ã§ä§Ö§Þ§Ú GDI §Ó §Ü§à§Þ§Ñ§ß§Õ§Ú §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §á§â§Ú§ß§ä§Ö§â§Ñ ? §á§Ö§â§Ö§Õ§Ñ§ð§ä§î ?§ç WDM §Õ§â§Ñ§Û§Ó§Ö§â§å ? §¬§Ñ§ä§Ö§Ô§à§â?? §Õ§â§Ñ§Û§Ó§Ö§â?§Ó §Ó §Ù§Ñ§Ý§Ö§Ø§ß§à§ã§ä? §Ó?§Õ §â?§Ó§ß§ñ §á?§Õ§ä§â§Ú§Þ§Ü§Ú §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §á§â§Ú§ã§ä§â§à§ð ? §¬§Ý§Ñ§ã-§Õ§â§Ñ§Û§Ó§Ö§â§Ú ? §²§Ö§Ñ§Ý?§Ù§å§ð§ä§î ?§ß§ä§Ö§â§æ§Ö§Û§ã §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ, §ã§á§Ö§è§Ú§æ?§é§ß§Ú§ç §Õ§Ý§ñ §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §Ü§Ý§Ñ§ã§å §á§â§Ú§ã§ä§â§à?§Ó (§Õ§Ú§ã§Ü§Ú, CD-ROM) ? §±§à§â§ä-§Õ§â§Ñ§Û§Ó§Ö§â§Ú ? §²§Ö§Ñ§Ý?§Ù§å§ð§ä§î ?§ß§ä§Ö§â§æ§Ö§Û§ã §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä?§Ó §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ, §ã§á§Ö§è§Ú§æ?§é§ß§Ú§ç §Õ§Ý§ñ §á§Ö§Ó§ß§à§Ô§à §Ü§Ý§Ñ§ã§å §á§à§â§ä?§Ó (SCSI) ? §®?§ß?§á§à§â§ä-§Õ§â§Ñ§Û§Ó§Ö§â§Ú ? §¬§Ö§â§å§ð§ä§î §â§Ö§Ñ§Ý§î§ß§Ú§Þ §Ü§à§ß§Ü§â§Ö§ä§ß§Ú§Þ §á§â§Ú§ã§ä§â§à?§Þ
  • 17. 17/19§­§Ö§Ü§è?§ñ 11 §³§ä§â§å§Ü§ä§å§â§Ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §á§â§Ú§ã§ä§â§à§ð ? §±§â§à§è§Ö§Õ§å§â§Ñ ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?? Driver Entry ? ?? §Ó§Ú§Ü§à§ß§å? §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §á?§Õ §é§Ñ§ã §Ù§Ñ§Ó§Ñ§ß§ä§Ñ§Ø§Ö§ß§ß§ñ §Õ§â§Ñ§Û§Ó§Ö§â§Ñ §å §ã§Ú§ã§ä§Ö§Þ§å ? §©§Õ?§Û§ã§ß§ð? §Ô§Ý§à§Ò§Ñ§Ý§î§ß§å ?§ß?§è?§Ñ§Ý?§Ù§Ñ§è?§ð §ã§ä§â§å§Ü§ä§å§â §Õ§Ñ§ß§Ú§ç §Õ§â§Ñ§Û§Ó§Ö§â§Ñ ? §±§â§à§è§Ö§Õ§å§â§Ñ §Õ§à§Õ§Ñ§Ó§Ñ§ß§ß§ñ §á§â§Ú§ã§ä§â§à§ð Add-device routine ? §¥§Ý§ñ §â§Ö§Ñ§Ý?§Ù§Ñ§è?? §ä§Ö§ç§ß§à§Ý§à§Ô?? Plug and Play ? §®§Ö§ß§Ö§Õ§Ø§Ö§â Plug and Play §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §è§ð §á§â§à§è§Ö§Õ§å§â§å, §ñ§Ü§ë§à §Ù§ß§Ñ§ç§à§Õ§Ú§ä§î §á§â§Ú§ã§ä§â?§Û, §Ù§Ñ §ñ§Ü§Ú§Û §Ó?§Õ§á§à§Ó?§Õ§Ñ? §Õ§â§Ñ§Û§Ó§Ö§â ? §¯§Ñ§Ò?§â §á§â§à§è§Ö§Õ§å§â §Õ§Ú§ã§á§Ö§ä§é§Ö§â§Ú§Ù§Ñ§è?? Dispatch Routines ? §¡§ß§Ñ§Ý§à§Ô?§é§ß? §æ§å§ß§Ü§è?§ñ§Þ §æ§Ñ§Û§Ý§à§Ó§Ú§ç §à§á§Ö§â§Ñ§è?§Û §Ó UNIX ? Linux ? §±§â§à§è§Ö§Õ§å§â§Ñ §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ Interrupt Service Routine, ISR ? §¡§ß§Ñ§Ý§à§Ô?§é§ß§Ñ §Ó§Ö§â§ç§ß?§Û §á§à§Ý§à§Ó§Ú§ß? §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ ? §°§ã§ß§à§Ó§ß§Ö §Ù§Ñ§Ó§Õ§Ñ§ß§ß§ñ ¨C §Ù§Ñ§á§Ý§Ñ§ß§å§Ó§Ñ§ä§Ú §Õ§Ý§ñ §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §ß§Ú§Ø§ß§ð §á§à§Ý§à§Ó§Ú§ß§å §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ ? §±§â§à§è§Ö§Õ§å§â§Ñ §Ó?§Õ§Ü§Ý§Ñ§Õ§Ö§ß§à§Ô§à §à§Ò§â§à§Ò§Ý§Ö§ß§ß§ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ DPC Routine ? §¡§ß§Ñ§Ý§à§Ô?§é§ß§Ñ §ß§Ú§Ø§ß?§Û §á§à§Ý§à§Ó§Ú§ß? §à§Ò§â§à§Ò§Ý§ð§Ó§Ñ§é§Ñ §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ
  • 18. 18/19§­§Ö§Ü§è?§ñ 11 §±§à§ã§Ý?§Õ§à§Ó§ß?§ã§ä§î §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §à§á§Ö§â§Ñ§è?? §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ 1. §©§Ñ§á§Ú§ä §Ó/§Ó §á§Ö§â§Ö§ç§à§á§Ý§ð? §Õ§Ú§ß§Ñ§Þ?§é§ß§Ñ §Ò?§Ò§Ý?§à§ä§Ö§Ü§Ñ ? §¯§Ñ§á§â§Ú§Ü§Ý§Ñ§Õ, Win32 §á§Ö§â§Ö§ç§à§á§Ý§ð? §Ó§Ú§Ü§Ý§Ú§Ü WriteFile() 2. §¥§Ú§ß§Ñ§Þ?§é§ß§Ñ §Ò?§Ò§Ý?§à§ä§Ö§Ü§Ñ §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §Ó§ß§å§ä§â?§ê§ß§ð §æ§å§ß§Ü§è?§ð NTWriteFile(), §ñ§Ü§Ñ §Ù§Ó§Ö§â§ä§Ñ?§ä§î§ã§ñ §Õ§à §Þ§Ö§ß§Ö§Õ§Ø§Ö§â§Ñ §Ó/§Ó 3. §®§Ö§ß§Ö§Õ§Ø§Ö§â §Ó/§Ó §ã§ä§Ó§à§â§ð? §á§Ñ§Ü§Ö§ä IRP, §â§à§Ù§Þ?§ë§Ñ? §Û§à§Ô§à §å §á§Ñ§Þ¡¯§ñ§ä? ? §Ó?§Õ§á§â§Ñ§Ó§Ý§ñ? §á§à§ã§Ú§Ý§Ñ§ß§ß§ñ §ß§Ñ §ß§î§à§Ô§à §Õ§â§Ñ§Û§Ó§Ö§â§å §Ó§Ú§Ü§Ý§Ú§Ü§à§Þ §æ§å§ß§Ü§è?? IoCallDriver() 4. §¥§â§Ñ§Û§Ó§Ö§â §Ò§Ö§â§Ö §Õ§Ñ§ß? §Ù IRP ? §á§Ö§â§Ö§Õ§Ñ? ?§ç §Ü§à§ß§ä§â§à§Ý§Ö§â§å §á§â§Ú§ã§ä§â§à§ð, §á?§ã§Ý§ñ §é§à§Ô§à §Õ§Ñ? §Ü§à§Þ§Ñ§ß§Õ§å §â§à§Ù§á§à§é§Ñ§ä§Ú §à§á§Ö§â§Ñ§è?§ð §Ó/§Ó 5. §¥§Ý§ñ §ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó/§Ó §Õ§â§Ñ§Û§Ó§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §æ§å§ß§Ü§è?§ð §à§é?§Ü§å§Ó§Ñ§ß§ß§ñ ? §±§à§ä§à§é§ß§Ú§Û §á§à§ä?§Ü §á§â§Ú§Ù§å§á§Ú§ß§ñ§ð§ä§î 6. §¬§à§Ý§Ú §à§á§Ö§â§Ñ§è?§ñ §Ù§Ñ§Ó§Ö§â§ê§å?§ä§î§ã§ñ, §Ü§à§ß§ä§â§à§Ý§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §á§Ö§â§Ö§â§Ú§Ó§Ñ§ß§ß§ñ 7. §¥§â§Ñ§Û§Ó§Ö§â §Ó§Ú§Ü§Ý§Ú§Ü§Ñ? §æ§å§ß§Ü§è?§ð IoCompleteRequest() §Õ§Ý§ñ §á§à§Ó?§Õ§à§Þ§Ý§Ö§ß§ß§ñ §Þ§Ö§ß§Ö§Õ§Ø§Ö§â§å §Ó/§Ó §á§â§à §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Õ?§Û §Ù §á§Ñ§Ü§Ö§ä§à§Þ, §á?§ã§Ý§ñ §é§à§Ô§à §Ó§Ú§Ü§à§ß§å§ð§ä§î §Ü§à§Õ §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §à§á§Ö§â§Ñ§è??
  • 19. 19/19§­§Ö§Ü§è?§ñ 11 §©§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§Ñ§á§Ú§ä§å §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ ? §©§Ó§Ú§é§Ñ§Û§ß§à §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ù§Ó§à§Õ§Ú§ä§î§ã§ñ §Õ§à §Ü§à§á?§ð§Ó§Ñ§ß§ß§ñ §Õ§Ñ§ß§Ú§ç §Ó §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§â§à§è§Ö§ã§å §Ü§à§â§Ú§ã§ä§å§Ó§Ñ§é§Ñ ? §µ §â§Ñ§Ù? §ã§Ú§ß§ç§â§à§ß§ß§à§Ô§à §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ-§Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §ß§Ñ§Ý§Ö§Ø§Ú§ä§î §Õ§à §á§â§à§è§Ö§ã§å, §ë§à §â§à§Ò§Ú§Ó §Ó§Ú§Ü§Ý§Ú§Ü ? §¥§Ñ§ß? §Þ§à§Ø§å§ä§î §Ò§å§ä§Ú §Ù§Ñ§á§Ú§ã§Ñ§ß? §å §ß§î§à§Ô§à §Ò§Ö§Ù§á§à§ã§Ö§â§Ö§Õ§ß§î§à ? §Á§Ü§ë§à §Ù§Ñ§á§Ú§ä §Ò§å§Ó §Ñ§ã§Ú§ß§ç§â§à§ß§ß§Ú§Þ, §Ñ§Ü§ä§Ú§Ó§ß§Ú§Û §á§à§ä?§Ü §Û§Þ§à§Ó?§â§ß§à §ß§Ñ§Ý§Ö§Ø§Ú§ä§î §Õ§à ?§ß§ê§à§Ô§à §á§â§à§è§Ö§ã§å ? §¯§Ö§à§Ò§ç?§Õ§ß§à §Õ§à§é§Ö§Ü§Ñ§ä§Ú§ã§ñ, §á§à§Ü§Ú §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§à§ä§â?§Ò§ß§à§Ô§à §á§â§à§è§Ö§ã§å §ß§Ö §ã§ä§Ñ§ß§Ö §Õ§à§ã§ä§å§á§ß§Ú§Û ? §¥§Ý§ñ §è§î§à§Ô§à §Þ§Ö§ß§Ö§Õ§Ø§Ö§â §Ó/§Ó §á§Ý§Ñ§ß§å? §Õ§à §Ó§Ú§Ü§à§ß§Ñ§ß§ß§ñ §ã§á§Ö§è?§Ñ§Ý§î§ß§å APC- §á§â§à§è§Ö§Õ§å§â§å (§Ó?§Õ Asynchronous Procedure Call) ? APC-§á§â§à§è§Ö§Õ§å§â§Ñ §Ó§Ú§Ü§à§ß§å?§ä§î§ã§ñ §Ý§Ú§ê§Ö §å §Ü§à§ß§ä§Ö§Ü§ã§ä? §Ü§à§ß§Ü§â§Ö§ä§ß§à§Ô§à §á§à§ä§à§Ü§å ? §°§ä§â§Ú§Þ§å? §Ü§Ö§â§å§Ó§Ñ§ß§ß§ñ ? §¬§à§á?§ð? §á§à§ä§â?§Ò§ß? §Õ§Ñ§ß? §Ó §Ñ§Õ§â§Ö§ã§ß§Ú§Û §á§â§à§ã§ä?§â §á§â§à§è§Ö§ã§å ? §£§Ú§Ó?§Ý§î§ß§ñ? §á§Ñ§Þ¡¯§ñ§ä§î §Ù-§á?§Õ §á§Ñ§Ü§Ö§ä§Ñ IRP ? §±§Ö§â§Ö§Ó§à§Õ§Ú§ä§î §æ§Ñ§Û§Ý§à§Ó§Ú§Û §Õ§Ö§ã§Ü§â§Ú§á§ä§à§â (§Ñ§Ò§à §á§à§â§ä §Ù§Ñ§Ó§Ö§â§ê§Ö§ß§ß§ñ §Ó§Ó§Ö§Õ§Ö§ß§ß§ñ- §Ó§Ú§Ó§Ö§Õ§Ö§ß§ß§ñ) §å §ã§Ú§Ô§ß§Ñ§Ý?§Ù§à§Ó§Ñ§ß§Ú§Û §ã§ä§Ñ§ß