《計算機(jī)信息技術(shù)》第三章計算機(jī)軟件_第1頁
《計算機(jī)信息技術(shù)》第三章計算機(jī)軟件_第2頁
《計算機(jī)信息技術(shù)》第三章計算機(jī)軟件_第3頁
《計算機(jī)信息技術(shù)》第三章計算機(jī)軟件_第4頁
《計算機(jī)信息技術(shù)》第三章計算機(jī)軟件_第5頁
已閱讀5頁,還剩147頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章計算機(jī)軟件

3.1概述

3.1.1什么是計算機(jī)軟件

軟件(Softeware)這個術(shù)語是1957年由美

國統(tǒng)計學(xué)家JohnWilderTukey首先使用的。

在計算機(jī)領(lǐng)域,軟件被ISO定義為:包含與

數(shù)據(jù)處理系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則以

及相關(guān)文檔的智力創(chuàng)作。

所以,軟件可概括為:

計算機(jī)軟件=程序+數(shù)據(jù)+文檔

2

,程

確定性::

使

口程序完成某一確定計

機(jī)

信息處理任務(wù)

□是軟件的主體

動態(tài)性:

口是告訴計算機(jī)處今及期啰

T效果只能

(語句)序列」在運(yùn)行過

程中展現(xiàn)

□是存儲在某種介質(zhì)上的,靜態(tài)實(shí)體。只

有被裝入內(nèi)存,3動執(zhí)彳寺后才起作用!

3

口數(shù)據(jù)

是程序所處理的對象(輸入)、及處理后得

到的結(jié)果(輸出)的統(tǒng)稱

程序和數(shù)據(jù)都有相對性:

一個程序執(zhí)

行后得到的

輸入數(shù)據(jù)一結(jié)果可能是

另一個程序

執(zhí)行時的輸

入數(shù)據(jù)

4

輸入給編譯程序產(chǎn)生另一種

的源程序(數(shù)據(jù))形式的程序

語言源程序—?計算機(jī)系統(tǒng)A目序

一個程序執(zhí)行時只有

獲得正確的數(shù)據(jù)才會

獲得有意義的結(jié)果!

2,5,人,8,人一計算機(jī)系統(tǒng)?9?9?9?

5

口文檔

文檔是程序開發(fā)、維護(hù)和使用所涉及的完

整、規(guī)范化的資料:

?設(shè)計報告;

?維護(hù)手冊;

?使用指南;

?參考資料;

6

口軟件的作用

軟件是計算機(jī)系統(tǒng)中的重要組成部分,歸

結(jié)起來其作用有三:

口用戶與計算機(jī)系統(tǒng)之間的接口界面;

□計算機(jī)系統(tǒng)中的控制、指揮與管理;

口擴(kuò)充計算機(jī)硬件功能、提高效率。

7

口軟件的發(fā)展

軟件的發(fā)展與計算機(jī)應(yīng)用和硬件的發(fā)展相

互促進(jìn),更多的是受到應(yīng)用要求的影響。其發(fā)

展大致經(jīng)歷了3個階段:

□程序階段(40年代到50年代中期)

從第一個實(shí)用的計算機(jī)程序開始到實(shí)用的

高級語言程序出現(xiàn)以前,是計算機(jī)軟件發(fā)展初

期。這個階段軟件主要特征是:

8

?軟件即是程序,二者之間沒有區(qū)別;

?用低級語言編寫程序;

?軟件規(guī)模??;

?只注重程序功能、追求占用內(nèi)存小,節(jié)省運(yùn)

行時間、強(qiáng)調(diào)編程技巧等;

?個體工作設(shè)計方式;

?應(yīng)用領(lǐng)域窄,主要是科學(xué)與工程計算。

9

口軟件階段(56年?68年)

高級語言FORTRAN出現(xiàn)到軟件工程概念

提出的這段時間。這個時期的軟件特征是:

?用高級語言編寫程序,出現(xiàn)了操作系統(tǒng)、數(shù)

據(jù)庫管理系統(tǒng);

?程序不僅僅是一段代碼,還包含了測試、維

護(hù)及說明書,程序規(guī)模中等;

?設(shè)計不是由個人,而代之以是由開發(fā)小組;

采用結(jié)構(gòu)化程序設(shè)計方法;

?應(yīng)用領(lǐng)域擴(kuò)大(大量的非數(shù)值計算)

10

存在問題:

?軟件需求迅速增長,軟件的復(fù)雜性大大增加;

?軟件研制周期長;

?軟件研制費(fèi)用大,到1965年計算機(jī)軟件費(fèi)用

已上升到系統(tǒng)的60%;

?軟件的可靠性、正確性問題突出。

產(chǎn)生了“軟件危機(jī)”:

11

?軟件開發(fā)的高成本同產(chǎn)品質(zhì)量之間的矛盾;

?軟件技術(shù)的緩慢發(fā)展與硬件技術(shù)的高速提高

之間的矛盾;

?大量的人力、物力與極低的軟件生產(chǎn)力之間

的矛盾;

?作坊式的生產(chǎn)與大規(guī)模的需要之間的矛盾。

12

為了擺脫軟件危機(jī),NATO(北約)的科技

委員會68年秋季在德國召開了一次會議,討論

對策,會上首次提出了“軟件工程”概念,并

著手從以下3個方面解決軟件危機(jī)問題:

?提出結(jié)構(gòu)化程序設(shè)計方法;

?提出用工程化方法開發(fā)軟件;

?從理論上探討程序正確性與可靠性問題;

從此軟件的發(fā)展進(jìn)入第三階段。

13

口軟件工程及軟件產(chǎn)品階段(68年?今)

軟件工程概念可以這樣來理解:

?采用工業(yè)化的原理和方法對軟件進(jìn)行規(guī)劃、

開發(fā)與維護(hù);

?作為一種產(chǎn)品來開發(fā);

?軟件開發(fā)按一步步的“工序”來完成:

14

.軟件工程開發(fā)的瀑布模型

八句題定義

T、

可行性研究(技術(shù)、經(jīng)濟(jì)、社會可行性)

