第四章 程控交換機的軟件_第1頁
第四章 程控交換機的軟件_第2頁
第四章 程控交換機的軟件_第3頁
第四章 程控交換機的軟件_第4頁
第四章 程控交換機的軟件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章程控交換機的軟件4.1概述程控交換機是一個由計算機控制的實時交換系統(tǒng),當然是由硬件和軟件兩大部分組成。對制造商而言,系統(tǒng)成本是一個不容忽視的問題。

隨著微電子技術的發(fā)展,硬件成本在不斷地下降,而軟件系統(tǒng)的情況恰恰相反。這是因為,交換機的全部智能性任務都要由軟件來完成,交換機的功能越來越強,軟件也就越來越復雜和龐大。程控交換機的容量可達十萬門以上(可容納幾個端局),軟件總量可達幾十萬條至幾百萬條,軟件開發(fā)的工作量可達到幾百人年??梢哉f,程控交換機的成本、質量,在很大程度上取決于軟件系統(tǒng)。一、程控交換機軟件的基本特點1、實時性強程控交換機軟件的這個特點與其它的控制系統(tǒng)的特點類似,但也有它自己的特色。軟件要及時收集外部電路發(fā)生的各種事件,并對這些事件及時分析處理,并在規(guī)定的時間內做出響應,否則,就會導致丟失信息而使呼叫失敗。根據(jù)實時性要求不同,軟件可分為不同的等級。(1)故障級這是最高優(yōu)先級的程序,系統(tǒng)一旦發(fā)現(xiàn)故障,應立即中斷正在執(zhí)行的程序,及時轉入故障處理程序。(2)時鐘級這是正常運行的情況下,實時性要求最為嚴格的程序。例如,接收用戶的撥號脈沖或DTMF,掃描周期要十分嚴格,不允許有延時。(3)基本級這一級程序對實時性要求不十分嚴格。例如摘(掛)機處理程序,時鐘級程序檢測到用戶摘(掛)機后,并不馬上處理,而是寫入任務隊列,由基本及程序查找隊列進行處理,處理可以晚幾個至幾十個毫秒,并不會影響通信質量。再如管理程序的的機命令,可以延時更長。2、并發(fā)性和多道程序運行(1)并發(fā)性有2個內容

①同一過程并發(fā):用戶呼叫過程是隨機的,可能同時有多個用戶發(fā)出呼叫請求,或有多個用戶要求釋放呼叫;②不同過程并發(fā):在同一時刻,可能有些用戶發(fā)出呼叫請求,而另一些用戶要求釋放呼叫。軟件應能同時處理這些問題。

(2)多道程序運行正是由于呼叫的并發(fā)性,系統(tǒng)要同時運行多道程序,這同時也是實時性要求的結果。這是因為,交換機建立呼叫的過程中,包含許多基本的動作,一個處理動作結束后,呼叫就進入一個相對穩(wěn)定的狀態(tài),而脫離這個狀態(tài)進入另一個穩(wěn)定狀態(tài)需要外部事件的觸發(fā)。

例如,用戶待機時,這是一個穩(wěn)定的空閑狀態(tài),如果要改變這個狀態(tài),就需要一個外部事件,如摘機,摘機這個事件得到處理后,呼叫又進入等待收號這一穩(wěn)定狀態(tài),再等待外部事件的輸入。處理機的速度很快,處理機處理完摘機這個事件后,就不能一直等待用戶撥號,否則,其它用戶的呼叫請求就得不到處理。這就要求處理機能夠“同時”運行多道程序。這涉及到進程調度,后面會具體講到。3、可靠性要求高對于通信設備,要求具有極高的可靠性,既使在硬件和軟件系統(tǒng)本身發(fā)生故障的情況下,系統(tǒng)仍能保證可靠運行,并能在系統(tǒng)不停止運行的前提下,完成硬件和軟件故障的恢復??煽啃缘湫偷闹笜耸牵?9.98%的正確呼叫處理;40年內系統(tǒng)中斷運行時間不超過2小時。當發(fā)生一個硬件和軟件故障時,系統(tǒng)必須采取措施使呼叫能夠進行下去。程控交換機對故障的處理所依據(jù)的原則與其它用于控制和科學計算的計算機有些不一樣。

可見,計算機運算錯誤和系統(tǒng)停機在不同的系統(tǒng)中,導致的結果是不同的。為提高系統(tǒng)的可靠性采取的措施:(1)對關鍵設備冗余配置。如處理機、數(shù)字交換網(wǎng)等。(2)及時發(fā)現(xiàn)錯誤。如果是硬件故障,迅速確定故障位置及性質,隔離故障部件,啟動備用部件。硬件故障一般是物理損壞,軟件則不同,如果在軟件開發(fā)過程中,如果能確保其正確性,那么無論過多長時間,軟件本身是不會發(fā)生故障的。但現(xiàn)在的軟件開發(fā)技術無法保證這一點。

