出版時(shí)間:2009-10 出版社:北京航空航天大學(xué)出版社 作者:任哲 頁(yè)數(shù):277
Tag標(biāo)簽:無(wú)
前言
時(shí)間過(guò)得真快,自本書(shū)第1版出版轉(zhuǎn)眼已有4年。當(dāng)?shù)弥龅?版時(shí),心里很高興,既因?yàn)橛性絹?lái)越多的人加入了嵌入式系統(tǒng)研究和應(yīng)用的行列,也因?yàn)樽咀鞔_實(shí)為嵌入式系統(tǒng)初學(xué)者提供了一些幫助。自本書(shū)第1版出版,作者陸續(xù)收到了很多讀者的來(lái)信。這些來(lái)信除了褒獎(jiǎng)和鼓勵(lì)之外,也提出了一些問(wèn)題。對(duì)于其中具有普遍性的問(wèn)題,作者借此機(jī)會(huì)談一談自己的認(rèn)識(shí)和看法,同時(shí)也介紹第2版內(nèi)容上的變化。1. 學(xué)習(xí)μC/OSII,除了需要C語(yǔ)言之外還需要什么基礎(chǔ)知識(shí)?目前,大多數(shù)操作系統(tǒng)都用C語(yǔ)言編寫(xiě),所以在一定程度上掌握C語(yǔ)言是學(xué)習(xí)μC/OSII的必要基礎(chǔ)。但要注意,因?yàn)椴僮飨到y(tǒng)畢竟是底層軟件,所以還需要讀者具有一定的匯編語(yǔ)言及一些數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí)。當(dāng)然,讀者具有一定操作系統(tǒng)理論基礎(chǔ)就更好。另外,從第1版讀者的來(lái)信中看到,雖然有很多人具有一定的C語(yǔ)言基礎(chǔ),乃至一定的程序設(shè)計(jì)能力,但由于他們所設(shè)計(jì)的程序都比較小,尚未構(gòu)成一個(gè)工程,所以都比較欠缺有關(guān)工程文件管理的相關(guān)知識(shí)(這可能是大多數(shù)在校學(xué)生的一個(gè)普遍問(wèn)題)。為了方便讀者的學(xué)習(xí),第2版特別增加了一章(第2章)內(nèi)容來(lái)介紹工程文件管理中經(jīng)常要使用的工具make.exe 和make file文件的相關(guān)知識(shí)。2. 能否介紹一些學(xué)習(xí)嵌入式操作系統(tǒng)的方法?其實(shí),學(xué)習(xí)嵌入式操作系統(tǒng)與學(xué)習(xí)其他操作系統(tǒng)沒(méi)有什么區(qū)別,因?yàn)樗鼈兌际蔷哂邢嗤δ艿南到y(tǒng)軟件,只不過(guò)根據(jù)應(yīng)用特點(diǎn),嵌入式系統(tǒng)在要求和設(shè)計(jì)上有一些特點(diǎn)。例如,嵌入式系統(tǒng)比較講究效率,要有較強(qiáng)的可裁剪性;對(duì)于實(shí)時(shí)系統(tǒng)來(lái)說(shuō),嵌入式系統(tǒng)還有一些與通用操作系統(tǒng)不同的算法,等等。但從學(xué)習(xí)方法的角度來(lái)看,學(xué)習(xí)嵌入式操作系統(tǒng)并沒(méi)有什么特別之處,大概也就是以下幾點(diǎn):由于操作系統(tǒng)是一種管理軟件,它與人們?cè)谏钪惺褂酶鞣N表格、證件(也是一種表格)對(duì)事物進(jìn)行管理的方式?jīng)]有什么不同,也要用到大量類(lèi)似的管理用表。操作系統(tǒng)中,這些管理用表就是一些數(shù)據(jù)結(jié)構(gòu)(例如鏈表、隊(duì)列、位圖、結(jié)構(gòu)、數(shù)組等),所以,學(xué)習(xí)操作系統(tǒng)的關(guān)鍵就是首先了解它的數(shù)據(jù)結(jié)構(gòu)。一旦了解了它們,那么對(duì)于系統(tǒng)也就有了總體的把握。 對(duì)于μC/OSII這種規(guī)模比較小且源碼開(kāi)放的系統(tǒng)來(lái)說(shuō),按照自己的想法對(duì)它進(jìn)行修改,然后通過(guò)實(shí)驗(yàn)來(lái)學(xué)習(xí)是一種極其有效的方法。特別是在有了μC/OSII基礎(chǔ)后,在學(xué)習(xí)某些大型操作系統(tǒng)(如Linux)的過(guò)程中,按照這些大型系統(tǒng)的做法對(duì)μC/OSII做一些擴(kuò)展,會(huì)使得學(xué)習(xí)效果更好。3. μC/OSII、Linux、Windows CE、Vx Works等都是嵌入式操作系統(tǒng),難道都要學(xué)嗎?如果要學(xué),那么應(yīng)該學(xué)習(xí)哪一個(gè)?這是讀者問(wèn)得最多、也最難回答的一個(gè)問(wèn)題。作者認(rèn)為,如果讀者的學(xué)習(xí)目的是要真正了解操作系統(tǒng)的內(nèi)核及其工作原理,那么就學(xué)習(xí)源碼開(kāi)放的μC/OSII和Linux;如果只是應(yīng)用,那么就是工程項(xiàng)目要求用哪個(gè)操系統(tǒng)就學(xué)習(xí)哪個(gè)操作系統(tǒng)。但作為學(xué)生,或者是想真正成為一個(gè)嵌入式系統(tǒng)設(shè)計(jì)者,那么必須學(xué)習(xí)μC/OSII和Linux。4. 據(jù)說(shuō)現(xiàn)在人們都學(xué)習(xí)和使用Linux,那么學(xué)習(xí)μC/OSII有意義嗎?現(xiàn)在確實(shí)有很多嵌入式系統(tǒng)在使用Linux,之所以如此,其主要原因就在于它是源碼開(kāi)放的系統(tǒng),加之它確實(shí)是一個(gè)很優(yōu)秀的操作系統(tǒng),所以真正研究嵌入式系統(tǒng)的人必須學(xué)習(xí)Linux。但Linux相當(dāng)龐大,對(duì)于沒(méi)有一定基礎(chǔ)的人來(lái)說(shuō),直接學(xué)習(xí)Linux會(huì)遇到很大的困難。所以,先通過(guò)μC/OSII的學(xué)習(xí)來(lái)奠定一定的基礎(chǔ),再去學(xué)習(xí)Linux就會(huì)有事半功倍的效果。5. μC/OSII版本變化很快,對(duì)于學(xué)習(xí)者來(lái)說(shuō),是否需要學(xué)習(xí)它的最新版本?這是一個(gè)見(jiàn)仁見(jiàn)智的問(wèn)題。的確,源碼開(kāi)放的操作系統(tǒng)都有版本變化快速的特點(diǎn),以至于一個(gè)版本還未熟悉,一個(gè)新的版本又出來(lái)了。另外,與通用操作系統(tǒng)相比,μC/OSII很有些另類(lèi),這也就是它的信息量相當(dāng)大,如果讀者能不斷地對(duì)它進(jìn)行品味,將會(huì)在不同的學(xué)習(xí)階段有不同的體會(huì)。參加本書(shū)編寫(xiě)的有任哲、趙洪玉和房紅征,全書(shū)由任哲統(tǒng)稿。由于作者水平有限,書(shū)中難免存在不足乃至錯(cuò)誤,希望讀者在發(fā)現(xiàn)錯(cuò)誤時(shí)能及時(shí)來(lái)信聯(lián)系。本書(shū)例題代碼可到北京航空航天大學(xué)出版社網(wǎng)站的下載中心去下載。
內(nèi)容概要
μC/OS-Ⅱ是一個(gè)源碼開(kāi)放的嵌入式實(shí)時(shí)操作系統(tǒng)的內(nèi)核。本書(shū)詳細(xì)地介紹了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ內(nèi)核的任務(wù)管理和調(diào)度、系統(tǒng)時(shí)鐘和節(jié)拍服務(wù)、時(shí)間管理、中斷、任務(wù)的通信和同步、內(nèi)存的簡(jiǎn)單管理原理,同時(shí)給出了大量的實(shí)例以幫助讀者學(xué)習(xí)和理解。最后,還介紹了μC/OS-Ⅱ的移植方法?! ”緯?shū)可作為高等院校計(jì)算機(jī)、電子技術(shù)、自動(dòng)化技術(shù)、儀器儀表等相關(guān)專(zhuān)業(yè)的教材,也可供對(duì)嵌入式操作系統(tǒng)感興趣的工程技術(shù)人員參考。
書(shū)籍目錄
第1章 嵌入式實(shí)時(shí)操作系統(tǒng)的基本概念 1.1 計(jì)算機(jī)操作系統(tǒng) 1.1.1 什么是計(jì)算機(jī)操作系統(tǒng) 1.1.2 操作系統(tǒng)的作用和功能 1.2 嵌入式系統(tǒng)和嵌入式操作系統(tǒng) 1.2.1 嵌入式系統(tǒng)的基本概念 1.2.2 嵌入式操作系統(tǒng) 1.2.3 實(shí)時(shí)操作系統(tǒng)需要滿(mǎn)足的條件 1.2.4 嵌入式系統(tǒng)的任務(wù)及嵌入式實(shí)時(shí)操作系統(tǒng) 1.3 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ簡(jiǎn)介 1.4 小結(jié) 1.5 練習(xí)題第2章 預(yù)備知識(shí) 2.1 開(kāi)發(fā)工具 2.1.1 BorlandC3.1及其精簡(jiǎn)版 2.1.2 多文件程序的編譯和連接 2.2 工程管理工具make及makefile 2.3 復(fù)雜工程項(xiàng)目的管理 2.3.1 批處理文件與makefile的綜合使用 2.3.2 復(fù)雜工程管理示例 2.4 常用數(shù)據(jù)結(jié)構(gòu) 2.4.1 程序控制塊 2.4.2 控制塊的組織~鏈表 2.4.3 位圖 2.5 小結(jié) 2.6 練習(xí)題第3章 μC/OS-Ⅱ中的任務(wù) 3.1 任務(wù)的基本概念 3.1.1 任務(wù)及其內(nèi)存結(jié)構(gòu) 3.1.2 任務(wù)的狀態(tài) 3.1.3 用戶(hù)任務(wù)代碼的一般結(jié)構(gòu) 3.1.4 系統(tǒng)任務(wù) 3.1.5 任務(wù)的優(yōu)先權(quán)及優(yōu)先級(jí)別 3.2 任務(wù)堆?! ?.2.1 任務(wù)堆棧的創(chuàng)建 3.2.2 任務(wù)堆棧的初始化 3.3 任務(wù)控制塊及其鏈表 3.3.1 任務(wù)控制塊結(jié)構(gòu) 3.3.2 任務(wù)控制塊鏈表 3.3.3 任務(wù)控制塊的初始化 3.4 任務(wù)就緒表及任務(wù)調(diào)度 3.4.1 任務(wù)就緒表結(jié)構(gòu) 3.4.2 對(duì)任務(wù)就緒表的操作 3.4.3 任務(wù)調(diào)度 3.5 任務(wù)的創(chuàng)建 3.5.1 用函數(shù)OSTaskCreate()創(chuàng)建任務(wù) 3.5.2 用函數(shù)OSTaskCreateExt()創(chuàng)建任務(wù) 3.5.3 創(chuàng)建任務(wù)的一般方法 3.6 任務(wù)的掛起和恢復(fù) 3.6.1 掛起任務(wù) 3.6.2 恢復(fù)任務(wù) 3.7 其他任務(wù)管理函數(shù) 3.7.1 任務(wù)優(yōu)先級(jí)別的修改 3.7.2 任務(wù)的刪除 3.7.3 查詢(xún)?nèi)蝿?wù)的信息 3.8 μC/OS-Ⅱ的初始化和任務(wù)的啟動(dòng) 3.8.1 μC/OS-Ⅱ的初始化 3.8.2 μC/OS-Ⅱ的啟動(dòng) 3.9 小結(jié) 3.10 練習(xí)題第4章 μC/OS-Ⅱ的中斷和時(shí)鐘 4.1 μC/OS-Ⅱ的中斷 4.1.1 μC/OS-Ⅱ的中斷過(guò)程 4.1.2 中斷級(jí)任務(wù)切換函數(shù) 4.1.3 應(yīng)用程序中的臨界段 4.2 μC/OS-Ⅱ的時(shí)鐘 4.3 時(shí)間管理 4.3.1 任務(wù)的延時(shí) 4.3.2 取消任務(wù)的延時(shí) 4.3.3 獲取和設(shè)置系統(tǒng)時(shí)問(wèn) 4.4 小結(jié) 4.5 練習(xí)題第5章 任務(wù)的同步與通信 5.1 任務(wù)的同步和事件 5.1.1 任務(wù)間的同步 5.1.2 事件 5.2 事件控制塊及事件處理函數(shù) 5.2.1 事件控制塊的結(jié)構(gòu) 5.2.2 操作事件控制塊的函數(shù) 5.2.3 空事件控制塊鏈表 5.3 信號(hào)量及其操作 5.3.1 信號(hào)量 5.3.2 信號(hào)量的操作 5.4 互斥型信號(hào)量和任務(wù)優(yōu)先級(jí)反轉(zhuǎn) 5.4.1 任務(wù)優(yōu)先級(jí)的反轉(zhuǎn)現(xiàn)象 5.4.2 互斥型信號(hào)量 5.5 消息郵箱及其操作 5.5.1 消息郵箱 5.5.2 消息郵箱的操作 5.6 消息隊(duì)列及其操作 5.6.1 消息隊(duì)列 5.6.2 消息隊(duì)列的操作 5.7 小結(jié) 5.8 練習(xí)題第6章 信號(hào)量集 6.1 信號(hào)量集的結(jié)構(gòu) ……第7章 動(dòng)態(tài)內(nèi)存管理第8章 在51單片機(jī)上移植μC/OS-Ⅱ第9章 基于ARM的μC/OS-Ⅱ第10章 μC/OS-Ⅱ在80x86上的移植第11章 μC/OS-Ⅱ可剪裁性的實(shí)現(xiàn)附錄A 文件PC.C中的函數(shù)附錄B μC/OS-Ⅱ中使用的數(shù)據(jù)類(lèi)型附錄C C51開(kāi)發(fā)工具μVision 2簡(jiǎn)介參考文獻(xiàn)
章節(jié)摘錄
插圖:第1章嵌入式實(shí)時(shí)操作系統(tǒng)的基本概念操作系統(tǒng)(Operating System.OS)是一種系統(tǒng)軟件。它在計(jì)算機(jī)硬件與計(jì)算機(jī)應(yīng)用程序之間,通過(guò)提供應(yīng)用程序接口(Application Programming Interface,API),屏蔽了計(jì)算機(jī)硬件工作的一些細(xì)節(jié),從而使應(yīng)用程序的設(shè)計(jì)人員得以在一個(gè)友好的平臺(tái)上進(jìn)行應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā),大大提高了應(yīng)用程序的開(kāi)發(fā)效率。嵌入式系統(tǒng)作為一種計(jì)算機(jī)系統(tǒng),當(dāng)然也需要一個(gè)合適的操作系統(tǒng)的支持,這種應(yīng)用于嵌入式系統(tǒng)中的挺作系統(tǒng)就叫做嵌入式操作系統(tǒng)。本章的主要內(nèi)容有:●計(jì)算機(jī)操作系統(tǒng)的基本概念;●嵌入式系統(tǒng)的基本概念;●實(shí)時(shí)操作系統(tǒng)的概念。1.1 計(jì)算機(jī)操作系統(tǒng)1.1.1 什么是計(jì)算機(jī)操作系統(tǒng)眾所周知,計(jì)算機(jī)是一種功能強(qiáng)大的數(shù)字運(yùn)算裝置。作為一種裝置,它需要由諸如中央微處理器(CPU)、存儲(chǔ)器、接口及外部設(shè)備等一些實(shí)際物理裝置來(lái)構(gòu)成。這些構(gòu)成計(jì)算機(jī)的實(shí)際物理裝置,就是計(jì)算機(jī)的硬件系統(tǒng)。只由硬件構(gòu)成的計(jì)算機(jī)叫做“裸機(jī)”。這種“裸機(jī)”是不能工作的.計(jì)算機(jī)必須在硬件的基礎(chǔ)上配以相應(yīng)的軟件才能構(gòu)成真正的計(jì)算機(jī)系統(tǒng).才能完成人們所交付的各種計(jì)算任務(wù)。如果用人來(lái)做比喻的話(huà),計(jì)算機(jī)的硬件就相當(dāng)于人的骨骼、肌肉等看得見(jiàn)摸得著的實(shí)體,而計(jì)算機(jī)的軟件就相當(dāng)于人頭腦中存儲(chǔ)的思想.、方法等看不見(jiàn)摸不著的東西。顯然,沒(méi)有思想的人不能叫做一個(gè)“活人”,或者不能叫做一個(gè)“真正的人”,這樣的人是什么工作也做不了的。
編輯推薦
《嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用(第2版)》:高等院校通用教材
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版