Linux應用開發(十三):Linux網路編程

     1、Socket有三種類型:          (1)流式通訊端:SOCK_STREAM。                   流式通訊端使用TCP協議,可以提供可靠的、連線導向的通訊流。          (2)資料通訊端: SOCK_DGRAM。                   資料通訊端使用UDP協議,定義了一種不需連線的服務          (3)原始通訊端:SOCK_RAW。                 

Linux基礎(三):多重開機

知識預熱:(知識參考鳥哥的私房菜)    先來回顧下MBR的作用:MBR中內含主引導程式,他可以根據分區表把作業系統的核心鏡像從硬碟的指定位置載入到記憶體中來,總結,主引導程式提供的功能有:    (1)提供菜單,為使用者提供不同的啟動項目    (2)載入核心檔案,根據選中的啟動項目,進入指定的程式區,啟動作業系統    (3)把控制權轉移給其他的loader====================================================================

Linux核心驅動(一):2、Linux核心配置與編譯

一、Linux配置與編譯       Linux具有可定製的優點,具體步驟如下:       1、清除臨時檔案、中間檔案和設定檔             (1)make clean  :  刪除大部分產生的檔案,但是保留設定檔             (2)make mrproper  :  刪除全部產生的檔案和設定檔             (3)make distclean  :  在make mrproper基礎上再刪除編輯器的補丁和備份檔案       2、確定目標系統的軟硬體設定情況,

Linux基礎(四):硬碟分區編號規則

           在MBR(主引導記錄)的第446bytes~509bytes處儲存的是DPT(硬碟分區表,Disk partition table),這個分區表中只能記錄4個表項,且       (1)它能記錄的只能是主要磁碟分割和擴充分區兩種類型的表項。       (2)這4個記錄可以是4個主要磁碟分割,0個擴充分區;也可以是3個主要磁碟分割,1個擴充分區;我想說的是,在MBR中的DPT中,主要磁碟分割可以有1~4個,而擴充分區只能有1個     

Linux應用開發(一):gcc 編譯器

一、預熱:        1、gcc是GNU推出的一款基於linux系統的編譯器,gcc可以編譯的程式有:c、c++,組譯工具,        2、在linux系統下,檔案是否可執行不是由檔案名稱尾碼來決定,而是由檔案的屬性(-x)來決定;        3、gcc是通過檔案名稱尾碼來區別輸入檔案的類別,eg:                (1)、“.c”

Linux應用開發(二):gdb程式調試工具的使用

一、雞肋部分:   1、GDB是GNU推出的一款基於linux的程式調試工具,GDB主要完成的工作有:(1)啟動被偵錯工具(2)讓被調試的程式在斷點處停住(3)在斷點處停住後,可以查看當前程式狀態,eg:當前變數的值二、使用gdb的方法(下面的步驟不能變)   1、在用gcc命令編譯器的時候,要增加  -g  選項,       eg:gcc -g test.c -o test   2、啟動gdb,       gdb

Linux應用開發(九):訊號通訊

一、常見訊號:    1、SIGHUP:從終端上發出的結束訊號    2、SIGINT:來自鍵盤的中斷訊號,ctrl+c    3、SIGKILL:該訊號將結束接受訊號的進程    4、SIGTERM:kill命令發出的訊號    5、SIGCHLD:標示子進程停止或結束的訊號    6、SIGSTOP:來自鍵盤ctrl+z或偵錯工具的停止執行訊號二、訊號發送:    1、發送訊號的主要函數有 kill 和 raise       1.1、區別:       

Linux核心驅動(一):3、Linux模組

一、模組功能        1、核心模組編程與Linux應用開發的區別:              (1)核心模組編程中,沒有main函數  (2)核心模組編程用中,我們用printk來列印,不用printf        2、核心模組程式的程式結構              (1)模組載入函數(必須):安裝模組時被系統自動調用的函數,通過  module_init(xxx)  宏來指定              (2)模組卸載函數(必須):卸載模組時被系統自動調用的函數,通過  module_

Linux核心驅動(二):1、交叉工具鏈

一、交叉工具鏈        什麼是交叉工具鏈:交叉工具鏈是運行在宿主機(你做開發時用的機子)上的程式,只有通過交叉工具鏈編譯後的應用程式才能在目標機上運行,否則直接使用gcc編譯後的的程式只能在x86上運行二、安裝交叉工具鏈      步驟:              1、解壓工具鏈到某一目錄下,例:                    tar  xvzf  arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz -C /                      

Linux應用開發(十):訊息佇列

一、雞肋    1、訊號通訊,能夠傳送的資訊量有限。管道通訊,則只能傳送無格式的位元組流。這都無疑會給應用程式的開發帶來不便。    2、訊息佇列(又叫報文隊列),則客服了這些缺點。       訊息佇列就是一個訊息的鏈表。可以把訊息看作是一個記錄,具有特定的格式。       寫進程可以向其中按照一個的規則添加訊息;讀進程則可以從訊息佇列中讀訊息;注意:和管道一樣,當讀進程從訊息佇列中讀走一個訊息後,該訊息會從訊息佇列中刪除    3、訊息佇列的分類:     