也就是說,系統(tǒng)在運行中,總有你無法預知的狀態(tài)的組合,這樣,軟件是不會做出正確處理的。為了保證可靠性,通常在軟件中增加監(jiān)督程序段,進行軟、硬件資源的定期審核。4、廣泛的適應性每個交換局對交換機的功能、容量、編碼方案的要求各不相同,當然不能為每一個交換局專門編制軟件,這就要求軟件要有廣泛的適應性。通常的做法是:采用參數(shù)化技術,使描述功能邏輯的程序部分與給予處理參量的數(shù)據(jù)部分分離。這就是數(shù)據(jù)驅動程序,后面會詳細介紹。5、可維護性要求高軟件具有相當大的維護量。這是由于:第一,原來設計的軟件需不斷完善;第二,而不斷引進新技術對原有軟件加以改進;第三,業(yè)務的發(fā)展對軟件也會提出新的要求。二、數(shù)據(jù)驅動程序的特點用結構

程控交換機的軟件可維護性要高,也就是說追加新的功能模塊或改變其運行條件時,要修改軟件,但要求是對軟件的總體結構的影響要小,為達到此目的,采用數(shù)據(jù)驅動程序(與之對應的,是動作驅動程序)。所謂數(shù)據(jù)驅動程序,就是根據(jù)一些參數(shù)查表來決定要啟動的程序。這種程序結構的優(yōu)點是:在規(guī)范發(fā)生變化的時候,程序結構不變,只需修改表中的數(shù)據(jù)就可以適應規(guī)范的變化。條件(A、B)初始規(guī)范變化后規(guī)范00R1R201R1R110R2R111R3R3AR2B1R31R100ABR2BR1R3001110

我們可以看出,規(guī)范發(fā)生了變化,程序結構也發(fā)生了變化。

如果采用數(shù)據(jù)驅動程序情況如何呢?首先要制做一系列的表格,然后用參數(shù)去檢索這些表格,確認要執(zhí)行的程序。一個表格由2行、2列構成。兩行表示一個參數(shù)可能取0、1這兩值。數(shù)據(jù)項程序或下一級表格地址程序或下一級表格地址標志0/10/1第一列為標志項,其值為0,表示其后的數(shù)據(jù)項的內容為要執(zhí)行的程序的入口地址;其值為1,表示其后的數(shù)據(jù)項的內容為下一級表格的初始地址。

現(xiàn)在,我們用這種方法描述一下初始規(guī)范的執(zhí)行過程。A值010R11B值01B值01第二級為兩張表格0R20R3讀A值,查第一張表標志?根據(jù)地址查第二張表,用B值檢索查程序指針執(zhí)行相應程序01

同樣,我們也可以用這種方法描述變化后的規(guī)范的執(zhí)行情況。讀A值,查第一張表標志?根據(jù)地址查第二張表,用B值檢索查程序指針執(zhí)行相應程序01A值0111B值01B值01第二級也為兩張表格,數(shù)據(jù)發(fā)生了變化0R10R300R2R1

我們可以看出,采用數(shù)據(jù)驅動程序時,既使規(guī)范發(fā)生了變化,程序結構也未發(fā)生變化。數(shù)據(jù)驅動程序需不斷地查表,會消耗大量機時,但隨著處理機速度的不斷加快,機時已不是主要問題。數(shù)據(jù)驅動程序是極易管理的,因而在程控交換機軟件設計中得到廣泛應用。三、有限狀態(tài)機和有限消息機的概念(略)四、三種類型的程序設計語言(略)4.2運行軟件的一般結構一、運行軟件和基本結構應用軟件系統(tǒng)呼叫處理程序管理程序維護程序操作系統(tǒng)處理機系統(tǒng)和其它硬件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)二、局數(shù)據(jù)和用戶數(shù)據(jù)

交換機的各項業(yè)務是依靠程序來完成的,而這些功能的描述、引入、刪除、應用范圍和環(huán)境等控制功能,是由數(shù)據(jù)來描述的。

程序和數(shù)據(jù)是分離的。程序依據(jù)數(shù)據(jù)的設定來影響各類事件,完成交換機的各項任務。我們實驗課程就是完成各種數(shù)據(jù)的設定。數(shù)據(jù)又可分為局數(shù)據(jù)和用戶數(shù)據(jù)。1、局數(shù)據(jù)

局數(shù)據(jù)是用來描述交換機的配置及運行環(huán)境的,有以下主要內容。(1)配置數(shù)據(jù)描述交換機的硬件、軟件的配置情況。

①硬件配置數(shù)據(jù):說明交換機中各種硬件單板的配置數(shù)量、安裝位置、相互連接關系等。

②說明交換機軟件表格的數(shù)量、起始地址等內容。配置數(shù)據(jù)一般只在系統(tǒng)容量變化時才修改。

(2)號碼翻譯規(guī)則如呼叫源數(shù)據(jù)、前綴分析表、地址翻譯表。(3)路由中繼數(shù)據(jù)局向:如果某交換局與本局之間有直達電路群,則該局稱為本局的一個局向。本局C局D局A局B局

用于規(guī)定一個交換機設置的局向數(shù)、對應每個局向的路由數(shù)、每個路由包含的中繼群數(shù),中繼群采用的信令方式。(4)No.7信令數(shù)據(jù)描述No.7的MTP、TUP、SCCP、ISUP等數(shù)據(jù)。(5)計費數(shù)據(jù)用來確定有關的計費方式,如不同局向不同費率、不同時段不同費率等。(6)新業(yè)務提供情況能提供的新業(yè)務種類、每種業(yè)務能提供的最大服務的用戶數(shù)。2、用戶數(shù)據(jù)

