




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、linux 操作系統(tǒng)原理及應(yīng)用答案【篇一:linux 操作系統(tǒng)原理與應(yīng)用】算機(jī)應(yīng)用的過程中,人們接觸最頻繁的是操作系統(tǒng),例如磁盤操作系統(tǒng) dos 、易于使用的圖形界面操作系統(tǒng)windows 、開放源代碼的操作系統(tǒng)linux 等。但是,操作系統(tǒng)往往是比較復(fù)雜的系統(tǒng)軟件,相對(duì)于使用而言,要掌握它的運(yùn)行機(jī)制就不是那么容易。1.1 認(rèn)識(shí)操作系統(tǒng)可以從不同的角度來認(rèn)識(shí)操作系統(tǒng)。從使用者的角度看,操作系統(tǒng)使得計(jì)算機(jī)易于使用。從程序員的角度看,操作系統(tǒng)把軟件開發(fā)人員從與硬件打交道的繁瑣事務(wù)中解放出來。從設(shè)計(jì)者的角度看,有了操作系統(tǒng),就可以方便地對(duì)計(jì)算機(jī)系統(tǒng)中的各種軟、硬件資源進(jìn)行有效的管理。1.1.1 從使
2、用者角度人們對(duì)操作系統(tǒng)的認(rèn)識(shí)一般是從使用開始的。打開計(jì)算機(jī),呈現(xiàn)在眼前的首先是操作系統(tǒng)。如果用戶打開的是操作系統(tǒng)字符界面,就可以通過命令行完成需要的操作。例如,要在linux 下復(fù)制一個(gè)文件,則輸入:cp /floppy/test mydir/test上述命令可以把/floppy 目錄下的test 文件復(fù)制到mydir 目錄下,并更名為test 。 為什么可以這么方便地復(fù)制文件?操作系統(tǒng)為此做了什么工作?首先,文件這個(gè)概念是從操作系統(tǒng)中衍生出來的。如果沒有文件這個(gè)實(shí)體,就必須指明數(shù)據(jù)存放的具體物理位置,即位于哪個(gè)柱面、哪個(gè)磁道、哪個(gè)扇區(qū)。其次,數(shù)據(jù)轉(zhuǎn)移過程是復(fù)雜的i/o 操作,一般用戶無法關(guān)注
3、這些具體的細(xì)節(jié)。最后,這個(gè)命令的執(zhí)行還涉及其他復(fù)雜的操作,但是,因?yàn)橛辛瞬僮飨到y(tǒng),用戶只需要知道文件名,其他繁瑣的事務(wù)完全由操作系統(tǒng)去處理。如果用戶在圖形界面下操作,上述處理就更加容易。實(shí)際上,圖形界面的本質(zhì)也是執(zhí)行各種命令,例如,如果復(fù)制一個(gè)文件,那么就要調(diào)用 cp 命令,而具體的復(fù)制操作最終還是由操作系統(tǒng)去完成。因此,不管是敲擊鍵盤或者單擊鼠標(biāo),這些簡單的操作在指揮著計(jì)算機(jī)完成復(fù)雜的處理過程。正是操作系統(tǒng)把繁瑣留給自己,把簡單留給用戶。1.1.2 從程序開發(fā)者角度從程序開發(fā)者的角度看,不必關(guān)心如何在內(nèi)存存放變量、數(shù)據(jù),如何從外存存取數(shù)據(jù),如何把數(shù)據(jù)在輸出設(shè)備上顯示出來,等等。例如, cp
4、命令的 c 語言實(shí)現(xiàn)片段如下:inf=open(/floppy/test,o_rdonly,0);out=open(/mydir/test,o_wronly,0600);dol=read(inf,buf,4096);write(outf,buf,l); while(l);close(outf);close(inf);在這段程序中,用到四個(gè)函數(shù)open() , close() , write() 和 read() ,它們都是c 語言函數(shù)庫中的函數(shù)。進(jìn)一步研究可知,這些函數(shù)都要涉及 i/o 操作,因此,它們的實(shí)現(xiàn)必須調(diào)用操作系統(tǒng)所提供的接口,也就是說,打開文件、關(guān)閉文件、讀寫文件的真正操作是由操作
5、系統(tǒng)完成的。這些操作非常繁瑣,對(duì)于不同的操作系統(tǒng)其具體實(shí)現(xiàn)也可能不同,程序開發(fā)者不必關(guān)心這些具體操作。1.1.3 從操作系統(tǒng)在整個(gè)計(jì)算機(jī)系統(tǒng)中所處位置如果把操作系統(tǒng)放在整個(gè)計(jì)算機(jī)系統(tǒng)中考慮,則如圖1.1 所示。內(nèi)核圖 1.1 計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)示意圖因?yàn)椴僮飨到y(tǒng)這個(gè)術(shù)語越來越大眾化,因此許多用戶把他們?cè)谄聊簧峡吹降臇|西理所當(dāng)然地認(rèn)為是操作系統(tǒng),例如windows 中的圖形界面、 ie 瀏覽器、系統(tǒng)工具集等,這些都是操作系統(tǒng)的一部分。但是,本書討論的操作系統(tǒng)是指內(nèi)核(kernel )。用戶界面是操作系統(tǒng)的外在表象,而內(nèi)核是操作系統(tǒng)的內(nèi)在核心,由它真正完成用戶程序所要求的操作。從圖 1.1 可以看
6、出,一方面操作系統(tǒng)是上層軟件與硬件相聯(lián)系的窗口和橋梁,另一方面操作系統(tǒng)是其他所有用戶程序運(yùn)行的基礎(chǔ)。下面以一個(gè)程序的執(zhí)行過程為例,看一下操作系統(tǒng)具體起什么樣的作用。一個(gè)簡單的c 程序如下所示,其名為test.c 。#includestdio.hmain()printf(hello worldn);用戶對(duì)上述程序編譯、連接后,生成一個(gè)可執(zhí)行的二進(jìn)制文件,其機(jī)器執(zhí)行過程簡述如下:( 1 )用戶告訴操作系統(tǒng)執(zhí)行test 程序。( 2)操作系統(tǒng)通過文件名找到該程序。( 3)檢查其類型,檢查程序首部,找出代碼和數(shù)據(jù)存放的位置。( 4)文件系統(tǒng)找到第一個(gè)磁盤塊。( 5)操作系統(tǒng)建立程序的執(zhí)行環(huán)境。( 6)
7、操作系統(tǒng)把程序從磁盤裝入內(nèi)存,并跳到程序開始處開始執(zhí)行。( 7)操作系統(tǒng)檢查字符串的位置是否正確。( 8)操作系統(tǒng)找到字符串被送往的設(shè)備。( 9)操作系統(tǒng)將字符串送往該設(shè)備。窗口系統(tǒng)確定這是一個(gè)合法的操作,然后將字符串轉(zhuǎn)換成像素。( 10 )窗口系統(tǒng)將像素寫入存儲(chǔ)映像區(qū)。( 11 )視頻硬件將像素表示轉(zhuǎn)換成一組模擬信號(hào),用于控制顯示器(重畫屏幕)。( 12 )顯示器發(fā)射電子束,在屏幕上顯示“ hello world 。 ”從這個(gè)簡單的例子可以看出,任何一個(gè)程序的運(yùn)行只有借助于操作系統(tǒng)才能得以順利完成,因此,從本質(zhì)上說,操作系統(tǒng)是應(yīng)用程序運(yùn)行的基礎(chǔ)設(shè)施。1.1.4 從操作系統(tǒng)設(shè)計(jì)者的角度操作系統(tǒng)
8、是一個(gè)龐大、復(fù)雜的系統(tǒng)軟件,其設(shè)計(jì)目標(biāo)有兩個(gè),一是盡可能地方便用戶使用計(jì)算機(jī),二是讓各種軟件資源和硬件資源高效、協(xié)調(diào)地運(yùn)轉(zhuǎn)?;\統(tǒng)地說,計(jì)算機(jī)的硬件資源包括cpu 、存儲(chǔ)器和各種外設(shè)。其中外設(shè)種類繁多,如磁盤、鼠標(biāo)、網(wǎng)絡(luò)接口、打印機(jī)等。操作系統(tǒng)對(duì)外設(shè)的操作是通過i/o 接口進(jìn)行的。軟件資源主要指存放在存儲(chǔ)介質(zhì)上的文件。假設(shè)在一臺(tái)計(jì)算機(jī)上有三道程序同時(shí)運(yùn)行,并試圖在一臺(tái)打印機(jī)上輸出運(yùn)算結(jié)果,這意味著必須考慮以下問題:三道程序在內(nèi)存中如何存放?什么時(shí)候讓某個(gè)程序占用cpu ?怎樣有序地輸出各個(gè)程序的運(yùn)算結(jié)果?這些問題的解決都必須求助于操作系統(tǒng),也就是說,操作系統(tǒng)必須對(duì)內(nèi)存、cpu 進(jìn)行管理,當(dāng)然也包
9、括對(duì)外設(shè)的管理。因此,從操作系統(tǒng)設(shè)計(jì)者的角度考慮,一個(gè)操作系統(tǒng)必須包含以下幾部分: 操作系統(tǒng)接口 cpu 管理 內(nèi)存管理 設(shè)備管理 文件管理綜上所述,操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,是一些程序模塊的集合 它們能以盡量有效、合理的方式組織和管理計(jì)算機(jī)的軟、硬件資源,合理的組織計(jì)算機(jī)的工作流程,控制程序的執(zhí)行,并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效地使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能高效、順暢地運(yùn)行。1.2 操作系統(tǒng)的發(fā)展操作系統(tǒng)的發(fā)展過程是一個(gè)從無到有、從簡單到復(fù)雜的過程。為了進(jìn)一步理清思路,下面從操作系統(tǒng)的演變、硬件和軟件的各自發(fā)展的角度來加深了解。1.2.1 操作系統(tǒng)的演變
10、在計(jì)算機(jī)誕生的初期,硬件價(jià)格昂貴,沒有操作系統(tǒng)。每一個(gè)用戶都要自行編寫涉及到硬件的源代碼。程序通過卡片輸入計(jì)算機(jī),一次只能完成一個(gè)功能(計(jì)算、i/o 、用戶思考/反應(yīng)),工作效率非常低。最早出現(xiàn)的操作系統(tǒng)是簡單的單道批處理系統(tǒng),它能串行執(zhí)行預(yù)先組織好的一組任務(wù)。這種系統(tǒng)避免了此前系統(tǒng)一次只能運(yùn)行一個(gè)任務(wù),每個(gè)任務(wù)必須先裝入系統(tǒng),執(zhí)行完之后才能裝入下一個(gè)任務(wù)而浪費(fèi)了裝入時(shí)間的現(xiàn)象,提高了系統(tǒng)效率。但是,程序運(yùn)行到i/o 操作期間,cpu 總是需要停下來等待數(shù)據(jù)傳輸完成,而i/o 操作時(shí)間比cpu 處理數(shù)據(jù)時(shí)間要高出數(shù)倍(往往是20倍以上),因此無形中浪費(fèi)了大量寶貴的cpu 時(shí)間,也使得任務(wù)組中后
11、續(xù)程序的執(zhí)行被延遲,那么,如何避免數(shù)據(jù)傳輸?shù)却鶐淼臅r(shí)間浪費(fèi)?能否在傳輸期間解放cpu ,使其可以去執(zhí)行別的任務(wù)?為解決這個(gè)問題,單道批處理系統(tǒng)發(fā)展成為多道批處理系統(tǒng)。所謂多道,就是指處理器(指單處理器系統(tǒng))可以交錯(cuò)運(yùn)行多個(gè)程序,在某個(gè)任務(wù)掛起時(shí)運(yùn)行另一個(gè)程序。這樣就解決了cpu 等待數(shù)據(jù)傳輸所浪費(fèi)的時(shí)間,進(jìn)一步提高了系統(tǒng)效率。當(dāng)計(jì)算機(jī)所處理的任務(wù)不再僅僅局限于科學(xué)計(jì)算,而是越來越多地涉及辦公和日?;顒?dòng)時(shí),程序在執(zhí)行過程中常常需要和用戶不斷交互,任務(wù)執(zhí)行結(jié)果隨時(shí)都會(huì)因?yàn)橛脩舻倪x擇而改變,而且往往需要多個(gè)用戶同時(shí)使用系統(tǒng)。由于這種交互模式和共享模式需要任務(wù)響應(yīng)時(shí)間盡可能短(如果超過20 秒,人
12、的思維就容易被打斷或變得不耐煩),為了讓多數(shù)用戶滿意,操作系統(tǒng)開始采用分時(shí)技術(shù),將處理器的運(yùn)行時(shí)間分成數(shù)片,平均或依照一定權(quán)重分發(fā)給系統(tǒng)中的各用戶使用。這種使處理器虛擬地由多個(gè)用戶共同使用的方法,不但可以滿足快速響應(yīng)要求,也可以使得所有用戶產(chǎn)生計(jì)算機(jī)完全是在為自己服務(wù)的感覺。上面給出了操作系統(tǒng)發(fā)展的幾個(gè)主要階段:單道批處理 多道批處理 分時(shí)系統(tǒng)。除此以外,現(xiàn)在還出現(xiàn)了分布式操作系統(tǒng)、嵌入式系統(tǒng),不過總體技術(shù)思路仍然脫離不了多道、分時(shí)等概念。1.2.2 硬件的發(fā)展軌跡操作系統(tǒng)理論是在計(jì)算機(jī)的應(yīng)用中誕生并成長的,它的發(fā)展與計(jì)算機(jī)硬件的發(fā)展是密不可分的。表1.1 是從硬件角度看操作系統(tǒng)的發(fā)展軌跡。表
13、 1.1 從硬件角度看操作系統(tǒng)發(fā)展軌跡【篇二:嵌入式linux 操作系統(tǒng)原理與應(yīng)用】11.1 嵌入式系統(tǒng)概述11.1.1 嵌入式系統(tǒng)基本概念11.1.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域11.1.3 嵌入式系統(tǒng)組成21.1.4 嵌入式系統(tǒng)的特點(diǎn)31.1.5 嵌入式系統(tǒng)的發(fā)展趨勢41.2 嵌入式操作系統(tǒng)61.2.1 操作系統(tǒng)的基本功能61.2.2 嵌入式操作系統(tǒng)71.2.3 嵌入式操作系統(tǒng)體系結(jié)構(gòu)81.2.4 嵌入式操作系統(tǒng)的選擇111.2.5 幾種代表性嵌入式操作系統(tǒng)比較121.3 嵌入式 linux 基礎(chǔ) 131.3.1 linux 簡介 131.3.2 嵌入式 linux 171.3.311 nux
14、的安裝基礎(chǔ)181.3.312 基于虛擬機(jī)的linux 的安裝 201.3.511 nux 虛擬機(jī)的設(shè)置251.4 linux 目錄結(jié)構(gòu)及文件291.4.1 linux 文件系統(tǒng)291.4.211 nux 目錄結(jié)構(gòu)311.4.212 文件類型及文件屬性 331.5 linux 常用操作命令361.5.1 shell命令基礎(chǔ) 361.5.2 文件與目錄相關(guān)命令 371.5.3 磁盤管理與維護(hù)命令 451.5.4 系統(tǒng)管理與設(shè)置命令 471.5.5 網(wǎng)絡(luò)相關(guān)命令 491.5.6 壓縮備份命令 51習(xí) 題 一 53第 2 章 linux 編程基礎(chǔ)542.1linux 下的 c 語言編程541.1.1
15、linux 下的 c 語言編程概述541.1.2 linux 下 c 語言開發(fā)流程552.2 vim 編輯器 582.2.1 vim 的模式 582.2.2 vim常用操作 602.3 gcc 編譯器 642.3.1 gcc 編譯器簡介642.3.2 gcc編譯流程 652.3.3 gcc 常用編譯選項(xiàng)672.3.4 庫依賴 692.4 gdb 調(diào)試器 702.4.1 gdb 概述 702.4.2 gdb 使用流程702.4.3 gdb 基本命令752.4.4 gdbserver遠(yuǎn)程調(diào)試792.5 make 工程管理器802.5.1 make 工程管理器概述802.5.2 makefile 基
16、本結(jié)構(gòu)812.5.3 makefile 變量 852.5.4 makefile 規(guī)則 882.5.5 使用自動(dòng)生成工具生成makefile 892.6 linux 下的集成開發(fā)環(huán)境922.6.1 eclipse 集成開發(fā)環(huán)境簡介922.6.2 eclipse 的開發(fā)流程952.6.3 使用 cvs 進(jìn)行版本管理972.7 文件 i/o 編程 1022.7.1 文件 i/o 編程基礎(chǔ)1022.7.2 基本i/o 操作 1032.7.3 標(biāo)準(zhǔn)i/o 操作 1062.8 進(jìn)程控制編程1092.8.1 linux 下的進(jìn)程概述1092.8.2 linux 進(jìn)程編程1112.8.3 zombie 進(jìn)程
17、1202.9 進(jìn)程間的通信和同步1212.9.1 linux 下進(jìn)程間通信概述1212.9.2 管道通信1222.9.3 共享內(nèi)存通信1302.9.4 其他方式通信1332.10 多線程編程1332.10.1 線程的基本概念1332.10.2 線程的實(shí)現(xiàn)1342.10.3 修改線程屬性1362.10.4 多線程訪問控制138 習(xí) 題二 140第 3 章 基于 linux 的嵌入式軟件開發(fā)1413.1 嵌入式軟件結(jié)構(gòu)1413.1.1 嵌入式軟件體系結(jié)構(gòu)1413.1.2 基于 linux 的嵌入式軟件1433.2 嵌入式軟件開發(fā)流程1443.2.1 嵌入式 linux 設(shè)計(jì)概述1443.2.2 基
18、于開發(fā)板的二次開發(fā)1453.2.3 基于 linux 的嵌入式軟件開發(fā)流程1463.3 嵌入式 linux 開發(fā)環(huán)境1473.3.1 arm 處理器硬件開發(fā)平臺(tái)1473.3.2 建立嵌入式交叉編譯環(huán)境1483.3.3 配置開發(fā)環(huán)境1493.4 嵌入式系統(tǒng)引導(dǎo)代碼1583.4.1 bootloader 簡介 1583.4.2 常用的 bootloader 1593.4.3 bootloader 基本原理1603.4.4 bootloader 移植實(shí)例一:u_boot 1643.4.5 bootloader 移植實(shí)例二:vivi 1673.5 linux 內(nèi)核結(jié)構(gòu)及移植1693.5.1 linux
19、 內(nèi)核結(jié)構(gòu)1693.5.2 linux 的移植 1733.5.3 修改 linux 內(nèi)核源碼1753.5.4 內(nèi)核的裁剪1773.5.5 內(nèi)核的編譯和下載1793.6 嵌入式文件系統(tǒng)及移植1793.6.1 嵌入式文件系統(tǒng)基礎(chǔ)1793.6.2 嵌入式文件系統(tǒng)的設(shè)計(jì)1823.6.3 嵌入式根文件系統(tǒng)的制作1833.7 linux 設(shè)備驅(qū)動(dòng)概述1843.7.1 linux 設(shè)備驅(qū)動(dòng)作用1843.7.2 linux 設(shè)備驅(qū)動(dòng)程序的基本結(jié)構(gòu)1853.7.3 linux 設(shè)備驅(qū)動(dòng)的分類1863.7.4 linux 設(shè)備文件和設(shè)備文件系統(tǒng)1873.8 設(shè)備驅(qū)動(dòng)程序接口1883.8.1 linux 設(shè)備驅(qū)動(dòng)的
20、加載方式1883.8.2 設(shè)備驅(qū)動(dòng)程序接口 1903.8.3 linux 設(shè)備控制方式 1913.9 linux 設(shè)備驅(qū)動(dòng)開發(fā)流程1933.9.1 設(shè)備驅(qū)動(dòng)開發(fā)流程 1933.9.2 字符設(shè)備驅(qū)動(dòng)框架 196習(xí)題三 203第 4 章嵌入式應(yīng)用程序設(shè)計(jì)2044.1 嵌入式應(yīng)用程序設(shè)計(jì)概述2044.1.1 嵌入式軟件的分類2044.1.2 嵌入式 gui 2054.1.3 常用嵌入式gui 2064.2 minigui 概述 2074.2.1 minigui 簡介 2074.2.2 minigui 的架構(gòu) 2084.2.3 minigui 的移植 2104.2.4 minigui 的編譯和安裝21
21、04.3 minigui 編程基礎(chǔ)2134.3.1 minigui 的窗口與消息機(jī)制2134.3.2 minigui 的控件 2154.3.3 minigui的對(duì)話框 2164.4 minigui 程序框架2174.4.1 minigui程序框架 2174.4.2 編譯、鏈接和運(yùn)行 2224.4.3 利用 eclipse 編寫 minigui 程序 2234.5 qt 編程基礎(chǔ)2264.5.1 qt 簡介 2264.5.2 qt/embedded 2284.5.3 qt 開發(fā)環(huán)境的搭建2294.5.4 qt 程序設(shè)計(jì)基本流程2304.6 信號(hào)和槽機(jī)制2324.6.1 基本概念2324.6.2
22、信號(hào)和槽機(jī)制的原理2344.6.3 信號(hào)和槽實(shí)例2364.7 圖形界面設(shè)計(jì)2384.7.1 qt 的窗口類widgets 2384.7.2 使用 qt designer 編寫 qt 程序 2394.7.3 qt 中常用的控件2444.8 使用 eclipse 開發(fā) qt 程序 2474.8.1 qt 插件的安裝2474.8.2 eclipse 平臺(tái)下 qt 開發(fā)過程2484.9 qt 程序綜合實(shí)例2514.9.1 需求說明 2514.9.2 界面設(shè)計(jì) 2514.9.3 功能實(shí)現(xiàn) 252習(xí)題四 255第 5 章 嵌入式數(shù)據(jù)庫2565.1 嵌入式數(shù)據(jù)概述2565.1.1 嵌入式數(shù)據(jù)庫簡介2565.
23、1.2 嵌入式數(shù)據(jù)庫的特點(diǎn)及分類2575.1.3 嵌入式數(shù)據(jù)庫的應(yīng)用2595.2 sqlite 數(shù)據(jù)庫 2605.2.1 sqlite 數(shù)據(jù)庫概述2605.2.2 sqlite 數(shù)據(jù)庫的安裝2615.2.3 sqlite 數(shù)據(jù)庫基本命令2625.2.4 sqlite 數(shù)據(jù)庫管理命令2635.2.5 sqlite 的 api 函數(shù) 2665.2.6 sqlite 實(shí)例分析2675.3 msql 數(shù)據(jù)庫 2695.3.1 msql 簡介 2695.3.2 msql 數(shù)據(jù)庫的安裝2695.3.3 msql 的常用 api 函數(shù) 2715.3.4 msql 數(shù)據(jù)庫的使用2715.4 berkeley
24、db 數(shù)據(jù)庫 2735.4.1 berkeley db 簡介 2735.4.2 berkeley db 的安裝 274 習(xí) 題五 274第 6 章嵌入式linux 網(wǎng)絡(luò)編程2756.1 網(wǎng)絡(luò)協(xié)議概述2756.1.1 網(wǎng)絡(luò)協(xié)議參考模型2756.1.2 tcp/ip 協(xié)議族 2766.1.3 tcp 和 udp 2776.2 網(wǎng)絡(luò)編程基礎(chǔ)2796.2.1 socket 概述 2796.2.2 基本數(shù)據(jù)結(jié)構(gòu)和函數(shù)2806.2.3 socket 基礎(chǔ)編程2826.3 tcp 通信編程2846.3.1 tcp 通信過程2846.3.2 tcp server 程序設(shè)計(jì)2886.3.3 tcp client
25、程序設(shè)計(jì) 2916.3.4 tcp 程序測試過程 2926.4 udp 通信編程 2926.4.1 udp 通信過程2926.4.2 udp 服務(wù)器端程序設(shè)計(jì)2936.4.3 udp 客戶端程序設(shè)計(jì)2946.4.4 udp 程序測試過程296 習(xí) 題297第 7 章嵌入式操作系統(tǒng)實(shí)驗(yàn)2987.1 linux 常用命令298一. 實(shí)驗(yàn)?zāi)康?298三 . 實(shí)驗(yàn)預(yù)習(xí)要求298四. 實(shí)驗(yàn)內(nèi)容 298五. 實(shí)驗(yàn)步驟 298六 . 思考題 3017.2 linux 下 c 語言開發(fā)環(huán)境302一. 實(shí)驗(yàn)?zāi)康?302三 . 實(shí)驗(yàn)預(yù)習(xí)要求302四. 實(shí)驗(yàn)內(nèi)容 302五. 實(shí)驗(yàn)步驟 302六 . 思考題 3067
26、.3 文件 i/o 及進(jìn)程控制編程306一. 實(shí)驗(yàn)?zāi)康?306三 . 實(shí)驗(yàn)預(yù)習(xí)要求306四. 實(shí)驗(yàn)內(nèi)容 306五. 實(shí)驗(yàn)步驟 306六 . 思考題 3117.4 進(jìn)程通信以及多線程編程311一 .實(shí)驗(yàn)?zāi)康?11三 . 實(shí)驗(yàn)預(yù)習(xí)要求311linux 操作系統(tǒng)課后答案】1-1 存儲(chǔ)程序式計(jì)算機(jī)的主要特點(diǎn)是什么?1-2 批處理系統(tǒng)和分時(shí)系統(tǒng)各具有什么特點(diǎn)?為什么分時(shí)系統(tǒng)的響應(yīng)比較快?答:批處理系統(tǒng)中操作人員將作業(yè)成批裝入計(jì)算機(jī)并由計(jì)算機(jī)管理運(yùn)行,在程序的運(yùn)行期間用戶不能干預(yù),因此批處理系統(tǒng)的特點(diǎn)是:用戶脫機(jī)使用計(jì)算機(jī),作業(yè)成批處理,系統(tǒng)內(nèi)多道程序并發(fā)執(zhí)行以及交互能力差。分時(shí)系統(tǒng)中不同用戶通過各自的終
27、端以交互方式共同使用一臺(tái)計(jì)算機(jī),計(jì)算機(jī)以“分時(shí) ”的方法輪流為每個(gè)用戶服務(wù)。分時(shí)系統(tǒng)的主要 特點(diǎn)是:多個(gè)用戶同時(shí)使用計(jì)算機(jī)的同時(shí)性,人機(jī)問答方式的交互性,每個(gè)用戶獨(dú)立使用計(jì)算機(jī)的獨(dú)占性以及系統(tǒng)響應(yīng)的及時(shí)性。分時(shí)系統(tǒng)一般采用時(shí)間片輪轉(zhuǎn)的方法,使一臺(tái)計(jì)算機(jī)同時(shí)為多個(gè)終端用戶服務(wù),因此分時(shí)系統(tǒng)的響應(yīng)比較快。1-3 實(shí)時(shí)信息處理系統(tǒng)和分時(shí)系統(tǒng)從外表看來很相似,它們有什么本質(zhì)的區(qū)別呢?答:實(shí)時(shí)信息處理系統(tǒng)是指用計(jì)算機(jī)對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)。它要求必須在規(guī)定的時(shí)間內(nèi)做出響應(yīng),一般要求響應(yīng)時(shí)間為秒級(jí)、毫秒級(jí)甚至微秒級(jí),比分時(shí)系統(tǒng)要求嚴(yán)格。實(shí)時(shí)系統(tǒng)要求高可靠性和安全性,不要求很強(qiáng)的會(huì)話功能。而分時(shí)系統(tǒng)只要求
28、系統(tǒng)及時(shí)做出響應(yīng),具有很強(qiáng)的會(huì)話功能。1-4 什么是多道程序設(shè)計(jì)技術(shù)?試述多道程序運(yùn)行的特征?答:多道程序設(shè)計(jì)技術(shù)是指同時(shí)把多個(gè)作業(yè)(程序)放入內(nèi)存并允許它們交替執(zhí)行和共享系統(tǒng)中的各類資源;當(dāng)一道程序因某種原因(如 i/o 請(qǐng)求)而暫停執(zhí)行時(shí),cpu 立即轉(zhuǎn)去執(zhí)行另一道程序。多道程序運(yùn)行具有如下特征:? 多道:計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序。? 宏觀上并行:同時(shí)進(jìn)入系統(tǒng)的幾道程序都處于運(yùn)行過程中,它們先后開始了各自的運(yùn)行,但都未運(yùn)行完畢。? 微觀上串行:從微觀上看,內(nèi)存中的多道程序輪流或分時(shí)地占有處理機(jī),交替執(zhí)行。1-5 什么是分時(shí)技術(shù)?答:把處理機(jī)時(shí)間分成若于個(gè)大小相等(或不相等)的
29、時(shí)間單位,稱為時(shí)間片,每個(gè)終端用戶獲得cpu ,就等于獲得一個(gè)時(shí)間片,該用戶程序開始運(yùn)行,當(dāng)時(shí)間片到(用完),用戶程序暫停運(yùn)行,等待下一次運(yùn)行。1-6 什么是操作系統(tǒng)?操作系統(tǒng)的主要特征是什么?答:操作系統(tǒng)是一個(gè)大型的程序系統(tǒng),它負(fù)責(zé)計(jì)算機(jī)系統(tǒng)軟、硬件資源的分配與回收;控制和協(xié)調(diào)并發(fā)活動(dòng);實(shí)現(xiàn)信息的存取和保護(hù);提供用戶接口,使用戶獲得良好的工作環(huán)境,為用戶擴(kuò)展新的系統(tǒng)功能提供軟件平臺(tái)。操作系統(tǒng)使整個(gè)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)了高效率和高度自動(dòng)化。操作系統(tǒng)的主要特征有:并發(fā)性,共享性,不確定性。1-7 操作系統(tǒng)的管理功能有哪些?其中,哪些功能與計(jì)算機(jī)系統(tǒng)的硬部件相關(guān)?答:操作系統(tǒng)的管理功能有進(jìn)程管理、存儲(chǔ)管
30、理、設(shè)備管理和文件系統(tǒng)。上述管理功能均與計(jì)算機(jī)系統(tǒng)的硬部件相關(guān),進(jìn)程管理與處理機(jī)相關(guān),存儲(chǔ)管理與內(nèi)存相關(guān),設(shè)備管理與各種外部設(shè)備相關(guān),文件管理與輔存相關(guān)。1-8 設(shè)一個(gè)計(jì)算機(jī)系統(tǒng)有輸入機(jī)一臺(tái)、打印機(jī)兩臺(tái),現(xiàn)有a、 b 兩道程序同時(shí)投入運(yùn)行,且程序a 先運(yùn)行,程序b 后運(yùn)行。程序a 的運(yùn)行軌跡為:計(jì)算50ms ,打印信息100ms ,再計(jì)算50ms ,打印信息100ms ,結(jié)束。程序b 運(yùn)行的軌跡為:計(jì)算50ms ,輸入數(shù)據(jù)80ms ,再計(jì)算 100ms ,結(jié)束。回答如下問題:( 1 ) 用圖畫出這兩道程序并發(fā)執(zhí)行時(shí)的工作情況。答:( 2) 說明在兩道程序運(yùn)行時(shí),cpu 有無空閑等待?若有,在哪
31、段時(shí)間內(nèi)等待?為什么會(huì)空閑等待?答:在兩道程序運(yùn)行時(shí),cpu 有空閑等待。當(dāng)程序a 進(jìn)入打印操作后,程序b 計(jì)算 50ms 后也進(jìn)入輸入操作,而程序a 打印操作尚未結(jié)束,且無其它用戶程序需要計(jì)算,此時(shí)cpu 有空閑。( 3) 程序a、 b 運(yùn)行時(shí)有無等待現(xiàn)象?在什么時(shí)候會(huì)發(fā)生等待現(xiàn)象?答:程序a 運(yùn)行時(shí)無等待現(xiàn)象,程序b 運(yùn)行時(shí)有等待現(xiàn)象。當(dāng)程序b 在 50ms 計(jì)算后進(jìn)入80ms 的輸入操作,在輸入操作執(zhí)行50ms 時(shí)cpu 被程序 a 強(qiáng)占,而當(dāng)程序b 輸入操作完成后程序a 仍未釋放cpu ,此時(shí)程序b 處于等待狀態(tài)。習(xí)題二 參考答案2-1 什么是操作系統(tǒng)虛擬機(jī)?答:操作系統(tǒng)是最基本的系統(tǒng)
32、軟件,它是硬件功能的第一層擴(kuò)充。配置了操作系統(tǒng)的計(jì)算機(jī)稱為操作系統(tǒng)虛擬機(jī)。擴(kuò)充了的計(jì)算機(jī)除了可以使用原來裸機(jī)提供的各種基本硬件指令,還可以使用操作系統(tǒng)增加的許多其它指令。2-2 在設(shè)計(jì)操作系統(tǒng)時(shí),可以考慮的結(jié)構(gòu)組織有哪幾種?答:在設(shè)計(jì)操作系統(tǒng)時(shí),可以考慮的結(jié)構(gòu)組織有單體系統(tǒng)、層次式系統(tǒng)、微內(nèi)核、客戶機(jī)-服務(wù)器模式。2-3 什么是處理機(jī)的態(tài)?為什么要區(qū)分處理機(jī)的態(tài)?答:所謂處理機(jī)的態(tài)是指處理機(jī)當(dāng)前處于何種狀態(tài),正在執(zhí)行哪類程序。行管理和控制,其本身是不能被破壞的。為此,系統(tǒng)應(yīng)能建立一個(gè)保護(hù)環(huán)境,因此系統(tǒng)必須區(qū)分處理機(jī)的工作狀態(tài)。系統(tǒng)中主要分為系統(tǒng)程序和用戶程序兩類程序在運(yùn)行,它們的任務(wù)是不同的。
33、系統(tǒng)程序是管理和控制者,將它們運(yùn)行時(shí)處理機(jī)的工作狀態(tài)稱為管態(tài);用戶程序是被管理和被控制的對(duì)象,將它們運(yùn)行時(shí)處理機(jī)的工作狀態(tài)稱為用戶態(tài)。2-4 什么是管態(tài)?什么是用戶態(tài)?二者有何區(qū)別?答:處理器在執(zhí)行系統(tǒng)程序時(shí)所處的狀態(tài)稱為管態(tài);處理器在執(zhí)行用戶程序時(shí)所處的狀態(tài)稱為用戶態(tài)。處理器在管態(tài)和用戶態(tài)下具有不同的權(quán)限:在管態(tài)下允許cpu 使用全部資源和全部指令,其中包括一組特權(quán)指令;在用戶態(tài)下禁止使用特權(quán)指令,不能直接使用系統(tǒng)資源與改變cpu 狀態(tài),并且只能訪問用戶程序所在的存儲(chǔ)空間。2-5 什么是中斷?在計(jì)算機(jī)系統(tǒng)中為什么要引進(jìn)中斷?答:中斷是指某個(gè)事件(例如,電源掉電、俘點(diǎn)運(yùn)算溢出、外部設(shè)備傳輸完成或出錯(cuò)等)發(fā)生時(shí),系統(tǒng)中止現(xiàn)運(yùn)行程序的執(zhí)行,引出處理事件程序?qū)ο鄳?yīng)事件進(jìn)行處理,處理完畢后返回?cái)帱c(diǎn)繼續(xù)執(zhí)行。為了實(shí)現(xiàn)多道程序設(shè)計(jì)技術(shù)、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重癥醫(yī)學(xué)科護(hù)理質(zhì)量管理
- 膽汁淤積性黃疸的臨床護(hù)理
- 大班幼兒報(bào)警安全教育教案
- 生產(chǎn)運(yùn)營管理:產(chǎn)品與服務(wù)設(shè)計(jì)
- 小兒結(jié)節(jié)性脂膜炎的臨床護(hù)理
- 爆炸的急救護(hù)理
- 護(hù)理安全用藥指導(dǎo)
- 秋冬季常見傳染病預(yù)防幼兒園
- 小兒尼曼-皮克病的臨床護(hù)理
- 新生兒待產(chǎn)護(hù)理
- 2018年四川省中職學(xué)校技能大賽建筑CAD賽項(xiàng) 樣題
- 芯片封裝可靠性評(píng)價(jià)與失效分析
- 2024年人工智能訓(xùn)練師(初級(jí))職業(yè)鑒定理論考試題庫及答案
- 質(zhì)量環(huán)境職業(yè)健康安全管理體系三合一整合全套體系文件(管理手冊(cè)+程序文件)
- 山東省青島市嶗山區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
- JT-T-969-2015路面裂縫貼縫膠
- 2019年壓力性損傷預(yù)防治療臨床實(shí)踐指南
- 內(nèi)科人衛(wèi)一類模擬考試題(含答案)
- 我國化工新材料發(fā)展趨勢及展望
- MOOC 學(xué)術(shù)交流英語-語言技能-電子科技大學(xué) 中國大學(xué)慕課答案
- 24秋國家開放大學(xué)《計(jì)算機(jī)系統(tǒng)與維護(hù)》實(shí)驗(yàn)1-13參考答案
評(píng)論
0/150
提交評(píng)論