(月

需求分析(系統(tǒng)與軟件需求分析)

「設(shè)計(總體與詳細(xì)設(shè)計)

疫<編程

八〔測試占33%時間

運(yùn)占67%時間

行運(yùn)行與維護(hù)

期15

?計算機(jī)軟件技術(shù)(略)

為了實(shí)現(xiàn)軟件的優(yōu)質(zhì)生產(chǎn)目標(biāo),經(jīng)過30多年的發(fā)展研

究,計算機(jī)工作者做了大量工作,產(chǎn)生了各種理論、技術(shù)

和方法,逐漸形成了軟件學(xué)科。計算機(jī)軟件技術(shù)包括如下

7個方面:

①軟件工程技術(shù)

軟件開發(fā)的原則與策略;軟件開發(fā)方法與軟件過程模

型;軟件標(biāo)準(zhǔn)與軟件質(zhì)量的衡量;軟件開發(fā)的組織與項(xiàng)目

管理;軟件版權(quán)等。

16

②程序設(shè)計技術(shù)

程序的結(jié)構(gòu)與算法設(shè)計;程序設(shè)計的風(fēng)格;程序設(shè)計語

言;程序設(shè)計方法和程序設(shè)計自動化;程序的正確性證明;

程序的變換等。

③軟件工具與開發(fā)環(huán)境技術(shù)

接口技術(shù);軟件自動生成;軟件工具的集成和軟件開發(fā)

環(huán)境;軟件的復(fù)用;逆向工程等。

④系統(tǒng)軟件技術(shù)

操作系統(tǒng);編譯方法;分布式處理系統(tǒng);并行處理技術(shù)等。

17

⑤數(shù)據(jù)庫技術(shù)

數(shù)據(jù)模型;數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng);分布式數(shù)據(jù)庫;

面向?qū)ο蟮臄?shù)據(jù)庫技術(shù)、各類專用數(shù)據(jù)庫技術(shù)等。

⑥網(wǎng)絡(luò)軟件技術(shù)

協(xié)議工程;網(wǎng)絡(luò)管理;局域網(wǎng)技術(shù);網(wǎng)絡(luò)互連技術(shù);智

能網(wǎng)絡(luò)等。

⑦與實(shí)際工作相關(guān)的軟件技術(shù)

軟件質(zhì)量的控制;軟件配置的管理;用戶的在線幫助

文檔和圖標(biāo)設(shè)計;軟件規(guī)模控制、軟件評估和軟件開發(fā)計

劃的制定;軟件需求的表示和軟件規(guī)格說明書的確定等。

18

3.1.2軟件的特性

口動態(tài)性/不可見性

記錄軟件的載體只是軟件的邏輯實(shí)體,而

非物理實(shí)體,其價值不以載體的成本衡量,

只能由其運(yùn)行過程反映的功能與效果來體現(xiàn)。

口適用與通用性

通常適用于一類應(yīng)用問題,并不只是解決

特定問題。如Word可以適應(yīng)各種文本處理的

需要。

19

口依附性

依附于特定的硬件、網(wǎng)絡(luò)和其他軟件。為

了讓一個軟件能在不同系列的硬件系統(tǒng)上運(yùn)行,

不是簡單的復(fù)制,而必須采用軟件“移植”方式

口復(fù)雜性(規(guī)模、人員、投資)例如:

?WindowsXP源程序約有5000萬行

?Vista及Office2007開發(fā)設(shè)計成員達(dá)9000余

人,總投資$240?270億美元,開發(fā)周期達(dá)

6年之久

20

□軟件不會老化、磨損、失效

任何工業(yè)產(chǎn)品(特別是電子產(chǎn)品)在使用

過程中,老化、磨損、失效率其失效率呈“U”

型曲線(即所謂的浴缸曲線)

失效率1失效曲線

A時間

而軟件功能和性能不會發(fā)生變化,很多60

年代的軟件現(xiàn)在還仍然運(yùn)行良好,看來還將繼

續(xù)運(yùn)行下去。因此軟件只有“過時”而不會失

x21

□易復(fù)制性

軟件復(fù)制的效果可以與原版一模一樣。而

仿制工業(yè)產(chǎn)品的形態(tài)、功能不可能一模一樣,

且有質(zhì)量問題?,F(xiàn)在所謂的“軟件工廠”的

說法,只是指“高效開發(fā)軟件”,并非指以

工廠模式制造、生產(chǎn)軟件。

口不斷演變性

軟件功能不斷擴(kuò)充、完善(更新升級、補(bǔ)

丁、修復(fù)漏洞,提高安全)例如:

Office2000>Office2003>Office2007

版本的不斷變化22

口有限責(zé)任

目前還無法從理論上證明一個軟件能百分

之百正確執(zhí)行!軟件運(yùn)行錯誤導(dǎo)致的問題與軟

件商無關(guān)。

“本軟件不做任何保證。程序運(yùn)行的風(fēng)險

由用戶自己承擔(dān)。這個程序可能會有一些

錯誤,你需要自己承擔(dān)所有服務(wù)、維護(hù)和

糾正軟件錯誤的費(fèi)用。另外,生產(chǎn)廠商不

對軟件使用的正^性、精確性、可靠屜和

通用性做任何承諾?!?/p>

□脆弱性

黑客攻擊、病毒入侵、信息盜用……很難

防止軟件被惡意地修改與破壞23

3.1.3計算機(jī)軟件的分類

口按軟件用途

計算機(jī)軟件

系統(tǒng)軟件應(yīng)用軟件

文字處理

操作系統(tǒng)圖形圖像

電子表格

數(shù)據(jù)庫管理系統(tǒng)演示軟件

信息檢索

語言處理系統(tǒng)網(wǎng)絡(luò)通信游戲娛樂

實(shí)用程序?qū)W習(xí)軟件

口系統(tǒng)軟件

?給用戶使用計算機(jī)提供方便

?給應(yīng)用軟件的開發(fā)與運(yùn)行提供支持

?使計算機(jī)有效、安全、可靠地運(yùn)行

口系統(tǒng)軟件主要特征

?依賴于硬件,與計算機(jī)有很強(qiáng)的交互性;

?控制、調(diào)度和管理計算機(jī)資源;

I?通用性,所有用戶都可以使用;

?系統(tǒng)的基本軟件。(但只有OS必不可少!)

口實(shí)用程序(Utility)

實(shí)用程序用于協(xié)助os或用戶完成日常系統(tǒng)

維護(hù)和監(jiān)管任務(wù),使計算機(jī)系統(tǒng)更加安全、可

靠、方便、有效。

殺毒軟件防火墻

備份軟件

26

□應(yīng)用軟件

是針對特定應(yīng)用需求,專門用于解決各種具體

應(yīng)用問題的軟件。

應(yīng)用軟件按應(yīng)用范圍可分為:

?定制應(yīng)用軟件

是按特定應(yīng)用要求而專門開發(fā)的軟件。

?通用應(yīng)用軟件

幾乎所有領(lǐng)域、所有人都需要使用的軟

件。可分為若干類:

27

□中間件(middleware)軟件

是應(yīng)用軟件與系統(tǒng)軟件之間使用的標(biāo)準(zhǔn)化

編程接口和協(xié)議。

?便于相對獨(dú)立地(獨(dú)立于計算機(jī)硬件與

操作系統(tǒng))開發(fā)應(yīng)用軟件;

?節(jié)省開發(fā)成本;

?便于實(shí)現(xiàn)通用性與兼容性

28

□各種軟件之間的關(guān)系

29

用戶

應(yīng)用軟件

虛擬機(jī)

C畫

用戶.A操作系統(tǒng).破

其他系統(tǒng)軟件

應(yīng)用軟件

30

HiOS,要打

印的數(shù)據(jù)已

經(jīng)準(zhǔn)備好了,

Hi,財務(wù)系統(tǒng),應(yīng)用軟件

放在報表文

請準(zhǔn)備打印數(shù)

件中!

據(jù)!

系統(tǒng)軟件Hi,打印機(jī),

HiOS,用戶把報表文件

要求打??!中的報表打

計算機(jī)硬件印出來吧!

打印機(jī)打

鍵,要求打印

印報表

口按軟件權(quán)益與保護(hù)

根據(jù)ISO對軟件的定義,軟件是一種“智能

創(chuàng)作”,是一種知識產(chǎn)品,因此與書籍、電影

等一樣受到版權(quán)保護(hù)。從這個角度看:

32

□版權(quán)保護(hù)

版權(quán)是給予作者對作品的獨(dú)占權(quán)利的合法

保護(hù)形式。

版權(quán)的所有者唯一地享有該軟件的拷貝、

發(fā)布、修改、署名、出售等權(quán)利,所有違反上

述條件的做法都是違法行為。

購買一個軟件獲得的只是使用權(quán),并沒

有獲得該軟件的版權(quán)。

33

口軟件許可證保護(hù)(Licence)

許可證是一種法律合同,它放寬了版權(quán)法

給予用戶的使用權(quán)利。允許用戶按如下方式使

用軟件:

?允許復(fù)制,但限制使用者和范圍。

?允許多人使用同一個軟件許可證。如某個

單位的所有員工。

?不得進(jìn)行反匯編、反編譯

?不得將其組成部分分散在多臺計算機(jī)上

?不得出租或出借34

口商品軟件

商品軟件需要付費(fèi)使用,受版權(quán)和軟件許

可證保護(hù)

口共享軟件(shareware或demoware)

共享軟件是買前免費(fèi)試用、具有版權(quán)的軟

件,允許拷貝和散發(fā),但不可修改。

35

□自由軟件(FreeSoftware)

遵守自由軟件基金會(FSF)的通用公共

許可證(GPL)免費(fèi)軟件。允許銷售和自由傳

播,但源代碼公開、允許修改。

口免費(fèi)軟件(Freeware)(rFreeSoftware)

無需付費(fèi)即可獲得的軟件。如PDF閱讀器、

Flash播放器等

注意:Freeware^FreeSoftware,自由軟件很多

是免費(fèi)軟件;免費(fèi)軟件不全是自由軟件!

36

3.2操作系統(tǒng)

計算機(jī)的作用與神奇眾所周知。那么,靠

什么來控制計算機(jī)?用戶和計算機(jī)之間起媒

介作用的是什么?又由誰來提供各種服務(wù)?

正是操作系統(tǒng)(OperatingSystemOS)

3.2.1操作系統(tǒng)概述

11操作系統(tǒng)的作用

任何一種計算機(jī)都必須配置一種或多種操

作系統(tǒng),配置操作系統(tǒng)的基本目的有4個:

37

□為用戶提供一個良好環(huán)境(對用戶屏蔽硬件操

作特性),使用戶容易使用這樣的系統(tǒng)

口擴(kuò)展機(jī)器功能,使用戶能獲得更多的服務(wù)

口統(tǒng)一管理系統(tǒng)資源,使資源得以充分利用,且

能被正確、安全共享

□合理組織計算機(jī)工作流程,使系統(tǒng)高效工作

38

口操作系統(tǒng)在計算機(jī)系統(tǒng)中的地位

□是計算機(jī)系統(tǒng)中必須的軟件

口是最重要的一種系統(tǒng)軟件

□是控制計算機(jī)系統(tǒng)工作的軟件

39

口操作系統(tǒng)的啟動(加載)

口安裝與加載OS的概念

操作系統(tǒng)本身由一些程序模塊組成,安裝

操作系統(tǒng)是指安裝到硬盤上

因程序必須調(diào)入主存才可執(zhí)行,而OS是程

序,所以必須裝到內(nèi)存(稱之為加載,只裝入

必要的部分并非全部)才可執(zhí)行。

加載由駐留在BIOS中的引導(dǎo)程序引起

成功加載啟動OS執(zhí)行后,整個計算機(jī)就處

于OS的控制之下。啟動過程如下:

40

□PC機(jī)中加載操作系統(tǒng)的過程

⑤裝入引導(dǎo)程序RAM

硬盤」⑦裝入操作系統(tǒng)一

CMOS

顯示初

始界面

S513LA「■②執(zhí)行自舉裝入程序、

BIOSCPU

ROMU10

V32R03A1H1

OCopyright

Acerlnc.①執(zhí)行加電自檢程序

41

口操作系統(tǒng)的功能

從資源管理的角度看,操作系統(tǒng)的主要功

能有:

□處理器(CPU)管理

口存儲管理

口文件管理

口設(shè)備管理

口作業(yè)管理

42

3.2.2多任務(wù)處理與處理器管理

口什么是“任務(wù)”?

任務(wù)(task)是指裝入內(nèi)存并啟動執(zhí)行的一個

應(yīng)用程序。一個任務(wù)對應(yīng)著屏幕上的一個窗口。

口單任務(wù)處理系統(tǒng)

在這種系統(tǒng)中,只能啟動一個任務(wù),僅當(dāng)當(dāng)

前一個任務(wù)完成后才能啟動后一個任務(wù)運(yùn)行(順

序執(zhí)行)

口多任務(wù)處理系統(tǒng)

允許同時啟動多個任務(wù)執(zhí)行(并發(fā)執(zhí)行)

43

并發(fā)多任務(wù)指宏觀上多個任務(wù)在同時在執(zhí)

行,而在微觀上任何時刻只有一個任務(wù)正在占

有CPU執(zhí)行。實(shí)質(zhì)是CPU輪流為所有任務(wù)服務(wù)。

口寸間

并行則是指在多處理器系統(tǒng)中多個任務(wù)占

有不同的CPU真正同時執(zhí)行o

44

口前臺/后臺任務(wù)

□前臺任務(wù)指正在占有CPU執(zhí)行的任務(wù)(僅一

個,也稱當(dāng)前任務(wù)或當(dāng)前窗口),輸入的信

息一般是送給前臺任務(wù);

□后臺任務(wù)即“非活動任務(wù)”,可以有若干個。

前臺任務(wù)與后臺任務(wù)的共同點(diǎn):都在計算

機(jī)中運(yùn)行,都有機(jī)會占有CPU執(zhí)行。

前臺任務(wù)與后臺任務(wù)之間可被切換

45

口實(shí)現(xiàn)多任務(wù)處理的目的

口提高用戶的工作效率

口提高計算機(jī)資源利用率

II實(shí)現(xiàn)多任務(wù)處理的條件

口CPU速度要快

口充分大的內(nèi)存儲器

口CPU與I/O設(shè)備之間可以并行工作

口外圍設(shè)備之間可以并行工作

46

口實(shí)現(xiàn)多任務(wù)處理要解決的問題

□任務(wù)多,CPU少,如何管理和調(diào)度

口存儲器空間如何分配和管理

口I/O設(shè)備如何分配、管理

□……

47

口處理器管理的主要工作

口CPU的分配與調(diào)度,分配單位:線程、進(jìn)

程、任務(wù);

口線程、進(jìn)程、任務(wù)的切換;

口實(shí)施調(diào)度策略

?時間片輪轉(zhuǎn)調(diào)度

CPU的一個時間單位。即任務(wù)輪流占

有CPU執(zhí)行的單位時間(ms為單位)

48

?優(yōu)先級調(diào)度

?先來先服務(wù)調(diào)度

□Windows的多任務(wù)處理及處理器調(diào)度

采用“搶先式”多任務(wù)處理調(diào)度技術(shù):

指分配給一個任務(wù)的時間片到了,無論

任務(wù)結(jié)束與否,強(qiáng)行讓出CPU執(zhí)行其他任務(wù)

的CPU調(diào)度方法。

49

3.2.3存儲管理

操作系統(tǒng)僅對RAM進(jìn)行分配與管理。

RAM

應(yīng)用程序1每個應(yīng)點(diǎn)

操作系統(tǒng)區(qū)

應(yīng)用程序2程序均有

屬于它自

用戶區(qū)己的存儲

應(yīng)用程序4器空間

應(yīng)用程序5、____,

50

口存儲管理的主要工作

口主存的分配與回收;

口實(shí)現(xiàn)主存空間共享(由多個程序共享);

口實(shí)現(xiàn)存儲保護(hù);

保證自己的區(qū)域可讀又可寫;公共區(qū)

域(共享區(qū)域)可讀禁止寫;別人的區(qū)域

不可讀不可寫。

□實(shí)現(xiàn)虛擬存儲器,解決主存不夠用的問題

51

口實(shí)現(xiàn)虛擬存儲器的基本思想

□借助磁盤存儲器作為主存儲器的擴(kuò)充;

口將程序和數(shù)據(jù)分頁,存放到磁盤上;

口將主存分塊(塊與頁的大小相同);

口裝入部分頁面到主存塊中

口若訪問的頁面不在主存中,則從盤上調(diào)入所

需頁面,若已無空閑內(nèi)存塊可用,則淘汰

已在主存的一個頁,騰出空間裝入新的塊

52

內(nèi)存分塊程序分頁

塊00

塊21

執(zhí)行頁0中的程序時要訪問頁1,2

此時頁1不在內(nèi)存,請求調(diào)入頁13

執(zhí)行頁1中的程序時要訪問頁2,頁

此時頁2不在內(nèi)存,請求調(diào)入頁2調(diào)0

執(zhí)行頁2中的程序時要訪問頁3,

此時頁3不在內(nèi)存,請求調(diào)入頁3調(diào)入頁2

?口口才口

「二口

上Ir一j——p—PI

此時已無空閑塊,淘汰頁0(已多

時不用),騰出的空間調(diào)入頁3

53

口Windows中的虛擬存儲器

口由RAM、硬盤上的交換文件pageflle.sys>

頁表、地址轉(zhuǎn)換機(jī)構(gòu)等組成;

口每個程序的虛存空間最大可達(dá)到4GB

口頁面大?。?KB(用戶可自行設(shè)置)

□采用“LRU最近最少使用”頁面調(diào)度算法

口虛擬存儲器設(shè)置:

右擊“我的電腦”一“屬性”一“高級”一

性能框中的“設(shè)置”一高級一虛擬內(nèi)存中的

“更改”54

口利用“任務(wù)管理器”查看內(nèi)存的使用情況

.

■.

數(shù)

統(tǒng)

內(nèi)

324文件管理(文件系統(tǒng))

負(fù)責(zé)管理計算機(jī)中的文件,使用戶和程序

能方便地按名存取文件

文件系統(tǒng)

外存儲器

56

口文件概念

文件是以一個名字標(biāo)識的一組相關(guān)信息的集合

口文件名

不同系統(tǒng)的文件名的形式與命名規(guī)則不同。

如在Windows中:

主文件名

?最多可包含255個字符

?不能使用?*\/v>等字符

?擴(kuò)展名可有可無

?字母的大小寫只是形式上的區(qū)分57

□文件的組成「目錄區(qū)」

文件內(nèi)容

說明信£文件內(nèi)9

?基本屬性(文件名字、所有者)

?類型屬性(系統(tǒng)文件、設(shè)備文件、目錄文件、隱

藏文件、存檔文件、壓縮、加密、索

弓I、二進(jìn)制、文本文件……)

?存取保護(hù)屬性(只讀、讀寫、可執(zhí)行、可刪除)

?管理屬性(創(chuàng)建時間、最近訪問與修改時間)

?控制屬性(文件大小或長度、存放位置)58

口文件管理的功能

口文件的存儲

文件內(nèi)容的存儲大致有3種物理組織形式:

?連續(xù)存儲(順序文件)

文件名…存儲位置。

?鏈接存儲(鏈接文件)

文件名…存儲位置。

59

60

口文件的組織(文件目錄)

為便于管理、維護(hù)和檢索文件,文件系統(tǒng)

把一個存儲設(shè)備中的所有文件組織在許多文件

目錄中。

?文件目錄(文件夾)

實(shí)際上是用來記錄文件說明信息(屬性)的

一個特殊文件。

文件夾中既可以登記文件,也可登記子文

件夾,依此類推可以有若干層,而形成多級樹

形目錄結(jié)構(gòu)。

61

?多級樹形目錄結(jié)構(gòu)

abc.txt

Ol.docO2.ppt05.pdf

62

注意:

口樹形目錄結(jié)構(gòu)是以盤(一個邏輯硬盤、優(yōu)盤、

光盤等)為單位組織的,即每一個盤上都有一

個獨(dú)立的樹形目錄結(jié)構(gòu)。

口盤未格式化前,其上并不存在這樣的樹形目

錄結(jié)構(gòu),盤格式化后也只是自動建立一個最基

本的目錄——“根目錄”,以標(biāo)識。

?“\”目錄只能通過盤格式化或全盤復(fù)制產(chǎn)生

?除目錄之外,所有其他的子目錄都是

由用戶自己建立的。

63

?采用樹形目錄結(jié)構(gòu)管理文件的優(yōu)點(diǎn)

口有利于文件分類管理與維護(hù)

口允許在不同的文件夾中建立文件同名文件

口便于文件共享和保護(hù)

口便于文件檢索與定位

64

文件在樹形目錄結(jié)構(gòu)中的位置由文件所在

的驅(qū)動器號、文件路徑以及文件名組成。

例如:

C:\數(shù)據(jù)\01.doc

應(yīng)用程序

(絕對路徑)

Pl.exe

概論'教案\01.doc

(相對路徑)

資料

01.docO2.ppt65

口文件的安全與共享

文件的安全指防止系統(tǒng)崩潰和非法操作文

件時造成的文件破壞。

文件共享指不同用戶(程序)使用同一文件。

實(shí)現(xiàn)文件共享的目的:

?減少存儲空間的開銷

?復(fù)制,存取及傳輸?shù)拈_銷

?滿足不同用戶協(xié)同完成同一任務(wù)的需要

66

口文件的操作與存取

為了方便用戶和程序進(jìn)行文件的存取操作,

文件系統(tǒng)應(yīng)提供方便的存取文件的手段:

?創(chuàng)建

?保

?打

?讀

?刪

?拷

?發(fā)

67

口外存空間的管理、分配與回收

文件存儲空間管理方法有很多種,這里僅

簡要介紹Windows中盤空間的管理方法。

盤存儲空間的分配單位:“簇”,簇大小

與盤容量有關(guān),一般為2n個扇區(qū)。

格式化盤時產(chǎn)生FAT,其中每個登記項(xiàng)對

應(yīng)一個簇的使用情況(占用為非0值、空閑為全

0、損壞為全1)。

68

一個文件所占用簇的簇號組織成一個“簇號

鏈”,其起始簇號在FDT中指出:

文件名及擴(kuò)展名……起始簇號文件大小

例如,若文件乂丫尸11^占用了5個簇(%16,

L10和25),其簇號鏈?zhǔn)牵?/p>

9--16--1--10--25

該“簇號鏈”在FAT表中的鏈接狀態(tài)如下:

注:文件的最后1簇的狀態(tài)值為“EOF

69

文件分配表(FAT)

012345678910111213141516171819202122232425262728293031

文件名擴(kuò)展名創(chuàng)建日期時間文件大小屬性起始簇號

*□7口

卜m…中?oMYFILETXT1/23/200413:2440,3630’

,口上又?

IMS'O1?CJ??O

;'?O*[cZ?CJnQJ

MCa?O9*0

3?口0.二!X>口,,口

J.

70

3.2.5設(shè)備管理

管理系統(tǒng)中I/O設(shè)備,使用戶不必了解設(shè)備的

驅(qū)動細(xì)節(jié),只要用簡單操作就能方便、有效地完

成設(shè)備的I/O操作。

設(shè)備管理的主要任務(wù):

□外部設(shè)備的分配,調(diào)度;

□外部設(shè)備的驅(qū)動與控制;

口實(shí)現(xiàn)虛擬設(shè)備,解決設(shè)備不夠用、速度慢

、故障多問題;

口實(shí)現(xiàn)設(shè)備共享;

71

3.2.6常用操作系統(tǒng)介紹

