出版時(shí)間:2006-3 出版社:Solaris系統(tǒng)編程機(jī)械工業(yè)出版社 作者:提爾
Tag標(biāo)簽:無
內(nèi)容概要
本書使用實(shí)際案例研究、代碼示例和圖示,為系統(tǒng)程序員提供了全面、實(shí)用的指導(dǎo),涵蓋Solaris操作系統(tǒng)的所有版本,包括版本2.5到版本9,而且與SPARC和X86平臺(tái)相關(guān)。從I/O到IPC、從偽終端到本地化、從進(jìn)程到門,本書闡述了該環(huán)境的特征和微妙之處。
本書對(duì)Solaris系統(tǒng)編程進(jìn)行了詳細(xì)介紹。主要內(nèi)容包括:接口以及UNIX編程中的重要知識(shí)、Solaris提供的I/O功能、進(jìn)程和進(jìn)程控制、進(jìn)程間相互進(jìn)行通信的工具、偽終端等。另外,本書還配備了適當(dāng)?shù)木毩?xí)題,有助于讀者加深對(duì)所學(xué)知識(shí)的理解。
本書覆蓋面廣,講解透徹,示例豐富,可作為一本Solaris系統(tǒng)編程的獨(dú)立參考書。
作者簡(jiǎn)介
作者:(加)提爾Rich Teer,加拿大不列顛哥倫比亞省基洛納市的一名UNIX顧問,UNIX社區(qū)中一名受人尊重的資深成員,知名的Solaris系統(tǒng)管理和編程專家,持有SCSA、SCNA和SCSA證書。他具有15年的C編程經(jīng)驗(yàn)、9年多從事Sun系統(tǒng)工作的經(jīng)驗(yàn),其中有2年是Sun Microsystems公司的技術(shù)支持顧問。同時(shí),他也是W.Richlard Stevens的暢銷書((UNIX Network Programming》(第2版)的技術(shù)審校。
書籍目錄
譯者序前言第一部分 綜述第1章 Solaris系統(tǒng)1.1引言1.2登錄1.3shell1.4文件、目錄和文件系統(tǒng)1.5輸入和輸出1.6程序、進(jìn)程和線程1.7錯(cuò)誤處理1.8用戶標(biāo)識(shí)1.9信號(hào)1.10UNIX時(shí)間值1.11系統(tǒng)調(diào)用和庫函數(shù)1.1264位編程概述1.12.1編寫純64位的程序1.12.2編譯和安裝64位的程序1.12.3大文件的編譯環(huán)境1.12.4過渡期的大文件編譯環(huán)境1.13小結(jié)練習(xí)第2章 Solaris簡(jiǎn)史2.1引言2.2初期:SunOS2.3SunOs之后:Solaris2.4標(biāo)準(zhǔn)2.4.1ANSI/ISO/IECC2.4.2SystemV接口定義2.4.3IEEEPOSIX2.4.4開放組的XPG42.4.5單一UNIX規(guī)范2.5Solaris2.52.6Solaris2.62.7Solaris72.8Solaris82.9Solaris92.10Solaris標(biāo)準(zhǔn)遵守情況2.11編譯符合標(biāo)準(zhǔn)的應(yīng)用程序2.12小結(jié)練習(xí)第二部分 基本主題第3章 實(shí)用工具函數(shù)3.1引言3.2處理字符類3.2.1測(cè)試字符類成員資格3.2.2改變字符類成員資格3.2.3字符類小結(jié)3.3處理字符串3.3.1得到字符串的長度3.3.2比較字符串3.3.3連接字符串3.3.4復(fù)制字符串3.3.5字符串查找函數(shù)3.3.6生成字符串的副本3.3.7把一個(gè)字符串分割成標(biāo)記3.3.8轉(zhuǎn)換字符串的函數(shù)3.3.9把字符串轉(zhuǎn)換成數(shù)字3.3.10把數(shù)字轉(zhuǎn)換成字符串3.4處理字節(jié)數(shù)組3.4.1比較字節(jié)數(shù)組3.4.2復(fù)制字節(jié)數(shù)組3.4.3查找字節(jié)數(shù)組3.4.4初始化字節(jié)數(shù)組3.5動(dòng)態(tài)內(nèi)存3.5.1內(nèi)存對(duì)齊3.5.2分配動(dòng)態(tài)內(nèi)存3.5.3釋放動(dòng)態(tài)內(nèi)存3.6其他內(nèi)存管理包3.6.1malloc庫3.6.2bsdmalloc庫3.6.3mapmaUoe庫3.6.4watchmalloc共享對(duì)象3.6.5比較malloc庫3.7臨時(shí)文件3.7.1產(chǎn)生臨時(shí)文件名3.7.2創(chuàng)建臨時(shí)文件3.8分析命令行參數(shù)3.9錯(cuò)誤報(bào)告3.10掛起進(jìn)程3.11小結(jié)練習(xí)第4章 基本的文件I/O4.1引言4.2文件描述符4.3open函數(shù)4.4creat函數(shù)4.5close和closefrom函數(shù)4.6lseek和llseek函數(shù)4.7tell函數(shù)4.8.read和pread函數(shù)4.9write和pwrite函數(shù)4.10readn和writen函數(shù)-4.11I/O效率4.12文件共享4.13原子的操作4.14dup和dup2函數(shù)4.15fcntl函數(shù)4.16ioctl函數(shù)4.17fdwalk函數(shù)4.18直接I/O4.19/dev/fd文件系統(tǒng)4.20小結(jié)練習(xí)第5章 標(biāo)準(zhǔn)I/O庫5.1引言5.2文件流、數(shù)據(jù)類型和常量5.3標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出5.4打開文件流5.5關(guān)閉文件流5.6讀和寫5.6.1字符輸入函數(shù)5.6.2字符輸出函數(shù)5.6.3行輸入函數(shù)5.6.4行輸出函數(shù)5.6.5二進(jìn)制I/O5.7流狀態(tài)5.8格式化I/O5.8.1格式輸出5.8.2格式輸入5.8.3格式轉(zhuǎn)換規(guī)范5.8.4C語言轉(zhuǎn)義序列5.9定位流5.10文件流鎖定5.11緩沖5.12標(biāo)準(zhǔn)I/0的效率5.13小結(jié)練習(xí)第6章 日期和時(shí)間操作6.1引言6.2轉(zhuǎn)換時(shí)間的復(fù)雜性6.3獲得當(dāng)前時(shí)間6.4設(shè)置當(dāng)前時(shí)間6.5獲得當(dāng)前時(shí)區(qū)6.6UNIX時(shí)間和日歷時(shí)間的轉(zhuǎn)換6.6.1localtime和localtime_r函數(shù)6.6.2gmtime和grntime_r函數(shù)6.6.3mktime函數(shù)6.7格式日期I/O6.7.1將日期轉(zhuǎn)換成格式字符串6.7.2將格式字符串轉(zhuǎn)換成日期6.8小結(jié)練習(xí)第7章 用戶和組7.1引言7.2用戶名7.3用戶ID7.4組ID7.5組成員資格7.6口令文件7.7影像口令文件7.8讀取和加密口令7.9組文件7.10utmpx和wtmpx文件7.11utmp和wtmp文件7.12lastlog文件7.13shells文件7.14小結(jié)練習(xí)第8章 系統(tǒng)信息和資源限制8.1引言8.2系統(tǒng)信息和識(shí)別8.3系統(tǒng)資源限制8.4每個(gè)進(jìn)程的資源限制8.5資源控制工具8.6資源控制示例8.7資源使用信息8.8使用/proc文件系統(tǒng)確定資源使用信息8.9確定系統(tǒng)的平均負(fù)荷8.10小結(jié)練習(xí)第9章 安全的C編程9.1引言9.2緩沖區(qū)溢出9.3程序的環(huán)境9.4防御性編程9.5最小特權(quán)原則9.6使用chroot“監(jiān)牢”9.7編寫安全程序的技巧9.8小結(jié)練習(xí)第三部分 輸入/輸出第10章 文件和目錄10.1引言10.2路徑名組件10.2.1dimame函數(shù)10.2.2basename函數(shù)10.3stat、fstat和lstat函數(shù)10.4文件類型10.5Set-user-ID和set-group.ID10.6粘著位10.7文件訪問權(quán)限10.8access函數(shù)10.9umask函數(shù)10.10chmod和fchmod函數(shù)10.11chown、fchown和lchown函數(shù)10.12文件尺寸10.13文件截取10.14文件系統(tǒng)10.15link和unlink函數(shù)10.16remove和rename函數(shù)10.17符號(hào)鏈接10.18解析可能包含符號(hào)鏈接的路徑10.18.1resolvepath函數(shù)10.18.2realpath函數(shù)10.19symlink和readlink函數(shù)10.20文件時(shí)間10.21改變文件的訪問時(shí)間和修改時(shí)間10.21.1utirne函數(shù)10.21.2utimes函數(shù)10.22創(chuàng)建和刪除目錄10.23讀取目錄10.23.1opendir和fdopendir函數(shù)10.23.2readdir和readdir_r函數(shù)10.23.3seekdir、rewinddir和telldir函數(shù)10.23.4closedir函數(shù)10.23.5ftw和,nftw函數(shù)10.24chdir、fchdir和getcwd函數(shù)10.25chroot和:fchroot函數(shù)10.26特殊文件10.27sync和fsync函數(shù)10.28綜合討論10.29小結(jié)練習(xí)第11章 使用文件系統(tǒng)11.1引言11.2磁盤術(shù)語11.3已掛載的文件系統(tǒng)表11.3.1gemmtent、gelanntany和getextmntent函數(shù)11.3.2hasmntopt函數(shù)11.3.3resetmnt,tab函數(shù)11.3.4putmntent函數(shù)11.4mntfS文件系統(tǒng)ioctl命令11.5文件系統(tǒng)默認(rèn)值11.5.1getvfsent系列函數(shù)11.5.2添加項(xiàng)到/etc/vfstab11.6掛載和卸載文件系統(tǒng)11.6.1mount函數(shù)11.6.2umount和umount2函數(shù)11.7獲得文件系統(tǒng)的狀態(tài)11.7.1statvfs和fstatvfs函數(shù)11.7.2ustal函數(shù)11.8讀取文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu)11.8.1超級(jí)塊11.8.2索引節(jié)點(diǎn)表11.8.3柱面組11.9小結(jié)練習(xí)第12章 終端I/O12.1引言12.2終端I/0概述12.3特殊的輸入字符12.4獲得和設(shè)置終端屬性12.5終端選項(xiàng)標(biāo)志12.6波特率函數(shù)12.7行控制函數(shù)12.7.1tcdrain函數(shù)12.7.2tcflow函數(shù)12.7.3tcflush函數(shù)12.7.4tcsendbreak函數(shù)12.8終端標(biāo)識(shí)12.8.1ctermid和ctermid_r函數(shù)12.8.2isatty函數(shù)12.8.3ttyname和ttynme_r函數(shù)12.9規(guī)范模式12.10非規(guī)范模式12.11終端窗口尺寸12.12設(shè)備無關(guān)的終端控制12.13小結(jié)練習(xí)第13章 高級(jí)I/O13.1引言13.2非阻塞I/O13.3記錄鎖定13.4使用fcntl的記錄鎖定13.5使用lockf的記錄鎖定13.6死鎖和活鎖13.7鎖繼承性和釋放13.8強(qiáng)制鎖與建議鎖的比較13.9STREAMSI/0子系統(tǒng)13.10STREAMS消息13.11putmsg和putpmsg函數(shù)13.12getmsg和getpmsg函數(shù)13.13STREAMSioctl操作13.14使用read和write的STREAMSI/015.14.1從STREAMS設(shè)備中讀取13.14.2寫入到STREAMS設(shè)備13.15I/O多路復(fù)用13.16select函數(shù)13.17poll函數(shù)13.18/dev/poll設(shè)備驅(qū)動(dòng)程序13.19異步I/O13.20和STREAMS設(shè)備文件一起的異步I/O13.21和其他文件一起的異步I/O13.21.1aioread和aiowrite函數(shù)13.21.2aiowait函數(shù)13.21.3aiocancel函數(shù)13.22readv和writev函數(shù)13.23sendfile和sendfilevr函數(shù)13.23.1sendfile函數(shù)13.23.2sendfilev函數(shù)13.24內(nèi)存映射的I/O13.25mmap和munmap函數(shù)13.26mprotect函數(shù)13.27madvise函數(shù)13.28msync函數(shù)13.29在內(nèi)存中鎖定頁面13.29.1mlock和munlock函數(shù)13.29.2mlockall和munlockall函數(shù)13.29.3plcck函數(shù)13.30mencntl函數(shù)13.31內(nèi)存映射I/O的小結(jié)13.32訪問控制列表13.33acl和facl函數(shù)13.34aclfromtext和acltotext函數(shù)13.35aclcheck函數(shù)13.36aclfmmmode和acltomode函數(shù)13.37aclsort函數(shù)13.38擴(kuò)展的文件屬性13.39openat和attrOpen函數(shù)13.40fsmtm函數(shù)13.41unlinkat函數(shù)13.42renameat函數(shù)13.43fchownat函數(shù)13.44futimesat函數(shù)13.45改變擴(kuò)展屬性文件權(quán)限13.46小結(jié)練習(xí)第四部分 進(jìn)程和進(jìn)程控制第14章 UNIX進(jìn)程的環(huán)境14.1引言14.2進(jìn)程啟動(dòng)14.3進(jìn)程終止14.3.1exit和exit函數(shù)14.3.2atexit函數(shù)14.4命令行參數(shù)14.5環(huán)境變量14.5.1getenv函數(shù)14.5.2putenv函數(shù)14.6C程序的內(nèi)存布局14.7共享的對(duì)象14.8內(nèi)存分配14.8.1sbrk函數(shù)14.8.2Drk函數(shù)14.9Setimp和longimp函數(shù)14.9.1自動(dòng)變量、寄存器變量和易變的變量14.9.2_setjmp和_longjlmp函數(shù)14.9.3使用自動(dòng)變量時(shí)的常見錯(cuò)誤14.10資源限制14.11小結(jié)練習(xí)第15章 進(jìn)程控制15.1引言15.2進(jìn)程標(biāo)識(shí)符15.2.1getpid函數(shù)15.2.2getppid函數(shù)15.3fork和forkl函數(shù)15.4vfork函數(shù)15.5exit和exit函數(shù)15.6wait函數(shù)15.7waitpid函數(shù)15.8wait3和wait4函數(shù)15.9waitid函數(shù)15.10競(jìng)爭(zhēng)條件15.11ekec函數(shù)15.11.1execl函數(shù)15.11.2execv函數(shù)15.11.3execle函數(shù)15.11.4execve函數(shù)15.11.5execlp函數(shù)15.11.6execvp函數(shù)15.11.7exec函數(shù)的總結(jié)15.12解釋程序文件15.13system函數(shù)15.14進(jìn)程記賬15.15小結(jié)練習(xí)第16章 進(jìn)程關(guān)系16.1引言16.2終端登錄16.3網(wǎng)絡(luò)登錄16.4進(jìn)程組16.5會(huì)話16.6控制終端16.7tcgetpgrp和tcsetpgrp函數(shù)16.8tcgetsid函數(shù)16.9作業(yè)控制16.10程序的外殼執(zhí)行16.11孤立的進(jìn)程組16.12小結(jié)練習(xí)第17章 信號(hào)17.1引言17.2信號(hào)概念17.3signal函數(shù)17.4不可靠的信號(hào)17.5可靠的信號(hào)17.6sigset函數(shù)17.7pause函數(shù)17.8sighold、sigrelse、sigignore和sigpause函數(shù)17.9中斷的系統(tǒng)調(diào)用17.10可重入函數(shù)17.11比較SICCHID和SIGCID信號(hào)17.12kill、killpg、raise、sigsend和sigsendset函數(shù)17.13alarm函數(shù)17.14間隔計(jì)時(shí)器17.15POSIX信號(hào)17.16信號(hào)集17.17sigprocmask函數(shù)17.18sigpending函數(shù)17.19sigaction函數(shù)17.20sigfpe函數(shù)17.21sigsetjmp和siglongimp函數(shù)17.22sigsuspend函數(shù)17.23sigwait函數(shù)17.24abort函數(shù)17.25重新審視system函數(shù)17.26重新審視sleep函數(shù)17.27作業(yè)控制信號(hào)17.28軟件信號(hào)17.29備選信號(hào)棧17.30系統(tǒng)信號(hào)消息17.31sig2str和str2sig函數(shù)17.32小結(jié)練習(xí)第18章 守護(hù)進(jìn)程18.1引言18.2守護(hù)程序的特性18.3錯(cuò)誤日志18.4STREAMSlog驅(qū)動(dòng)器18.5syslog工具18.6成為守護(hù)程序18.7僅啟動(dòng)守護(hù)程序的一個(gè)副本18.8小結(jié)練習(xí)第五部分 進(jìn)程間通信第19章 使用管道和FIFO的進(jìn)程間通信19.1引言19.2管道19.3popen和pclose函數(shù)19.4協(xié)作進(jìn)程19.5FIFO19.6迭代服務(wù)器與并行服務(wù)器19.7小結(jié)練習(xí)第20章 SystemV進(jìn)程間的通信工具20.1引言20.2SystemVIPC的概念20.3SystemV消息隊(duì)列20.4SystemV信號(hào)量集20.5Systemv共享內(nèi)存20.6性能比較20.7小結(jié)練習(xí)第21章 高級(jí)進(jìn)程間通信21.1引言21.2傳遞文件描述符21.3開放的服務(wù)器(版本1)21.4客戶-服務(wù)器連接函數(shù)21.5開放的服務(wù)器(版本2)21.6小結(jié)練習(xí)第22章 門22.1引言22.2基本門函數(shù)22.3門信息函數(shù)22.4門的高級(jí)功能22.5門客戶或門服務(wù)器的提前終止22.6小結(jié)練習(xí)第六部分 偽終端第23章 偽終端23.1引言23.2偽終端概述23.3打開偽終端設(shè)備23.4pty_fork函數(shù)23.5pty程序23.6使用pty程序23.7高級(jí)特征23.8小結(jié)練習(xí)附錄附錄A 國際化和本地化基本知識(shí)附錄B BSD源代碼兼容性包附錄C 函數(shù)小結(jié)附錄D 其他源代碼附錄E 部分練習(xí)題答案
編輯推薦
本書使用實(shí)際案例研究、代碼示例和圖示,為系統(tǒng)程序員提供了全面、實(shí)用的指導(dǎo),涵蓋Solaris操作系統(tǒng)的所有版本,包括版本2.5到版本9,而且與SPARC和X86平臺(tái)相關(guān)。從I/O到IPC、從偽終端到本地化、從進(jìn)程到門,本書闡述了該環(huán)境的特征和微妙之處。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載