国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 基礎常識 > 正文

如何使用系統調用

2019-11-01 00:09:31
字體:
來源:轉載
供稿:網友

   下面通過一個簡單的例子來說明在用戶程序中是如何使用系統調用的。例如,要寫一個簡單的程序,用于從一個文件中讀出數據,再將該數據復制到另一文件中。為此,首先須輸入該程序的輸入文件名和輸出文件名。文件名可用多種方式指定,一種方式是由程序詢問用戶兩個文件的名字。

  在交互式系統中,該方式要使用一系列的系統調用,先在屏幕上打印出一系列的提示信息,然后從鍵盤終端讀入定義兩個義件名的字符串。一旦獲得兩個文件名后,程序又必須利用系統凋用open去打開輸入文件,并用系統凋用creat去創建指定的輸出文件;在執行叩⑶系統調用時,又可能發生錯誤。

  例如,程序試圖去打開一個不存在的文件;或者該文件雖然存在,但并不允許被訪問等。此時,程序又須利用一系列系統調用去顯示出錯信息,繼而再利用一個系統凋用去實現程序的異常終止。類似地,在執行系統調用creat時,同樣可能出現錯誤。例如,系統中存在與輸出文件同名的另一文件,這時又須利用一系統調用來結束程序;或者利用一個系統調用來刪除巳存在的那個同名文件,然后,再利用creat來創建輸出文件。

  在打開輸入文件和創建輸出文件都獲得成功后,還須利用_請內存的系統調用alloc根據文件的大小申請一個緩沖區。成功后,再利用read系統凋用從輸入文件中把數據讀到緩沖區內,讀完后,再用系統調用close去關閉輸入文件。然后利用write系統調用,把緩沖區內的數據寫到輸出文件中。在讀或寫操作中,也都可能需要回送各種出錯信息。

  比如,在輸入時可能發現已到達文件末尾(指定的字符數尚未讀夠),或者,在讀過程中發現硬件故障(如奇、偶錯);在寫操作中可能遇見各種與輸出設備類型有關的錯誤,比如,已無磁盤空間,打印機缺紙等。在將整個文件復制完后,程序又須凋用close去關閉輸出文件,并向控制臺回送一條消息以提示復制完畢。最后,再利用系統調用exit使程序正常結朿。

  通過這個例子可以看出,一個用戶程序將頻繁地利用各種系統調用以取得OS所提供的各種服務。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔西县| 杭锦后旗| 科技| 祁门县| 应城市| 广灵县| 新河县| 象山县| 河曲县| 观塘区| 贡觉县| 灵川县| 西乌珠穆沁旗| 大同县| 宝丰县| 海原县| 横峰县| 岫岩| 新巴尔虎左旗| 隆德县| 温泉县| 四子王旗| 江源县| 长寿区| 开江县| 三原县| 贺兰县| 班玛县| 昌都县| 马公市| 西昌市| 巴楚县| 新竹县| 荔波县| 宜章县| 临江市| 怀宁县| 石台县| 泗阳县| 莱西市| 河东区|