unix實驗9筆記

2021-09-22 18:05:43 字數 790 閱讀 6552

1.centos中普通使用者切換到root使用者:su+回車

ubuntu中普通使用者切換到root使用者:sudo -i

2.好像math.h中的atof函式和stdlib.h中的atof函式不是一回事,今天我試了一下在往c程式裡傳命令列引數實現加減法運算,如果標頭檔案是math.h,沒有實現字串到浮點數的轉換

3.windows中用命令列編譯c程式後得到的可執行檔名預設為a.exe,linux中好像是a.out,字尾不一樣。

6.exec族函式執行成功則不返回,執行失敗則返回-1.當乙個程序呼叫一種exec函式時,該程序執行的程式會完全替換原程式,新程式從main函式開始執行,原程式的後續部分不會再執行。

7.vfork系統呼叫建立的程序共享父程序的記憶體位址空間,但是沒有拷貝資料段,而是和父程序共享其資料段,為了防止父程序重寫子程序需要的資料,父程序會被vfork呼叫阻塞,直到子程序退出或執行乙個新程式。所以執行程式時輸出資訊的順序就不會變化了。

8.程序在記憶體裡有三部分的資料:**段,堆疊段,資料段

**段:存放程式**的記憶體空間,也就是程式在機器內的表示。假如機器中有數個程序執行相同的乙個程式,那麼它們就有相同的**段

堆疊段:存放程式的返回位址,引數以及區域性變數

資料段:存放程式的全域性變數,常數以及動態資料分配的資料空間(比如用alloc之類的函式取得的空間)

9.複製檔案時顯示omitting directory,據說原因是因為待移動目錄下面還有檔案,所以用遞迴移動即可

UNIX上機實驗10筆記

1.在linux系統中,除編號為1的程序 init程序 外,其它程序都有對應的父程序 2.通常程序的pid會被順序編號,即新建立的程序pid通常為前乙個程序的pid加1.但是linux系統上pid的取值範圍是有限的,因此若當前程序的pid已為最大值,系統建立下乙個程序的pid就必須使用閒置的數值。3...

UNIX系統程式設計1《筆記》

linux系統程式設計課堂筆記 1 20121013 一 每個應用程式是獨享的 1.對於32 位的cpu 來說,應用程式程式設計和核心共占有 4g的空間 應用層是0 3g 核心層是 3g 4g 2.每個程式是獨享的 每個程式都有3g 的空間來進行使用,這個空間是虛擬記憶體,在實際的呼叫的時候,每個應...

《UNIX網路程式設計 卷1》 筆記 UNIX域協議

unix域協議並不是乙個實際的協議族,而是在單個主機上客戶程序和伺服器程序之間通訊的一種方法。unix域使用的套接字結構如下 struct sockaddr un int main int argc,char argv 執行結果如下 可以看到繫結的路徑名 tmp 123 現在是乙個套接字檔案。uni...