The true story of a programmer (reprinted, old-fashioned, often new-read). You are welcome to share your story.

Source: Internet
Author: User

-- Current situation:

I have been writing a real-time operating system kernel over the past few days. I will make it public later, hoping to do my part for the development of domestic it. Recently, I have seen that many students and friends have no direction, so I wrote my experiences and shared them with you, hoping to help my new friends. In a twinkling of an eye, I have been studying and working in the IT industry for more than seven years. During this period, I used Web pages, MIS, databases, applications, communication software, hardware drivers, and protocol stacks, now we have developed the operating system kernel and IC-related development, which has taken a lot of detours and suffered a lot.

-- Dos3.0

I am on a three-stream College, and most people in the same city do not know. Because the school is not good, it is not expected to find a good job by the reputation of the school. All my hopes are pinned on my own efforts. I started my study during my New Year's holiday. I remember the first book I bought was "Computer Basics dos3.0". don't be scared. In fact, we already popularized dos6.22, but I saw the books of dos4.0, 5.0, and 6.0 in the bookstore. I thought they were the fourth, fifth, and sixth books like English, I remember looking for dos1.0 everywhere, and now I think I did not find it. :) before I started school, I completed Pascal. At that time, no computer or anyone could ask for advice. I didn't even have the concept of a program, I had to memorize the code and write it on paper. I had a 486 instance until I was a sophomore. Before that, I couldn't remember how many programs I wrote with paper, I only know that I have written more than 30 pages of the longest A4 draft paper. My C language, C ++, and VC are all getting started under such conditions. Therefore, the conditions can be overcome. I hope that my experience will give the students with hard work a little confidence. My first computer was in my brother-in-law's machine room. I was so excited that I could never miss it. They used win3.1 in English, I saw a ghost in my dos knowledge. I was so worried that I could not recover the word when I accidentally turned it into a full screen, I thought the machine was broken by me. The first C language program is the classic helloworld. I have tuned several stars and the result is understandable. I finished C and x86 compilation, data structure, and C ++ in my freshman year. Because the energy is spent on self-study, the first and fourth courses are highlighted. This is good for the three types of schools, and the same is true for the 10 or 20 courses. However, as far away as you can say, I am so hard at all. It can be seen how rigid computer education is in our country.

The sophomore year was prepared to learn VC and BC. At that time, it was difficult to choose between them. Later, I chose VC. Instead of VC, I only bought two books in the bookstore. VC was 6 yuan cheaper. My hard work is unmatched in my class. I learned things day and night, especially when I had a computer. Many times my father taught me in the middle of the night that I was not killed. I always felt that my foundation was poor, remembering memories is not good, and the conditions are not good, so I feel that only a little more time can catch up with others. Many of my friends later said that I had the talent to learn computer, which left me speechless. I used 486, 16 M memory, and 1g hard disk. At that time, the configurations of the students were all p166mmx. It took nearly two hours to install a program generated by the bc5.0 wizard, my monitor is a second-hand one. The radiation is very high, and the boot screen Sparks. It looks very cool :). Once I wrote a program too long, I thought how the white editor background turned purple, I thought that the monitor was broken, and then I found my eyes could not work, but it was strange to say that my vision could still be 1.5 today. It was a miracle. However, the broken machine has been with me for two years, and I have learned VC, Delphi, and sqlserver. Later, the machine was used for typing for my aunt. According to her, one day she was playing happily. A smoke was drilled out of the monitor with a flame in it before it went to bed.

I got a chance to work as a volunteer at a computer research institute during my junior year holiday. I did not get a penny after two months of work. However, these two months have helped me a lot in my development, and I learned about society step by step. When I first arrived, I certainly knew nothing about the Internet, learned Delphi and or ACLE. I got a good review of my work. I started to work with the elders on projects, this led me to have my own income in my junior and senior year, and I went to two MIS companies for part-time jobs in my senior year. Although I didn't have much money, however, when I was a student, I was quite satisfied with more than 1000 of my income. I finally used my own money to change my computer. When I started to look for a job in my senior year, I had a lot of work experience (of course I think it's very naive). I started to hear my parents want to go to that research institute, and I hope I can go to that department after my internship, however, I don't know why I finally ended up being a bureaucratic organization. In my breath, I went to a company I work for as a mis teamleader. I have done various MIS jobs from my junior year to one year of graduation, from gas, tobacco factory, public security, railway, food to colleges and universities, and I have worked very hard on what I have to do with money, we often work overtime and stay up all night, from talking with customers about requirements to designing, coding, testing, and delivery. At that time, I felt very fulfilled and I felt pretty good. Now I think it's really superficial.

-- Confusing tools

Students who have just started their jobs can easily be misled. Various development tools are dazzling and very important to the company. However, such jobs will always be a low-level developer. Don't tell me what system analysis is so important and difficult. Do you think that designing your own demands is System Analysis and Design? How many companies in China can do well? I am an ISO9000 internal auditor, and I have been trained for multiple times in R ational companies. I have obtained four certificates, and another company asked me to do CMM. I have heard many of these things, but many things have changed in China. A company can be standardized without Passing ISO9000 or CMM. Now I am working in a foreign company with decades of history, the management in it is not suitable for Chinese enterprises. As a student who has not entered the society before graduation, it is almost impossible to grasp system analysis and design in a short period of time. object-oriented and UML are just a tool. The key is people's thoughts, it is not that you are familiar with C ++ and rose to make a good design. On the contrary, if you have a high quality, you can use C to write programs that are more modular than others using C ++.

There is a strange circle in the software development industry in China. Many people think that VC> Delphi> VB is really funny. I have developed these software. To put it bluntly, they are all tools. You should choose which one to use based on the application's needs, rather than the upper layer. If you choose to use a development tool with a strong face, it can only show that you are very thin. If we say hierarchies, these tools are not hierarchies, because they are used as system APIs, microsoft's friends will not think you are amazing because you remember how many APIs or classes they have. You will always be their customers and they value the money in your pockets. I have also worked on the system kernel, and I have encapsulated many APIs. I also don't care about customers who use these APIs for secondary development unless they can make their own unique designs.

Some people think that C ++> C is even more confusing. You may as well inquire about it. There are several operating system kernels that are written in C ++, another few real-time systems use C ++. Of course, I am not saying that C ++ is not good, but the current kernel and real-time system c ++ cannot match C, c ++ is suitable for application system development. So my point is not what tools and languages you use, but what work you do. Your design reflects your technical level.

-- From MIS to Communication Industry

After a year of hard work, I felt very depressed. Most of my work was done by skilled workers. I could not find any way to improve my personal skills. Therefore, I decided to leave the city to go to Shanghai, seek better development, and intend to give up my previous MIS transfer to the communication industry.

I can't help but mention my girlfriend. We met her half a year before coming to Shanghai. she was an intern in my company when she was a senior. The company sent her to write documents for me, and our feelings grew fast. She told me a lot about her family, which was originally the first outbreak of Reform and Opening up. Her mother loves to play cards, lost millions, and owed a lot of debts. She has a boyfriend, but she had no feelings for him, because he gave her mother more than 20 thousand yuan, and then forced her to write 40 thousand yuan of loan, her boyfriend betrayed her and beat her more than once. Now she is forced to get married, or she will pay back the money. This person is still a college teacher! Her mother spent her father's tuition because she had no way to get her graduation certificate because she owed her tuition. Her mother is ill and needs money now. I took out some of my savings and received some money from my friends, I paid her tuition fee and showed her mother an illness (later I learned that the money for seeing a doctor is unknown, and I don't even know if her mother is ill, but she still has no way ). At this time, my family knew something and resolutely opposed me to be with her. Her old boyfriend also tried to destroy me. In desperation, we decided to leave this sad city early and stay away from our home. Due to the rush of time, I only prepared 4000 yuan, and her only a few hundred yuan was required by her mother. I bought three tickets, one for noon, the two pictures are for the evening. At noon, my family sent me to the ship and they got off the ship as soon as they left, she and I took the night boat and left the city where I lived with her for many years. All they took was debt. We have never been to Shanghai and are reluctant to bother our classmates and friends. We didn't know where to go when we arrived in Shanghai at half past six in the evening. We found a hotel with 20 yuan, and this room didn't even have a window. The weather in July was so cool, the room is very sultry. The next day, we started to rent a house. Because we didn't have much money, we basically walked. It took us a week and I don't know how many laps I found a 400-piece house in Pudong, however, we do not know that Shanghai is a three-pronged solution, and we have to pay an intermediary fee for half a month. After buying some pots and pans, we only have 800 yuan, work has not been settled yet. The 800 yuan is worth the first month's salary. To save money, we only spend two yuan a day to buy food, she is very fond of eating (or her willingness to go hungry often in College). I can't bear to see her saving money. Her old boyfriend did not let her go, often called to harass her, and came to Shanghai to see her. She also said a lot about threatening her. She was too kind and said that he had helped her before, after all, tell me not to be familiar with him. In the future, I will wait for an interview every day at home. I originally wanted to quickly find a mis company to solve the current difficulties, but she insisted that I should not give up on my own ideals and finally worked hard, I found a communication company, and even though I had to pay 4000 yuan, I could not catch up with the price offered by MIS, but it was enough to survive in Shanghai. She also found a job. She cried when she went to work on the first day. This was the first time she came to Shanghai to shed tears. I felt very uncomfortable and touched.

As a brand new industry, I have reduced myself to zero. The VC, Delphi, and database I have learned are not useful, I am facing the knowledge of embedded systems, protocols, and signaling systems that I have never touched before. I knew that I had no way back, so I tried my best to study hard. I considered myself a fresh graduate, and I tried my best to get the harvest. Over the past six months, I finally became familiar with my work and was recognized by the company, the salary is also increased by a level. In the days that followed, we spent less than 10 thousand yuan on our friends and finally got on track. At this time, my girlfriend told me that she wanted to take a postgraduate exam and I was also very supportive. So she resigned and prepared for the exam at home.

In addition, I would like to thank my projectmanager for being a product manager of a large communication company. He is very kind to people and I have learned a lot from him, he also gave me a lot of selfless help. At work, he gives me plenty of space and trust. I remember that the company arranged for me to maintain an access server software. Because the code volume is not too small (50 thousand lines), the materials and documents were incomplete, and it was very difficult for me to maintain them, therefore, if you want to repeat it, the company leader may not be very supportive and may feel that the workload is too heavy, but he strongly supports me. In private, he asked me to let it go, my maintenance work is busy. With his support, I spent half a year completing the software for accessing the server and implementing a relatively complete TCP/IP protocol stack. Here I learned a lot about embedded system design, driver development, TCP/IP, and communication. I finally transferred myself from MIS development to the communication industry in a year, and gain a firm foothold. I have developed a lot of direct hardware operations, and I am no longer constrained by Microsoft's operating systems, development tools such as Vc and delhpi. I finally saw another blank space.

I like to follow the root of my concerns when I do things. With the development going deeper, software development and hardware become more closely linked. The lack of hardware knowledge creates obstacles to my development, in addition, the chip technology is basically in the hands of foreign companies, which is a huge constraint on system-level design. A new product comes out, the first profit (and often the most lucrative profit) is often earned by IC companies such as Intel and Motorola. domestic manufacturers can only get some help. Therefore, I am determined to solve my hardware technical barriers and intend to leave the communications industry and enter the relevant fields of icdesign.

Of course, I understand that if I do not know much about hardware, no IC company will be kind enough to hire someone like me for training. Therefore, I must lay a solid foundation and learn some relevant knowledge to prepare for the future. Just as I started to switch from MIS to communication, I have read a lot of communication books and have done radius billing sorting for an ISP, in this context, the communication company gave me this opportunity. My communication company is engaged in system design, and there are many PCB layout hardware personnel. I usually pay attention to learning from them, because I am working on software, I am sorry to read the hardware materials at the company, so I had to watch it at home. I have been working overtime for a year since I first came to work in Shanghai, because I want to squeeze out time to study, I usually go to bed around half past five and start from the next day. I went to work early. I also used to read books if there were not many people on the subway. Of course, learning will not be smooth sailing. I have accumulated some questions that I really don't understand and asked the hardware staff. Their help has made my learning progress much faster, because I learned it by myself without human resources, I spent half of my time solving difficult problems, but such problems often make me suddenly enlightened by a sentence from others. I am very glad that I have such a learning environment. In the next year, I learned how to look at the hardware schematic, and how to design simple hardware (there is still a small gap in analog circuits). This is the case. When you prepare software, others always think that you are a software developer. When you start to learn hardware, others may not agree. A friend of ZTE also told me that a person cannot finish everything. I also understand this, but I hope I can do better. However, when you are familiar with hardware, you may feel that you are familiar with software and hardware, and your colleagues are also familiar with it. At this time, I can take the hardware materials to the company, and no one will be surprised. I am proud that I have made an IAD (Softswitch terminal setup and backup) system solution through my own efforts, including software and hardware selection and design, this solution has been recognized by the company and colleagues, and I am very pleased.

-- I can learn from wood as hard as I can.

Technology is complementary. When my hardware has made some progress, my software design has also been greatly improved. I can understand the problem from a deeper level, the CPU used to access the server is Motorola PowerPC 860. All familiar users know that 860 QMC and the batch data transmission of software usually adopt the BD table method, hardware drivers are used to adopt fixed BD tables. Every time data is received or sent, the data is copied from the BD table to the user buffer, or from the user buffer to the BD table, due to my deep understanding, I implemented this process again and used dynamic BD tables to drive data receiving from a network port and submitting it to my software for layer-3 Exchange, no copy is made until it is sent from another interface. This design greatly improves the performance and makes the system indicators close to the theoretical value. The combination of software and hardware has brought my design level to a certain level. I am writing this operating system. After compilation, I decompile the program into an assembly, find out the unoptimized code, and then adjust it in the C program. For example, many CPUs do not have special multiplication commands, so we should all know that a multiplication operation on such CPUs often takes a large number of instruction cycles, some may say this. I know that I will try to avoid using the X number, but it is often not that simple. Do you know how to implement the array subscript operation in C? Take a closer look at the disassembly code and you will understand that the C compiler sometimes produces displacement commands through the location operation of the lower mark, but sometimes it is implemented by multiplication, and the efficiency of the two is often quite different, so you can understand these problems to improve the system performance to the extreme .? I will not talk much about these questions. If you are interested, you can discuss them later.

In other words, I sincerely hope that more in-depth friends who have made software will have the opportunity to learn hardware and other related knowledge, especially for underlying development and embedded design. This is of great help to the improvement of software technology. Otherwise, you only know many things but do not understand why. My point of view is also verified by the current IC company project manager. He told us that the software manager of The 802.1-1 Chip product of the company originally designed the chip hardware. A certain person originally made the software and is now working on the IC. There are many similar examples, it is not very popular in China.

I have some experiences to share with you. Only after I have done my job well will I learn the technologies that are not closely related to my work, so that my boss will not dislike me, in the entry stage, I usually don't ask senior people, but ask some friends with relatively low qualifications, such as students who have just graduated, because they will often give you a detailed explanation, senior people usually think that your questions are too simple, so they are very simple to answer. I am sorry to ask more questions. After a certain level of technology, I will ask them, and they can give you more in-depth answers. In addition, some friends say that I have a better chance. They also hope to have a new job, but unfortunately they do not have a chance. I have heard a bitter smile, and all the people I have the opportunity to know should know, I was not born in any it family :) no one promoted me along the way, and all the roads came out by myself. My mother died earlier, and my stepmother (I called her aunt) looking at my efforts, she once saw that I was still writing programs, and she said that I could learn from the hard work of wood.

My ultimate goal is IC rather than PCB, so my next preparation begins to learn about icdesign. My colleagues in the company didn't understand the icdesign, and they had to rely on their own. I bought a lot of related books and checked a lot of information on the Internet, I spent a lot of time learning VHDL and used software for some simple design and simulation (no ASIC design, just for FPGA, I gradually understood the basic process of IC design, and also understood the hardships of this road. At this time, I was ready to change jobs. I submitted my resume to an industry-renowned icdesign company and passed a long interview (more than four hours ). I am satisfied with everything else, but my salary is not satisfactory. I also understand the reason because I am a newcomer to this industry and I have no experience. I once again cleared myself. The boss of the company asked me if I could accept it for more than 6000 months. I know that he is also responsible for the work. Think about my friends in the communication industry, basically with an annual salary of more than 0.1 million, and a monthly salary of over. My friends also introduced me to many companies with good treatment. How should I choose, at that time, I was hesitant. I love my career. I yearn for my pursuit, but I am also an ordinary person. I also need to support my family. I also want to buy a house and buy a car earlier. Life creates a problem for me.

-- In the war IC, Einstein said at the age of 63, "if a person has never achieved the greatest scientific achievement before the age of 30, then he will never have it ."

Einstein said at the age of 63, "if a person has never achieved the greatest scientific achievement before the age of 30, then he will never have it ." This sentence gave me a lot of pressure and vibration. I am 26 years old and only four years away from 30. I have to pay close attention to the precious time of these years, strive to reach the highest technical peak. For this reason, in order to be closer to my dream, I chose this IC company. I understand that my salary is almost the same as that of my graduate students who just entered the company, but for the future development, we can only endure it, and everything has to begin again. Changing the industry is a very painful process, especially switching from a proud position to a strange position. It is unacceptable to drill out of the warm quilt and jump into the ice water. In the original communication company, I was the only employee who had raised his salary five times in two years. Both the company and my colleagues gave me great recognition and I was often held responsible for my work. But now it's all over. In a new company, I am just a new employee. No one knows or cares about my past achievements. I decided to start over again. I saw myself as a new graduate student. I had to use my own efforts to get the company's approval. It is very painful to enter a new industry. I told myself that I must endure all this. Although there are many temptations outside, I cannot give up without making a choice.

I have been working in this new company for more than a month. It started to be very difficult and now I have adapted to it. At the end of the first month, the team leader talked to me and said that I was the best employee among the new employees. I am very pleased. This is also an affirmation of my efforts. I would like to thank my girlfriend for her great support and encouragement. She encouraged me every time when I was shaken, so that I could stick to my own ideals, when I first came to Shanghai, she asked me not to barely do mis. This time, she gave me the temptation to withstand the temptation of a monthly salary of over ten thousand. Without her, I may not have the performance of today. The current company has its own operating system, its own CPU, DSP and other chips. Here I can learn the most advanced technology in the world, I am very happy that our design and development do not depend entirely on other people's hardware and systems. After my work is on the right track, I plan to learn new knowledge and realize my ideal. In the next two years, I have set several goals for myself: 1. strive to do your job well and get the approval of the company and colleagues in terms of work; 2. work hard to learn IC hardware design knowledge, consult with colleagues, and take advantage of all opportunities to practice more; 3. implement the main part of my real-time operating system, complete the TCP/IP protocol stack module, and release the source code for free; 4. it is the most important thing to marry my girlfriend and buy a small house, because I understand that my career can come back, but the precious feelings can hardly be recovered. The operating system I have developed is a real-time embedded system that currently supports the following features:. supports time slice rotation scheduling and priority-based scheduling, with a maximum of 64 priorities. B. preemptible real-time kernel; C. for ease of transplantation, the subject is implemented using standard C; D. few assembly code, less than 100 lines; E. supports task management. Each task has an independent stack. process Synchronization and communication have completed semaphore, and message queue is being debugged; G. scheduled system call is implemented. it can be simulated and debugged on windows. I also plan to implement priority inversion protection, event flag, data pipe, memory management (previously implemented), and driver interfaces. After that, I will try my best to improve it, such as joining file systems, protocol stacks, and debugging interfaces. I hope my friends can give me their comments and suggestions. I am very grateful!


-- The body is the capital of the revolution

As some friends have said, my experience may mislead some friends. Here I must explain it. I used to study too hard before I came to Shanghai. I often only slept for more than three hours at night. I was 1-meter tall and 71, at that time I only had 108 (I am more than 130 ), my family also said that I was so hard to survive for 60 years, but I was too stubborn at the time. I told them that I would be enough if I could live for 50 years. At that time, my body was affected by my desperate efforts. Once in the morning, my waist muscles suddenly suffered a severe pain and I fell into bed and couldn't stand up. Although I have already paid more attention to it, sometimes it hurts. Later, my girlfriend convinced me that I would not do this again after I came to Shanghai. I often quote my father's saying "the body is the capital of the revolution ".

I also found that it was not a solution. I could endure one or two nights. I worked for three days and three nights at most once, but I did not recover for half a month. Is this not worth the candle? Learning should be a long-term process, such as marathon rather than a hundred meters sprint. I pay great attention to adjusting my learning and work intensity. I want to ensure that I have as much energy as possible every day. Some young friends feel that they should work hard, too, this worries me a lot. If my story can make you more interested in study and work, I will be very happy, but if I mislead some friends, I will feel very guilty if you do something unworthwhile.

There is no distinction in technology. I used to change the industry because of my own interests, rather than prejudice against any industry. I hope that my experience will not give a wrong orientation to my friends. I feel that I will always develop towards higher technologies. In fact, it is very difficult for all walks of life to be top-notch. Even though the technology is not cheap, there is a high threshold. In any case, the threshold for IC creation is higher than that for Web pages, which is undeniable. All kinds of talents in the country are needed, but as an individual, the idea of hard work should still exist, and strive to do better in the industry they like, instead of staying at a superficial level.

I am a person who thinks I have self-knowledge. Maybe my biggest advantage is that I have many shortcomings :). In my story, many twists and turns and errors are caused by my shortcomings. I hope that you will take a careful look at my experiences and not be confused by my "rhetoric. I learned to do what I needed, which brought me endless troubles and greatly hindered my development. I remember that when I was a child, my grades were excellent, but later I learned a lot from off-the-subject. As a result, my secondary school scores declined repeatedly and I didn't take any good schools. I was a friend of mine when I was a child, at that time, her score was similar to mine, but she did not have this shortcoming. She went to Tsinghua and went to the United States for further study. She studied theoretical science under a famous mentor, this is not a better way out. In addition, my learning methods are constantly improving. In the past, I learned too much about the quantity and time, which is hard but inefficient. Now I pay great attention to the learning efficiency and skills, this is the shortcut to learning (not opportunistic, of course). For example, if you want to learn a relatively unfamiliar technology, you may have to ask experienced people if you have the necessary skills, he often gives you a great deal of help in a few casual words, even more than a week's book. Learning with this idea will save you a lot of time. How happy is it? I have learned many things over the years. I started to learn things very blindly, so they are disorganized. Now, in retrospect, they make me laugh, I waste a lot of time on some knowledge that is not necessary to understand deeply. After all, a person's energy is limited. Many of my friends, like me, are carrying five styles. It is indeed a good input method, but it is definitely not worth it for a developer, your time should be spent at a price. I have done a lot of such things. I have memorized the commands and shortcuts of CCed and WPS. After DBASE basically exited the stage of history, I spent a lot of time learning how to use it. Therefore, my study lacks planning in the early stage, and there is no clear short-term goal or medium-term goal. There is only one ethereal long-term ideal. This is just like designing. A good design involves many processes from requirement abstraction to code, and coding starts immediately after the requirement is obtained.

