Time of Update: 2018-12-04
知識預熱:(知識參考鳥哥的私房菜) 先來回顧下MBR的作用:MBR中內含主引導程式,他可以根據分區表把作業系統的核心鏡像從硬碟的指定位置載入到記憶體中來,總結,主引導程式提供的功能有: (1)提供菜單,為使用者提供不同的啟動項目 (2)載入核心檔案,根據選中的啟動項目,進入指定的程式區,啟動作業系統 (3)把控制權轉移給其他的loader====================================================================
Time of Update: 2018-12-04
在MBR(主引導記錄)的第446bytes~509bytes處儲存的是DPT(硬碟分區表,Disk partition table),這個分區表中只能記錄4個表項,且 (1)它能記錄的只能是主要磁碟分割和擴充分區兩種類型的表項。 (2)這4個記錄可以是4個主要磁碟分割,0個擴充分區;也可以是3個主要磁碟分割,1個擴充分區;我想說的是,在MBR中的DPT中,主要磁碟分割可以有1~4個,而擴充分區只能有1個
Time of Update: 2018-12-04
一、預熱: 1、gcc是GNU推出的一款基於linux系統的編譯器,gcc可以編譯的程式有:c、c++,組譯工具, 2、在linux系統下,檔案是否可執行不是由檔案名稱尾碼來決定,而是由檔案的屬性(-x)來決定; 3、gcc是通過檔案名稱尾碼來區別輸入檔案的類別,eg: (1)、“.c”
Time of Update: 2018-12-04
一、雞肋部分: 1、GDB是GNU推出的一款基於linux的程式調試工具,GDB主要完成的工作有:(1)啟動被偵錯工具(2)讓被調試的程式在斷點處停住(3)在斷點處停住後,可以查看當前程式狀態,eg:當前變數的值二、使用gdb的方法(下面的步驟不能變) 1、在用gcc命令編譯器的時候,要增加 -g 選項, eg:gcc -g test.c -o test 2、啟動gdb, gdb
Time of Update: 2018-12-04
一、proc檔案系統概述 1、proc檔案系統是 核心 和 使用者 互動的一種機制;通過proc檔案系統,可以下使用者態下查看linux核心的一些狀態,也可以通過proc檔案系統對核心做一些配置 比如: 通過 /proc/meminfo,查詢記憶體使用量的情況二、proc檔案/子目錄 介紹 1、apm : 進階電源管理資訊 2、bus : 匯流排以及匯流排上的裝置 3、devices
Time of Update: 2018-12-04
一、核心記憶體配置 1、與應用程式中的malloc函數相對,在Linux核心中,通常使用kmalloc來動態分配記憶體 (1)原型: void * kmalloc(size_t size,int flags); (2)參數: i、size:要分配的記憶體大小
Time of Update: 2018-12-04
一、ioctl 的功能 1、大部分驅動除了需要具備讀寫裝置的能力之外,還需要具備對硬體控制的能力。例如:改變裝置的傳輸速率,要求裝置報告錯誤資訊,這些操作常常是通過ioctl 方法來實現的。二、ioctl 使用方法 1、在使用者空間,使用 ioctl 系統調用來控制裝置,函數原型如下: int ioctl ( int fd, unsigned long cmd, 【...】 ); 註:參數列表中的
Time of Update: 2018-12-04
文章目錄 1、核心中如何描述裝置號?2、如何從 dev_t 中分解出主裝置號3、如何從dev_t 中分解出次裝置號4、如何分配主裝置號?5、登出裝置號1、手工建立 1、struct File2、struct inode3、struct file_operations1、字元裝置的註冊可分為3個步驟:2、裝置分配方法: cdev_alloc3、裝置初始化方法:cdev_init4、裝置添加方法:cdev_add1、 int (*open)(struct
Time of Update: 2018-12-04
一、度量時間差 1、在Linux核心中有一個常數”HZ“,HZ是一個與體繫結構無關的常數。它用來配置系統每秒鐘產生多少次中斷,取值範圍是50-1200(表示每秒鐘產生50次到1200次中斷),X86平台下預設值是1000。 2、全域變數 jiffies (unsigned long)。每當時鐘中斷產生時,全域變數jiffies就加1,因此jiffies記錄了自linux啟動後時鐘中單產生的次數。驅動程式常利用jiffies來計算不同事件間的時間間隔。二、核心定時器:
Time of Update: 2018-12-04
一、進程4要素 1、有一段程式供其執行。這段程式不一定是某個進程專用,可以和其他進程共用 2、有進程專用的核心空間堆棧 3、在核心中有一個 task_struct 資料結構(實際上就是PCB 進程式控制制塊) 4、有獨立的使用者空間PS. Linux系統中 進程、使用者線程、核心線程 的辨析:(記住這個圖就好)二、進程描述 1、在Linux中,線程、進程都是用 struct task_struct
Time of Update: 2018-12-04
一、調度的學習方法 1、調度策略(憑什麼選這個進程使用cpu) 2、調度時機(什麼時候) 3、調度步驟(怎樣調度)二、Linux調度策略(在Linux系統中,每個進程都有自己的調度策略,整個系統的調度策略並不是唯一的): 1、SCHED_NORMAL(SCHED_OTHER) : 普通的分時進程 2、SCHED_FIFO :時間片輪轉的即時進程 3、SCHED_RR :時間片輪轉的即時進程 4、SCHED_BATCH :
Time of Update: 2018-12-04
一、核心空間 核心空間是由核心負責映射,它並不會跟著進程改變,是固定的。二、高端記憶體:實體記憶體地址超過896M以上的記憶體,我們就稱之為高端記憶體三、核心空間分布圖(1)核心空間的位址範圍位於虛擬位址的 3G-4G位置處,大小為1G。(2)直接映射區(Direc Memory Regiont):之所以稱之為直接映射區是因為,該地區的線性地址和物理地址之間存線上性轉換關係:線性地址 = 3G + 物理地址; Eg: 物理地址區間
Time of Update: 2018-12-04
正當Windows 7 開始熱賣的時候,正當廣大北美使用者抱怨Windows 7的銷售價格,在東方要比西方便宜很多的時候。我們著名的LinusTorvalds來到了日本東京的一個軟體商店裡“慶祝Windows 7的Release”,難道他是去那裡買一份便宜的Windows 7?Linus Torvalds, 圖片來自一個未經確認的 Yodobashi 商店,Tokyo, Japan. 來源: Jim Zemlin/The Linux Foundation(點擊看大圖)這個圖片目前還沒有新聞報道,
Time of Update: 2018-12-04
一、前言我在這裡運用簡單的文字向同學們介紹如何在Linux作業系統下完成對Symbian系統的一些操作,這裡講的內容適用於同是採用塞班系 統的UIQ系以及S60系(含S60v5!)平台。另外,我在這裡要鄭重說明的是,塞班公開了這些工具的原始碼,這裡講的內容也同樣適用於 FreeBSD、Mac OSX等等Unix家族作業系統。同時,藉助Wine相同程式的最新版本在Wine可支援的作業系統上同樣可以工作的很好。在這篇文章中,我將向大家介紹
Time of Update: 2018-12-04
這裡只說明一些常用參數,自己不常用的這裡忽略,tar是一個集打包\解包\壓縮\解壓於一體的命令。用法:tar [選項···] [檔案]···GNU ‘tar’將許多檔案一起儲存至一個單獨的磁帶或磁碟歸檔,並能從歸檔中單獨還原所需檔案。常用樣本:tar -cf archive.tar foo bar #從檔案foo bar建立歸檔檔案 archive.tar.tar -tvf archive.tar #詳細列舉歸檔檔案archive.tar中的所有檔案。tar -xf archive.tar#展開
Time of Update: 2018-12-04
在discuzx2.5 綁定qq的時候老是報網路錯誤,但是網域名稱那些解析或者ping都能通,後來查過網路發現是系統時間問題.linux 同步時間後,搞定,但是第二天在用qq登入的時候發現又包同樣的錯誤.用date命令查看.又跟電腦時間晚了很多分鐘...於是就搞了下面這個shell指令碼實現時間自動同步.首先需要設定一台區域網路的NTP時間伺服器 這裡用的是pool.ntp.org在root目錄先建立個 updatetime.shvi
Time of Update: 2018-12-04
我們在調試硬體板時,經常需要做多個jffs2的根檔案系統映像,有時也要對比其他途徑得到的可用的jffs2根檔案系統映像。但jffs2的檔案系統映像不象光碟片的映像檔案一樣可以通過loop裝置來掛載,總不可能一個個燒錄到硬體板去看吧。後來到網上google了一把,左翻右翻之後總算找到了一個方法。因為jffs2是構建於MTD裝置上的檔案系統,所以無法通過loop裝置來掛載,但是可以通過mtdram裝置來掛載。mtdram是在用RAM實現的MTD裝置,可以通過mtdblock裝置來訪問。使用mtdra
Time of Update: 2018-12-04
目前一些常見的壓縮檔副檔名:*.Z:compress程式壓縮的檔案;(已經過時)*.bz2:bzip2程式壓縮的檔案;*.gz:gzip程式壓縮的檔案;*.zip*.tar:tar程式打包的資料,並沒有壓縮過;*.tar.gz:tar程式打包的檔案,並沒有壓縮過;*.tar.bz2gzip [-cdt#] 檔案名稱-c : 將壓縮的資料輸出到螢幕上,通過資料流重導向來處理。-d : 解壓縮的參數-t : 檢驗壓縮檔的一致性-# :壓縮等級,1最快,9最慢,預設6例:gzip
Time of Update: 2018-12-04
時間:2010-01-19 02:58來源:www.ibm.com/developerworks 作者:秩名 Linux 2.6.25中的select系統調用主要有4個函數,層層分工明確: sys_select:處理時間參數,調用core_sys_select。 core_sys_select:處理三個fd_set參數,調用do_select。 do_select:做select/poll的工作。在合適的時機把自己掛起等待,調用sock_poll。
Time of Update: 2018-12-04
From:http://www.jepstone.net/blog/2003/08/14/connecting-to-gprs-over-bluetooth-on-linux/ These are the notes I took to get this working today. I’ll update it if Ilearn anything new, because as with everything, there’s probably an easier wayto do