Chapter 445: Li Yinan

Lunch was served in the small cafeteria in Warwick.

Although the scale of Warwick is not large, the treatment of employees is really nothing.

Especially in this era, Warwick's canteen has a complete range of meat, eggs, milk, fruits and vegetables, and although the taste is not particularly good, the nutrition is absolutely balanced.

After eating, everyone rested for another hour, and then returned to the conference room to continue the next explanation.

With the foreshadowing in the morning, the explanation in the afternoon is even more familiar.

"Next, let's talk about the design of the program-controlled switching software of the 2,000-door digital program-controlled switch and some algorithm features."

"The basic task of the program-controlled switch switching software is to control the operation of the switch, that is, to complete the call processing, the characteristics of the program-controlled switch is that the business volume is large, the real-time and reliability requirements are high, therefore, the operation of the software also requires a high implementation efficiency, can handle a large number of calls, must ensure the uninterrupted communication business."

"Because of this, the exchange software must have three characteristics: real-time, multi-task concurrent execution, and high reliability."

"In a sense, the software system of the program-controlled switch is a collection of operating system and application software, the operating system is the interface between computer hardware and application software, is a real-time multi-task operating system, this operating system, requires a timely response to the random occurrence of external ** and processing, although the occurrence time of the first can not be predicted, but must be able to respond within a strict time limit when it occurs, even in the case of a large load."

In addition, the operating system must also support the concurrent processing of multiple tasks, which inevitably leads to problems such as synchronous mutual exclusion, communication, and resource sharing of tasks. Because the control system of the program-controlled switch mostly adopts a distributed multi-processor structure, its operating system must also have the characteristics of a network operating system and a distributed operating system. ”

"Because of the above reasons, the operating system of the program-controlled switch generally adopts a priority-based preemptive scheduling algorithm for task scheduling."

That is, each task in the system has a priority, and the system kernel allocates the CPU to the task with the highest priority in the waiting queue at any time. Preemptive means that once the system kernel finds a task with a higher priority than the currently running task, the current task exits the CPU, enters the waiting queue, and immediately switches to the high-priority task execution. ”

"Of course, in the program-controlled switching system, we can divide different tasks into three types according to the requirements of urgency and real-time, fault-level tasks, cycle and tasks and basic tasks."

"Fault-level task processing has the highest priority, and periodic tasks refer to tasks that are periodically started and executed by clock interrupts, and periodic-level tasks have a lower priority than fault-level tasks, such as every 10 milliseconds, periodically starting a dial-up pulse identification program, where the user scanner with a periodicity of 100 milliseconds, and so on."

"As for the last basic-level task, because the real-time requirements for the launch are not high, the execution of the task can be appropriately delayed, so the priority is the lowest."

"Regarding the scheduling and processing of different levels of tasks, we can set an interrupt every 10 milliseconds, in the first 10 millisecond middle cycle, the processor has completed the execution of the cycle and the basic level task, pause and wait for the arrival of the next terminal, in the second is the 10 millisecond cycle, the cycle task is executed first, and then the basic task is executed, but the basic task is interrupted as soon as it is not executed, and enters the third 10 millisecond cycle, and in the third millisecond cycle, the cycle level task is interrupted due to the occurrence of a failure, After the fault record is processed, the periodic task can be executed......"

Pang Xuelin's tone was unhurried, but the entire conference room was quiet.

Xu Wenwei and Zheng Bao both showed shocked looks on their faces.

Although when he was chatting with Pang Xuelin about technology that day, Pang Xuelin had already shown his ability in software algorithms, Xu Wenwei was still a little incredible.

This is not to say how profound the content of Pang Xuelin is, but Xu Wei found that Pang Xuelin is expounding the design principle of program-controlled switch software from a theoretical height.

In order to do this, it is necessary to have an in-depth understanding of the entire research and development process of program-controlled switches and software and hardware systems, and to achieve a thorough understanding.

At present, Huawei's program-controlled switch R&D team is actually a grass-roots team, and many people have no experience in the development of program-controlled switches at all.

The hardware part is good to say, disassembling similar products, there is always an intuitive reference.

