顯示具有 作業 標籤的文章。 顯示所有文章
顯示具有 作業 標籤的文章。 顯示所有文章

2010年1月18日 星期一

童年的消逝 讀書心得

對這本書有興趣的讀者,可以翻翻我的部落格之前的文章,有一篇談論此書的內容。嚴格算起來,這篇不算是(二),因為不像那篇的用意,是打算整理一章一章的重點。此篇用意純粹是發表個人心得和當成作業的備份XD,有些內容會和(一)相同,我想,我引用我自己的文章,應該不犯法吧? :p

作者從歷史文化演進觀點,敘述童年的概念從無到有,在近代電報、電視發明之後又逐漸消失。

童年,是一種相對概念。作者解釋古人的資料,認為成年是人要有羞恥心之後,才開始算的,因此,可以推論,童年是自覺尚未有羞恥心的階段。有羞恥心之後,才會有所謂成人的秘密。還記得嗎?小時候當你問長輩某些問題時,他們會說:「等妳長大以後就知道了。」,類似這類言語。成人的秘密不只是情色部分,還包括社會利益的衝突、人際關係的矛盾...etc。

作者提到歐洲黑暗時代的時候沒有童年的概念,大約十二三歲就被視為大人,那時成年人會在十二三歲以下的小孩面前講粗話、彼此調戲,尤而甚者,甚至會在眾人面前玩弄小孩的生殖器官取樂,並不會因小孩在前而克制自己言語行為。這些章節讓我想到之前網路討論很熱烈的一本書:《令人戰慄的格林童話》。《令人戰慄的格林童話》此書呈現最初版本的格林童話,裏面很多殘酷、血腥和性愛描述,我不禁猜想裡面的故事背景很有可能比黑暗時代更早,也是一個沒有童年概念的時代。


印刷術發明後才發展的童年概念,從發明電報之後開始削減,尤其是創立電視媒體,童年的概念消逝得更快,我想這應該跟「新自由主義」興起有關吧。新自由主義是解放原本的管制,譬如解除報禁、主張政府組織應由大政府變成小政府,讓人民有權做更多決定、...etc。當時贊成新自由主義的人,非常期待各種制度變成新自由主義的形式,但是自金融海嘯後,各國決議未來將逐步控管各種措施,顯示新自由主義不是萬靈丹,可能重回以往各種繁複的規定。

以往的措施,例如反對管制、反對權威:修改商業制度讓政府對商業的管控變小,修改集會結社和傳播法規,讓各種言論百家爭鳴。很多言論用很多種方式,例如電影和廣告,促使人們認為,大人和小孩是沒有差別的,只要你願意,不分大人小孩,應該做某某企業在廣告中希望你做的事。例如廣告,企業委託媒體強力放送的廣告,為了讓企業獲利率一直成長、吸引更多人購買,近來已不區分大人和小孩。因此,社會已有「大人幼稚化」和「小孩大人化」的現象,這些現象,書上舉了一些例子,有興趣可以翻翻看。

我認為幾年前,女子團體S.H.E.出的一張專輯「不想長大」,應該能反映即將到達人生的一個里程碑的人們,想繼續享受權利卻又不想負擔伴隨而來的義務之心聲。


目前為了讓童年的概念能繼續存在,父母對於大眾傳播媒體,似乎只有作者所說的方法能做:「第一,限制子女暴露在媒體面前的數量。第二,仔細地監督媒體內容,並持續提供他們對媒體內容和價值的批評。」以我個人之前聽過的經驗,有些家庭會不買電視機,他們不是買不起,而是覺得電視內容沒營養,不值得一看。有些家長會以書櫃代替五斗櫃,家裡擺上幾個小書櫃,讓小孩多看書,不看電視不僅省電費,也能讓小孩多多念書,從書本了解多元且深入的思想。

實施這種方法,讓小孩能像古代印刷術發明後如當時人一樣,擁有抽象思考的能力和了解不同文化。

2009年6月19日 星期五

OS_hw6

●完成目標

1.以創立thread方式改寫原程式碼以forklocalhost傳送和接收訊息,並加上傳遞和接收檔案之功能。

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,分別執行SendListen function

Send function使用創立的socket,可以送訊息,也可以送檔案。送檔案時必須先告訴對方檔案大小和名稱,所以會用到GetFileLength function。同時因為使用系統的write function,所以要將檔案大小unsigned long 型態轉換成string,才能傳,此時就需要Unsigned long to string function

Listen function使用創立的socket,可以收訊息,也可以收檔案。收檔案時對方會告訴自己檔案大小和名稱,會使用系統的read function,如果同意則開始收,即收即寫入本地端同名的檔案;若不同意則雙方回到一般傳訊息模式。

Send functionListen function送收檔案時,是採用送訊息的方式,所以和一般送純文字訊息一樣。

●測試方式

1.使用ServerClient所在資料夾的make重新編譯程式,輸入make即完成編譯和呼叫程式之動作。

2.傳送訊息:

2.1server端輸入欲傳送之訊息,並查看client端是否收到。

2.2client端以同樣方法傳送訊息,並查看在server端是否收到。

3.傳送檔案:

在任意一端(ClientServer),輸入SendFile:[yourfile],即可詢問對方是否要接收檔案,例如要傳送壓縮檔內的測資mainpage.htm,請輸入SendFile:mainpage.htm

如同意接收,接收端必須回答兩次yes才能接收檔案,發送端才開始傳資料;若不同意接收,則雙方回到傳訊息模式。

如欲終止程式,請按ctrl+c,即可結束程式。

OS_hw2

想快快樂樂裝作業要求的四個server(sshd,httpd,vsftpd,samba)之前,要先將SELinuxLinux的防火牆關掉,不然會遇到很多奇怪的問題,做起來會覺得特別辛苦。會這麼做的原因是真的遇到很奇怪的問題,而網路上提供給初學者的解法是將這SELinuxLinux的防火牆服務停用。

因為這只是在虛擬機器上做,所以將防火牆和SELinux關掉應該是無傷大雅的。

裝了這些服務之後,覺得自己的電腦也可以

提供眾多的服務,感覺很棒。過程中,遇到問題查網路上的解決方法,順便了解如何操作Linux,雖是粗淺的摸索,亦令我滿足,很有成就感。

剩下的步驟可以看鳥哥或是網路上其他的教學文

2009年6月18日 星期四

OS_hw5

此用於kernel 2.6.25以上,略過部分步驟,例如要clone host system for producing target system


我用的OSFedora10gcc4.3.2Linux kernel 2.6.29

由於kernel 2.6.25以後,kgdb已附在裡面,所以不用下載kgdbpatch,用不到助教投影片給的patch方法,但仍有一些設定需要按照投影片的做法。

要先對目前的Fedoraclone,然後到linux網站下載2.6.29kernel,要打開target systemyield CPU on pollVMTargethost都要設定serial port,一個設client,一個設server


其他步驟和舊版本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,要找的資料很多很雜,很擔心沒有太多時間看資料一個一個方法測試。做的過程當中,重做好幾次,覺得很煩,而且不知道自己做得對不對,因此沒有拍照記錄過程。