2008年9月30日 星期二

什麼是作業系統 ??

什麼是作業系統呢 ??
作業系統的英文名稱是:Operating System (簡稱:OS)
作業系統主要的功能是扮演「使用者」與「電腦硬體」之間溝通的媒介。
其目地是提供使用者一些有彈性且可充份利用及控制電腦資源的管理方法。
由使用者對作業系統下命令,作業系統控制硬體,來完成使用者所提出的要求。
所以,作業系統(OS)設置的三個目的是:
(1) 提供一個讓使用者容易使用的介面 (User Interface)
(2) 將系統資源做最大化的利用與分配 (Resource Utilization)
(3) 以及,最佳化硬體的操作 (Optimize utilization of hardware)

作業系統主要分成:「應用程式(Application)」,「系統呼叫(System Call)」與「核心(Kernel)」
應用程式就是我們常常接觸的「圖形操作介面(GUI)」或者是純粹是要輸入指令的環境。
在純粹輸入指令的環境(Command Line)下,我們也常常會自己寫一些工具來使用。
不論是「圖形操作介面」或是我們自己寫的一些工具程式,作業系統都會幫我們將這些
我們想要做的事情,翻譯成電腦硬體可以看得懂的「機械語言」,讓電腦硬體工作。
這些要和硬體溝通的動作,Kernel 都會幫忙我們完成。

Kernel 的主要工作為:
(1) 系統呼叫:讓使用者透過系統呼叫的方式和核心溝通
(2) 行程管理:在多工的環境下,Kernel 需要將各個行程做有效率的分配,以提昇系統的效能
(3) 記憶體管理:每個程式的執行都需要使用到記憶體,所以 Kernel 必需對各個程式所使用的
----記憶體區塊做保護,確保不會受到其他程式的侵犯。
(4) 檔案系統管理:支援資料在寫入系統硬碟的一些 I/O 的動作。若 Kernel 要能夠支援其他的
----檔案系統,則必須要將支援的 filesystem 編譯入 Kernel 中才行。
(5) 裝置的驅動:Kernel 最重要的一項工作就是要驅動電腦的硬體,若電腦硬體沒有辦法驅動,
----則想要做的工作→「一切免談」。這個部份需要裝置開發廠商提供 Device 的驅動程式,
----如此作業系統才能順利的驅動硬體。

C Shell(沒辦法寫function) @@

Bash Shell 和 C Shell 的寫法有些不同。

<變數設定的不同>
(1) Bash Shell
----current_path=`pwd`
(2) C Shell
----set current_path=`pwd`

(1) Bash Shell
----for file_list in `ls /usr/local/lsof`
----do
------echo "file=$file_list"
----done
(2) C Shell
----foreach file_list(`ls /usr/local/lsof`)
------echo "file=$file_list"
----end

這些都不是重點,一些其他 Shell 的用法都可以在很多的網站上找到說明。
可是,我發現怎麼都不到 C Shell function 的用法 ??
也試了很多方法都試不出來 !! 後來在一個論壇看到有人發言說:
「C Shell 沒有 Function 的用法」,這個是真的嗎 ?? 為什麼會這樣 ??
這樣子不是很不方便嗎 ?? 最近因為有需要用 C Shell 寫了一支 Script,可是要用 Function 的時
候,卻怎麼都 Call 不到。都會說 Command Not found !!
還是說,在 Call C Shell function 的時候,有另外特殊的用法 ??

2008年9月29日 星期一

BIOS掛了

這也是之前發生的一個case。
有一天早上突然電腦就沒辦法開機了,唯一可以由電腦發出的訊息知道他有問題的地方就是:
「嗶、嗶、嗶」,然後就出現「BIOS check sum error」的訊息。
不論我怎麼試都不行,不過可以猜測應該是BIOS有什麼問題吧??
沒有辦法,就只好更新BIOS的程式試試。方法如下:

