1. 程式人生 > >2017-2018-1 20165313 《資訊安全系統設計基礎》第八週學習總結

2017-2018-1 20165313 《資訊安全系統設計基礎》第八週學習總結

教材總結

1.構造併發程式的方法有三種:

1.程序。每個邏輯流都是一個程序,由核心來排程和維護。
2.I/O多路複用。在這種形式中,應用程式在一個程序的上下文中顯式地排程它們自己的邏輯流。邏輯流被模型化為狀態機。因為程式是一個單獨的程序,所以所有的流都共享同一個地址空間。
3.執行緒。執行緒是執行在單一程序上下文中的邏輯流,由核心進行排程

2.C/S程式設計模型

客戶端和伺服器都是程序,C/S程式設計模型由一個伺服器程序和一個或多個客戶端程序組成
伺服器程序管理某種資源,通過操作這種資源來為它的客戶端提供某種服務。基本操作為事務,一個客戶端-伺服器事務由四步組成:
客戶端向伺服器傳送請求,發起一個事務;
伺服器收到請求,操作資源;
伺服器給客戶端傳送一個響應,並等待下一個請求。
客戶端收到響應並處理它。

3.執行緒控制及相關係統呼叫

執行緒:執行子程序上下文中的邏輯流

mypwd實現

1.實際操作使用pwd命令:

2.使用man命令學習pwd:

3.實現mypwd(借鑑了一下學長學姐的經驗教訓)

(1)思路:
呼叫stat函式獲得當前目錄檔案的iNode值,以及父輩目錄的iNode;
判斷當前目錄iNode值與父目錄iNode值是否相等,如果相等則打印出存有路徑的字串;
判斷此時的iNode是否使用chdir進入上一層父目錄;
呼叫opendir開啟當前目錄檔案,並使用readdir讀取所有檔案的iNode值並與之前iNode值對比,如果一致,則將檔名存入字元陣列中;
返回第一步;
打印出存有路徑的字串;

(2)測試: