Lunch is eaten in the small cafeteria in Warwick.

Although Huawei's scale is small, the treatment of employees is really nothing to say.

Especially in this era, Huawei's cafeteria is full of meat, eggs, milk, fruits and vegetables. Although the taste is not particularly good, the nutrition is absolutely balanced.

After eating, everyone rested for another hour, and then returned to the meeting 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-gate digital program-controlled switch and some algorithmic features."

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

"Because of this, switching software must have three major characteristics, real-time performance, concurrent execution of multiple tasks, and high reliability."

"In a sense, the software system of the program-controlled exchange is a collection of operating system and application software. The operating system is the interface between computer hardware and application software. It is a real-time multi-tasking operating system. This operating system requires Respond to and deal with random external attacks in a timely manner. Although the time of the attack cannot be predicted, it must be able to respond within a strict time limit when the attack occurs, even under a heavy load .”

"In addition, the operating system must also support concurrent processing of multiple tasks. Due to the concurrency of multiple tasks, it will inevitably cause problems such as task synchronization, mutual exclusion, communication, and resource sharing. Due to the control system of the program-controlled switch, distributed It has a multi-processor structure, so 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 program-controlled switches generally adopts a priority-based preemptive scheduling algorithm for task scheduling."

"That is, each task in the system has a priority. At any time, the system kernel assigns the CPU to the task with the highest priority in the waiting queue to run. Preemptive means that if the system kernel finds that the priority is higher than that currently running If the task has a high priority, the current task exits the CPU, enters the waiting queue, and immediately switches to the high-priority task for execution. When processing tasks with the same priority level, a first-come, first-served or round-robin scheduling algorithm is used.”

"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, periodic tasks and basic tasks."

"Fault-level task processing functions have the highest priority,

Periodic tasks refer to tasks that are periodically started and executed by clock interrupts. The priority of periodic tasks is lower than that of fault-level tasks. For example, the dial pulse recognition program is started periodically every 10 milliseconds, and the periodicity is 100 milliseconds. program and so on. "

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

"With regard to the scheduling and processing of tasks at different levels, we can set an interrupt every 10 milliseconds. In the first 10 milliseconds, the processor has executed the periodic and basic tasks, and pauses and waits for the arrival of the next terminal. , in the second period of 10 milliseconds, the periodic task is executed first, and then the basic task is executed, but the basic task is interrupted as soon as the execution is not completed, and it enters the third 10 millisecond period. In the third millisecond period, Due to the occurrence of a fault, the periodic task was interrupted, and it was transferred to process the fault record. After the fault record was processed, the periodic task could be executed again..."

Pang Xuelin's tone was unhurried, but the entire meeting room was so quiet that a needle could be heard.

Both Xu Wenwei and Zheng Baoyong showed shocked expressions on their faces.

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

This is not to say how profound what Pang Xuelin said, but Xu Wei found that Pang Xuelin was explaining the design principles of program-controlled switchboard software from a theoretical level.

To achieve this, it is necessary to have a deep understanding of the entire research and development process of the program-controlled switchboard as well as the software and hardware systems, and to achieve a thorough understanding of it.

At present, Huawei's program-controlled switch R\u0026D team is actually a grassroots team. Many people have no experience in the development of program-controlled switches at all. Many of them are based on foreign product manuals and develop while exploring.

As for the hardware part, it’s okay to say that when you disassemble similar products, there is always an intuitive reference.

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

Therefore, Huawei 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 mines throughout the research and development process.

Often when this problem is solved, new problems arise.

From the establishment of the 2,000-gate digital program-controlled switchboard project in the second half of 1991 to the present, the entire R\u0026D team felt exhausted.

However, Pang Xuelin’s explanation just now from a high-level place has systematically solved the problem of the software design system of the entire program-controlled switchboard from a theoretical level, and made those software engineers feel like they have seen the light of day and cleared their minds.

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

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

"The call processing software is mainly responsible for the establishment and release of call links and the control of business processes. Specifically, it mainly completes the following functions: detection and identification of various input signals on subscriber lines and trunk lines, management of call-related resources, call status of user data and Number analysis, route selection, control of call state transitions, control of timing, tone sending and switching network connections."

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

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

...

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

It was not until six o'clock in the evening that the lecture, which lasted for a whole day, was over.

"Okay, the details about the hardware design and software design of the program-controlled switch that I talked about today will take a certain amount of time to slowly understand, so everyone should remember it."

"It's all written down."

The engineers in the conference room replied one after another.

Pang Xuelin laughed and said, "Okay, then we will start the formal research and development process tomorrow. I have issued a military order with Mr. Ren to complete the research and development of 2,000 program-controlled switches within a week and 10,000 program-controlled switches within a month." The research and development of switches. So starting tomorrow, I hope everyone can formally enter the research and development process, revise 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 here, we have the confidence to complete the task."

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

...