口操作系統(tǒng)的類型

□批處理操作系統(tǒng)

程序

數(shù)據(jù)作業(yè)

說叫世

操作員

按說明書自動控

制程序的執(zhí)行

72

批處理操作系統(tǒng)的特點(diǎn):

?著重考慮系統(tǒng)效率和資源的利用率;

?用戶不能直接上機(jī),用戶與作業(yè)非交互;

?作業(yè)由OS按說明書控制執(zhí)行;

?不利于程序的開發(fā)和調(diào)試;

?作業(yè)的周轉(zhuǎn)時間及平均周轉(zhuǎn)時間長。

73

口分時操作系統(tǒng)

允許多個用戶聯(lián)機(jī)使用同一計算機(jī)系統(tǒng),

進(jìn)行交互式計算

74

分時系統(tǒng)特點(diǎn):

?用戶聯(lián)機(jī)使用同一計算機(jī)系統(tǒng)

?分時系統(tǒng)著重快速響應(yīng)、在于方便使用

?可親自上機(jī)與作業(yè)和系統(tǒng)交互

用戶進(jìn)入系統(tǒng)的過程通常是:

連接一登錄一使用系統(tǒng)一退出一斷開

分時系統(tǒng)需要額外的硬件和軟件,如前端

處理機(jī)、終端、通信軟件

75

□實(shí)時操作系統(tǒng)

在接收到外部信號后必須及時

處理,且在嚴(yán)格的規(guī)定時間內(nèi)處理

完畢,并給出處理結(jié)果(信號)的

操作系統(tǒng),適用于瞬時控制的領(lǐng)域

實(shí)時系統(tǒng)特點(diǎn):

?專用、不復(fù)雜、實(shí)現(xiàn)相對容易

?自動化程度很高,極少人工干預(yù)

?處理速度、可靠性、正確性要求高

76

口網(wǎng)絡(luò)操作系統(tǒng)

「網(wǎng)絡(luò)通信

網(wǎng)絡(luò)資源共享

網(wǎng)絡(luò)服務(wù)

常規(guī)的操作系統(tǒng)+

網(wǎng)絡(luò)管理

網(wǎng)絡(luò)安全

I網(wǎng)絡(luò)應(yīng)用

網(wǎng)絡(luò)操作系統(tǒng)特點(diǎn):

?具有強(qiáng)大的多用戶并發(fā)處理能力

?支持多種網(wǎng)絡(luò)通信功能

?安全性強(qiáng),可靠性好

77

口嵌入式操作系統(tǒng)

嵌入在某個設(shè)備中,支持嵌入式軟件運(yùn)行,

起智能控制作用的操作系統(tǒng)。

嵌入式操作系統(tǒng)特點(diǎn)是:

?快速、高效

?專用性、實(shí)時性、可靠性

目前較成熟的嵌入式OS:gC/OS-II

VxWork

pSOS78

□Windows操作系統(tǒng)

□特點(diǎn)

?廣泛用于個人計算機(jī)

?搶先式多任務(wù)處理

?GUI用戶界面、操作方便直觀

?支持虛擬存儲器(理論上達(dá)4GB)

?增強(qiáng)的網(wǎng)絡(luò)和多媒體功能

?允許使用長文件名;

?支持“即插即用”功能;

?以數(shù)據(jù)為中心

79

□版本的演變Windows的

Windows9x共有3個最新產(chǎn)品,

產(chǎn)品,面向家用PC有多種不同

/八\用途的版本

198519871990199519982000

-I——I1——I——I——K200120062009

1.02.03.09598MEXf

19?3?/

XPVistaWin7

WinNTWin2000

適合家庭、商用。有家庭版、

面向商用PC機(jī),性能專業(yè)展、媒林中心版、和64

較高,安全性較好,提位版本等。有豐富的音、視

供服務(wù)器版本頻和網(wǎng)絡(luò)通信功能

□Windows操作系統(tǒng)的使用情況

WindowsOS市場份額對Windows的批;評:

DateMay2010

?可靠性不夠高

Allversions91.16%

WindowsXP62.55%不穩(wěn)定,系統(tǒng)會越

Windows來越慢,甚至死機(jī)

15.25%

Vista

Windows712.68%?安全性不夠好

Windows20000.5%存在安全漏洞,容

Windows980.1%易受到病毒、蠕蟲、

WindowsMe0.08%木馬和其他攻擊的

Windows侵?jǐn)_

Server200381

□UNIX操作系統(tǒng)

一種通用的、多用戶、交互式的分時操作

系統(tǒng)??稍诰扌蜋C(jī)、大型機(jī)上作為網(wǎng)絡(luò)操作系

統(tǒng)使用

UNIX特點(diǎn):

□結(jié)構(gòu)簡練系統(tǒng)分成內(nèi)核層和外殼層

口可移植性

口可伸縮性能在各種硬件配置上運(yùn)行

口開放性源代碼開放

□網(wǎng)絡(luò)通信功能強(qiáng)

□Linux操作系統(tǒng)

ElLiiiux特點(diǎn):

口類UNIX操作系統(tǒng)

口可移植性強(qiáng)(做到二進(jìn)制兼容)

□GUI界面(X-Window)

□支持多至32種不同的文件系統(tǒng)

口軟件豐富,且都是免費(fèi)的

□其他特點(diǎn)同UNIX

83

口Linux應(yīng)用

Linux作為服務(wù)器操作系統(tǒng):占到26.3%

Windows:占至24%

3Linux的起源與發(fā)展

1990年芬蘭赫爾辛基技術(shù)

大學(xué)的學(xué)生LinuxTorvalds在

學(xué)習(xí)了MINIX后,自己動手寫

了一個操作系統(tǒng)的內(nèi)核,取名

為Linuxo

1991年,LinusTorvalds公開了Linux內(nèi)核

1993年,Linux轉(zhuǎn)向GPL版權(quán)協(xié)議

1994年,Linux1.0第一個商業(yè)發(fā)行版Slackware問世

1996年,美國國家標(biāo)準(zhǔn)技術(shù)局確認(rèn)Linux版本1213

