2009年12月27日 星期日
童年的消逝(一)
童年,是一種相對概念。作者解釋古人的資料,認為成年是人要有羞恥心之後,才開始算的,因此,可以推論,童年是自覺尚未有羞恥心的階段。有羞恥心之後,才會有所謂成人的秘密。還記得嗎?小時候當你問長輩某些問題時,他們會說:「等妳長大以後就知道了。」,類似這類言語。成人的秘密不只是情色部分,還包括社會利益的衝突、人際關係的矛盾...etc。
看完之後了解為什麼會有戰慄的格林童話,因為西方古時候30歲才算成年,那麼三十歲之前的,都算小孩。而且長輩在他們定義的小孩面前,並不會克制彼此之間黃腔、猥褻的言語和動作,因為他們不是對童年沒概念,就是很模糊,還是照常做。另外作者提到,從古籍中可以看到有撥弄小孩生殖器仍不引為意的大人,我想,從古籍中應該也能看到現代定義的戀童癖或是亂倫吧!
此章後面,談到為什麼古文明30~60歲成人在0~30歲的「小孩」面前仍不克制,不讓小孩知道成人的秘密,引出教育的論點,大眾普遍識字和特定階層識字,例如教會的牧師。
2009年12月26日 星期六
廣告
家庭成員之間的交流減少,每個人都可望有心靈上的交流,因此這幾年的廣告紛紛是以感性訴求吸引眾人眼光。個人認為,這種風潮源自於休旅車 Sav*rin,目前此時可看到的是麥當勞的哥哥弟弟故事
故事是這樣子的:
弟弟還沒出生前,哥哥常受大家關愛,但是因為剛出生的弟弟受到大家的關注,原本放學後會開心的拉小提琴給弟弟聽,媽媽看到他要拉小提琴給弟弟聽,連忙阻止他,爸爸媽媽爺爺奶奶親戚看到弟弟會把弟弟捧在手心,他看到這種情形,覺得彷彿家人都不再疼他,他很難過。
後來媽媽觀察到他很失落,於是帶他去吃麥當勞,他吃完之後又恢復以往的元氣,媽媽告訴他:「當哥哥也不錯啊~~」哥哥帶著麥當勞送的玩具逗著弟弟玩,在廣告的最後說:「還是當哥哥好!」廣告的意思是,當哥哥不但可以吃麥當勞,還可以玩麥當勞送的玩具。
恩....這學期正在修媒體素養,我漸漸能看得出廣告用的手法和意涵,嘖嘖!廣告啊~~
有興趣的人可以上網搜尋"企業人格診斷書"和修管中祥老師的媒體素養課 :)
2009年12月8日 星期二
2009年12月1日 星期二
2009年11月22日 星期日
2009年11月11日 星期三
2009年11月2日 星期一
2009年10月9日 星期五
幾則新聞的感想
揚言說要跳槽的網友,是IP network使用者的常態。很多原本在其他方面需要付費的服務,到IP network之後,因此種型態的網路,是以免費為訴求,所以他們不得不以免費吸引注意。但是服務營運所需的費用,廠商還是得出,所以他們想出以廣告形式,遊說廣告主在其網站上刊登資料。
可是,網路廣告很少人在點,以我自己為例,我就很少在點廣告。這對廣告主來說,是喜是憂?廠商吸引廣告主時,應完整告知此類訊息。有趣的是,跟廣告主講之後,還有人會想在網站刊登廣告或拍賣訊息嗎?
「喬」成功 最後一刻鄺麗貞放棄拚連任(TVBS)
政治對很多人都是敏感事情,我們撇開各自的立場看看這篇新聞吧。大家不覺得,我們才是真正的投票人,為什麼這篇新聞說得好像只要經過候選人所屬政黨提名,該政黨就能夠保你穩上?如果政黨有所考量,你就必須因這個考量,含淚退出選舉?
說是政黨能夠動員底下的黨員投你一票,但是,為什麼被動員的黨員一定要支持呢?你們可以自由投給喜愛的參選人啊~~人民有選舉和被選舉的權力啊
當總統不到1年 歐巴馬拿和平獎(TVBS)
歐巴馬,恭喜囉!期待你能做出令人讚賞的事情。
2009年10月5日 星期一
推甄
2009年9月23日 星期三
2009年9月21日 星期一
開學囉
2009年8月20日 星期四
回憶過去
2009年8月18日 星期二
夢
2009年8月13日 星期四
調整 httpd server
風災的新聞
八八水災/卓伯源慰問墜毀直升機駕駛家屬
颱風夜喝喜酒 立委批馬太輕忽
2009年8月6日 星期四
excel 的篩選資料功能
2009年8月2日 星期日
最近該做的事
2009年6月26日 星期五
深夜有感
2009年6月19日 星期五
抱怨
OS_hw6
●完成目標
1.以創立thread方式改寫原程式碼以fork在localhost傳送和接收訊息,並加上傳遞和接收檔案之功能。
2.了解建立thread比建立process的成本低。●程式測試及運作環境
系上csie1工作站
●測資,已附在壓縮檔內
1. 中時電子報首頁原始碼
2. 自訂測資test.txt
●此程式分成六個部分
1. main program
2. TCPecho
3. Send function
4. Listen function
5. GetFileLength function
6. Unsigned long to string
Main program 創立一個socket,設定開啟port和最大連線數,並進入TCPecho。
TCPecho設立兩個thread,分別執行Send和Listen function。
Send function使用創立的socket,可以送訊息,也可以送檔案。送檔案時必須先告訴對方檔案大小和名稱,所以會用到GetFileLength function。同時因為使用系統的write function,所以要將檔案大小unsigned long 型態轉換成string,才能傳,此時就需要Unsigned long to string function。
Listen function使用創立的socket,可以收訊息,也可以收檔案。收檔案時對方會告訴自己檔案大小和名稱,會使用系統的read function,如果同意則開始收,即收即寫入本地端同名的檔案;若不同意則雙方回到一般傳訊息模式。
Send function和Listen function送收檔案時,是採用送訊息的方式,所以和一般送純文字訊息一樣。
●測試方式
1.使用Server和Client所在資料夾的make重新編譯程式,輸入make即完成編譯和呼叫程式之動作。
2.傳送訊息:
2.1在server端輸入欲傳送之訊息,並查看client端是否收到。
2.2在client端以同樣方法傳送訊息,並查看在server端是否收到。
3.傳送檔案:
在任意一端(Client或Server),輸入SendFile:[yourfile],即可詢問對方是否要接收檔案,例如要傳送壓縮檔內的測資mainpage.htm,請輸入SendFile:mainpage.htm
如同意接收,接收端必須回答兩次yes才能接收檔案,發送端才開始傳資料;若不同意接收,則雙方回到傳訊息模式。
如欲終止程式,請按ctrl+c,即可結束程式。OS_hw2
想快快樂樂裝作業要求的四個server(sshd,httpd,vsftpd,samba)之前,要先將SELinux和Linux的防火牆關掉,不然會遇到很多奇怪的問題,做起來會覺得特別辛苦。會這麼做的原因是真的遇到很奇怪的問題,而網路上提供給初學者的解法是將這SELinux和Linux的防火牆服務停用。
因為這只是在虛擬機器上做,所以將防火牆和SELinux關掉應該是無傷大雅的。
裝了這些服務之後,覺得自己的電腦也可以
提供眾多的服務,感覺很棒。過程中,遇到問題查網路上的解決方法,順便了解如何操作Linux,雖是粗淺的摸索,亦令我滿足,很有成就感。
剩下的步驟可以看鳥哥或是網路上其他的教學文
2009年6月18日 星期四
Systemtap on Fedora10
yum --enablerepo=fedora-debuginfo --enablerepo=updates-debuginfo install
kernel-debuginfo
http://sourceware.org/systemtap/wiki/SystemtapOnFedora
打這些指令,再跑助教的兩道測試指令(hello probe & ??? probe),應可以正常work。
記得要有root權限,可換成root帳號或是sudo或su達成。
OS_hw5
我用的OS是Fedora10,gcc是4.3.2,Linux kernel 是2.6.29。
由於kernel 2.6.25以後,kgdb已附在裡面,所以不用下載kgdb和patch,用不到助教投影片給的patch方法,但仍有一些設定需要按照投影片的做法。
其他步驟和舊版本kernel 差不多,請參照其他人寫的舊版本使用方法。
此方法經證實可在2.6.29上使用
感謝yungshin提供方法
0.安裝ncurses-devel
sudo yum install ncurses-devel
1.linux kernel 2.6.25以上 已藏有 kgdb,不用再下載kgdb的source code
輸入make menuconfig,選擇特定選項,啟用kgdb
設定.config檔
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_RODATA=n
2.將host system和 target system 的vm 開啟serial port,做server and client設定
3.host 切為root權限,這步不用在target system上做
make
make modules
make modules_install
make install
4.複製三個重要檔案到target system的 /boot/
vmlinuz-(uname -r)
System.map-(uname -r)
initrd-(uname -r).img
5.修改target system的 /boot/grub/menu.lst
若timeout=0,將它改為五
新增
title Fedora (OOXXkgdb)
root (hd0,0)
kernel /vmlinuz-(uname -r) ro kgdboc=ttyS0,115200 kgdbwait
initrd /initrd-(uname -r).img
5.1
設定target system的kernel.sysrq為一
這樣target就會在開機的時候等host的gdb進來
請vim /etc/sysctl.conf
6.將target system reboot,並把host system 切換到root 權限和linux source
code 的資料夾(自己下載的檔案解壓縮)。
host system 要在target system 重開機時馬上輸入兩行指令
gdb vmlinuz
target remote /dev/ttyS0
7.差不多結束
Reference:
http://blog.linux.org.tw/~jserv/archives/002045.html
http://linux.chinaunix.net/bbs/archiver/tid-1045674.html
http://www.penna.cn/blog/article.asp?id=179
http://bbs.driverdevelop.com/htm_data/12/0807/112490.html
心得:
感謝同學互相幫忙,不然因為新版本核心,不是助教投影片上寫的fedora8,要找的資料很多很雜,很擔心沒有太多時間看資料一個一個方法測試。做的過程當中,重做好幾次,覺得很煩,而且不知道自己做得對不對,因此沒有拍照記錄過程。
期末考
覺得老師講得很抽象,也不知道要考哪邊,os是個天書科目。
唸書時候的心裡狀態
osososososososososososososossoososososososososososososososososososososososososoooooooooooooooooooooooooooooooooooooooooooossssssssssssssssssssssssssooooooooooooossssssssssssssssssooooooooooooossssssssssssssos
考完試的心裡狀態
(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)(~^O^~)
寫完OS部落格,暑假就到了!!
2009年6月14日 星期日
2009年6月12日 星期五
期末project
六月份上OS心得
2009年6月7日 星期日
媒體恐嚇的時代
2009年5月31日 星期日
2009年5月29日 星期五
2009年5月24日 星期日
2009年4月12日 星期日
09年4月7號課程筆記