Linux應用開發(十一):訊號量

一、雞肋     1、訊號量,與其他處理序間通訊方式不同,主要用途是(1)進程互斥(保護臨街資源)(2)進程同步(進程合作)     2、2值訊號量:訊號量的取值只能是0和1,類似於互斥鎖。這裡說類似,是因為訊號和互斥鎖的區別在於:        (1)號誌強調共用資源,只要共用資源可用,其他進程同樣可以修改訊號量的值。        (2)互斥鎖強調進程,佔用資源的進程使用完資源後,必須有本進程來解鎖   

Linux核心驅動(二):2、uboot

一、uboot的目錄結構:              1、Board ,和開發板有關的檔案              2、Common,實現uboot支援的命令              3、CPU,與處理器相關的代碼              4、Disk,對磁碟的支援              5、Doc,文檔目錄              6、Drivers,uboot支援的裝置驅動程式都放在該目錄              7、Fs,檔案系統的支援             

Linux核心驅動(五):4、proc檔案系統

一、proc檔案系統概述         1、proc檔案系統是  核心  和   使用者  互動的一種機制;通過proc檔案系統,可以下使用者態下查看linux核心的一些狀態,也可以通過proc檔案系統對核心做一些配置              比如:  通過 /proc/meminfo,查詢記憶體使用量的情況二、proc檔案/子目錄  介紹       1、apm   :  進階電源管理資訊       2、bus : 匯流排以及匯流排上的裝置       3、devices

Linux應用開發(十二):多線程編程

一、雞肋:       1、線程理論基礎             (1)引入線程的原因:                        Linux系統下,啟動一個新的進程,必須分配給它獨立的地址空間,建立眾多的資料表來維護它的程式碼片段、堆棧段,所以這種多任務的工作方式開銷非常大              (2)多線程的優點:                       i、線程間切換的開銷遠小於進程間切換,據統計,差距在30倍左右                     

Linux核心驅動(四):1、進程地址空間

一、核心記憶體配置        1、與應用程式中的malloc函數相對,在Linux核心中,通常使用kmalloc來動態分配記憶體                 (1)原型: void  *  kmalloc(size_t size,int flags);                 (2)參數:                                     i、size:要分配的記憶體大小                                   

Linux核心驅動(六):1、裝置控制—ioctl

一、ioctl   的功能       1、大部分驅動除了需要具備讀寫裝置的能力之外,還需要具備對硬體控制的能力。例如:改變裝置的傳輸速率,要求裝置報告錯誤資訊,這些操作常常是通過ioctl 方法來實現的。二、ioctl  使用方法       1、在使用者空間,使用  ioctl  系統調用來控制裝置,函數原型如下:              int  ioctl (  int fd, unsigned long cmd, 【...】 );              註:參數列表中的

Linux核心驅動(四):4、Linux核心定時器

一、度量時間差        1、在Linux核心中有一個常數”HZ“,HZ是一個與體繫結構無關的常數。它用來配置系統每秒鐘產生多少次中斷,取值範圍是50-1200(表示每秒鐘產生50次到1200次中斷),X86平台下預設值是1000。         2、全域變數 jiffies (unsigned long)。每當時鐘中斷產生時,全域變數jiffies就加1,因此jiffies記錄了自linux啟動後時鐘中單產生的次數。驅動程式常利用jiffies來計算不同事件間的時間間隔。二、核心定時器:

Linux基礎(一):linux的版本號碼

Linux核心版本有兩種:穩定版和開發版 ,Linux核心版本號碼由3組數字組成:第一個組數字.第二組數字.第三組數字第一個組數字:目前發布的核心主要版本。第二個組數字:偶數表示穩定版本;奇數表示開發中版本。第三個組數字:錯誤修補的次數。 #查看核心版本資訊:2:代表主要版本號;6:代表此版本號碼,偶數為穩定版本,奇數為開發版本;18:代表修訂版本;el:Enterprise Linux ,代表企業版linux。

Linux核心驅動(五):1、Linux進程式控制制

一、進程4要素        1、有一段程式供其執行。這段程式不一定是某個進程專用,可以和其他進程共用        2、有進程專用的核心空間堆棧        3、在核心中有一個 task_struct 資料結構(實際上就是PCB 進程式控制制塊)        4、有獨立的使用者空間PS.  Linux系統中 進程、使用者線程、核心線程 的辨析:(記住這個圖就好)二、進程描述       1、在Linux中,線程、進程都是用  struct  task_struct

Linux核心驅動(五):2、Linux進程調度

一、調度的學習方法       1、調度策略(憑什麼選這個進程使用cpu)  2、調度時機(什麼時候)  3、調度步驟(怎樣調度)二、Linux調度策略(在Linux系統中,每個進程都有自己的調度策略,整個系統的調度策略並不是唯一的):       1、SCHED_NORMAL(SCHED_OTHER)  : 普通的分時進程        2、SCHED_FIFO :時間片輪轉的即時進程        3、SCHED_RR :時間片輪轉的即時進程        4、SCHED_BATCH :

總頁數: 4065 1 .... 468 469 470 471 472 .... 4065 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。