(1) 找到主機板的型號:我的是「A7V400-MX」
(2) 到主機板的廠商網站上去,搜尋BIOS Program。
----我的是ASUS, 到網站上面之後,在Download搜尋「A7V400-MX」、「BIOS」的關鍵字
----就可以找到主機板內BIOS的程式了(070505.bin)
(3) 將這一個BIOS的程式copy到floppy裡面(這一張floppy只能夠有070505.bin這一個程式,
----其他的資料都不可以有)
(4) 將BIOS調成floppy開機,在BIOS還在讀取RAM的資料時,按下「Alt+F2」
----(這個按鍵可能要參考主機板內附的「主機板手冊」),此時,主機板內的AwardBIOS Flash
----程式就會自動更新BIOS程式了。
--> 每種主機板的BIOS更新的方法應該都會有一些些不同,記得參考主機板手冊來操作
----如果怕自己做不好的話,還是送修吧!!
(5) 為了保險啟見,我又用 SPFDisk 重新設定一次 MBR。
(6) 重新開機就 OK 啦 !!

2008年9月27日 星期六

建立免費的「網頁計數器」

連接到下面的英文網頁中,照他所說明的方式,就可安裝新的計數器啦 !!
(1) 連接到 http://www.histats.com/ 這一個網站
(2) 先註冊

(3) 註冊完成之後,就照著他的步驟做選擇,最後將他所提供的網頁「原始碼」copy 到自己
的Blog的網頁原始碼中,然後加入到自己想要加入的地方就行了。
(4) 我的就把他加入到左上角的那一個計數器。
PS:
將他所提供的原始碼中,貼上去之後一直無法正常「預覽」,一直show下面的錯誤訊息:

"我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 XML 元素均已正確關閉。 XML 錯誤訊息: The entity name must immediately follow the '&' in the entity reference."

最後沒有辦法,找到因為下面這一行"&"的關係,造成一直有問題,只好將"&"拿掉,就正常了。
==============================================================
img alt='website statistics' border='0' src='http://s4.histats.com/stats/0.gif?459408&1'/
==============================================================

Windows XP開機很慢

當初在用Windows XP的時候就有發現一個問題,
明明開機都開好了,為什麼會大約有一分多鐘的時間不論按什麼都不會動 ??
碰到這種情形,參考以下步驟就可以讓XP開機的時候,馬上就可以用了 !!
「控制台」、「網路與網際網路連線」、「網路連線」、「在區域網路按右鍵」、「內容」、
「選擇TCP/TP,然後按內容」,然後照著以下的圖片輸入IP就可以啦 !!
需要這樣子設定的原因是因為XP在開機完成的時候,會用區域網路去讀取的IP Address,但是我們是用撥接的方式連線上網的。所以在開機完成的時候,我們尚未做撥接的動作呀 !! 所以才會造成這樣子的問題。

HP pavilion dv5-1001AX 電池有問題

還是記錄一下好了。剛將 Notebook 帶回家的時候,真的還蠻興奮的,
因為這是我擁有的第一台 Notebook。興致沖沖地將 AC 電源接上,將電池充飽電。
(因為剛將 Notebook 帶回家,總是要試試各部份的功能是否有問題吧?!)
結果,結果發現電池在充飽電的情況下,會不定時地自動「斷電」。
有時是在 Operating System 運作的時候,有時是在系統開機過程中,就自動斷電了。
剛開始想說會不會是系統過熱造成的,所以我就試著用 AC 的電源,一直使用電腦。
可是就是很正常,一點問題也沒有 !! 看來是電池有問題啦 !! 我的運氣還真是好咧 !!
後來我就直接去買筆電的門市換了一顆新電池,目前為止,一切正常 !!

Microsoft Vista (IE 開 Java 的網頁會當掉)

最近買了新的 Notebook (HP pavilion dv5-1001AX, 2008/09/17), 想要連線到公司卻經常會在需要用 Java 開啟 VNC 的時候當掉 (完全不會動!! 唉!!)
剛開始以為是防火牆的關係,試著將 Windows & 防毒軟體的防火牆關掉,還是沒有辦法。
最後還是要 Update Java JRE 的版本之後才 OK。(原本的版本是 Java TM 6 Update 5, 後來將他更新到 Java TM 6 Update 7 之後,就全部正常了)
唉,原來是 Java 的 Bug,害我花了那麼多的時間在試防火牆的部份 @@ ……

可以到下面這一個網址抓取最新的 Java JRE 的版本:
http://java.sun.com/javase/downloads/?intcmp=1281