Hardware programming interface and system software implementation

Author: Zhu Chunsen
Publisher:
Publish Date: 2005-08-01
Features: Hardware functionality serves the implementation of software, and software implementation relies on hardware support. This book takes the integration of hardware and software as the starting point, comprehensively introducing hardware programming interfaces and system software implementation, including system boot interfaces, device configuration interfaces, device controller programming interfaces, and processor programming interfaces. On the basis of processor hardware support, it explains the low-level implementation of system software, such as memory management, task management, thread switching, and processor scheduling. With the standardization of devices, the method of calling system BIOS to drive devices is gradually being phased out, as the operating system directly manages power supply to drive devices. Therefore, in addition to introducing the IA-32 processor, IA-32e processor, and Itanium 64-bit processor, this book dedicates significant to device controller programming interfaces, including keyboard controllers, graphics controllers, IDE device controllers, audio/modem controllers, USB controllers, and LAN controllers, along with the introduction of related device bus standards. The book also covers the partition structure of external storage media, storage media format specifications, and popular file systems, providing examples of external storage management, file management, and file interfaces. Additionally, combining processor instruction functions and addressing mechanisms, it introduces advanced language program implementation issues related to operating systems, such as variable space and program structure, function declaration and function exit, function calls and function entry, etc. It also touches on code generation issues, such as data encoding and storage formats, arithmetic expression and logical expression compilation, and introduces the Microsoft 32-bit executable file format, explaining the program loading steps. This book is suitable for software students and professionals as a textbook or reference, and can also serve as a guide for computer enthusiasts, assisting you in exploring the working process of computer systems—from system boot to program execution, from high-level statements to executable code, from the keyboard to the processor.

📌 Related Posts