- Feb 06 Fri 2015 13:38
電影:熊麻吉2 (Ted 2)
- Dec 16 Tue 2014 16:30
電影:鬼敲門(The Babadook)
劇情簡介:即使丈夫過世已經六年,艾蜜莉亞仍無法走出喪夫之痛,更煎熬的是,她發現自己竟憎恨起相依為命的六歲獨子山繆。沒錯,她的丈夫正是在帶艾蜜莉亞趕赴醫院生產時捲入車禍而死。山繆與一般的孩子不一樣,他時常告訴媽媽,夢裡有隻怪物會把她們母子都殺死;當艾蜜莉亞意外得到一本名為《巴巴杜》的童書後,山繆的行為舉止竟越來越暴力,在靈異現象與入邪至親的雙重壓力下艾蜜莉亞瀕臨崩潰,當她再次翻開《巴巴杜》,發現那頭夢中怪物居然活生生顯現在眼前……
- Nov 14 Fri 2014 17:25
Linux shell script 的彩色控制
Linux 下的終端機畫面不是只能換換背景而已,顯示出來的顏色也是能控制的。使用的顏色就像以前的DOS 時代,或者現在的BBS 顏色控制方式一樣。
以shell 的顯示為例,顯示的格式如下:
\033[ 亮度 ; 文字顏色 ; 背景顏色 m
文字內容………………
\033[0m
亮度是0 或1
文字及背景顏色有色碼有查 (以後附上),而背景顏色是可省略的。
- Nov 12 Wed 2014 10:46
電影:玩命關頭七(Fast & Furious 7)
- Sep 29 Mon 2014 16:31
What is tty ?
[以上文章來自http://flykof.pixnet.net/blog/post/]
What is tty?
終端是一種字元裝置(Char Device),它有多種類型,通常使用tty(Teletype)來簡稱各種類型的終端設備。Teletype是最早出現的一種終端設備,很象電傳打字機(或者說就是),是由Teletype公司生產的。設備名放在特殊檔案目錄/dev/下,終端特殊設備檔案一般有以下幾種︰
1.串行端口終端(/dev/ttySn)
串行端口終端(Serial Port Terminal)是使用計算機串行端口連接的終端設備。計算機把每個串行端口都看作是一個字符設備。有段時間這些串行端口設備通常被稱為終端設備,因為 那時它的最大用途就是用來連接終端。這些串行端口所對應的設備名稱是/dev/tts/0(或/dev/ttyS0)、/dev/tts/1(或/dev /ttyS1)等,設備號分別是(4,0)、(4,1)等,分別對應於DOS系統下的COM1、COM2等。若要向一個端口發送數據,可以在命令行上把標 準輸出重定向到這些特殊檔案名上即可。例如,在命令行提示符下鍵入︰echo test > /dev/ttyS1會把單字”test”發送到連接在ttyS1(COM2)端口的設備上。
當然這些設備名稱不是固定的,標示設備最為重要的major number和minor number,然後是基於此的設備驅動程式。如:/dev/ttyAM0來代替/dev/ttyS0,/dev/ttyAM1來代替/dev/ttyS1。
2.偽終端(/dev/pty/)
- Jun 22 Sun 2014 14:35
電影:移動迷宮(The Maze Runner)
劇情簡介:改編自全球青少年驚悚奇幻小說『移動迷宮』,末日後的世界裡,喪失記憶的湯瑪士(狄倫歐布萊恩 飾演)與一群少年困在一座精心設計的殺人迷宮當中。只有加入這群少年,成為《跑者》,才能在這生存下來。唯有生存,才能解開謎團,揭開驚人的祕密,找幕後黑手!
- Jun 22 Sun 2014 14:24
電影:猩球崛起2: 黎明的進擊(Dawn of the Planet of the Apes)
- Jun 22 Sun 2014 14:10
電影:舞力全開5(Step Up All In)
- Jun 15 Sun 2014 14:13
Linux中的同步机制 -- Futex
转载感言:发现一篇还不错的文章,跟大家分享一下。该文简单介绍了Futex机制,并有一些简单的例子,浅显易懂。
Linux中的同步机制(一)--Futex引子
在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?
1. 什么是Futex
Futex 是Fast Userspace muTexes的缩写,由Hubertus Franke, Matthew Kirkwood, Ingo Molnar and Rusty Russell共同设计完成。几位都是linux领域的专家,其中可能Ingo Molnar大家更熟悉一些,毕竟是O(1)调度器和CFS的实现者。
Futex按英文翻译过来就是快速用户空间互斥体。其设计思想其实 不难理解,在传统的Unix系统中,System V IPC(inter process communication),如 semaphores, msgqueues, sockets还有文件锁机制(flock())等进程间同步机制都是对一个内核对象操作来完成的,这个内核对象对要同步的进程都是可见的,其提供了共享 的状态信息和原子操作。当进程间要同步的时候必须要通过系统调用(如semop())在内核中完成。可是经研究发现,很多同步是无竞争的,即某个进程进入 互斥区,到再从某个互斥区出来这段时间,常常是没有进程也要进这个互斥区或者请求同一同步变量的。但是在这种情况下,这个进程也要陷入内核去看看有没有人 和它竞争,退出的时侯还要陷入内核去看看有没有进程等待在同一同步变量上。这些不必要的系统调用(或者说内核陷入)造成了大量的性能开销。为了解决这个问 题,Futex就应运而生,Futex是一种用户态和内核态混合的同步机制。首先,同步的进程间通过mmap共享一段内存,futex变量就位于这段共享 的内存中且操作是原子的,当进程尝试进入互斥区或者退出互斥区的时候,先去查看共享内存中的futex变量,如果没有竞争发生,则只修改futex,而不 用再执行系统调用了。当通过访问futex变量告诉进程有竞争发生,则还是得执行系统调用去完成相应的处理(wait 或者 wake up)。简单的说,futex就是通过在用户态的检查,(motivation)如果了解到没有竞争就不用陷入内核了,大大提高了low-contention时候的效率。 Linux从2.5.7开始支持Futex。
- Jan 24 Fri 2014 01:00
Kconfig
Kconfig (Linux)
當user在compiler Linux kernel 2.6的時候,打make menuconfig時,會出現選單讓user選擇想安裝的項目,而這些設定檔都寫在Kconfig file中,source code tree下幾乎每一個目錄夾都會有Kconfig file。(Linux kernel 2.4 則為Config.in file)
How to write Kconfig
1. How to Add a Item in Menu List
每一個選項開始都必須以”config”開頭
Ex.
config DM9000
tristate “DM9000A support”