用來說明用戶的情況,每個用戶都有自己特有的用戶數(shù)據(jù)。主要包括以下內容。(1)用戶電話號碼、用戶設備碼(2)用戶線類別:普通用戶線,公共電話用戶線,小交用戶線(3)用戶服務等級:呼出控制,本地網(wǎng)、國內、國際長途有權(4)用戶對新業(yè)務的使用權以及用戶已經(jīng)登記的新業(yè)務

(5)用戶計費數(shù)據(jù)對于大型程控交換機,局數(shù)據(jù)和用戶數(shù)據(jù)存儲在數(shù)據(jù)庫中,由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理。呼叫處理程序在呼叫處理過程中要通過數(shù)據(jù)庫對有關局數(shù)據(jù)和用戶數(shù)據(jù)進行查詢,根據(jù)查詢結果進行相應處理。呼叫處理程序只能對數(shù)據(jù)進行查詢,而不能修改。維護管理人員通過人機命令對數(shù)據(jù)進行修改。4.3操作系統(tǒng)

程控交換機的運行軟件由操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和應用程序組成。操作系統(tǒng)是硬件與應用程序的接口。一個通用的操作系統(tǒng)的目的是向應用程序屏蔽硬件的差異性,并支持多任務。程控交換機是一個實時處理系統(tǒng),它的操作系統(tǒng)除具有通用的操作系統(tǒng)的功能之外,還必須具有實時性;另外,程控交換機在硬件上屬嵌入式系統(tǒng),因此,它的操作系統(tǒng)是一個實時的、嵌入式的、多任務操作系統(tǒng)。WindowsUnixuC-LinuxDSP/BIOSRTX51

各種交換機使用的操作系統(tǒng)也是不一樣的,一般來說,有3個來源:(1)對開放源碼的操作系統(tǒng)(如Linux)加以剪裁(如不需圖形介面)、修改(如I/O設備的實時性)。(2)購買專用的操作系統(tǒng)(如WinCE,VxWorks)。(3)制造商獨立開發(fā)的操作系統(tǒng)。一、OS的層次結構

整個OS由核心層和外圍模塊組成。1、核心層的功能

(1)中斷處理當中斷產(chǎn)生時,首先由內核的中斷總控程序處理,分析中斷的類型和性質,然后交由外層模塊去處理。

(2)任務調度(進程調度)主要是為就緒進程分配處理機。分配時要有一些策略。

(3)原語管理(系統(tǒng)調用管理)當核心層以外的程序需要得到核心層的支持時,不能直接調用核心層程序,只能通過系統(tǒng)調用獲得。這一功能是對所有系統(tǒng)調用進行管理。核心層屬性:

.核心是由中斷驅動的;

.核心的執(zhí)行是連續(xù)的—在核心執(zhí)行期間,不允許被打斷;

.核心程序可以使用特權指令。絕大多數(shù)處理機都有專門的寄存器標識處理機狀態(tài)(核心態(tài)、用戶態(tài)),如狀態(tài)修改、開關中斷等,只能在核心態(tài)下使用。2、外圍模塊

有了核心層之后,可以說有了一個完整的操作系統(tǒng)了,但它的功能還很弱,因此,用外圍模塊來增強操作系統(tǒng)的功能。不將這些模塊編入內核,目的是保證內核的簡捷、高效。

如Windows的TCP/IP協(xié)議,就是OS的外圍模塊。加載了網(wǎng)卡的驅動程序后,驅動程序就變成了內核的一部分(直接控制硬件),TCP/IP要想實現(xiàn)IP數(shù)據(jù)包的發(fā)送的接收,必須通過系統(tǒng)調用來使用網(wǎng)卡的驅動程序。當應用程序需使用TCP/IP時,應使用TCP/IP提供的系統(tǒng)調用。如果沒有TCP/IP,在應用程序中編制,通過系統(tǒng)調用使用網(wǎng)卡驅動程序。

在程控交換機中,也有很多這樣的外圍模塊。如交換機與BAM的通信,核心層負責對串口的驅動,外圍模塊負責協(xié)議管理。二、操作系統(tǒng)接口

操作系統(tǒng)要提供2個接口,一個是應用程序接口,也就是原語調用;一個是和硬件的接口,由于操作系統(tǒng)是由中斷驅動的,也稱中斷接口。1、原語調用(系統(tǒng)調用)

當應用程序需要操作系統(tǒng)提供服務時,通過系統(tǒng)調用通過系統(tǒng)調用進入操作系統(tǒng),服務完成后,返回應用程序。系統(tǒng)調用有以下幾種類別。(1)用于管理進程的原語,如創(chuàng)建進程、終止進程。(2)用于支持進程間通信的原語,如發(fā)送消息、消息等待。(3)用于支持時限服務的原語,如絕對定時請求、相對定時請求、撤消定時請求。

(4)用于存儲器管理的原語,如分配數(shù)據(jù)塊、分配棧區(qū)。2、中斷接口

