操作系統(tǒng)基本知識(shí)點(diǎn)
操作系統(tǒng)基本知識(shí)點(diǎn)
操作系統(tǒng)是一管理電腦硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石。以下是由學(xué)習(xí)啦小編整理關(guān)于操作系統(tǒng)基本知識(shí)的內(nèi)容,希望大家喜歡!
一、操作系統(tǒng)基本知識(shí)——基本概念題
1、(進(jìn)程)是操作系統(tǒng)中可以并行工作的基本單位,也是核心調(diào)度及資源分配的最小單位,它由(程序、數(shù)據(jù)和PCB)組成,它與程序的重要區(qū)別之一是:(它有狀態(tài),而程序沒有)。在SMP系統(tǒng)中,操作系統(tǒng)還提供了(線程)機(jī)制,它是(處理器分配)的最小單位。
對(duì)于進(jìn)程而言,包括以下幾個(gè)方面:
( 1 )進(jìn)程是程序關(guān)于某個(gè)數(shù)據(jù)集的一次運(yùn)行,具有動(dòng)態(tài)性和并發(fā)性。 ( 2)進(jìn)程是核心調(diào)度及資源分配的最小單位,也是可并行工作的基本單位。 ( 3 )進(jìn)程是由程序、數(shù)據(jù)和進(jìn)程控制塊(PCB)組成的。
( 4 )進(jìn)程是一種輕量級(jí)進(jìn)程,一個(gè)進(jìn)程可以由1個(gè)或多個(gè)線程組成。 ( 5)進(jìn)程是處理器分配的最小單位。
( 6)線程通常通常用于對(duì)稱多處理系統(tǒng)(SMP)中。
2、存儲(chǔ)管理的任務(wù)核心是存儲(chǔ)空間的分配與(回收)。而現(xiàn)代操作系統(tǒng)中有多種的存儲(chǔ)空間分配方案,其中將“存儲(chǔ)空間分成大小不等的區(qū)域,根據(jù)用戶要求動(dòng)態(tài)分配”的方法稱為(要變分區(qū)分配)。
分析:現(xiàn)代操作系統(tǒng)中使用的分配方案主要有以下幾種:
(1)單一連續(xù)分配:不分區(qū),所有用戶空間給某個(gè)進(jìn)程或作業(yè)。
(2)固定分區(qū)分配:分成大小不等的區(qū)域,區(qū)域分完后固定不變。
(3)可變分區(qū)分配:分成大小不等的區(qū)域,根據(jù)用戶要求動(dòng)態(tài)分配。
3、在計(jì)算機(jī)系統(tǒng)中,采用磁盤高速設(shè)備虛擬多個(gè)“高速”的打印等低速設(shè)備的技術(shù)稱為(Spooling)。
分析:Spooling技術(shù)就是通過高速設(shè)備作為緩存,將低速設(shè)備上的任務(wù)以隊(duì)列存儲(chǔ)起來,以提高給用戶的響應(yīng)時(shí)間。
4、在UNIX操作系統(tǒng)中,與Windows操作系統(tǒng)中“快捷方式”類似的概念是(文件鏈接)。
分析:它只是在當(dāng)前目錄下創(chuàng)建一個(gè)文件項(xiàng),但沒有復(fù)制真正的內(nèi)容,而且當(dāng)原文件改變時(shí),這個(gè)鏈接文件也會(huì)改變。
5、嵌入式操作系統(tǒng):主要應(yīng)用于受限的硬件環(huán)境中,CPU、內(nèi)存、存儲(chǔ)的資源相對(duì)受到較高的限制,而且硬件選擇較多,用戶日常操作比較密集,并且現(xiàn)在都朝著“聯(lián)網(wǎng)使用”的趨勢發(fā)展。因此應(yīng)該(具有較強(qiáng)的實(shí)時(shí)性),(擁有強(qiáng)大的網(wǎng)絡(luò)功能)、(良好的移植性);但由于存儲(chǔ)有限,因此是不可能實(shí)現(xiàn)海量數(shù)據(jù)處理能力的。
現(xiàn)代流行的嵌入式操作系統(tǒng)有40多種,主要的派系有三個(gè):最悠久的PalmOS、開源的嵌入式Linux,以及windows的嵌入式版本(最早是windows CE,后來發(fā)展為適用于PDA的pocketPC和適用于智能手機(jī)的smartPhone)。而FreeBSD是一個(gè)UNIX開源實(shí)現(xiàn),屬于PC操作系統(tǒng)之列。
二、操作系統(tǒng)基本知識(shí)——概念比較題
1、將一些主存中的頁淘汰到外存,騰出空間給要使用的頁,這個(gè)過程就是Swapping。
頁面調(diào)度算法有:
(1)最優(yōu)算法:這顯然是我們追求的目標(biāo),但由于要實(shí)現(xiàn)最優(yōu),就是要使得未來的缺頁次數(shù)最少,這需要根據(jù)未來的“頁面需求”才能夠決策,但我們無法預(yù)知未來,因此僅僅是理論上的調(diào)度算法。
(2)隨機(jī)算法:也就是隨機(jī)地?fù)Q出一些頁,由于這種算法實(shí)現(xiàn)起來比較簡單,因此也是一種可能的算法。
(3)先進(jìn)先出:由于最先調(diào)入的頁,就意味著其駐留時(shí)間最長,因此將其調(diào)出也是一種比較合理的方案。
(4)最近最少使用:雖然我們無法預(yù)知未來,但我們可以總結(jié)過去,因此我們可以將最近最少使用的頁調(diào)出,因?yàn)樗鼈儾挥玫母怕矢咭恍?/p>
“后進(jìn)先出”的調(diào)度思路,顯然是將最后調(diào)入的頁,先置換出去。但由于存儲(chǔ)具有“時(shí)間局部性”,因此剛調(diào)入主存的頁面,在一段時(shí)間內(nèi)訪問的需求肯定是比較大的。這時(shí),如果將其置換出去,顯然易于造成“顛簸”,因此顯然是不合理的調(diào)度算法。
2、操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)模式有多種,其中“所有處理機(jī)運(yùn)行且共享一個(gè)內(nèi)存”的設(shè)計(jì)結(jié)構(gòu)是(對(duì)稱多處理模式)結(jié)核,它的特點(diǎn)是(適合共享存儲(chǔ)器結(jié)構(gòu)的多處理系統(tǒng))。(分析要點(diǎn):所有處理機(jī)就是多處理器)
三、操作系統(tǒng)基本知識(shí)——工作原理題
1、虛擬存儲(chǔ)管理系統(tǒng)的基礎(chǔ)是程序的(局部性)理論。這個(gè)理論的基本含義是指程序執(zhí)行時(shí)往往會(huì)(不均勻地)訪問內(nèi)存儲(chǔ)器。程序的(局部性)現(xiàn)在(時(shí)間局部性)和(空間局部性)上。(時(shí)間局部性)是指最近訪問的存儲(chǔ)單元可能馬上又要訪問。(空間局部性)是指馬上訪問的單元,而其附近的單元也可能馬上訪問。
根據(jù)這個(gè)理論,DENNING提出了工作集理論。工作集是進(jìn)程運(yùn)行時(shí)頻繁地訪問的頁面集合。在進(jìn)程運(yùn)行時(shí),如果它的工作頁面都在(主存儲(chǔ))器內(nèi),能夠使該進(jìn)程有效地運(yùn)行,否則會(huì)出現(xiàn)頻繁的頁面調(diào)入/調(diào)出現(xiàn)象。
虛擬存儲(chǔ)的核心是“用磁盤等外存去擴(kuò)展主存”,就是將一部分信息放在磁盤上,等需要時(shí)再調(diào)到主存中,這樣就可以在“邏輯上擴(kuò)大主存的空間”。
從中得出兩個(gè)結(jié)論:
(1)經(jīng)常會(huì)訪問剛訪問過的存儲(chǔ)單元——時(shí)間局部性。
(2)當(dāng)某個(gè)存儲(chǔ)單元被訪問過,其鄰近的單元就很可能被訪問(也就是對(duì)存儲(chǔ)訪問有成組的傾向)——空間局部性。
這也就是說明,對(duì)內(nèi)存的訪問是不均勻的,局部的。而對(duì)于最后的問題而言,事實(shí)上只要根據(jù)“否則會(huì)出現(xiàn)頻繁的頁面調(diào)入/調(diào)出”中可以看出顯然就是當(dāng)工作頁面都在“主存儲(chǔ)器”中時(shí)無須換頁。
2、Windows NT中,運(yùn)行在核心態(tài)的子系統(tǒng)是(執(zhí)行體),而進(jìn)程就是由(執(zhí)行體)中的(對(duì)象管理器)負(fù)責(zé)創(chuàng)建和刪除的。分析:Windows NT可以分為執(zhí)行體和保護(hù)子系統(tǒng)。前者運(yùn)行在核心態(tài),后者運(yùn)行在用戶態(tài)。而保護(hù)子系統(tǒng)主要包括環(huán)境子系統(tǒng)、集成子系統(tǒng)兩類。而Windows NT的進(jìn)程是由執(zhí)行體中的對(duì)象管理器負(fù)責(zé)創(chuàng)建和刪除的。每個(gè)進(jìn)程創(chuàng)建時(shí)只有一個(gè)線程,根據(jù)需要可以創(chuàng)建更多的線程。 四、 原理應(yīng)用題:
1、進(jìn)程PA不斷地向管道寫數(shù)據(jù),進(jìn)程PB從管道中讀數(shù)據(jù)并加工處理,如圖。如果采用PV操作來實(shí)現(xiàn)進(jìn)程PA和進(jìn)程PB的管道通信,并且保證這兩個(gè)進(jìn)程并執(zhí)行的正確性,則至少需要(2個(gè)信號(hào)量,信號(hào)量的初值是0、1)
對(duì)于信號(hào)量的個(gè)數(shù)與初值而言,需要掌握以下幾個(gè)要點(diǎn):
(1)控制互斥只需1個(gè)信號(hào)量,信號(hào)量的值是“臨界區(qū)”的數(shù)量(或指可重入的個(gè)數(shù))。
(2)控制同步需要2個(gè)信號(hào)量,信號(hào)量的值分別用于管理“同步區(qū)”的滿值和空值;因此如果“同步區(qū)”的個(gè)數(shù)是1,則可以省去一個(gè)信號(hào)。 (3)經(jīng)典的“生產(chǎn)者—消費(fèi)者”問題,是“互斥+同步”的控制,通常需要3個(gè)信號(hào)量。
而本題中這個(gè)經(jīng)典的“生產(chǎn)者—消費(fèi)者”的問題,其中進(jìn)程PA和進(jìn)程PB分別是生產(chǎn)者和消費(fèi)者,管道為臨界區(qū)。根據(jù)上面的原則,我們知道在程序中應(yīng)該設(shè)置1個(gè)同步信號(hào)量(同步區(qū)為1),為1時(shí)說明管道已滿拒絕PA再寫入數(shù)據(jù),為0時(shí)說明管道為空拒絕PB再讀出數(shù)據(jù),管道初始是沒有數(shù)據(jù)的,所以初始值為0(特別情況即管道的大小為1個(gè)單位);程序還需要1理互斥信號(hào)量來保證程序只有一個(gè)進(jìn)程訪問管道,初始值為1。
2、在系統(tǒng)運(yùn)行的某一時(shí)刻中,有A、B兩個(gè)進(jìn)程。除了互斥地使用惟一的“繪圖儀R”之外,不使用其他資源。如圖,用粗實(shí)線表示進(jìn)程在運(yùn)行,用細(xì)實(shí)線表示在使用繪圖儀。對(duì)于進(jìn)程A而言,在時(shí)間點(diǎn)t1、t2、t3時(shí)其狀態(tài)分別是(阻塞、運(yùn)行、就緒),進(jìn)程B在這三個(gè)時(shí)間點(diǎn)的狀態(tài)則分別是(運(yùn)行、阻塞、運(yùn)行)。
看過“操作系統(tǒng)基本知識(shí)“的人還看了: