糯米文學吧

位置:首頁 > 計算機 > 計算機應用

操作系統基本知識大綱

操作系統是一管理電腦硬件與軟件資源的程序,同時也是計算機系統的內核與基石。以下是由小編整理關於操作系統基本知識的內容,希望大家喜歡!

操作系統基本知識大綱

一、操作系統基本知識——基本概念題

1、(進程)是操作系統中可以並行工作的基本單位,也是核心調度及資源分配的最小單位,它由(程序、數據和PCB)組成,它與程序的重要區別之一是:(它有狀態,而程序沒有)。在SMP系統中,操作系統還提供了(線程)機制,它是(處理器分配)的最小單位。

對於進程而言,包括以下幾個方面:

( 1 )進程是程序關於某個數據集的一次運行,具有動態性和併發性。 ( 2)進程是核心調度及資源分配的最小單位,也是可並行工作的基本單位。 ( 3 )進程是由程序、數據和進程控制塊(PCB)組成的。

( 4 )進程是一種輕量級進程,一個進程可以由1個或多個線程組成。 ( 5)進程是處理器分配的最小單位。

( 6)線程通常通常用於對稱多處理系統(SMP)中。

2、存儲管理的任務核心是存儲空間的分配與(回收)。而現代操作系統中有多種的存儲空間分配方案,其中將“存儲空間分成大小不等的區域,根據用户要求動態分配”的方法稱為(要變分區分配)。

分析:現代操作系統中使用的分配方案主要有以下幾種:

(1)單一連續分配:不分區,所有用户空間給某個進程或作業。

(2)固定分區分配:分成大小不等的區域,區域分完後固定不變。

(3)可變分區分配:分成大小不等的區域,根據用户要求動態分配。

3、在計算機系統中,採用磁盤高速設備虛擬多個“高速”的打印等低速設備的技術稱為(Spooling)。

分析:Spooling技術就是通過高速設備作為緩存,將低速設備上的任務以隊列存儲起來,以提高給用户的響應時間

4、在UNIX操作系統中,與Windows操作系統中“快捷方式”類似的概念是(文件鏈接)。

分析:它只是在當前目錄下創建一個文件項,但沒有複製真正的內容,而且當原文件改變時,這個鏈接文件也會改變。

5、嵌入式操作系統:主要應用於受限的硬件環境中,CPU、內存、存儲的資源相對受到較高的限制,而且硬件選擇較多,用户日常操作比較密集,並且現在都朝着“聯網使用”的趨勢發展。因此應該(具有較強的實時性),(擁有強大的網絡功能)、(良好的移植性);但由於存儲有限,因此是不可能實現海量數據處理能力的。

現代流行的嵌入式操作系統有40多種,主要的派系有三個:最悠久的PalmOS、開源的嵌入式Linux,以及windows的嵌入式版本(最早是windows CE,後來發展為適用於PDA的pocketPC和適用於智能手機的smartPhone)。而FreeBSD是一個UNIX開源實現,屬於PC操作系統之列。

二、操作系統基本知識——概念比較題

1、將一些主存中的頁淘汰到外存,騰出空間給要使用的頁,這個過程就是Swapping。

頁面調度算法有:

(1)最優算法:這顯然是我們追求的目標,但由於要實現最優,就是要使得未來的缺頁次數最少,這需要根據未來的“頁面需求”才能夠決策,但我們無法預知未來,因此僅僅是理論上的調度算法。

(2)隨機算法:也就是隨機地換出一些頁,由於這種算法實現起來比較簡單,因此也是一種可能的算法。

(3)先進先出:由於最先調入的頁,就意味着其駐留時間最長,因此將其調出也是一種比較合理的方案。

(4)最近最少使用:雖然我們無法預知未來,但我們可以總結過去,因此我們可以將最近最少使用的頁調出,因為它們不用的概率更高一些。