在程控交換機中,通常有以下幾類中斷:(1)時鐘中斷時鐘中斷是最重要的一種中斷,它為操作系統(tǒng)提供時間基準。沒有時鐘中斷就沒有操作系統(tǒng)。軟件系統(tǒng)中絕對時間和相對時間的獲得,都來源于對時鐘中斷的計數(shù)。每當時鐘中斷產(chǎn)生時,操作系統(tǒng)中的任務調度程序,按照一定的優(yōu)先權,調度各就緒進程。

(2)故障中斷

①硬件故障中斷為了保證交換機的可靠運行,在交換機中要增加一些監(jiān)視電路,用來監(jiān)視關鍵性硬件設備的工作情況,一旦這些設備發(fā)生故障,監(jiān)視設備就會發(fā)出中斷請求,要求處理機立即處理,如電源監(jiān)視。可以看出,故障級程序是在操作系統(tǒng)內部。

②運行異常中斷設置一個定時器,系統(tǒng)正常運行時,軟件會周期性地復位該定時器,而不會超時。如果系統(tǒng)程序走飛或陷入一個死循環(huán),而不能按時復位這個定時器,定時器就會溢出,產(chǎn)生異常中斷(結果使處理機復位)。這就是我們常說的看門狗定時器。③程序性中斷程序執(zhí)行過程中,處理機無法識別從內存中讀出的指令代碼,或運算出現(xiàn)除數(shù)為0的情況,產(chǎn)生中斷。

(3)I/O中斷用于外部存儲設備與內存之間的DMA傳輸。三、程序的級別及調度方法

這里所說的級別是按其實時性來劃分的。故障級(中斷級)在操作系統(tǒng)內部。時鐘級基本級(進程級)四、時鐘級程序的調度

所謂時鐘級程序,是指必須周期性執(zhí)行的程序。這些程序有不同的執(zhí)行周期。一般說來,時鐘級程序是不需操作系統(tǒng)調度的,這是因為:用戶掃描、雙音多頻掃描、中繼掃描等實時性極強的程序是由各功能單板上的處理機來完成的,并不需主MPU進行直接管理。主MPU需管理的是這些功能單板上報的事件。下面我們以HJD-256交換機為例來說明時鐘級程序的調度。上述幾種掃描過程均由一臺處理機來完成。時間計數(shù)器(初值為0)撥號脈沖掃描8msDTMF掃描16ms線路信令掃描24ms位間隔識別96ms用戶線掃描96ms中繼器掃描96ms計數(shù)器復位96ms定時器每8ms產(chǎn)生一次中斷,計數(shù)器加1。1111111屏蔽表123456789101112時間表時間表,12行,7列。表中各項值為1比特,其值為0或1。程序轉移表程序轉移表,7行,與時間表每列對應;表項為該程序的入口地址(給出了該程序的執(zhí)行周期)。時間計數(shù)器(初值為0)撥號脈沖掃描8msDTMF掃描16ms線路信令掃描24ms位間隔識別96ms用戶線掃描96ms中繼器掃描96ms計數(shù)器復位96ms1111111屏蔽表123456789101112時間表程序轉移表當8ms中斷到來時,時間計數(shù)器值加1,假設結果為1,將時間表第1行的值取出,各列值與屏蔽表各列值相與,然后進行尋1操作,如果某列為1,則執(zhí)行與該列對應的程序轉移表中的程序,直至將所有列為1的程序執(zhí)行完。當下一個8ms中斷到來時,進行同樣的操作。周而復始。0101010時間計數(shù)器(初值為0)撥號脈沖掃描8msDTMF掃描16ms線路信令掃描24ms位間隔識別96ms用戶線掃描96ms中繼器掃描96ms計數(shù)器復位96ms1111111屏蔽表123456789101112時間表程序轉移表111111111111101010101010100100100100100000000000100000000000100000000000000000000001實際應用中,要考慮負載的均衡性時間表為12行,主要是因為12可以被2、3、4、6、12多個數(shù)整除,這樣,可以調度多種不同周期的程序。屏蔽表各列值可根據(jù)本階段該程序是否應該執(zhí)行設置為1或0五、基本級程序的調度

基本級程序的功能是對外部發(fā)生的事件進行處理?;炯壋绦蛟谶\行時構成進程,由操作系統(tǒng)調度執(zhí)行。1、進程的概念

交換機軟件的特點是程序并發(fā)執(zhí)行。所謂并發(fā)執(zhí)行,可以認為系統(tǒng)中的多道程序都已開始執(zhí)行,但都未結束,而是交替地在處理機上執(zhí)行。呼叫處理程序P用戶甲摘機P處理這個事件,檢查用戶甲的用戶數(shù)據(jù),分配一個收號器,同時給出撥號音,P進入等待收號狀態(tài)。處理機空閑。用戶乙摘機P處于處理這個事件狀態(tài)。處理機從空閑開始工作。如何用呼叫處理程序P來描述2個用戶的呼叫狀態(tài)和處理機的占用情況呢?

為此,我們把P與服務對象聯(lián)系起來,P為甲服務就構成進程P甲,為乙服務就構成起程P乙,這兩個起程共享呼叫處理程序P。它們“同時”執(zhí)行并且按照自己的速度執(zhí)行??梢哉f,P甲在等待收號,P乙正在從空閑狀態(tài)開始執(zhí)行。