Everyone couldn't help laughing.

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

"Mr. Pang, I really didn't expect that in just one day, you completely revived our R\u0026D team!"

Zheng Baoyong also exclaimed: "Yes, today's lecture really gave us the feeling of turning the clouds and seeing the sun. Even myself, I have a lot of ideas out of thin air."

You must know that before this, because of the continuous twists and turns in the research and development process, coupled with the pressure of the company's capital chain, everyone was holding back their energy, but they had nowhere to vent.

The arrival of Pang Xuelin can be described as a timely rain, allowing Huawei's R\u0026D team to see the hope of success.

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

In the afternoon, Li Yinan had already clearly felt the gap between himself and Pang Xuelin. Therefore, when facing Pang Xuelin, his arrogance suddenly subsided.

Pang Xuelin smiled and said, "What's wrong?"

Li Yinan said: "When you explained the common scheduling strategies of successful switches in the afternoon, you mentioned the fixed priority algorithm, the round-robin selection method, the method with the lowest priority for the most recent trial, and the first-come-serve method. There are some inherent shortcomings in common algorithms, such as , since high priority tasks are prioritized, when there are too many high priority tasks to be processed, low priority tasks cannot be processed within the tolerance time, thus affecting the overall performance of the system. Therefore, a scheduling algorithm is required According to the fluctuation of the traffic volume, the task scheduling can be quickly changed, so that the overall performance of the system can be optimized, and the service quality of the switch can be the best. Do you have an idea for this algorithm?"

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

Pang Xuelin looked at Li Yinan with a smile.

Li Yinan said: "The fixed priority algorithm, round-robin selection method, etc. are enough for the development of 2,000 program-controlled switches, but if you want to develop 10,000 program-controlled switches, you must need a new algorithm. Since you I have already promised Ren Zong to complete the research and development of the Wanmen program-controlled switch within one month, so I guess you must have a solution."

Pang Xuelin, Ren Zhengfei, and Xu Wenwei looked at each other, and said with a smile: "Mr. Ren, Huawei is full of talents."

He only showed the scheduling algorithm of Wanmen switch to Xu Wenwei and Ren Zhengfei, but he did not expect Li Yinan to deduce that he has the scheduling algorithm of Wanmen program-controlled switch based on his explanation in the afternoon.

At this time, Zheng Bao said with a smile: "Mr. Pang, this is Li Yinan, a new engineer from our company's R\u0026D department. He used to be an intern at Huawei. The young man has a solid technical foundation. I am about to entrust him with important tasks."

Pang Xuelin nodded, and asked with a smile: "Gong Li, I do have some research and development ideas about Wanmen program-controlled switches, but this has to be based on our completion of the research and development of 2,000 program-controlled switches, so I hope you can Thoroughly understand all the content of the two thousand program-controlled switches that I said in the afternoon, and then consider the development of the ten thousand program-controlled switches."

Li Yinan said: "Mr. Pang, you can just call me Xiao Li. In addition, I have fully understood the technical route of the two thousand program-controlled switches you mentioned."

"Completely understood?"

Pang Xuelin couldn't help being taken aback, and looked Li Yinan up and down.

Li Yinan seemed a little proud of Pang Xuelin's surprise, and said with a smile: "In fact, I had some ideas about the design of the two thousand program-controlled switches before, but your plan is much more mature and perfect than mine, but maybe With the previous foundation, I understand that your thinking is not difficult at all, but there are many places that gave me the feeling of sudden enlightenment."

"oh?!"

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

Li Yinan nodded and said: "In order to improve efficiency, in software design, as much as possible, logic operations and processing are performed on a group of objects at the same time. We can call this method group processing. Next, I will take user line on-hook scanning as an example. Explain the basic method of group processing. Assuming that the word length of the processor is 16 bits, since each user's on-hook scanning status can be represented by only one binary bit, we can simultaneously perform off-hook on a group of 16 users each time Detection. In the process of group processing, checking off-hook and on-hook users bit by bit is actually checking bit by bit, which bit of the operation result is 1..."

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

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

Li Yinan thought for a while, and said: "Successive expansion method, based on the organizational expansion analysis table, the table is a multi-level retrieval table in a tree structure, each level table corresponds to a number, that is, the first number is received, and the first number is checked. First-level table, receive the second number, check the second-level table, etc. Each unit in the table is composed of two parts: the indicator bit and the address field, and the indicator bit is used to indicate that the address field is stored in the next level of retrieval The header address of the table or the receiving address of the conclusion table. The former means that the number header analysis has not yet had a result, and the number receiving analysis must continue. The latter means that the number header analysis is completed, and the analysis results can be found in the conclusion table, which includes the connection type of the call. , the length of the receivable number and routing information..."

txt download address:

phone-reading:

Tap the screen to use advanced tools Tip: You can use left and right keyboard keys to browse between chapters.

You'll Also Like