Time of Update: 2018-12-05
新領了一台Dell機器,是ATI的顯卡,在上面使用linux,簡直是太淒慘了。裝了我好幾次機。對於 Ubuntu9.04,安裝盤啟動,GRUB的圖形介面根本看不到,無法安裝。只要安裝fedora10,按正常的安裝方式,花屏,無法進行,幸好,fedora10至少還能正常顯示GRUB菜單,按tab進行編譯,增加"linux
Time of Update: 2018-12-05
文章目錄 CPU的介紹匯流排和介面(Bus and Interface)I/O存貯網路系統監控 這幾天進度比較慢,讀書有些枯燥,開始看第三章:硬體支援。我看了一下第一版的CHM,不知道是不全呢還是第二版豐富了很多。在這章中將被討論沒有MMU的結構,雖然這已經在linux
Time of Update: 2018-12-05
#include <stdint.h>#include <assert.h>#include <stdio.h>#include <pthread.h>#include <unistd.h>#define SPIN_LOCK 1static uint32_t atomic_cmp_set(uint32_t *lock, uint32_t old, uint32_t set){ uint8_t rslt = 0;
Time of Update: 2018-12-05
1、Linux是一個多使用者的作業系統。每個使用者登入系統後,都會有一個專用的運行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境變數的定義。使用者可以對自己的運行環境進行定製,其方法就是修改相應的系統內容變數。 2、常在/etc/profile檔案中修改環境變數,在這裡修改的內容是對所有使用者起作用的。以下主要操作將在該檔案中進行。 3、如何添加環境變數。 例如添加”NAME=liheng“ 。在profile檔案的最後添加如下內容export
Time of Update: 2018-12-05
server.c#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <fcntl.h> /*
Time of Update: 2018-12-05
今天又和珠珠聊天,這次聊的有點遠了,都談到結婚的問題了,不過只是談談哈,以我現在的實力咋敢談婚論嫁嘛~下午我打了幾局魔獸,輸了局,後來很奇怪的,我和珠珠聊天的中間她說他要去洗澡,我就說那我繼續遊戲一局賽,然後她突然說假如我贏了就作我老婆,呵呵~結果是肯定的,我贏了。。。不過這丫頭後來又死不認帳,說那裡有老婆是靠打魔獸贏來的啊不過話雖這麼說,但是你都答應了怎麼可以反悔呢?這個就是做女生的好處了,別個真要是反悔你也沒有辦法的嘛~結果是可以預料的,她賴帳了哈然後她又說,假如我這個軟體能寫出來的話就作我
Time of Update: 2018-12-05
2009-08-11 01:47於百度空間部落格發表,今天移過來 linux核心原始碼學習(1)記憶體映射模式
Time of Update: 2018-12-05
2009-08-13 01:16我發表於百度空間,今天轉過來,呵呵 linux核心原始碼學習(3)關於一些資料結構和一個理解 錯誤
Time of Update: 2018-12-05
linux核心原始碼學習(5)記憶體頁面的換入換出---flyli 關於物理頁面的換入換出,其實其主要的目的也就是當實體記憶體不夠使用的時候,將不常用到的記憶體頁面交換到硬碟上,以保證程式能夠正常運行。 在電腦理論裡面時間資源和空間資源是一對矛盾的論題,我們經常可以見到以時間換空間,或者以空間換時間的演算法,其不可單獨評價那種更好,但是在相應的環境下,總有一種更適合我們。
Time of Update: 2018-12-05
這段時間一直忙著考研的事情,前段時間為了要去北京參加那個央視的大學生機器人大賽,基本是佔用了我所有的時間,我做得是程式設計工作,用的是windows平台,因為這裡地震了,為了能夠參加比賽,必須使用自己成熟的技術,所以為了這個目的,我們的機器人用的是成熟的技術,我為此寫了個機器人的虛擬平台,可以模擬機器人在賽場上的運行狀態,感覺效果還是不錯,可惜的是因為種種原因我們只進了八強,而沒能取得更好的成績,現在比賽完了,有時間了,決定考研,我想的是留校讀研,我們的學校是西南科技大學,雖然研究生教育外界評價
Time of Update: 2018-12-05
一、使用者管理 1、查看使用者帳號檔案 /etc/passwd 2、shadow /etc/shadow 3、添加使用者 $ useradd 用法:useradd -o -g 0 -u 0 使用者名稱 4、使用passwd命令初始設定使用者口令 用法:passwd
Time of Update: 2018-12-05
尋找目錄中檔案的字串 grep -n \"str\" -r ./ 這是尋找目前的目錄下以及下轄子目錄下所有包含str字串的檔案 如何用grep在本目錄及其所有的子目錄下的檔案裡面尋找字串abc? grep -R abc * 要找隱藏檔案,可以: grep -R abc * .* find ./ -type f|xargs grep abc 以前寫的一個小指令碼,不過沒用grep,不知是否合lz用 #!/bin/bash
Time of Update: 2018-12-05
繼續努力,開始學習第二章:基本概念。 對於嵌入Linux,需要先熟悉Linux系統,有很多,也將有更多的Linux系統,因此不要限制與某個單一的類型。目前最大的三個是RedHat,Novell(SLES)和ubuntu。如果我們選擇流行的Linux版本作為開發平台(可以選擇windows或者Unix作為workstation),一般基於Eclipse的映像開發環境。
Time of Update: 2018-12-05
在Linux中,GCC是一個常用的編譯工具。不過gcc編譯的時候有很多特殊的參數的,比如編譯成動態連結程式庫什麼的,這裡我想提一下如何利用gcc的警告功能來提高代碼編寫品質。
Time of Update: 2018-12-05
toolchain這個詞不好翻譯,姑且譯為工具鏈。O'Reilly建議,即使我們的開發機和target是相同的結構(例如都是x86),仍然建議使用通用的工具鏈作為跨平台的開發環境,不使用在開發機上內建的工具鏈,這是為了保證工具鏈和特定的工作站環境無關,使得工作站軟體升級後不會引起在我們的嵌入式應用崩潰,另外可以使用一些針對target的更好的更有效工具,例如另一個新的C庫。有一些廠家提供嵌入式Linux包的同時也提供了開發環境,另一些硬體廠家也提供基於他們的工具鏈。有一種方式是使用Eclips的
Time of Update: 2018-12-05
Linux中的hostname設定相對來說是比較簡單的,不過需要配置好幾個地方。 首先需要切換到root使用者下,然後編輯/etc/sysconfig/network檔案,比如內容如下 NETWORKING=yes HOSTNAME=myhostname 下面我們把myhostname改正過來,改成想要的hostname就可以了,比如newhostname。
Time of Update: 2018-12-05
由於ubuntu是新裝的,有一些問題,也記錄如下:1、安裝中文軟體包:System->administration>language setting, to recover chinese language package2、安裝IME,IBUS的有問題,改為SCIM刪除IBus的輸入方,載入scim-pinyin3、Empathy有問題,apt-get install pidgin對於MSN,由於認證修改,需要重新下載cd ~/.purple/certificates/x509
Time of Update: 2018-12-05
在Linux中,我們可以通過top命令查看系統狀況,以及每一個進程的具體狀況。不過另外也可以利用vmstat命令查看到一些另外的資訊。 vmstat命令可以查看memory情況,swap使用方式,io使用方式,CPU以及一些其他System的狀況。以上的每個大類都有好幾個小條目可以查看。比如memory大類中,可以看到現在空餘多少memory,還有多少緩衝什麼的。CPU也可以看到使用了多少。多少在空閑著。
Time of Update: 2018-12-05
使用交叉編譯環境 建立好自己的交叉編譯環境,就可以進行kernel的編譯。這部分也是對O'Reilly的《Building Embeded Linux System》的第五章的一個實踐。我們仍使用moblin作為例子。他已經為kernel提供了config檔案的例子。對於menlow,需要將config-generic和config-menlow進行合并。可以在generic的基礎上,通過手工根據menlow的配置來改動,也可以使用moblin提供的merge.pl,merg.pl
Time of Update: 2018-12-05
這是linux中一個非常重要命令,請大家一定要熟悉。它的功能是為某一個檔案或目錄在另外一個位置建立一個同步的連結,類似Windows下的超級連結。這個命令最常用的參數是-s,具體用法是:sudo ln -s 源檔案 目標檔案 舉例:目前的目錄是/local,而我經常要訪問/usr/local/linux/work那麼我就可以使用在local下建立一個檔案linkwork,然後sudo ln -s /usr/local/linux/work /local/linkwork即建立兩者之間的連結。