1、程序間通訊方式有哪些?
1) 檔案和記錄鎖定。
為避免兩個程序間同時要求訪問同一共享資源而引起訪問和操作的混亂,在程序對
共享資源進行訪問前必須對其進行鎖定,該程序訪問完後再釋放。這是unix為共享
資源提供的互斥性保障。
2)管道。
管道一般用於兩個不同程序之間的通訊。當乙個程序建立乙個管道,並呼叫fork創
建自己的乙個子程序後,父程序關閉讀管道端,子程序關閉寫管道端,這樣 提供了
兩個程序之間資料流動的一種方式。
3)fifo。
fifo是一種先進先出的佇列。它類似於乙個管道,只允許資料的單向流動。每個
fifo都有乙個名字,允許不相關的程序訪問同乙個fifo。因此也成為命名管。
4)訊息佇列。
unix下不同程序之間可實現共享資源的一種機制;unix允許不同程序將格式化的數
據流以訊息形式傳送給任意
程序。對訊息佇列具有操作許可權的程序都可以使用msget完成對訊息佇列的操作控制
。通過使用訊息型別,程序可以按任何順序讀訊息,或為訊息安排優先順序順序。
5)訊號燈。
作為程序間通訊的一種方法,它不是用於交換大批資料,而用於多程序之間的同步
(協調對共享儲存段的訪問)。
6)共享記憶體。
通過訊號燈實現儲存共享(類似「紅燈停、綠燈行」)
2、網路協議的三要素?
協議是用來描述程序之間資訊交換資料時的規則術語。在計算機網路中,兩個相互 通訊的實體處在不同的地理位置,其上的兩個程序相互通訊,需要通過交換資訊來 協調它們的動作和達到同步,而資訊的交換必須按照預先共同約定好的過程進行。
例如,網路中乙個微機使用者和乙個大型主機的操作員進行通訊,由於這兩個資料終 端所用字符集不同,因此操作員所輸入的命令彼此不認識。為了能進行通訊,規定 每個終端都要將各自字符集中的字元先變換為標準字符集的字元後,才進入網路傳 送,到達目的終端之後,再變換為該終端字符集的字元。當然,對於不相容終端, 除了需變換字符集字元外。其他特性,如顯示格式、行長、行數、螢幕滾動方式等 也需作相應的變換。這樣的協議通常稱為虛擬終端協議。又如,通訊雙方常常需要 約定何時開始通訊和如何通訊,這也是一種協議。所以協議是通訊雙方為了實現通 信所進行的約定或對話規則。
計算機網路的協議主要由語義、語法和交換規則三部分組成,即協議三要素:
語義:規定通訊雙方彼此「講什麼」,即確定協議元素的型別,如規定通訊雙方要發出什麼控制資訊,執行的動作和返回的應答。
語法:規定通訊雙方彼此「如何講」,即確定協議元素的格式,如資料和控制資訊的格式。
交換規則:規定了資訊交流的次序。
3、http,telnet,ftp的埠是?
使用tcp協議的常見埠主要有以下幾種:
(1) ftp:定義了檔案傳輸協議,使用21埠。常說某某計算機開了ftp服務便是
(2)
telnet:它是一種用於遠端登陸的埠,使用者可以以自己的身份遠端連線到計算機上,通過這種埠可以提供一種基於dos模式下的通訊服務。如以前的bbs是純字元介面的,支援bbs的伺服器將23埠開啟,對外提供服務。
(3)
smtp:定義了簡單郵件傳送協議,現在很多郵件伺服器都用的是這個協議,用於傳送郵件。如常見的免費郵件服務中用的就是這個郵件服務埠,所以在電子郵件設定中常看到有這麼smtp埠設定這個欄,伺服器開放的是25號埠。
(4)
pop3:它是和smtp對應,pop3用於接收郵件。通常情況下,pop3協議所用的是110埠。也是說,只要你有相應的使用pop3協議的程式(例如foxmail或outlook),就可以不以web方式登陸進郵箱介面,直接用郵件程式就可以收到郵件(如是163郵箱就沒有必要先進入網易**,再進入自己的郵箱來收信)。使用udp協議埠常見的有:
(1)
(2) dns:用於網域名稱解析服務,這種服務在windows nt系統中用得最多的。網際網路上的每一台計算機都有乙個網路位址與之對應,這個位址是常說的ip位址,它以純數字+"."的形式表示。然而這卻不便記憶,於是出現了網域名稱,訪問計算機的時候只需要知道網域名稱,網域名稱和ip位址之間的變換由dns伺服器來完成。dns用的是53號埠。
(3) snmp:簡單網路管理協議,使用161號埠,是用來管理網路裝置的。由於網路裝置很多,無連線的服務就體現出其優勢。
(4)
oicq:oicq程式既接受服務,又提供服務,這樣兩個聊天的人才是平等的。oicq用
的是無連線的協議,也是說它用的是udp協議。oicq伺服器是使用8000號埠,偵聽是否有資訊到來,客戶端使用4000號埠,向外傳送資訊。如果上述兩個埠正在使用(有很多人同時和幾個好友聊天),就順序往上加。
在計算機的6萬多個埠,通常把埠號為1024以內的稱之為常用埠,這些常用埠所對應的服務通常情況下是固定的。表1所列的都是伺服器預設的埠,不允許改變,一般通訊過程都主要用到這些埠。
表1 服務型別預設埠服務型別預設埠
echo7 daytime13
ftp21 telnet23
smtp25 time37
whois43 dns53
gopher70 finger79
www80 pop3110
nntp119 irc194
另外**伺服器常用以下埠:
(1). http協議**伺服器常用埠號:80/8080/3128/8081/9080
(2). socks**協議伺服器常用埠號:1080
(3). ftp協議**伺服器常用埠號:21
(4). telnet協議**伺服器常用埠:23
騰訊實習生筆試題
一 單項選擇題 1 給定3個int型別的正整數x,y,z,對如下4組表示式判斷正確的選項 int a1 x y z int b1 x y z int a2 x z y int b2 x z y int c1 x z int d1 x y z int c2 x z a a1一定等於a2 b b1一定定...
2012騰訊實習生筆試題
問題描述 兩個陣列a n b n 其中a n 的各個元素值已知,現給b i 賦值,b i a 0 a 1 a 2 a n 1 a i 要求 1.不准用除法運算2.除了迴圈計數值,a n b n 外,不准再用其他任何變數 包括區域性變數,全域性變數等 3.滿足時間複雜度o n 空間複雜度o 1 分析 ...
騰訊實習生筆試題20160305
include include void fun int main 程式執行結果為 2 3 說明在第二次呼叫fun 函式時,a的值為2,並且沒有進行初始化賦值,直接進行自增運算,所以得到的結果為3.對於靜態區域性變數如果沒有進行初始化的話,對於整形變數系統會自動對其賦值為0,對於字元陣列,會自動賦值...