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