進程是由數(shù)據(jù)和有關的程序序列組成的,是程序在某個數(shù)據(jù)集合上的一次運行活動。2、可再入程序

可再入程序是指能被多個程序同時調用的程序,這種程序特點是:它是純代碼的,它在執(zhí)行中本身并不改變,也就是說它不存在自己的工作數(shù)據(jù)區(qū),調用它的程序應提供工作數(shù)據(jù)區(qū)。因此,可再入程序可以被多個程序調用,參數(shù)傳遞主要依靠指針。呼叫處理程序就是可再入程序。3、進程的性質

(1)進程包含了數(shù)據(jù)和運行其上的程序。(2)同一程序運行于不同的數(shù)據(jù)集合上時,就構成了不同的進程。在程控交換機中,數(shù)據(jù)集合包括:用戶數(shù)據(jù)、狀態(tài)數(shù)據(jù)、觸發(fā)數(shù)據(jù)、工作區(qū)。一般將描述進程功能的程序稱為功能描述;將進程運行的數(shù)據(jù)集合稱為功能環(huán)境。(3)若干個進程是可以交往的,即進程之間可以通信。4、進程的狀態(tài)及其轉換

(1)狀態(tài)

①等待狀態(tài):等待某個事件發(fā)生。(系統(tǒng)不會為處于等待狀態(tài)的進程分配處理機)

②就緒狀態(tài):等待系統(tǒng)分配處理機運行。

③運行狀態(tài):占用處理機運行。

每個進程只能處于上述3種狀態(tài)之一。(2)狀態(tài)轉換運行狀態(tài)就緒狀態(tài)等待狀態(tài)一個處于運行狀態(tài)的進程,執(zhí)行了一定的操作后,而下一步的處理要等待某個外部事件發(fā)生,通過系統(tǒng)調用(Wait),變成等待狀態(tài),并將等待原因通知OS。運行狀態(tài)等待事件發(fā)生一個處于等待狀態(tài)的進程,正在等待的事件已發(fā)生,OS就將置成就緒狀態(tài)。事件已發(fā)生等待狀態(tài)就緒狀態(tài)一個處于就緒狀態(tài)的進程,OS分配處理機后,就開始運行。選中(2)狀態(tài)轉換運行狀態(tài)就緒狀態(tài)等待狀態(tài)一個處于運行狀態(tài)的進程,還沒有執(zhí)行完規(guī)定的操作,OS又將處理機分配給另外一個進程,該進程就從運行狀態(tài)轉換為就緒狀態(tài),等待再次分配處理機運行完。等待事件發(fā)生事件已發(fā)生選中運行狀態(tài)落選5、進程控制塊

為了能夠區(qū)別各個不同的進程、記錄進程的執(zhí)行情況以及讓出處理機后進程新處的狀態(tài),OS為每個進程都設置一個進程控制塊(PCB),主要包含以下信息。(1)標識信息:用于標識一個進程。如進程名,進程號碼及與進程對應的程序名。(2)說明信息:用于說明進程情況。如說明進程狀態(tài)、等待原因、進程程序存放位置、進程數(shù)據(jù)存放位置等信息。

(3)現(xiàn)場信息:用于保留進程在運行時存放在處理機中的內容。如通用寄存器、控制寄存器、程序狀態(tài)字等內容。(4)資源信息:用于說明有關進程所占用的存儲器、外設資源的記錄、連接信息等。

PCB是OS對進程進行調度和管理的依據(jù)。有了PCB,就可以物理地表征一個進程。數(shù)據(jù)集合D程序PPCBPCB由OS統(tǒng)一管理,應用程序本身無法訪問PCB

PCB可以動態(tài)地描述進程的執(zhí)行情況。另外,程序是一個客觀存在,而進程是有生命期的。從創(chuàng)建到消亡??梢赃@樣理解進程從創(chuàng)建到消亡的過程。主叫進程

a、對主叫而言,摘機這個事件發(fā)生,OS就為它創(chuàng)建一個進程,其初始狀態(tài)為就緒態(tài),等待分配處理機處理這個事件。

一個新創(chuàng)建的進程,不是通過等待狀態(tài),等待事件發(fā)生而進入就緒狀態(tài)的。因為此前根本就不存在這個進程,也就無所謂進程狀態(tài)。主叫進程

b、對被叫而言,OS一旦發(fā)現(xiàn)主叫進程發(fā)出的呼叫消息,就為被叫創(chuàng)建一個進程,其初始狀態(tài)為就緒態(tài),等待分配處理機處理這個事件。

此后,整個呼叫過程依賴于這兩個進程之間的通信。被叫進程

c、操作系統(tǒng)一旦發(fā)現(xiàn)一個進程發(fā)出的話終掛機的消息,處理完后,就用撤消原語撤消息這一進程。另一進程的撤消同理。

d、以上我們討論的是用戶呼叫進程的創(chuàng)建和撤消,對中繼呼叫進程、維護管理進程的創(chuàng)建和撤消也是類似的。6、進程通信

