iT邦幫忙

鐵人檔案

2017 iT 邦幫忙鐵人賽
回列表

跨界的追尋:trace 30個基本Linux系統呼叫 系列

鐵人鍊成 共 30 篇文章 | 18 人訂閱 訂閱系列文
DAY 21

trace 30個基本Linux系統呼叫第二十一日:brk

前情提要 前兩日一口氣度過了兩個很精實的系統呼叫。雖然筆者沒有能夠看懂並解釋所有的細節,但這為將來的學習無疑鋪設了入門磚。無論如何,接下來幾日,要來介紹的是跟記...

2016-12-21 ‧ 由 高魁良 分享
DAY 22

trace 30個基本Linux系統呼叫第二十二日:mprotect

前情提要 第一次探索mm子目錄底下的檔案,brk系統呼叫。記憶體是運算架構裡至關重要的一環,對於作業系統掌管程序的記憶體配置來說,也有許多的機制在裡面運作。今天...

2016-12-22 ‧ 由 高魁良 分享
DAY 23

trace 30個基本Linux系統呼叫第二十三日:mmap

前情提要 程序隨時都要使用到虛擬記憶體,從配置到使用的過程,我們都需要許多的機制。其中我們已經介紹了動態配置記憶體的核心功能brk,以及設置存取權限給虛擬記憶體...

2016-12-23 ‧ 由 高魁良 分享
DAY 24

trace 30個基本Linux系統呼叫第二十四日:munmap

前情提要 昨天介紹了mmap的內容,本日則是要看看它的反操作:munmap。 介紹 NAME mmap, munmap - map or unm...

2016-12-24 ‧ 由 高魁良 分享
DAY 25

trace 30個基本Linux系統呼叫第二十五日:pipe

前情提要 記憶體管理篇告一段落,接下來在網路相關的系統呼叫之前,插播一個跨行程通訊用的呼叫:pipe(管線)。 管線最常見的使用方式就是在shell環境之下...

2016-12-25 ‧ 由 高魁良 分享
DAY 26

trace 30個基本Linux系統呼叫第二十六日:socket

前情提要 來到了最後一個篇章:網路篇!這個篇章裡面筆者打算介紹7個系統呼叫,因為這是組成一組TCP連線所需的系統呼叫的最小數目。 範例程式:伺服器端 伺服器端...

2016-12-26 ‧ 由 高魁良 分享
DAY 27

trace 30個基本Linux系統呼叫第二十七日:bind-listen

前情提要 昨日我們看過了socket如何產生,今日則主要聚焦在server端的兩個後續作業:bind以及listen上。 連結socket與網路資訊的實體:b...

2016-12-27 ‧ 由 高魁良 分享
DAY 28

trace 30個基本Linux系統呼叫第二十八日:互相交握的accept與connect

前情提要 關於網路,我們已經基本上看完了所有的前置動作(伺服器端3個、客戶端1個),本日的重點就是兩者如何搭上線。 伺服器端接受連線:accept NAME...

2016-12-28 ‧ 由 高魁良 分享
DAY 29

trace 30個基本Linux系統呼叫第二十九日:對話:recvfrom與sendto

前情提要 前三日的基礎之上,一個建立好的TCP/IP通道就已經任我們使用了!若將範例程式稍加修改(拿掉recvfrom和sendto)並以tcpdump工具觀察...

2016-12-29 ‧ 由 高魁良 分享
DAY 30

trace 30個基本Linux系統呼叫第三十日:從今以後繼續努力:reboot

前情提要 我們一路走來看過檔案的介面、程序管理、訊號處理、記憶體管理、網路、以及一些其他的系統呼叫,也很遺憾無法來得及研究檔案管理、時間處理等功能的系統呼叫。我...

2016-12-30 ‧ 由 高魁良 分享