符合POSIX標(biāo)準(zhǔn)

1999年,Linux的簡體中文版問世

2001年,Linux2.4版發(fā)布

2003年,Linux2.6版發(fā)布

目前的最新版本是:2.6.26(July13,2008發(fā)布)

85

3.3算法與程序設(shè)計語言

3.3.1算法

口什么是算法?

一般而言:

為解決一個問題而采取的方法和步驟。

嚴(yán)格而言:

算法是由若干條指令組成的有窮序列并

滿足:

86

?零個或多個外部輸入;

?至少產(chǎn)生一個輸出;

?每條指令無二義性;

?每條指令的執(zhí)行次數(shù)和時間有限。

[1算法的性質(zhì)

按算法的定義,算法有如下性質(zhì):

□有窮性(有限性)

在有限的時間內(nèi),所有的步驟執(zhí)行有限

次,且可以執(zhí)行完畢。S7

口確定性

每一步操作必須是確定的,不應(yīng)產(chǎn)生二義性。

口可行性/有效性

每一步操作應(yīng)能被計算機(jī)有效地執(zhí)行,并

能得到預(yù)期的結(jié)果。如,計算除法時除數(shù)為零

就是不可行的、無效的。

口有零個或多個輸入(外部提供的初始數(shù)據(jù))

□至少產(chǎn)生一個輸出(提供給外部的運(yùn)算結(jié)果)

88

口算法分類

□數(shù)值計算算法

例如,方程求根,積分計算等。

□非數(shù)值計算算法

例如,統(tǒng)計,排序,查找、交換等。

89

口算法例

例1:

有3個硬幣,其

中一個是偽造的,

另兩個是真的,偽

幣與真幣重量略有

不同。

現(xiàn)提供一座天

平,如何找出偽幣

呢?

90

例2:“選擇排序”算法□7?8.2.5

71812|51

S1:從數(shù)列中找到最小718141§

的數(shù),與第一個數(shù)

交換

S2:從剩下的數(shù)列中找

到最小的數(shù),交換

到已排序數(shù)的后面

S3:反復(fù)執(zhí)行步驟S2,

直到所有數(shù)都處理

完畢

例3:“二分查找”算法

要從給出的一組數(shù)據(jù)(II個)中找出某個數(shù)據(jù)

k,較快的方法是利用折半查找法。

S1:對給出的一組數(shù)據(jù)排序

S2:置T=LB=n(首尾數(shù)據(jù)的序號)

S3:取中點(diǎn)(T+B)/2,取整

S4:比較k與(n+l)/2位置的值

若相等找到(結(jié)束)

若小于置B=(T+B)/2

若大于置T=(T+B)/2

S5:若(T+B)/2=0找不到,否則重復(fù)S3,S492s5

如從中查看是否有數(shù)2,則利

用二分查找法查找的過程如下:

排序2345789查找范圍i:T=l,B=7

取范圍1中點(diǎn)03|4|5|7|8|9]

在范圍1左半查找HSQS789查找范圍2:T=1,B=4

取范圍2中點(diǎn)H7T8T9

在范圍2左半查找2345789查找范圍3:T=1,B=2

取范圍3中點(diǎn)國3HSIH8T9

在范圍3左半查找234578以查找范圍4:T=1,B=1

93

例4:計算5!(略)

算法1:

(si)指定一個存儲單元T,置初值為1;

(s2)計算TX2,將計算結(jié)果保存到T;

(s3)計算TX3,將計算結(jié)果保存到T;

(s4)計算TX4,將計算結(jié)果保存到T;

(s5)計算TX5,將計算結(jié)果保存到T;

(s6)輸出T的值;

(s7)停止。

缺點(diǎn):繁瑣,不易擴(kuò)充。

94

算法2:(略)

(1)指定兩個存儲單元T和I;