一次成功的呼叫接續(xù)需多個進程配合完成,因此,進程之間必須進行通信。一個進程可以向另一個進程發(fā)送消息,也可以向另一個進程請求一個消息。如果一個進程在某一時刻的執(zhí)行依賴于另一個進程發(fā)來的消息,那么進程之間的通信機制決定著進程的狀態(tài)遷移。如一個用戶撥完號碼,就必須等待被叫進程發(fā)來的用戶忙閑消息,才能執(zhí)行下去。

在程控交換機中,進程之間的通信廣泛采用的方法是消息緩沖通信。其基本思想是:由OS統(tǒng)一管理一組消息緩沖塊,每個緩沖塊可以存放一個消息,包含消息頭和消息體。當一個進程要向其它進程發(fā)送消息時,先通過消息請求原語得到一個空閑的緩沖塊,寫入消息,然后通過消息發(fā)送原語發(fā)送此消息,由OS在適當?shù)臅r候交給接收進程。當一個進程需要得到一個消息才能繼續(xù)運行時,使用消息等待原語使進程進入等待狀態(tài)。6、進程調度

OS負責對進程的管理。進程調度就是從就緒隊列中挑選一個進程到處理機上執(zhí)行。挑選的過程就是算法運算過程。(1)先來先服務方法其基本原則是按照就緒隊列中進程的先后順序,選擇進程占用處理機。也就是說,就緒隊列是一個先入先出隊列。對于小型交換機,這種方法比較合適。

(2)時間片輪轉法這種方法也服從于先來先服務的原則,但對每個進程都規(guī)定一個時間片。當一個進程時間片用完,未執(zhí)行完畢的進程也要讓出處理機給下一個進程去執(zhí)行。而自己保護好現(xiàn)場后進入就緒隊列,等待分配時間片。(3)分級調度將就緒進程分為多個優(yōu)先級,送入不同的優(yōu)先級隊列,OS調度時,從優(yōu)先級高的隊列中選取進程,高優(yōu)先級隊列空時,才從低優(yōu)先級隊列中選取。在各隊列中選取進程方法也可不同。目前最常用的方法是優(yōu)先級與先來先服務相結合的方法。六、定時管理

在呼叫處理和維護管理中,會出現(xiàn)定時要求(絕對定時和相對定時)。當應用進程有定時要求時,通過系統(tǒng)調用向OS提出請求,OS會為其分配一個時限控制塊,存入應用進程提出的時限值、進程標志等相關參數(shù),然后將控制塊加入定時隊列。當定時時間到,OS會通知應用進程,并撤消這個時限控制塊。1、時限控制塊(TCB)

書上給出了S1240的TCB格式,但各種交換機軟件中TCB大同小異,有以下幾個主要字段。正向鏈接反向鏈接TCB標識進程標志號時限值消息緩沖區(qū)標識用戶參數(shù)分別指向前、后TCB的首指針。每個TCB都有一個特定的標識碼,做為在鏈表中查找該TCB的標識;這個標識碼還存放在提出時限請求的進程所指定的單元,進程也可找到相應的TCB。使用該TCB的起程標志號。1、時限控制塊(TCB)

書上給出了S1240的TCB格式,但各種交換機軟件中TCB大同小異,有以下幾個主要字段。正向鏈接反向鏈接TCB標識進程標志號時限值消息緩沖區(qū)標識用戶參數(shù)如是絕對定時,則指定時、分;如果是相對定時,則給出以一定時間為單位的計數(shù)值,通常為100ms。當定時時間到,需向進程發(fā)送消息,就需使用消息緩沖區(qū),使用哪個消息緩沖區(qū),由該參數(shù)標識。使用該TCB的用戶的一些參數(shù)。2、時限服務處理

(1)絕對定時時限處理應用進程將絕對時間做為參數(shù),完成系統(tǒng)調用,OS會分配一段存儲空間,形成TCB;為它指定一個標識號,寫入相應字段;并且將應用進程的標識號也寫入相應字段;寫入定時值;將TCB按時間順序插入時限隊列;系統(tǒng)調用有一個返回值,返回的是TCB塊的首指針,應用進程將其保存在指定的存儲單元。將TCB按時間順序插入時限隊列的方法。HEAD07:0011:2022:1018:30OS記住將要插入隊列的TCB的定時時間,OS是知道HEAD的地址的,根據(jù)HEAD正向或反向鏈接……18:30HEAD07:0011:2022:1018:30

絕對時限處理程序由OS負責調度,每分鐘執(zhí)行一次。主要工作就是檢查第一個TCB中的時限值,將該值與當前時鐘進行比較,若大于當前時鐘值,說明時限未到,由于鏈表是按時間排序的,第一個TCB時限未到,后面的肯定也未到;若當前時鐘值與TCB中的值相等,說明定時時間到,OS將根據(jù)TCB中的進程標識號,向進程發(fā)送消息,同時將TCB從鏈表中刪除。另外,由于下一個或下幾個TCB時限值可能與第一個TCB時限值相同,處理完第一個后,還要對后面的TCB做檢查、處理,直到一個未到時的TCB為止。

(2)相對定時時限處理相對定時時限的請求方法與絕對定時時限類似,只不過鏈表中的定時值與絕對定時的不同。時限值是100ms的倍數(shù)。

HEAD4106第一個TCB定時為400ms第二個TCB定時多長時間呢???

