资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
第11页 / 共34页
第12页 / 共34页
第13页 / 共34页
第14页 / 共34页
第15页 / 共34页
第16页 / 共34页
第17页 / 共34页
第18页 / 共34页
第19页 / 共34页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
*,*,按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,微處理機作業系統,微處理機作業系統,1,微處理機作業系統架構的演進,微處理機作業系統架構的演進,2,微處理機作業系統特色,記憶體空間需求小且整體效率高,良好的省電功能,與PC溝通的功能,開放應用程式撰寫環境與動態載入應用程式,通訊功能,微處理機作業系統特色 記憶體空間需求小且整體效率高,3,行程與執行緒,為了方便管理應用程式,微處理機作業系統會分別以一個執行單位來看待一項工作或是一個程式,這個執行單位在不同的微處理機作業系統中會有不同的名稱與意義,大多為,行程與執行緒,行程與執行緒為了方便管理應用程式,微處理機作業系統會分別以一,4,應用程式執行單位,A single,execution unit,main(),.,a_task();,.,void a_task(),.,應用程式執行單位A single main(),5,行程代表著不同的應用程式,Process 3,/*program 1*/,main(),program1();,void program1(),/*program 2*/,main(),program2();,void program2(),/*program 3*/,main(),program3();,void program3(),Process 2,Process 1,/*program 4*/,main(),program4();,void program4(),Process 4,行程代表著不同的應用程式 Process 3/*progr,6,行程(process)/執行緒(thread)/工作(task),通常作業系統會配給,行程(process),裡一塊記憶體空間,放著該行程所有的程式碼與資料,以及一些系統服務的紀錄資料,例如檔案開啟的紀錄表、虛擬記憶對應表等,當然還包含了該行程每次執行時,微處理機的執行狀態,但對於這個行程內的,執行緒(thread)/工作(task),而言,分配到的可能是位於該行程內的一段記憶體空間,紀錄著該執行緒/工作的程式碼與資料,以及每次微處理機的執行狀態,而那些屬於全域性的紀錄資料,並不會複製到每一個執行緒/工作內,像是上述的檔案開啟的紀錄表、虛擬記憶對應表等。,行程(process)/執行緒(thread)/工作(ta,7,行程、記憶體與微處理器的關係,CPU,Memory,Process 1 data,code,Process 2 data,code,Process 3 data,code,Process 4 data,code,Process 1 record,Process 2 record,Process 3 record,Process 4 record,Program counter,Register Files,行程、記憶體與微處理器的關係 Process 1 data,8,執行緒/工作、記憶體與微處理器的關係,CPU Status in Thread 1 of Process 1,Memory,Process 1 code,data,Process 1 record,Program counter,Register Files,CPU Status in Thread 2 of Process 1,Program counter,Register Files,執行緒/工作、記憶體與微處理器的關係 Process 1 c,9,C/OS-IIs Task Control Block 資料結構,typedef struct os_tcb,OS_STK *OSTCBStkPtr;,#if OS_TASK_CREATE_EXT_EN,void *OSTCBExtPtr;,OS_STK *OSTCBStkBottom;,INT32U OSTCBStkSize;,INT16U OSTCBOpt;,INT16U OSTCBId;,#endif,struct os_tcb*OSTCBNext;,struct os_tcb*OSTCBPrev;,#if(OS_Q_EN&(OS_MAX_QS=2)|OS_MBOX_EN|OS_SEM_EN,OS_EVENT *OSTCBEventPtr;,#endif,#if(OS_Q_EN&(OS_MAX_QS=2)|OS_MBOX_ EN,void *OSTCBMsg;,#endif,INT16U OSTCBDly;,INT8U OSTCBStat;,INT8U OSTCBPrio;,INT8U OSTCBX;,INT8U OSTCBY;,INT8U OSTCBBitX,INT8U OSTCBBitY;,#if OS_TASK_DEL_EN,BOOLEAN OSTCBDelReq;,#endif,OS_TCB;,C/OS-IIs Task Control Block,10,排程,排程可以說是作業系統核心中最重要工作之一,因為CPU只有一個,所以在一個多工的系統中,核心必須適當的安排分配每個程式的執行時間,讓整各系統看起來就像是有許許多多的程式同時在執行一樣。通常核心會以,分時(Time Slicing)的觀念來讓大家共享CPU資源,。把CPU執行的時間,分成一段段的,每個程式就分配到這些時間來執行任務。這一段一段的時間,在不同的作業系統中,有的長,可能是200個分時,有的短,也有只有20個分時,有的是固定的,也有可以調整的,而每一段的執行時間到了,就必須輪替換下一個程式執行,那要輪到哪一個,就必須要由核心的排程器來決定。,排程 排程可以說是作業系統核心中最重要工作之一,因為CPU只,11,排程,Process 1,Process 4,Process 3,Process 2,排程 Process 1Process 4Process 3,12,即時系統,Real time in operating systems:the ability of the operating system to provide a required level of service in a bounded response time.,即時系統Real time in operating sys,13,本文切換,當透過作業系統的排程器的選擇機制,決定下一個CPU的使用權是交給那一個工作來執行之後,作業系統就必須要做切換的動作。有個專有名詞來描述這種切換的動作,稱為本文切換(context switch)。,做本文切換的時候,必須要將目前的工作狀態(task context)全部記錄起來,包括了程式指標(program counter/instruction pointer)、堆疊指標(stack pointer)及所有微處理器的其他暫存器內容。,本文切換 當透過作業系統的排程器的選擇機制,決定下一個CPU,14,C/OS 本文切換(context switch),步驟一,C/OS 本文切換(context switch)步驟一,15,C/OS本文切換(context switch),步驟二,C/OS本文切換(context switch)步驟二,16,C/OS 本文切換(context switch),步驟三,C/OS 本文切換(context switch)步驟三,17,C/OS本文切換(context switch),步驟四,C/OS本文切換(context switch)步驟四,18,C/OS 本文切換(context switch),步驟五,C/OS 本文切換(context switch)步驟五,19,C/OS 本文切換(context switch),步驟六,C/OS 本文切換(context switch)步驟六,20,C/OS本文切換(context switch),步驟七,C/OS本文切換(context switch)步驟七,21,C/OS本文切換(context switch),步驟八,C/OS本文切換(context switch)步驟八,22,C/OS本文切換(context switch),步驟九,C/OS本文切換(context switch)步驟九,23,內部行程通訊,在有些特殊需求的時候,會有至少一個以上的行程(process)來完成單一應用程式。但這些不同的行程或是執行緒享有的系統資源往往是獨立的,無法直接分享,因此作業系統核心必須要提供所謂的內部行程通訊,IPC(Inter-Process Communication),,讓這些不同的行程間可以互相交換訊息,也可以藉此知道彼此的意圖來做出相對應的行為,內部行程通訊在有些特殊需求的時候,會有至少一個以上的行程(p,24,內部行程通訊方法,透過作業系統中的記憶體子系統,也就是一般所說的共用記憶體(share memory)。Mail Box、Message Queue也是利用相同的觀念所設計出來的通訊機制。,透過作業系統中的檔案系統。,透過作業系統所提供的虛擬溝通機制。例如管道(pipe)。,透過作業系統所提供的信號(signal)機制。,內部行程通訊方法 透過作業系統中的記憶體子系統,也就是一般所,25,共用記憶體機制,共用記憶體機制,26,檔案系統共用機制,檔案系統共用機制,27,作業系統提供的虛擬溝通管道,作業系統提供的虛擬溝通管道,28,信號型態的行程間通訊,信號型態的行程間通訊,29,WinCE.Net,WinCE.Net,30,Symbian OS,Symbian OS,31,VxWorks,VxWorks,32,Nucleus,Nucleus,33,總結,本章內容由行程與執行緒、排程、本文切換、記憶體管理、內部行程通訊等主題讓大家了解微處理機作業系統的運作原理,行程或執行緒乃為系統程式的執行單位,之間的排程選擇、切換流程皆為微處理機作業系統的重點,,除此之外,記憶體管理、內部行程通訊,對於系統的執行效能也是非常之重要。另外也帶入了在微處理機作業系統中一個重要的研究方向即時系統,讓讀者了解即時系統的定義。,總結 本章內容由行程與執行緒、排程、本文切換、記憶體管理、內,34,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6