麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

APUE筆記之:進程環境詳解

2020-01-26 16:10:48
字體:
來源:轉載
供稿:網友

在main中調用exit(1)和reutrn 1是等價的。
內核啟動一個進程的唯一的方法是調用exec,用戶程序終止進程的唯一方法是顯示或者隱式的調用_exit或者EXIT。
每個進程都會有一個進程表。進程表是一個全局的指針:environ。extern char **environ可以查看這個環境表。另外,可以通過getenv和putenv來獲取修改環境表。寫個程序試一下。
linux的段:linux正文段從0X08048000單元開始,棧底則從0xC0000000開始



棧是向下生長,對向上生長。這里描述的是邏輯地址。
編譯時,gcc -static可以阻止程序使用動態庫,轉而使用靜態庫。
malloc:分配指定字節存儲區,值不確定。
calloc:原型為void *calloc(size_t nobj, size_t size),分配size*nobj個字節。
realloc:更改以前存儲區的長度。原型:void *realloc(void *ptr, size_t new_size);返回值可能還是原來的地址(如果它的后面有足夠的存儲區),可能發生了更改(后面沒有足夠的存儲區,需要申請一塊大的,并且把原先的內容拷貝過去)。new_size是新緩沖區的大小,不是差值。如果ptr為空,則等同于malloc,如果size為0,則等同于free。新申請的東西未初始化。
返回的地址一定是對齊的,使其可以存儲任何的對象類型。比如,有些系統要求double類型數據的起始地址一定是8的倍數。
putenv,setenv,unsetenv三個函數可以更改進程的環境變量。
setenv:int setenv(const char *name, const char *value, int rewrite)//rewrite:如果已存在是否覆蓋。
putenv函數直接將入參放入環境表中,而不分配存儲區。這樣,如果是棧,則會出錯。
setjmp和longjmp是全局的goto,不過盡量不要使用,隱含了很多的陷阱,易出錯。
getrlimit和setrlimit可以修改進程的資源限制。一起時用命令來修改,針對的是所有的進程,這個函數可以針對當前進程。對應的命令式ulimit。

寫測試程序驗證:
1、  程序死循環,有printf,前臺啟動和后臺啟動所占用的CPU是否相同?
2、  打開文件,然后關閉文件,說是用的時間是否太大。
還好。平均在50us(0.05毫秒)
3、  打開大的文件和打開一個小的文件,占用時間是否相同?差別是否大?
打開模式和打開時間有區別(下面的代碼:打開文件,寫同樣內容):
a+:20us
w+/w:70us
r:20us
r+:20us
打開一個大文件和打開一個小文件還是有差別的。
一個8M,一個3k,同樣適用a+打開,不寫內容:
8M:37us
3k: 12us
一個8M,一個3k,同樣適用a+打開,寫內容(1K):
8M:60us
3k: 23us
在寫一個250M文件,差不多也是60us。和8M差別不大。
改用flush后,寫后flush的平均大概在9us。
4、  寫文件:寫相同內容,寫到一個空白文件和寫到一個大文件中,時間是否相同?
差不多。
5、  一個文件,打開,寫內容。在進程外刪除整個文件,再寫文件。看什么效果:能否寫成功,文件會不會重新生成,是否會在關閉的時候生成,是否會返回錯誤從而知道文件不存在了,是否可以通過errno獲得這一信息。
目前沒有好的方法,寫的函數的返回值是成功的,但是文件不存在。目前我的做法是寫的時候判斷文件是否存在。大約用9us的時間。這比打開在關閉要快很多的。
6、  一個線程順序的寫多個文件和多個線程并行的寫多個文件,同樣的量,花費的時間是否相同?
7、  文件IO的自帶緩存是什么時候寫到文件的?是在調用最后的那個write函數?還是在系統內部?如果是前一個,則write調用返回時間是不一樣的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产精品色综合 | 国产美女一区二区在线观看 | 成人18网站 | 黑人一级片视频 | 成人毛片免费在线 | 国产一级在线看 | 久久久久久久久久91 | 久久精品无码一区二区日韩av | 污黄视频在线观看 | 91精品久久久久久 | 久久宗合色 | 鲁人人人鲁人人鲁精品 | 亚洲91网站 | 色婷婷久久久 | 久久国产精品成人免费网站 | 99国语露脸久久精品国产ktv | 久久久久久久久久久久久久av | 91久久精品一 | 成人视屏在线 | 亚洲综合视频在线播放 | 亚洲一级片在线观看 | 欧美一级免费在线观看 | 国产精品久久久免费看 | 欧美女同hd | 久精品久久 | 超碰97在线人人 | 亚洲性在线视频 | 亚洲国产网站 | 国产免费视频一区二区裸体 | 国产精品午夜在线观看 | 日韩精品中文字幕在线观看 | 免费一级毛片免费播放 | 久久久精品视频在线观看 | 久久久久北条麻妃免费看 | 97视频| 欧美国产成人在线 | 久久αv | 视频在线亚洲 | 最新亚洲国产 | 成人免费精品视频 | 久久在线免费视频 |