“後進先出”的調度思路,顯然是將最後調入的頁,先置換出去。但由於存儲具有“時間局部性”,因此剛調入主存的頁面,在一段時間內訪問的需求肯定是比較大的。這時,如果將其置換出去,顯然易於造成“顛簸”,因此顯然是不合理的調度算法。

2、操作系統的結構設計模式有多種,其中“所有處理機運行且共享一個內存”的設計結構是(對稱多處理模式)結核,它的特點是(適合共享存儲器結構的多處理系統)。(分析要點:所有處理機就是多處理器)

三、操作系統基本知識——工作原理題

1、虛擬存儲管理系統的基礎是程序的(局部性)理論。這個理論的基本含義是指程序執行時往往會(不均勻地)訪問內存儲器。程序的(局部性)現在(時間局部性)和(空間局部性)上。(時間局部性)是指最近訪問的存儲單元可能馬上又要訪問。(空間局部性)是指馬上訪問的單元,而其附近的單元也可能馬上訪問。

根據這個理論,DENNING提出了工作集理論。工作集是進程運行時頻繁地訪問的頁面集合。在進程運行時,如果它的工作頁面都在(主存儲)器內,能夠使該進程有效地運行,否則會出現頻繁的頁面調入/調出現象。

虛擬存儲的核心是“用磁盤等外存去擴展主存”,就是將一部分信息放在磁盤上,等需要時再調到主存中,這樣就可以在“邏輯上擴大主存的空間”。

從中得出兩個結論:

(1)經常會訪問剛訪問過的存儲單元——時間局部性。

(2)當某個存儲單元被訪問過,其鄰近的單元就很可能被訪問(也就是對存儲訪問有成組的傾向)——空間局部性。

這也就是説明,對內存的訪問是不均勻的,局部的。而對於最後的問題而言,事實上只要根據“否則會出現頻繁的頁面調入/調出”中可以看出顯然就是當工作頁面都在“主存儲器”中時無須換頁。

2、Windows NT中,運行在核心態的子系統是(執行體),而進程就是由(執行體)中的(對象管理器)負責創建和刪除的。分析:Windows NT可以分為執行體和保護子系統。前者運行在核心態,後者運行在用户態。而保護子系統主要包括環境子系統、集成子系統兩類。而Windows NT的.進程是由執行體中的對象管理器負責創建和刪除的。每個進程創建時只有一個線程,根據需要可以創建更多的線程。 四、 原理應用題:

1、進程PA不斷地向管道寫數據,進程PB從管道中讀數據並加工處理,如圖。如果採用PV操作來實現進程PA和進程PB的管道通信,並且保證這兩個進程並執行的正確性,則至少需要(2個信號量,信號量的初值是0、1)

對於信號量的個數與初值而言,需要掌握以下幾個要點:

(1)控制互斥只需1個信號量,信號量的值是“臨界區”的數量(或指可重入的個數)。

(2)控制同步需要2個信號量,信號量的值分別用於管理“同步區”的滿值和空值;因此如果“同步區”的個數是1,則可以省去一個信號。 (3)經典的“生產者—消費者”問題,是“互斥+同步”的控制,通常需要3個信號量。

而本題中這個經典的“生產者—消費者”的問題,其中進程PA和進程PB分別是生產者和消費者,管道為臨界區。根據上面的原則,我們知道在程序中應該設置1個同步信號量(同步區為1),為1時説明管道已滿拒絕PA再寫入數據,為0時説明管道為空拒絕PB再讀出數據,管道初始是沒有數據的,所以初始值為0(特別情況即管道的大小為1個單位);程序還需要1理互斥信號量來保證程序只有一個進程訪問管道,初始值為1。

2、在系統運行的某一時刻中,有A、B兩個進程。除了互斥地使用惟一的“繪圖儀R”之外,不使用其他資源。如圖,用粗實線表示進程在運行,用細實線表示在使用繪圖儀。對於進程A而言,在時間點t1、t2、t3時其狀態分別是(阻塞、運行、就緒),進程B在這三個時間點的狀態則分別是(運行、阻塞、運行)。

標籤:操作系統 大綱