????大部分程序都是基于圖-1.1表示的模型運(yùn)行的:
? ??Q:操作系統(tǒng)存在的意義是什么俩由?
????A:
????當(dāng)有多個(gè)用戶操作的時(shí)候馒索,若按圖-1.2的方式對(duì)程序進(jìn)行操作,很有可能會(huì)出現(xiàn)錯(cuò)誤刁憋。因此,應(yīng)當(dāng)管理多用戶對(duì)程序的操作木蹬,這就是操作系統(tǒng)其中的一個(gè)職責(zé)至耻。
????圖-1.3,圖-1.4有了操作系統(tǒng)后镊叁,得到的新的模型尘颓。
? ? 操作系統(tǒng)(操作系統(tǒng)也叫內(nèi)核)和普通程序一樣,都是程序晦譬、都是運(yùn)行在內(nèi)存空間中疤苹。存放操作系統(tǒng)的內(nèi)存空間叫系統(tǒng)空間,存放其它普通程序的內(nèi)存空間叫用戶空間(如圖-1.3所示)敛腌。
? ? 從圖-1.4中可以看到卧土,程序要訪問(wèn)設(shè)備都是要經(jīng)過(guò)操作系統(tǒng)(內(nèi)核)的。程序如果要從鍵盤(pán)得到數(shù)據(jù)像樊,必須向內(nèi)核發(fā)出請(qǐng)求尤莺,若在顯示器上顯示結(jié)果,也要通過(guò)內(nèi)核生棍。
Q:系統(tǒng)編程和普通程序編程的區(qū)別是什么颤霎?
A:編寫(xiě)普通程序時(shí)可以認(rèn)為,程序是直接連到鍵盤(pán)涂滴、顯示器友酱、磁盤(pán)等設(shè)備的,但在進(jìn)行系統(tǒng)編程時(shí)柔纵,必須對(duì)系統(tǒng)的結(jié)構(gòu)和工作方式有更深的了解缔杉,要知道內(nèi)核提供哪些服務(wù)(系統(tǒng)調(diào)用),如何使用它們搁料,系統(tǒng)有哪些資源和設(shè)備或详,不同的資源和設(shè)備該如何操作进苍。
Q:Unix系統(tǒng)上可以多用戶同時(shí)登陸到系統(tǒng),那系統(tǒng)是怎么進(jìn)行多用戶管理的鸭叙?
在登錄過(guò)程中觉啊,當(dāng)用戶名和密碼通過(guò)驗(yàn)證后,系統(tǒng)會(huì)啟動(dòng)一個(gè)叫shell的進(jìn)程沈贝,然后把用戶交給這個(gè)進(jìn)程杠人,由這個(gè)進(jìn)程處理用戶的請(qǐng)求。每個(gè)用戶都有屬于自己的shell進(jìn)程宋下。用戶注銷時(shí)嗡善,內(nèi)核會(huì)結(jié)束所有分配給這個(gè)用戶的進(jìn)程。
? ??圖-1.5中內(nèi)核負(fù)責(zé)把用戶的輸入傳給shell学歧。