Of course, I have learned more or less about my work over the years. Next I will talk about some of my learning experiences. These methods may not be correct. I am constantly exploring and improving them. I have a relatively clear goal in my studies and work. I will not be eager to learn a certain technology at the moment. Before I decide, I will consider a lot, including long-term development and personal route planning, the price to be paid, possible difficulties and solutions, etc. after the decision is made, a clearer plan will be made, including short-term, mid-term, and long-term, resources available to you (including good books, materials, software and hardware environments, and experienced friends or teachers), and how to transition to the first stage of each stage, it is often relatively smooth after a learning stage is on the road, but it is usually difficult to cross-stage, for example, from basic learning knowledge to practice. In addition, I have my own methods to buy books. Currently, there are far fewer high-quality books than low-quality books in the world. For a strange technology, I often choose wrong methods when I buy books for the first time, even if I buy a good book, its direction may not be suitable for you, so I usually first find some introductions to this technology on the internet, with a little concept, I can buy another book that is relatively thin, relatively cheap, and has a relatively general description. This is the best book written by Chinese authors :), after browsing it again, I will basically understand the key points of this technology, and I will be more clear about buying books and making plans later. Otherwise, it is often difficult to find a good book at the beginning, and it is hard to learn it after I buy it. Sometimes I have learned half of it to find that it is a low-quality book or a relatively outdated technology, which is quite annoying. In addition, it is usually a good choice to let experienced people introduce you.

Some friends want to learn communication and embedded development, but they always feel that they do not have a software or hardware environment. I will introduce how to establish such an environment according to my knowledge, of course, I only know how to study and work. Communication I am working on the data network, including TCP/IP, layer-2 and layer-3 switching, and I also have some knowledge about access networks, H.323, and SoftSwitch. These software and hardware environments can be built on PCs. You can even create a simulated network environment that contains multiple routers, access servers, VOIP gateways, network guards, hosts, and so on a PC without a network card, which is quite similar to the actual network, of course, this requires you to have a clear network concept and a certain amount of network knowledge. I have been working hard to develop a set of software to simplify this process. At present, the experiment has been completed, I may integrate it into my operating system peripheral extension software. I cannot use a simple sentence to explain this method clearly. I can say that the idea is to implement a simulated Nic on the PC, (anyone who knows how Wind ows implements the virtual Nic technology on a machine without a NIC should understand), and then each imitation Nic corresponds to a virtual device, such as a router or host. You can also use third-party tools to complete some work, such as VMware. I am using a simulated Nic for my own development.

As for the embedded development environment, PC is a very large hardware platform. The existing embedded operation system usually supports x86. You can develop on it, using a floppy disk boot or a virtual machine for loading, I tried using VxWorks to run Windows and VxWorks on a PC. In addition, the DOS-compatible 16-bit simulation x86 environment on W indows also provides an excellent test environment for many operating systems. my operating system is implemented in this way on Windows. Linux is also widely used in embedded systems. It has a large amount of data on the Internet and is relatively easy to practice. At the same time, many complete embedded development environments support software simulation, such as tornado and wince.

Wind rose at 21:50:25

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.