根據(jù)系統(tǒng)調(diào)用的功能,可將其分為進(jìn)程控制(類)的系統(tǒng)調(diào)用、進(jìn)程通信(類)的系統(tǒng)調(diào) 用、文件操作(類)及設(shè)備管理(類)系統(tǒng)調(diào)用等。 進(jìn)程控制類的系統(tǒng)調(diào)用 這類系統(tǒng)調(diào)用主要用于對(duì)進(jìn)程的控制,如創(chuàng)建一個(gè)新的進(jìn)程和終止一個(gè)進(jìn)程的運(yùn)行,獲 得和設(shè)置進(jìn)程屬性等。 (1 )創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用。在多道程序環(huán)境下,為使多道程序能并發(fā)執(zhí)行,必須 先利用創(chuàng)建進(jìn)程的系統(tǒng)調(diào)用,為需要并發(fā)執(zhí)行的各程序分?創(chuàng)建一個(gè)進(jìn)程。當(dāng)進(jìn)程已經(jīng)執(zhí) 行結(jié)?或因發(fā)生異常情況而不能繼續(xù)執(zhí)行時(shí),可利用終止進(jìn)程的系統(tǒng)調(diào)用來結(jié)?該進(jìn)程的 運(yùn)行。 (2 )獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用。當(dāng)創(chuàng)建一個(gè)(些)新進(jìn)程后,為了能控制它(們) 的運(yùn)行,應(yīng)當(dāng)能了解、確定和重新設(shè)置它(們)的屬性。這些屬性包括:進(jìn)程標(biāo)識(shí)符、進(jìn)程優(yōu) 先級(jí)、最大允許執(zhí)行時(shí)間等。此時(shí)可利用獲得進(jìn)程屬性的系統(tǒng)調(diào)用,來了解某進(jìn)程的屬性, 利用設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用,來確定和重新設(shè)?進(jìn)程的屬性。 (3 )等待事件觸發(fā)的系統(tǒng)調(diào)用。進(jìn)程在運(yùn)行過程中,有時(shí)需要等待某事件(條件)出現(xiàn) 后,方可繼續(xù)執(zhí)行。例如,一個(gè)進(jìn)程在創(chuàng)建了一個(gè)(些)新進(jìn)程后,需要等待它(們)運(yùn)行結(jié)? 后,才能繼續(xù)執(zhí)行,此時(shí)可利用等待子進(jìn)程結(jié)?的系統(tǒng)調(diào)用進(jìn)行等待。又如,在客戶/服務(wù)器 模式中,若無任何客戶向服務(wù)器發(fā)出消息,則服務(wù)器接收進(jìn)程便無事可做,此時(shí)該進(jìn)程就可 利用等待(事件)的系統(tǒng)調(diào)用,使自己處于等待狀態(tài),一旦有客戶發(fā)來消息時(shí),接收進(jìn)程便被 喚醒,進(jìn)行消息接收的處理。 進(jìn)程通信類系統(tǒng)調(diào)用 在OS中經(jīng)常采用兩種進(jìn)程通信方式,即消息傳遞方式和共享存儲(chǔ)區(qū)方式。當(dāng)系統(tǒng)中 采用消息傳遞方式時(shí),在通信前,必須先打開一個(gè)連接。為此,應(yīng)由源進(jìn)程發(fā)出一條打開連 接的系統(tǒng)調(diào)用open connection,而H標(biāo)進(jìn)程則應(yīng)利用接受選接的系統(tǒng)調(diào)用accept connection 表示同意進(jìn)行通信;然后,在源進(jìn)程和目標(biāo)進(jìn)程之間便可開始通信,利用發(fā)送消息的系統(tǒng)調(diào) 用send message或者用接收消息的系統(tǒng)調(diào)用receive message來交換信息。通信結(jié)束后,還須 再利用關(guān)閉連接的系統(tǒng)調(diào)用close connection結(jié)束通信。 用戶在利用共享存儲(chǔ)區(qū)進(jìn)行通信之前,必須先利用建立共享存儲(chǔ)區(qū)的系統(tǒng)調(diào)用建立一 個(gè)共享存儲(chǔ)區(qū),再利用建立連接的系統(tǒng)凋用將該共享存儲(chǔ)區(qū)連接到進(jìn)程自身的虛地址空間 上,然后便可利用讀和寫共享存儲(chǔ)區(qū)的系統(tǒng)調(diào)用實(shí)現(xiàn)相互之間的通信。 文件操作類系統(tǒng)調(diào)用 對(duì)文件進(jìn)行操作的系統(tǒng)調(diào)用數(shù)量較多,下面簡(jiǎn)單介紹一些對(duì)文件基本操作的系統(tǒng)調(diào)用。 (1 )創(chuàng)建和刪除文件。當(dāng)用戶需要在系統(tǒng)中存放程序或數(shù)據(jù)時(shí),可利用創(chuàng)建文件的系 統(tǒng)凋用creat,由系統(tǒng)根據(jù)用戶提供的文件名和存取方式來創(chuàng)建一個(gè)新文件;當(dāng)用戶不再需 要某文件時(shí),可利用刪除文件的系統(tǒng)調(diào)用將文件刪除。 (2)打開和關(guān)閉文件。用戶在第一次訪問某個(gè)文件之前,應(yīng)先利用打開文件的系統(tǒng)調(diào) 用open,將指定文件打開,即系統(tǒng)將在用戶(程序)與該文件之間建立一條快捷通路。在文 件被打開后,系統(tǒng)將給用戶返回一個(gè)該文件的句柄或描述符;當(dāng)用戶不再訪問某文件時(shí),又 可利用關(guān)閉文件的系統(tǒng)調(diào)用close將此文件關(guān)閉,即斷開該用戶程序與該文件之間的快捷 通路。 (3 )讀/寫文件。用戶可利用讀系統(tǒng)調(diào)用read,從已打開的文件中讀出給定數(shù)目的字 符,并送至指定的緩沖區(qū)中;同樣,用戶也可利用寫系統(tǒng)凋用write,從指定的緩沖區(qū)中將給定數(shù)目的字符寫入指定文件中。read和write兩個(gè)系統(tǒng)調(diào)用是文件操作類中使用最頻繁的 系統(tǒng)調(diào)用。 對(duì)文件進(jìn)行操作的系統(tǒng)調(diào)用還有:建立目錄、移動(dòng)文件的讀/寫指針及改變文件屬性等。 |