It is not that difficult to explore windows internal machines and analyze the implementation methods of various windows system functions. You can start learning in this area as long as you have a certain foundation. Based on my learning experience, I think it is best to have the following basics before I start to study windows:
1.Proficient in CLanguageYou must at least know the pointer in C and how to use the pointer to access the array. It is known that arrays are not accessible only by subscript. If you have read "C defects and traps" many times and think this book is great. That's great.
2.Basic assemblyUnderstand basic Assembly statements, and have a basic understanding of Assembly commands in the X86 architecture. If you have carefully studied the assembly language course at school, it is enough. When you study windows in depth, you will encounter a lot of assembly code. In many cases, you need to use some tools to decompile some things. At this time, the level of your compilation has a direct impact.
3.For Windows APIsFamiliarYou can directly use APIs to develop small-scale programs and understand the message mechanism of windows. At least you should have read "windows program design" (top and bottom ), if you have studied "Windows core programming" in depth, it would be better.
4.Master basic data structuresAt least it should be easy to use C to implement a two-way linked list? Basically, I have mastered the course "Data Structure. Otherwise, the complex structures you encounter in your learning will cause you to fall into the cloud and may not know how to start.
5.I learned about the operating systemHave a basic understanding of Processor Scheduling, virtual memory, and I/O device management. If you know what an interruption is, you can get a basic understanding of how the CPU works. This course is a general basic theoretical course. Your mastery of this course will directly affect your learning progress, especially when you read windows internals 4th.
6.Have a certain understanding of object-oriented
The above are some basic hard requirements, and the following are some soft requirements:
1.Frequently asked: Why?Where can we start with a lack of questioning spirit?
2.Be patientLearning is a long process. When you explore the Windows system, it is sometimes frustrating. At this time, never be impatient and be patient to guarantee your success.
3.Be carefulThis .... Needless to say, right?
4.Think moreDo not treat the content in the book as a golden rule.
5.More SummaryIn this way, knowledge can become your own.
Of course, a good book is also necessary. I recommend the following:
Inside Windows 2000 or Windows internals 4th
Uninitialized ented Windows 2000 secrets
Some people may think that there is no need to explore the internal mechanism of windows. If you have a deep understanding of the internal mechanism of windows, then you can write programs that are more efficient and take advantage of the system. In addition, when a program encounters a bug, I believe you are more confident in solving them. Knowing why, without knowing why, is really bad j
The above is only what I have seen. For more information, please advise.