You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
ååä½æããã¹ã¿ãã¯ã¯ãæå ã®ç«¯æ«ã§ã¿ãªããã対話çã«æä½ãã¦ãããã¡ã¯ä½ãåé¡ãèµ·ãã¾ããããããããã®ã¹ã¿ãã¯ãè¤æ°ã®å¦çãåæã«æä½ããå ´åã¯åé¡ãçºçãã¾ããä»åã¯ãååä½æããã¹ã¿ãã¯ã«ã©ã®ãããªåé¡ãåå¨ãã¦ããã®ããããã³ããããæä»å¶å¾¡ã¨ããä»çµã¿ã«ãã£ã¦è§£æ±ºããæ¹æ³ã«ã¤ãã¦è¿°ã¹ã¾ãã ã¾ãã¯ä»åç¨ããã¹ã¿ãã¯ä½æã¢ã¸ã¥ã¼ã«ç¨ã®ã½ã¼ã¹ã次ã«ç¤ºãã¾ããååä½æããlist2.cã®ãã®ã«å ãã¦ãã¹ã¿ãã¯ã®ãµã¤ãºãæ大10ã«å¶éãã¦ãã¾ãã #include <linux/module.h> #include <linux/slab.h> #include <linux/debugfs.h> MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Satoru Takeuchi"); MODULE_DESCRIPTION("a example of mu
ã¯ããã« kernelã®ãããã¯ã¼ã¯ãã©ã®ãããªä»çµã¿ã«ãªã£ã¦ããã®ããæ°ã«ãªã£ãã®ã§å°ã調ã¹ã¦ã¿ã¾ããã ã¾ã 軽ããã調ã¹ããã¦ããªãããä¸æ¦ã¢ã¦ããããã æ¦è¦ ããã»ã¹ã¯ã½ã±ãããä»ãã¦éä¿¡ãè¡ãã ã½ã±ããã¯ããã¡ã¤ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæ¡å¼µãã¦ä½ããã¦ããã®ã§ãkernelã¬ãã«ã§ã¯ãã¡ã¤ã«ã®å©ç¨æé ã¨ã»ã¼åãã§ãã Kernelã®ãããã¯ã¼ã¯ã¹ã¿ãã¯ã¯ã©ã®ããã«ãªã£ã¦ããã®ãï¼ è©³ç´°ã¯Kernel Map æ¦ç¥å³ãããããè»¢è¼ ã½ã±ããã¤ã³ã¿ã¼ãã§ã¼ã¹ ããã»ã¹ééä¿¡ãå¯è½ãé éã®ããã»ã¹ã¨ã®éä¿¡ãå¯è½ ã½ã±ãããããã¡ã«ãã£ã¦ãã¼ã¿ã®ã³ã¼ãã¼å¦çãé »ç¹ã«çºçãããªãä»çµã¿ã«ãªã£ã¦ãã é信確ç«ã¾ã§ã®æµã ãµã¼ãå´ãã¯ã©ã¤ã¢ã³ããåãä»ããã½ã±ãããã¡ã¤ã«ãä½æãã(socket()ãå¼ã³åºã) åä»ç¨ã½ã±ãããã¡ã¤ã«ã«ååãã¤ãã(bind()ãå¼ã³åºã) ã½ã±ããã»ãã¥ã¼ãä½
ã¯ããã« Linuxã«ã¯fsfreeze(8)ã¨ããFilesystemã¸ã®ã¢ã¯ã»ã¹ãä¸æåçµãããæ©è½ããããFilesystemã®ã¹ãããã·ã§ãããåããªã©ã®ç®çã§ä½¿ãããããã ããã®fsfreezeãã©ã®ããã«åãã¦ããã®ãã«ã¤ãã¦èª¿æ»ãã¦ã¿ãã ãªããåä½ç¢ºèªã¯Ubuntu16.04(Linux-4.4.0-83-generic)ãããã§è¡ãã¤ã¤ãã½ã¼ã¹ã³ã¼ãã¯Linux-4.12ãããã¨util-linux-2.30.1ããããè¦ã¦ãã¾ãã 試ãã¦ã¿ã fsfreezeã®å®è¡ ã·ã¹ãã ã«å½±é¿ãä¸ããã¨ããã§å®é¨ããã®ã¯æãã®ã§ããã¹ãç¨ã®Filesystemãç¨æãã¦ãã¹ãããã [rarul@tina ~]$ mkdir ~/test [rarul@tina test]$ cd ~/test [rarul@tina test]$ dd if=/dev/zero of=hoge.
1. qiraã¨ã¯ qiraã¨ã¯ä¸ççãªããã«ã¼ãGeorge Hotzæ° (ã¸ã§ã¼ã¸ã»ããã - Wikipedia) ã«ãã£ã¦éçºãããé«æ©è½ãã¤ããªãã¬ã¼ãµã¼ã§ãããqiraã¨ããåã¯ï¼QEMU Interactive Runtime Analyserï¼ã®ç¥ã§ããã GitHub - BinaryAnalysisPlatform/qira: QEMU Interactive Runtime Analyser ç¥èªãè¦ãã°åãããuser mode QEMUã使ç¨ãããã¤ããªè§£æãã¼ã«ã§ãããELFãªã©ã®å®è¡å½¢å¼ãã¤ããªãå®éã«åä½ããã¦åå½ä»¤ã®ã¬ã¸ã¹ã¿ãã¡ã¢ãªã¸ã®æä½ãé次è¨é²ããã ãããã®è¨é²ã¯web UIãéãã¦å¥½ããªå½ä»¤ä½ç½®ã«ã«ã¼ã½ã«ã移åãããã ãã§è¦ããã¨ãã§ãããã®æã®ã¬ã¸ã¹ã¿ãã¡ã¢ãªã®è¨é²ãåç¾ãããä»çµã¿ã«ãªã£ã¦ãããã½ããã¦ã§ã¢ã®ãããã°ãCTFã«ããããã¤ããªè§£
ftraceã®functionãã¬ã¼ãµãfunction graphãã¬ã¼ãµã使ãã¨ãã«ã¼ãã«ã®é¢æ°å¼ã³åºãå¦çã追ãããããã¨ãã§ãã¾ãã ftraceã®è«¸æ©è½ãã«ã¼ãã«ã§æå¹ã«ããæ¹æ³ã«ã¤ãã¦ã¯ååã®æ稿ãåç §ãã¦ãã ããããã ãä»åæ¸ãã¦ããå 容ã¯ãæããFedoraãUbuntuã®ã«ã¼ãã«ã§ã¯ããã©ã«ãã§æå¹ã«ãªã£ã¦ãã¾ãã #é¢æ°ã³ã¼ã«ãã¬ã¼ãµ ftraceã«ã¯Linuxã«ã¼ãã«å ã®é¢æ°å¼ã³åºãããã¬ã¼ã¹ããé¢æ°ã³ã¼ã«ãã¬ã¼ãµã»é¢æ°ã³ã¼ã«ã°ã©ããã¬ã¼ãµããµãã¼ããã¦ãã¾ãã é¢æ°ã³ã¼ã«ãã¬ã¼ãµã¯functionããé¢æ°ã³ã¼ã«ã°ã©ããã¬ã¼ãµã¯ function_graph ãã/sys/kerne/debug/tracing/current_tracerã«æ¸ãè¾¼ãã ãã§å©ç¨ã§ãã¾ãã ãããã®é¢æ°ã³ã¼ã«ï¼ã°ã©ãï¼ãã¬ã¼ãµã¯ãã¤ã³ã©ã¤ã³å±éããã¦ããªããã¹ã¦ã®é¢æ°å¼ã³åºãããã¬ã¼ã¹ã
è¦ç´ ãã®è¨äºã§ã¯ãLinuxã«ã¼ãã«ã«ã¦Linuxããã°ã©ã ãã©ã®ããã«é¢æ°ãå¼ã³åºãã®ãã«ã¤ãã¦ç´¹ä»ãã¦ããã¾ãã ã·ã¹ãã ã³ã¼ã«ãè¡ãæ§ã ãªæ¹æ³ãã·ã¹ãã ã³ã¼ã«ãè¡ãããã®ç¬èªã®ã¢ã»ã³ããªã®ä½ææ¹æ³ï¼ä¾ããï¼ãã·ã¹ãã ã³ã¼ã«ã¸ã®ã«ã¼ãã«ã¨ã³ããªãã¤ã³ããã·ã¹ãã ã³ã¼ã«ããã®ã«ã¼ãã«ã¤ã°ã¸ãããã¤ã³ããglibcã®ã©ããé¢æ°ããã°ãªã©å¤ãã®ç¹ã«ã¤ãã¦èª¬æãã¾ãã è¦ç´ ã·ã¹ãã ã³ã¼ã«ã¨ã¯ï¼ å¿ è¦æ¡ä»¶ã«é¢ããæ å ± ãã¼ãã¦ã§ã¢ã¨ã½ããã¦ã§ã¢ ã¦ã¼ã¶ããã°ã©ã ãã«ã¼ãã«ãCPUã®ç¹æ¨©ã¬ãã« å²ã込㿠ã¢ãã«åºæã¬ã¸ã¹ã¿ï¼MSRï¼ ã¢ã»ã³ããªã³ã¼ãã§ã·ã¹ãã ã³ã¼ã«ãå¼ã³åºããã¨ã®åé¡ç¹ ã¬ã¬ã·ã¼ã·ã¹ãã ã³ã¼ã« ç¬èªã®ã¢ã»ã³ããªãç¨ããã¬ã¬ã·ã¼ã·ã¹ãã ã³ã¼ã«ã®ä½¿ç¨ ã«ã¼ãã«å´ã§ã® int $0x80 ã¨ã³ããªãã¤ã³ã iret ã使ç¨ããã¬ã¬ã·ã¼ã·ã¹ãã ã³ã¼ã«ããã®å¾©å¸° é«éã·ã¹ãã ã³ã¼ã« 3
ã¨ãããµã¼ãã§å¦ã«ã·ã¹ãã CPUã®ä½¿ç¨çãé«ãç¾è±¡ãç½®ãã¦ããã¾ããã ããã§ãã¾ãã¯ãã£ããã¨perf topã§ãããã¡ã¤ã«ãã¨ã£ã¦ã¿ãã¨ã以ä¸ã®ããã«ãªã£ã¦ãã¾ããã 22.38% [kernel] [k] copy_pte_range 18.44% [kernel] [k] zap_pte_range 11.13% [kernel] [k] change_pte_range 3.58% [kernel] [k] page_fault 3.32% [kernel] [k] page_remove_rmap ã¾ããåããã»ã¹ã®straceãçºãã¦ããã¨ãcloneã§0.05ç§ã¨ããªãæéãããã£ã¦ããããã§ããããã ã¨åç´è¨ç®ã§1ã³ã¢ã§ç§é20åã®cloneã§ã³ã¢100%å æãã¦ãã¾ãç¨åº¦ã®é常ã«ä½éãªå¦çããã§ããªããã¨ã«ãªãã¾ãã sudo strace -T -o/dev/stdo
æ¦è¦ cgroupã®ãã¨ã«ã¤ãã¦èª¿ã¹ãããPIDåå空éã£ã¦ã©ãã«ãããã ããã£ã¦æã£ã¦èª¿ã¹ãèªåã¡ã¢ã¡ã¢ããªã¼ãã¨ãªãããããã£ã¦ããªãã¨æãããããããããã¨ãé ãããããªãm(_ _)mã pidã¨upid ããã»ã¹IDã¯1234ã¿ããã«ããã»ã¹ãä¸æã«èå¥ãããã ã®çªå·ã«æãããæå¤ã¨åç´ã§ãªããã«ã¼ãã«ã§ã¯å¤æ§ãªã¡ã³ãã§æ§æãããæ§é ä½(pidã¨upid)ã®é¢é£ã§è¡¨ç¾ããã¦ããã â pidã¨upid 50 struct upid { 51 /* Try to keep pid_chain in the same cacheline as nr for find_vpid */ 52 int nr; 53 struct pid_namespace *ns; 54 struct hlist_node pid_chain; 55 }; 56 57 struct pid 58 { 59
æ¬è¨äºã®å ¬éå¾ã®2016å¹´7æã«ã¯ã¦ãªã«ããããã¥ã¼ãã³ã°äºä¾ãç´¹ä»ããã ã¯ã¦ãªã«ãããLinuxãããã¯ã¼ã¯ã¹ã¿ãã¯ããã©ã¼ãã³ã¹æ¹å / Linux network performance improvement at hatena - Speaker Deck HAProxy ã nginx ãªã©ã®ã½ããã¦ã§ã¢ãã¼ããã©ã³ãµããªãã¼ã¹ãããã·ãmemcached ãªã©ã® KVS ã®ãããªé«ãã±ããã¬ã¼ãã«ãªãããããããã¯ã¼ã¯ã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ãåä¸ã® CPU ã³ã¢ã«è² è·ãåãããã«ãã³ã¢ã¹ã±ã¼ã«ããªããã¨ãããã¾ãã ä»åã¯ããã®ãããªãããã¯ã¼ã¯ã¢ããªã±ã¼ã·ã§ã³ã«ãã㦠CPU è² è·ããã«ãã³ã¢ã¹ã±ã¼ã«ããªãçç±ã¨ããã«ãã³ã¢ã¹ã±ã¼ã«ãããããã® Linux ã«ã¼ãã«ã®ãããã¯ã¼ã¯ã¹ã¿ãã¯ã®ãã¥ã¼ãã³ã°ææ³ã¨ã㦠RFS (Receive Flow Steering) ã
以ä¸ãé·ã ã¨æ¸ãã¦ã¾ãããçµè«ã¯ âç§ã®ç°å¢ã§â大ããªããã¹ããã¡ã¤ã«ãawkã§å¦çããã¨ãã«catã§æãè¾¼ãã¨éãçç± - ablogã«æ¸ãã¦ã¾ã ã¯ããã« awk file ãã cat file|awk ã®ã»ããéãã¨ãã以ä¸ã®ããã°ã¨ã³ããªãèå³æ·±ãã®ã§èª¿ã¹ã¦ã¿ã¾ããã ã¡ãªã¿ã« cat file|awk ãéããªãç°å¢ã¯ç¨ã§ãå··ã§ã¯ awk file ã®ã»ããéãç°å¢ã®ã»ããå¤ãããã§ãã©ã¡ããéããã¯ç°å¢ä¾åã§ãã [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt ï¼ä¸ç¥ï¼ [root@localhost sample]# time sh command1 real 0m53.92
ãã¨ãã°$cmdãcat hogeã§ãã£ãå ´åãä¸è¨ã³ãã³ãã®å®è¡çµæã®åºåã¯æ¬¡ã®ããã«ãªãã¾ãï¼hogeã¨ãããã¡ã¤ã«ã«ã¯ãThis is hogeãã¨ããæååãæ¸ããã¦ãããã®ã¨ãã¾ãâ ï¼â ã execve("/bin/cat", ["cat", "hoge"], [/* 24 vars */]) = 0 ... ï¼ä¸ç¥ï¼ ... open("hoge", O_RDONLY)                  = 3 fstat(3, {st_mode=S_IFREG|0664, st_size=13, ...}) = 0 read(3, "This is hoge\n", 32768)        = 13 write(1, "This is hoge\n", 13)          = 13 read(3, "", 32768)                      =
2. ãåã ãã â å·ç° è£è²´ @hktechno o çæ³¢å¤§å¦ ã·ã¹ãã æ å ±å·¥å¦ç ç©¶ç§ ã³ã³ãã¥ã¼ã¿ãµã¤ã¨ã³ã¹å°æ» M1 o ã»ãã¥ãªãã£ï¼ããã°ã©ãã³ã°ã ã£ã³ã 2008 ããã°ã©ãã³ã°ã³ã¼ã¹åå ï§ 2009, 10, 12 OS çµãã¥ã¼ã¿ã¼
â» 2014/12/13 追è¨ï¼ãµã³ãã«ã³ã¼ãã®ãã°ã¯ printf(KERN_ â¦) ã§ã¯ãªã pr_, dev_, netdev_ ã使ãäºãæ¨å¥¨ã¨ææããã詳ãã㯠LOGGING IN LINUX KERNEL ãåç §ã â» 2014/12/13 追è¨ï¼MKDEV 㯠miscdevice ã使ãã¨ãã£ã¨ç°¡åã«æ¸ããããããï¼å¤é¨ãµã¤ãï¼miscdeviceã§linuxããã¤ã¹ãã©ã¤ããä½æããï½ãã£ã©ã¯ã¿åããã¤ã¹ 3åã³ã¼ãã£ã³ã°ï¼ Linux Loadable Kernel module ã«ã¤ãã¦ã®è§£èª¬ã¯æ²¢å±±åå¨ããããå¤ãAPIã使ã£ã¦ãããç´°ãããã¦å ¨ä½åãã¤ãã¿ã«ããã£ãã ã¨ãããã㧠Linux ã§ã®ãã©ã¤ãã¼ä½ææ¹æ³ãç解ãããããç°¡åãªãã£ã©ã¯ã¿ããã¤ã¹ï¼char deviceï¼ãä½ã£ã¦ã¿ãã ãªããfile_operations åä½ç¢ºèªã®ãããread
ã¾ãç°¡åãªã¨ããããã #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); static int __init hello_init(void) { printk(KERN_ALERT "hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "bye\n"); } module_init(hello_init); module_exit(hello_exit); Makefileã¯ãããªæããROOTDIR ã«ã¯ã«ã¼ãã«ã®ã½ã¼ã¹ããããã£ã¬ã¯ããªãè¨å®ããã obj-m := hello.o ROOTDIR := /home/yomi/kernel/linux-3.11 defau
ä»æã®åãã«å ¬è¡¨ããã¦ãããä¸è¬ã¦ã¼ã¶ã¼ã Linuxã·ã¹ãã ãã¯ã©ãã·ã¥ããã¦ãã¾ãããã° CVE-2014-9090 ãå®ã¯ root権éã®å¥ªåã«ã使ãããã¨ãããã CVE-2014-9322 ã«é²åãã¦ãã¾ãã CVE-2014-9090ã®æ¥æ¬èªæ å ±ã¯ãã¡ãã Linux Kernel ã® arch/x86/kernel/traps.c å ã® do_double_fault é¢æ°ã«ããããµã¼ãã¹éç¨å¦¨å®³ (DoS) ã®èå¼±æ§ è¦ããã«ã64bitçã® Linuxã§ã¯ç®¡çè 権éãæããªãä¸è¬ã¦ã¼ã¶ã¼ããããã¨ãã·ã¹ãã ãã¯ã©ãã·ã¥ããã¦ãã¾ããã¨ãã§ããã¨ãããã¨ã§ãã対象ã¨ãªãã®ã¯ x86_64ç¨ Linuxã«ã¼ãã«ã® ä»ã¾ã§ã®å ¨ã¦ã®ãã¼ã¸ã§ã³ã§ãã ãã¾åãã¦ãLinuxã 32bitã64bitãããããããªãå ´å㯠uname -m ã¨å ¥åã㦠i686ã¨åºãã° 32bitã
ãã®è¨äºã¯ èªä½OS Advent Calendar 2014 - Adventar 12/25ã®è¨äºã§ãã ä¸ã¶æç¨åããLinuxã«ã¼ãã«ã®ã³ã¼ããèªã¿å§ããã®ã§ã解èªã¤ãã§ã«èªåã§ãã«ã¼ãã«ãä½ã£ã¦ã¿ã¾ããã ã¨ã¯ãã£ã¦ããã¾ã ååãå®æãã¦ãªãã§ãï¼ï¼ å½åã¯ã30æ¥ã§ã§ãã èªä½Linuxã¯ãã¼ã³éçº ãäºå®ãã¦ããã®ã§ããã äºæ³ä»¥ä¸ã®è¦æ¨¡ã§ã解èªã¨ãã«ã¹ã¯ã©ããéçºãä½µè¡ããã®ã¯çµæ§å¤§å¤ã§ãã... ã¨ãã訳ã§ãç¾å¨å®è£ ã§ãã¦ããæã¾ã§ç´¹ä»ãã¾ãã éçºã¬ãã¸ããªã¯ãã¡ãã§ãã RKX1209/Abyon · GitHub (ã¤ã³ã¹ãã¼ã«æ¹æ³ãå®è¡æ¹æ³ã¯ããã«æ¸ãã¦ã¾ã) å®è£ ããæ©è½ ããã»ã¹ã¹ã±ã¸ã¥ã¼ã©ã¼ Runãã¥ã¼ ãã¼ãã¦ã§ã¢å²ãè¾¼ã¿(PIC 8259A) é 延å²ã込㿠Tasklet ã°ãã¼ãã«ã¿ã¤ãã¼(PIT) ã¿ã¤ãã¼ãªã¹ã ä»®æ³ãã¼ã¸ã³ã°(IA-32 MMU
GPUãç¨ããSSLãªãã¼ã¹ãããã·ã®å®è£ ã«ã¤ã㦠- ããããããã° 100Gbpsã½ããã¦ã§ã¢ã«ã¼ã¿ã®å®ç¾å¯è½æ§ã«é¢ããè«æ - ããããããã° ã®ç¶ãã§ï¼æè¿è«æèªãã ãã¤ã®ããã¸ã§ã¯ãã®ç´¹ä»ã§ãï¼ æ¦è¦ ä»ã®æ±ç¨OSã¯é«éãªãã±ããI/Oãèæ ®ãã¦ãªãï¼ 20å¹´åã®APIããã®ã¾ã¾ä½¿ã£ã¦ããï¼ ãããã¯ã¼ã¯ãã©ãã©ãé«éã«ãªã£ã¦ããã®ã§ï¼NICã¨ãOSã«ã¼ãã«ã®ãã±ããå¦çãããã«ããã¯ã«ãªã£ã¦ãï¼ (http://news.mynavi.jp/news/2013/04/04/094/index.html) ããããã®è§£æ±ºããããã«æ¢åææ³ãããããããï¼ Linux packet mmap - IwzWiki Linux Kernel Documentation :: networking : packet_mmap.txt DNA (Direct NIC Access) Pac
Linux Storage Filesystem/MM Summit 2014ããã®ä¾¿ãï¼Linux Kernel Watchï¼1/2 ãã¼ã¸ï¼ ãä¹ ãã¶ãã§ããLinux Kernel Watchã帰ã£ã¦ãã¾ããã3æã«è¡ããããLinux Storage Filesystem/MM Summit 2014ãã®ä¸»ãªãããã¯ãç´¹ä»ãã¾ãã çããããä¹ ãã¶ãã§ããç§ã¯ä»ãã¹ãã³ã§ãç±³ã¬ããããã常é§ã¨ããç«å ´ã§Red Hat Enterprise Linuxï¼RHELï¼éçºã«æºãã£ã¦ãã¾ãã ä»åã¯ãµã³ãã©ã³ã·ã¹ã³è¿éã®ãããã¬ã¼ã§2014å¹´3æ24ï½25æ¥ã«è¡ããããLinux Storage Filesystem/MM Summit 2014ãï¼ä»¥ä¸LSF/MMï¼ã®ä¸ããé¢ç½ãã£ããããã¯ãããã¯ã¢ãããã¦ãå±ããããã¨æãã¾ãã LSF/MMã¯Linux Foundation主å¬ã§è¡
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}