Unix/Linux 編程實踐教程 第一章小結
who 命令通過讀系統(tǒng)日志的內容顯示當前已經登錄的用戶顷窒。
Unix 系統(tǒng)把數據存放在文件中,可以通過以下系統(tǒng)調用操作文件:
? open(filename, how) //打開文件作谭,返回文件描述符
creat(filename, mode) //存在就清空稽物,沒有就創(chuàng)建
read(fd, buffer, amt) //讀取
write(fd, buffer, amt) //寫
lseek(fd, distance, base) //移動指針的位置
close(fd) //關閉文件
? 進程對文件的讀/寫都要通過文件描述符,文件描述符表示文件和進程之間的連接折欠。
? 每次系統(tǒng)調用都會導致用戶模式和內核模式的切換以及執(zhí)行內核代碼贝或,所以減少程序中的系統(tǒng)調用發(fā)生的次數可以提高程序的運行效率。
? 程序可以通過緩沖技術來減少系統(tǒng)調用的次數锐秦,僅當寫緩沖區(qū)滿或讀緩沖區(qū)空時才調用內核服務咪奖。
? Unix 內核可以通過內核緩沖來減少訪問磁盤I/O的次數。
? Unix 中時間的處理方式是記錄從某一個時間開始經過的秒數酱床。
? 當系統(tǒng)調用出錯時會把全局變量 errno 的值設為相應的錯誤代碼羊赵,然后返回 1 ,程序可以通過檢查 errno 來確定錯誤的類型扇谣,并采取相應的措施昧捷。
? 這一章涉及的知識在系統(tǒng)中都可以找到,聯機幫助中有命令的說明罐寨,有些還會攢及命令的實現靡挥,頭文件中有結構和系統(tǒng)常量的定義,還有函數原型的說明衩茸。