一、管道由函數pipe建立,只能提供單向的資料傳遞的資料傳送。格式:#include <unistd.h>int pipe(int fd[2]);fd為兩個檔案描述符:fd[0]用來讀,fd[1]用來寫。1.父子進程的單向通訊方式如: 一個進程建立一個管道——>派生一個自身的拷貝——>父進程關閉管道的讀出端,子進程的寫入端關閉(中的虛線)——>父子進程就建立了單向通訊了。2.父子進程的雙向通訊方式如: 建立管道1(fd1[0],fd1[1])和管道2(fd2[0],
管道只能用於在同一祖父進程建立的進程間進行通訊,FIFO(先進先出)類似於管道,也只能單向傳遞資料流。不過每個FIFO都有一個路徑名與之關聯,這就允許無親緣關係的進程間可以實現通訊。FIFO也稱有名管道。FIFO由mkfifo函數建立。#include <sys/types.h>#include <sys/stat.h>int mkfifo(const char *pathname, mode_t
由於這一章主要是介紹性的東西,我就不多說了。下面摘抄下網上的介紹吧!【註明】轉載地址:http://www.cnblogs.com/hill/archive/2006/10/12/527499.html中國移動、中國聯通推行的GPRS網路、CDMA網路已覆蓋大量的地區,通過無線網路實現資料轉送成為可能。無線Modem採用GPRS、CDMA模組通過中國移動、中國聯通的GPRS、CDMA網路進行資料轉送,並通TCP/IP協議進行資料封包,可靈活地實現多種裝置接入,工程安裝簡單,在工業現場資料轉送的應
好久沒有看那Linux網路編程這本書了,今天看到了重點部分—TCP通訊端。下面先來看看通訊端的地址結構Linux系統的通訊端可以支援多種協議,每種不同的協議都是用不同的地址結構。在標頭檔<linux/socket.h>中有一個這樣的老式結構(現在一般不使用這個結夠了)。struct sockaddr{ unsigned short sa_family; //通訊端的協議簇地址類型,TCP/IP協議對於IPv4地址類型為AF_INET char
建立管道的函數:#include <unistd.h>int pipe(int pipefd[2]); pipefd[0]代表管道讀出端的檔案描述符,pipefd[1]代表管道寫入端的檔案描述符。資訊只能從pipefd[0]讀出,也只能重pipefd[1]寫進。所以實現的通訊就是單項的,如果要實現雙向通訊的話可以採用建立兩個管道。不過也可以使用通訊端通訊。因為通訊端的通訊是雙向的。 建立管道的例子:#include <sys/wait.h>#include
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 電腦實際上可以做的事情實質上非常簡單,比如計算兩個數的和,再比如在記憶體中尋找到某個地址等等。這些最基礎的電腦動作被稱為指令
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 典型的UNIX系統都支援一個進程建立多個線程(thread)。在Linux進程基礎中提到,Linux以進程為單位組織操作,Linux中的線程也都基於進程。儘管實現方式有異於其它的UNIX系統,但Linux的多線程在邏輯和使用上與真正的多線程並沒有差別。 1.
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 檔案用於資料的儲存,相當於一個個儲存資料的房子。我們之前說,所謂的資料是0或者1的序列,但嚴格來說,Linux以位元組(byte)來作為資料的單位,也就是說這個序列每八位(bit)為一個單位(八位二進位對應的十進位範圍為0到255)。使用ASCII編碼,可以將這樣一個位元組轉換成為字元。所以,在Linux中,我們所說的資料,完全可以用字元表達出來,也就是說文本(text)的形式。
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 電腦開機是一個神秘的過程。我們只是按了開機鍵,就看到螢幕上的進度條或者一行行的輸出,直到我們到達登入介面。然而,電腦開機又是個異常脆弱的過程,我們滿心期望的登入介面可能並不會出現,而是一個命令列或者錯誤資訊。瞭解電腦開機過程有助於我們修複開機可能出現的問題。 1) 最初始階段:當我們開啟電腦電源,電腦會自動從主板的BIOS(Basic Input/Output
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 在瞭解了Linux檔案管理背景知識之後, 我們可以學習一些命令來管理我們的檔案。 1. 檔案操作相關有一些命令可以協助我們"修剪"之前看到的檔案樹。$touch
作者:Vamei 出處:http://www.cnblogs.com/vamei
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 我在這一系列文章中試圖去描述Linux的基本概念。Linux是繼承自UNIX的作業系統。一個作業系統是一套用於控制和使用電腦的軟體。但這套軟體是通過一個嚴密的哲學體系設計的。我在這裡側重於Linux的機制。這並不是一份完整的Linux教程或者參考手冊,這裡的講解更重視宏觀上的邏輯,而並不深入具體的細節和命令
作者:Vamei 出處:http://www.cnblogs.com/vamei
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! Linux的命令是很重要的工具,也往往是初學者最大的瓶頸。有朋友用了很長時間的Linux圖形介面,基本不使用命令列輸入命令執行,所以裝的Linux最終成了擺設。這裡總結一些命令列下常使用的命令,希望能有用。 1. 什麼是命令我們通常所說的Linux命令列是運行在終端(terminal)的shell
以下函數為不帶緩衝的I/O(unbuffered I/O)函數對於核心而言,所有開啟的檔案都由一個非負整數描述(稱為檔案描述符)。下面介紹下檔案I/O函數:(1)open此函數為開啟或建立一個檔案。成功則返迴文件描述符;失敗則返回-1。格式:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *name, int oflag[|optional
(一)關於流和快取作業的函數:在標頭檔<stdio.h>中定義了三個預定義指標,分別是stdin、stdout、和stderr,它們分別代表進程的標準輸入、標準輸出和標準出錯流。
今天,說一下通訊端的域和地址族。前面linux的套介面和管道已經說到domain這個參數了,這個參數可以使AF_LOCAL.AF_LOCAL的首碼AF_表示地址族(address family),domain參數就是在選擇到底使用哪個地址族。 通用通訊端地址的結構:struct sockaddr { sa_family_t sa_family;//地址族 char
內容:進程的標識、運行、終止、進程間競爭和進程操作1.進程的運行和終止每個進程都有唯一的ID,ID為0
訊號的作用:通知進程非同步事件的發生。在Linux中可以識別29中不同的訊號,進程可以顯示的用kill或killpg系統調用來向另一個進程發訊號。訊號發生時,核心中斷當前進程,進程執行處理函數來響應訊號,訊號結束後恢複正常的進程處理。訊號 值 處理動作 發出訊號的原因----------------------------------------------------------------------SIGHUP 1 A 終端掛起或者控制進程終止SIGINT 2
一、Linux基本知識