(2)1->[2一I;

(3)T義I―T;

(4)1+1->I;

(5)若IW5,轉(zhuǎn)移至(3)執(zhí)行;

(6)輸出T的值;

(7)停止。

缺點(diǎn):不具有通用性。

95

算法3:計算加(略)

(1)指定存儲單元T、I和N;

(2)從鍵盤輸入一個任意正整數(shù),并保存到N中;

(3)1->T,27I;

(4)TXI->T;

(5)I+l->I;

(6)若IWN,轉(zhuǎn)移至(4)執(zhí)行;

(7)輸出T的值;

(8)停止。

96

算法復(fù)雜度分析(選講—略)

一個算法的復(fù)雜度體現(xiàn)在運(yùn)行該算法時所需要的計

算機(jī)資源的多少,資源越多復(fù)雜度越高;反之,復(fù)雜度

越低。

因CPU時間和存儲空間是主要資源,所以算法的復(fù)

雜度僅考慮時間和空間復(fù)雜度,且分別用兩個函數(shù)來表

示:T(n)與S(n)

其中n為問題規(guī)模的大小,如多項(xiàng)式的項(xiàng)數(shù)、數(shù)組

元素的個數(shù)、矩陣的階……

又因T(n)與S(n)的性質(zhì)是類似的,所以一般

只研究T(n)

97

一般而言,對于T(n),當(dāng)n單調(diào)增加且趨于8時,T(n)也

將單調(diào)增加且趨于8時,對于T(N)如果存在T(n),使得當(dāng)n-oo

時,有:

(X(n)-T(N))/T(n)一。

那么就說T(N醫(yī)T(n)當(dāng)n一8時的漸近性態(tài),通常用0(n)表、

示,并用0(n)來表示時間復(fù)雜度。

直觀上0(n)就是T(n)中略去低階所留下的主項(xiàng)。例如:

若T(n)=3n2+4nbgn+7,則0(n)為3M。因?yàn)橛校?/p>

4nbgn+7

(T(n)-O(n))/T(n)=當(dāng)n—oo

3n2+4nl0gn+7

98

顯然,31>2要比3n2+4niogn+7簡單得多。

下面是本節(jié)的排序例子的復(fù)雜度計算。排序規(guī)模為no

比較次數(shù):11(11?1)/2而2/2

移動次數(shù):(1>+4)(11?1)/2而2/2

2n2

比較次數(shù)+移動次數(shù)=n2/2+n2/2=一-二n2

所以,其排序的時間復(fù)雜度為0(?。?。

99

口算法的表示

□自然語言表示

用任何日常使用的語言(漢語、英語等)

表示算法。

優(yōu)點(diǎn):

簡單、方便、通俗易懂;

缺點(diǎn):

是文字冗長、有歧義性、很難表示復(fù)雜

的算法。

100

計算n!的算法流程圖

輸出T

結(jié)束

N

102

口偽代碼表示法

偽代碼(pseudocode)是類似英語、但沒

有嚴(yán)格語法的表述算法的方法。

例如:

IFxispositiveTHEN

Printx

ELSE

Print-x

103

□用計算機(jī)高級語言表示算法

如下面是用C語言表示的求5!算法的程序:

main()

(

inti,t;

t=l;

i=2?

while(i<=5){

t=t*i;

i=i+1;

104

口常用算法(略)

(1)迭代法

常用的一種求問題近似解的方法。所謂迭代就是從一個

已知的或事先估計的近似值X。出發(fā),通過一個迭代公式

Xn=Q(XQn=l,2,3,……

依次求出Xi、X2、x3……,經(jīng)過若干次迭代運(yùn)算而得到

問題精確的解。通常給出一個允許誤差£(如10-5),當(dāng)

前后兩次近似解的絕對誤差

IX/Xn.11<£

時,則把Xn作為問題的解。

105

例用牛頓迭代公式求a的平方根。

迭代公式:

Xn+1=1/2X(Xn+a/Xn)

假定:

Xo=5.0

|X1rxm0-5

106

⑵窮舉

不重復(fù)、不遺漏地考察處理對象的所有可能取值情

況,對每一種取值都作計算并判斷是否是問題的解,從

而找出滿足給定條件的若干個解。

例:父親今年30歲,兒子今年6歲,問多少年后父親的

年齡是兒子年齡的2倍。

求解方程:30+Y=2(6+Y)(其中Y代表年數(shù))

求解算法:

30一F

6Ts

0一Y

WHILE((F+Y)^2X(S+Y))do

Y+l—Y

OUTPUTY

107

⑶遞推法

一個問題的最終結(jié)果是通過求解一系列類似的中間

結(jié)果而得到的,在求解一個中間結(jié)果時,利用前面已求

得的一個或多個中間結(jié)果推出后一個新的中間結(jié)果。

例計算S=l+X+X2/2!+X3/3!++*。/10!的值。

該級數(shù)可描述為:

s=a0+a1+a2+...+a10一般公式

a0=l原始條件

an=an_1Xx/n(n=l,2,3...10)遞推公式

1.原始條件2.遞推公式3.終止條件測試

108

求解算法:

1一S

1一A

INPUTX

FOR1-NTO10DO

A*X/N一A/**/

S+A—S

N+l—N

OUTPUTS

109

(4)遞歸法

遞歸指的是在算法中又直接或間接地使用了算法

本身。每次遞歸調(diào)用時,其數(shù)據(jù)規(guī)模比前一次小,即

將原始難度為n的問題簡化為難度為的問題。

指的是一個算法中,在結(jié)束處理之前,又調(diào)用了

算法自身。

指的是一個算法A中調(diào)用了其他算法B,而算法B

中又調(diào)用了算法A。

110

例求n!的遞歸算法:

j1當(dāng)n=0

加=(nX(n-1)!當(dāng)n>0

計算n!的函數(shù)fac:

longfac(intn)

{

longs;

if(n==0)

s=1;

else

s=n*fac(n-l);

returns;

in

口算法與程序的區(qū)別與關(guān)系

□程序與算法不同,程序可以不滿足有限性,而

算法必須滿足有窮性。

操作系統(tǒng)是一個無限循環(huán)執(zhí)行的程序,因

此它不是算法!

□算法是解決一個問題的方法和步驟,而程序是

算法的一種描述形式,對算法的具體實(shí)現(xiàn)。

□程序有嚴(yán)格的語法規(guī)則,算法沒有。

□算法是程序的靈魂程序=算法+數(shù)據(jù)結(jié)構(gòu)

112

口算法分析

解決同一個問題可以設(shè)計出若干不同的算法

(就像寫文章),當(dāng)然就存在一個算法優(yōu)劣的問題

評價一個算法的優(yōu)劣,主要考慮以下因素:

□正確性,不正確的算法無優(yōu)劣可言;

口是否易于理解、實(shí)現(xiàn)、驗(yàn)證、調(diào)試;

□占用臂經(jīng)期[CPU時間(時間復(fù)雜度)

多少《復(fù)雜黔1存儲空間(空間復(fù)雜度)

3.3.2程序設(shè)計語言

口基本概念

□程序設(shè)計語言

“語言”是表達(dá)意思、交流思想的通信工具

是由語音、詞匯與語法構(gòu)成的系統(tǒng)。

程序設(shè)計語言則是人與計算機(jī)之間的通信

通信工具,用于描述計算機(jī)程序的符號系統(tǒng)。

□程序

計算機(jī)的指令序列、或者符號化的指令序

歹!J、或者語句序列。

114

□程序設(shè)計

設(shè)計、編制、測試程序的方法和過程。

比方說:

程序設(shè)計就象建筑師按設(shè)計藍(lán)圖(算法),讓

能工巧匠(程序員),利用建筑工具(語言),把

各種建筑材料(數(shù)據(jù))有效地組織在一起(數(shù)據(jù)

結(jié)構(gòu)),建成理想建筑物(程序)的過程。

115

口程序設(shè)計語言的類型

據(jù)統(tǒng)計,計算機(jī)語言有上百種。例如:

口計算機(jī)通信語言(通信協(xié)議)

用于描述計算機(jī)之間會話(請求一應(yīng)答)

的語言。如:HTTP、POP3、SMTP、FTP、

Telnet>TCP、IP、……

□數(shù)據(jù)描述語言

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論