(2)相對定時時限處理相對定時時限的請求方法與絕對定時時限類似,只不過鏈表中的定時值與絕對定時的不同。時限值是100ms的倍數(shù)。

HEAD4106哈哈…我知道了,第二個TCB應該定時400ms+1000ms=1400ms?。?/p>

現(xiàn)在,我們需定時1600ms,如何將TCB插入鏈表呢?HEAD410616

①從頭開始搜索,將各TCB中的值累加,并與要插入的TCB的時限值比較。

②當累加值大于要插入TCB的時限值時,將該TCB插入搜索到的最后一個TCB的前面。

現(xiàn)在,我們需定時1600ms,如何將TCB插入鏈表呢?HEAD410616

③將插入的TCB的時限值設置為當前時限值減去前面所有時限值的累加和。

④還要調整后面一個TCB的時限值。HEAD410616OS記住將要插入隊列的TCB的定時時間,OS是知道HEAD的地址的,根據(jù)HEAD正向或反向鏈接……1624HEAD410616

相對時限處理程序由OS負責調度,每100ms執(zhí)行一次。主要工作就是檢查第一個TCB中的時限值,將該值減1,如結果不為0,說明時限未到,由于鏈表是按時間排序的,第一個TCB時限未到,后面的肯定也未到;若結果為0,說明定時時間到,OS將根據(jù)TCB中的進程標識號,向進程發(fā)送消息,同時將TCB從鏈表中刪除。另外,由于下一個或下幾個TCB時限值可能與第一個TCB時限值相同,處理完第一個后,還要對后面的TCB做檢查、處理,直到一個未到時的TCB為止。4.4呼叫處理程序一、呼叫處理程序的基本原理

呼叫處理程序負責呼叫的建立、監(jiān)督、撤消及呼叫處理中的一些其它處理。呼叫處理程序在整個交換機的運行軟件中所占比例并不大,但它運行十分頻繁,占用處理機的時間最多。1、呼叫處理程序要解決的問題(1)多個呼叫請求同時要求處理機進行處理,而處理機在同一時刻只能處理一個呼叫,要求呼叫處理程序必須具有并發(fā)性。(2)要處理的各種事件都互不影響地加以處理,并且有些處理還必須在規(guī)定的時間內完成,要求呼叫處理程序具有實時性。2、呼叫處理程序使用的方法(1)并發(fā)性使用的方法交換機的基本工作過程是以狀態(tài)和狀態(tài)間遷移為基礎的。最基本的狀態(tài)可以分為用戶空閑、等待撥號、收號、振鈴、通話這幾個狀態(tài),通話結束后又回到用戶空閑狀態(tài)。用戶從一種狀態(tài)到另一種狀態(tài)的變化是靠某種外部事件觸發(fā)的。在程控交換機中,一次完整的接續(xù)是由眾多狀態(tài)遷移構成的。處理機對某個接續(xù)的服務僅集中在對狀態(tài)遷移過程中的作業(yè)執(zhí)行,每個作業(yè)之間都被等待一個新的事件所需的時間分隔開,每當呼叫處理在等待一個新的事件時,相應的處理停頓下來,處理機就可以為其它接續(xù)服務。這樣,從宏觀上來看,處理機在同時為眾多呼叫服務,實現(xiàn)了并發(fā)性的處理。(2)實時性使用的方法實時性表現(xiàn)為兩個方面:一是硬件狀態(tài)的檢測,這是要求嚴格實時的,由時鐘級程序實現(xiàn)。另一個是狀態(tài)遷移后對用戶的提示,如用戶摘機后應能盡快聽到撥號音,用戶撥完號后應能盡快聽到回鈴音等,這些處理是由基本級程序完成,因此,在進程調度中使用優(yōu)先級的方法實現(xiàn)。二、呼叫處理程序的基本組成及層次結構呼叫控制信令控制設備控制話路設備第3層第2層第1層硬件第一個層次是設備控制程序,也稱硬件接口程序,是硬件設備與信令程序和呼叫控制程序之間的接口。定期收集電路的狀態(tài)信息,并以事件的形式報告給信令處理程序;接收呼叫控制和信令控制程序的命令,驅動硬件電路動作。二、呼叫處理程序的基本組成及層次結構呼叫控制信令控制設備控制話路設備第3層第2層第1層硬件第二個層次是信令控制程序,它的主要功能是將外部電路的狀態(tài)譯成相應的電話信令,報告給呼叫控制程序;根據(jù)呼叫控制程序發(fā)來的命令控制信令的傳送。二、呼叫處理程序的基本組成及層次結構呼叫控制信令控制設備控制話路設備第3層第2層第1層硬件第三個層次是呼叫控制程序和呼叫服務程序。呼叫控制程序的主要功能是對呼叫的當前狀態(tài)和接收到的事件進行分析,調用相應的處理程序運行,對接收到的事件進行處理,協(xié)調各模塊的工作,控制呼叫的進展;呼叫服務程序的主要功能是根據(jù)呼叫控制程序的要求檢索數(shù)據(jù)庫,為呼叫接續(xù)提供相關數(shù)據(jù)。呼叫控制模塊用戶線路信令處理中繼線路信令處理MFC發(fā)送模塊MFC接收模塊電話資源管理計費處理呼叫服務模塊用戶摘掛機掃描撥號數(shù)字接收線路信令掃描MFC信令發(fā)送MFC信令掃描進程級時鐘級呼叫處理程序的基本結構三、呼叫處理用到的數(shù)據(jù)