The real problem is the software system, Alcatel, Ericsson and other brands of program-controlled switches, their software is strictly encrypted, there is no way to extract the source code without destroying their data structure.

Therefore, Huawei's engineers can only design the software step by step according to the hardware design plan and their own understanding of the program-controlled switch.

This makes it easy to step on thunder throughout the development process.

Often when this problem is solved, new problems will arise.

From the second half of 1991, when the project of 2,000 digital program-controlled switches was established, the entire R&D team felt haggard.

Pang Xuelin's explanation just now systematically solved the problem of the entire program-controlled switch software design system from a theoretical height, so that those software engineers have a feeling of seeing the sun and thinking well.

Pang Xuelin didn't care about everyone's reaction, smiled, and continued: "The design of the operating system is probably like this, let's talk about the application software of the program-controlled switch. ”

"The application software of the program-controlled switch is mainly divided into the following three categories, first, call processing software, second, OMA (operation and maintenance management) software, and third, database system."

"The call processing software is mainly responsible for the establishment and release of the call link and the control of the business process, specifically the following functions are mainly completed, the detection and identification of various input signals on the user line and the trunk line, the management of call-related resources, the analysis of the call status and the number of the user data, the routing selection, the control of the call state migration, the control of timing, the transmission and the connection of the switching network."

"OMA software is the software used for operation, maintenance and management of the program-controlled switch, which is used to ensure the efficient, flexible and reliable operation of the system, and the main functions must include user data and local data operation and management testing, alarm, fault diagnosis and processing, dynamic monitoring, traffic statistics, billing, overload control, etc."

"As for the database system, the program-controlled switch will use and generate a large amount of data in the process of call processing and operation maintenance management, which includes system data, user data and bureau data, the system data is related to the hardware architecture and software program of the switch, and does not change with the application environment of the exchange office, if different telephone bureaus use the same type of switching system, their data is the same, the difference is the user data and the bureau data, and the user data reflects the specific situation of the user, There is a distinction between static user data and dynamic user data......"

……

It took an afternoon for Pang Xuelin to explain the overall design idea of the entire program-controlled switch software to everyone.

It wasn't until six o'clock in the evening that the lecture, which lasted all day, was over.

"Okay, today's talk about the hardware design and software design of the program-controlled switch, the details of the later part need a certain amount of time to slowly understand, everyone has written it down."

"I've written it down."

The engineers in the conference room replied.

Pang Xuelin laughed and said: "Okay, then tomorrow we will start to enter the formal research and development process, but I made a military order with Mr. Ren, to complete the research and development of 2,000 program-controlled switches within a week, and the research and development of 10,000-door program-controlled switches within a month." So starting tomorrow, I hope you can officially enter the R&D process, modify the design of our previous product from scratch, and strive to get 2,000 program-controlled switches within a week! ”

"Okay!"

"Mr. Pang, with you, we are confident that we will complete the task."

"Don't worry, Mr. Pang, we will definitely let Mr. Ren spend this money obediently!"

……

The crowd burst out laughing.

At this time, Ren Zhengfei came over with Zheng Baoyong, Xu Wenwei, and Sun Yafang.

"Mr. Pang, I really didn't expect that in one day, you will make our R&D team completely come to life!"

Zheng Baoyong also exclaimed: "Yes, today's lecture really makes us feel like we can see the sun, and even I myself have many ideas out of thin air." ”

You must know that before this, because of the twists and turns in the R&D process and the pressure of the company's capital chain, everyone was holding back their strength, but there was nowhere to vent.

Pang Xuelin's arrival can be described as a timely rain, which makes Warwick's R&D team see the hope of success.

Pang Xuelin smiled and was about to speak, when Li Yinan came over and said a little embarrassed: "Mr. Pang, can I ask you a question?" ”

In the afternoon, Li Yinan had clearly felt the gap between himself and Pang Xuelin, so when facing Pang Xuelin, the arrogance on his body suddenly converged.

Pang Xuelin smiled: "What's wrong? ”

Li Yinan said: "When you explained the common scheduling strategies of successful switches in the afternoon, you talked about the fixed priority algorithm, the round-robin selection method, the recent trialist lowest priority method, the first-to-serve method and other common algorithms have some inherent shortcomings, for example, because the high-priority tasks are executed first, when there are too many high-priority tasks that need to be processed, the low-priority tasks cannot be processed within the tolerance time, which affects the overall performance of the system. Therefore, there needs to be a scheduling algorithm that can quickly change the task scheduling with the fluctuation of traffic volume, so that the overall performance of the system can be optimized, and the service quality of the switch can be the best. ”

"Oh, why do you think I already have an idea?"

Pang Xuelin looked at Li Yinan with a smile and said.

Li Yinan said: "The fixed priority algorithm, the cyclic selection method, etc. are enough when developing a 2,000-door program-controlled switch, but if you want to develop a 10,000-door program-controlled switch, you must have a new algorithm. ”

Pang Xuelin, Ren Zhengfei and Xu Wenwei glanced at each other, and said with a smile: "Mr. Ren, you Huawei are really talented. ”

He only showed Xu Wenwei and Ren Zhengfei the scheduling algorithm of the Wanmen switch, but he didn't expect Li Yinan to deduce that he had the scheduling algorithm of the Wanmen program-controlled switch according to his explanation in the afternoon

At this time, Zheng Baoyong said with a smile: "Mr. Pang, this is Li Yinan, a new engineer in the R&D department of our company, who used to intern in our Warwick, and the young man's technical foundation is very solid, and I am preparing to entrust him with important tasks." ”

Pang Xuelin nodded and asked with a smile: "Li Gong, I do have some R&D ideas about 10,000-door program-controlled switches, but this has to be based on the completion of the research and development of 2,000-door program-controlled switches, so I hope you can thoroughly understand all the content I talked about in the afternoon about 2,000-door program-controlled switches, and then consider the research and development of 10,000-door program-controlled switches." ”

Li Yinan said: "Mr. Pang, you can just call me Xiao Li, and I have fully understood the technical route of the 2,000-door program-controlled switch. ”

"Totally understood?"

Pang Xuelin couldn't help but be stunned, looking Li Yinan up and down.

Li Yinan seemed to be a little proud of Pang Xuelin's surprise, and said with a smile: "In fact, I had some ideas about the design plan of the 2,000-door program-controlled switch, but your plan is much more mature and perfect than my plan, but maybe with the previous foundation, it is not difficult for me to understand your thinking at all, but there are many places that give me a feeling of sudden enlightenment." ”

"Oh?!"

Pang Xuelin laughed and said, "Then can you tell me about some ideas for group processing in program-controlled switching software technology?" ”

Li Yinan nodded and said: "In order to improve efficiency, in the software design, as far as possible to a group of objects at the same time for logical operation and processing, we can call this method group processing, the following I will take the user line hang-up scanning as an example to illustrate the basic method of group processing." The word length of the processor is 16 bits, and since the scanning status of each user can be represented by only one binary bit, we can detect a group of 16 users at the same time. In the process of group processing, checking the off-hook and hang-up users bit by bit is actually checking bit by bit, and which digit is 1 ...... the result of the operation"

Li Yinan was not in a hurry, and told the content of Pang Xuelin's explanation.

Pang Xuelin showed an approving expression on his face, and said with a smile: "Yes, then can you talk about it again, what is the sequential expansion method?" ”

Li Yinan thought for a while and said: "The step-by-step expansion method, based on the organization to expand the analysis table, the table is a multi-level search table with a tree-shaped structure, each level of the table corresponds to a number, that is, the first digit number is received, the first level of the table is checked, the second digit number is received, the second level of the table is checked, and so on. Each unit in the table is composed of two parts: the indicator bit and the address field, the indicator bit is used to indicate whether the address field is stored in the next level of search table header address or the conclusion table receiving address, the former indicates that the header analysis has not yet been results, and the number collection analysis must be continued, and the latter means that the header analysis is completed, and the analysis results can be found in the conclusion table, which includes the continuation type of the call, the length of the receivable number and the routing information......"