表一
1010 ==> 10
^^^^
8421
index
0000
0110
0000
1000
^^^^
3210
表二
先說怎麼得到index值
從表二的最上面一列和index的最右邊開始,表二的每一個row對應出index的每個column值,每個index column只能填零或一。
只要表二的row空格有一個值以上是一,對應到的index column值就是一,如果表二的某個row空格全部是零,則對應到的index column值是零。
uC/OSII Schedular 的功用
1.找出最高優先權的task
2.增加一個task
3.刪除一個task
正常來說 schedular 的 time complexity應該是O(lgn),但實際上是O(1),為什麼可以這麼快呢?因為是使用查表加速的!
uC/OSII中task的priority number愈小,代表其優先權愈高。
舉例來說
如果我們想找到最高優先權的task,schedular會怎麼做呢?
以下是找到最高優先權的task之步驟: min(PriorityNumber)
1.將得到的index查表一,從零開始數(0,1,2,3,...etc),可以得到一數字。
2.將它乘以index容量大小,這裡有四個column,所以乘以四。
3.看index最右邊的一出現在表二的哪個row,取得那個row的數字,再查表。
4.得到的數字加上之前算的結果,即得到目前是最高優先權的task。
註:uC/OSII已經限制PriorityNumber的大小,最大的數字是六十四