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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(2)任務(wù)調(diào)度(進(jìn)程調(diào)度)主要是為就緒進(jìn)程分配處理機(jī)。分配時(shí)要有一些策略。

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

.核心是由中斷驅(qū)動(dòng)的;

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

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

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

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

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

操作系統(tǒng)要提供2個(gè)接口,一個(gè)是應(yīng)用程序接口,也就是原語調(diào)用;一個(gè)是和硬件的接口,由于操作系統(tǒng)是由中斷驅(qū)動(dòng)的,也稱中斷接口。1、原語調(diào)用(系統(tǒng)調(diào)用)

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

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

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

(2)故障中斷

①硬件故障中斷為了保證交換機(jī)的可靠運(yùn)行,在交換機(jī)中要增加一些監(jiān)視電路,用來監(jiān)視關(guān)鍵性硬件設(shè)備的工作情況,一旦這些設(shè)備發(fā)生故障,監(jiān)視設(shè)備就會(huì)發(fā)出中斷請(qǐng)求,要求處理機(jī)立即處理,如電源監(jiān)視??梢钥闯?,故障級(jí)程序是在操作系統(tǒng)內(nèi)部。

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

(3)I/O中斷用于外部存儲(chǔ)設(shè)備與內(nèi)存之間的DMA傳輸。三、程序的級(jí)別及調(diào)度方法

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

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

基本級(jí)程序的功能是對(duì)外部發(fā)生的事件進(jìn)行處理?;炯?jí)程序在運(yùn)行時(shí)構(gòu)成進(jìn)程,由操作系統(tǒng)調(diào)度執(zhí)行。1、進(jìn)程的概念

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

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

進(jìn)程是由數(shù)據(jù)和有關(guān)的程序序列組成的,是程序在某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)。2、可再入程序

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

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

(1)狀態(tài)

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

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

③運(yùn)行狀態(tài):占用處理機(jī)運(yùn)行。

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

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

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

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

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

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

一個(gè)新創(chuàng)建的進(jìn)程,不是通過等待狀態(tài),等待事件發(fā)生而進(jìn)入就緒狀態(tài)的。因?yàn)榇饲案揪筒淮嬖谶@個(gè)進(jìn)程,也就無所謂進(jìn)程狀態(tài)。主叫進(jìn)程

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

此后,整個(gè)呼叫過程依賴于這兩個(gè)進(jìn)程之間的通信。被叫進(jìn)程

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

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

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

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

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

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

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

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

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

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

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

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

HEAD4106第一個(gè)TCB定時(shí)為400ms第二個(gè)TCB定時(shí)多長時(shí)間呢???

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

HEAD4106哈哈…我知道了,第二個(gè)TCB應(yīng)該定時(shí)400ms+1000ms=1400ms??!

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

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

②當(dāng)累加值大于要插入TCB的時(shí)限值時(shí),將該TCB插入搜索到的最后一個(gè)TCB的前面。

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

③將插入的TCB的時(shí)限值設(shè)置為當(dāng)前時(shí)限值減去前面所有時(shí)限值的累加和。

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

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

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

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

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論