呼叫處理中要用到大量的數(shù)據(jù),這些數(shù)據(jù)可分為暫時性數(shù)據(jù)和半固定數(shù)據(jù)。1、暫時性數(shù)據(jù)又稱動態(tài)數(shù)據(jù),這些數(shù)據(jù)是在呼叫處理中產(chǎn)生的,它們描述了呼叫的進展情況、相應設備的狀態(tài)及各設備之間的鏈接關系,隨著呼叫的進展,這些數(shù)據(jù)被呼叫處理程序不斷地修改。(1)呼叫控制塊呼叫控制塊詳細記錄了一個呼叫的詳細信息,如呼叫的狀態(tài)、主叫和被叫用戶信息、占用的各種公用設備及相應的連接關系、呼叫的開始時間、應答時間、計費存儲器指針等。呼叫控制塊對應每一個呼叫,在每一個呼叫建立時都要申請一個呼叫控制塊,在呼叫釋放時歸還。呼叫控制塊由呼叫控制程序管理。(2)設備表每個設備(如用戶電路、中繼電路等)都有相應的表格,用來記錄該設備的狀態(tài)、邏輯號和設備號、占用該設備的呼叫控制塊號碼等。(3)資源狀態(tài)表在程控交換機中,有很多電話資源,如收號器、發(fā)號器和交換網(wǎng)絡等,分別有相應的表格記錄各資源的當前狀態(tài)。2、半固定數(shù)據(jù)主要包括用戶數(shù)據(jù)和局數(shù)據(jù)。呼叫處理程序對用戶數(shù)據(jù)和局數(shù)據(jù)只能查詢,不能修改,維護管理人員可通過人機命令對用戶數(shù)據(jù)和局數(shù)據(jù)進行修改,因此稱半固定數(shù)據(jù)。四、時鐘級掃描程序1、用戶摘、掛機掃描程序負責檢測用戶線狀態(tài)的變化,用戶摘機時,環(huán)路閉合,用戶掛機時,環(huán)路斷開。實質上是檢測用戶線環(huán)路的狀態(tài),掃描周期為96ms。設0表示用戶線環(huán)路斷開,1表示用戶線環(huán)路閉合,那么我們說,如果檢測到1,就可以上報用戶摘機事件,如果檢測到0,就上報用戶掛機事件??梢詥??用一個存儲單元SCN表示本次掃描結果,用另一個存儲單元LL表示上次掃描結果,LL初值為0。每個用戶占1位。0000000001010101LLSCN當掃描周期到來時,讀取線路狀態(tài)送SCN當掃描結果處理完后,將SCN的值送給LL,在下一個掃描周期將此值做為上次掃描值。01010101LL0000000000000000LLSCN當掃描周期到來時,讀取線路狀態(tài)送SCN進行LL∧SCN運算,結果為:00000000運算結果為0,說明所有環(huán)路狀態(tài)未有變化,將SCN值送LL,本次掃描處理結束。0000000000000010LLSCN當掃描周期再到來時,讀取線路狀態(tài)送SCN進行LL∧SCN運算,結果為:00000010運算結果不為0,說明某一或某幾個環(huán)路狀態(tài)有變化,進行尋1操作,上報這一個或幾個用戶摘機事件,將SCN值送LL,本次掃描處理結束。實際上,在進行LL∧SCN運算并處理后,還要進行LL∧SCN運算并處理,目的是檢測用戶是否掛機。當LL∧SCN運算結果為0時,說明無用戶掛機,否則說明有用戶掛機,進行尋1操作后,將這些用戶的掛機事件上報。撥號脈沖掃描與摘掛機掃描類似,也是判斷用戶線環(huán)路狀態(tài),不過,由于還要判斷脈沖速率,以區(qū)別于摘掛機動作,要由8ms程序和96ms程序協(xié)同工作才能識別出脈沖個數(shù)。2、DTMF掃描程序D3D2D1D0SPD3-D0保持高阻狀態(tài)當無DTMF信號輸入時SP保持低電平ENMPU使EN端為低電平,封鎖輸出鎖存器MT8870輸出鎖存器2、DTMF掃描程序D3D2D1D0SPD3-D0在EN跳變?yōu)楦唠娖綍r,輸出DTMF的二進制編碼,供MPU讀取當有DTMF信號輸入時在接收到有效的DTMF信號后,SP跳變?yōu)楦唠娖?,并在DTMF信號維持期間,一直保持高電平輸出鎖存器MT8870EN在SP跳變?yōu)楦唠娖綍r,DTMF的二進制編碼進入輸出鎖存器,該值在下一個DTMF到來之前一直保持。MPU此時可將EN置為高電平,開放輸出鎖存器。2、DTMF掃描程序D3D2D1D0SP在這種情況下,D3-D0在EN維持高電平時,還一直保持著DTMF信號的二進制編碼當DTMF信號消失時SP跳變?yōu)榈碗娖紼N輸出鎖存器MT88702、DTMF掃描程

溫馨提示

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

評論

0/150

提交評論