Springer, 2015 - 539 p. ISBN13: 978-3-319-17574-4 ISBN13: 978-3-319-17575-1 (eBook) Уникальная по объему и наполнению книга, заполняющая нишу между многочисленными букварями для начинающих программистов и фундаментальными трудами по устройству операционных систем, нишу, в которой обычно представлены лишь отдельные тематические статьи и образцы кода произвольной степени грамотности, многочисленные, но не сопоставимые по систематичности и охвату с данной книгой.
В книге на примере действующей версии Linux-подобной операционной системе MTX подробно и систематизированно рассматриваются вопросы устройства, работы и программирования ОС для x86-совместимых архитектур - начиная с ее загрузки с различных носителей (дискеты, жесткие диски, диски CD/DVD, USB флэш-диски, по сети) и заканчивая пользовательским интерфейсом. Приводятся листинги полноценных действующих программ и процедур, в том числе по управлению процессорами (SMP), памятью (16 и 32 битный защищенный режим), внешними устройствами, меж-процессным взаимодействием, виртуальной памятью и т.д. Разработка ориентирована на использование OpenSource систем программирования BCC Cross-Compiling Package (BCC) для 16-разрядного кода и ассемблерных модулей, и GNU Compiler Collection (GCC) для защищенного 32-разрядного режима. Практическая отработка модулей проводится в эмуляторе Qemu. Все эти системы доступны как для Windows, так и для различных вариантов Linux.
Книга будет полезна и начинающим программистам, мечтающим написать свою собственную ОС (чтобы наконец начать систематическое изучение этой сложной дисциплины), и - в особенности - специалистам, приближающимся к профессиональному уровню в системном программировании.
Дистрибутив ОС MTX со всеми исходниками можно скачать с сайта спец-курсов, которые ведет автор
http://www.eecs.wsu.edu/~cs460/mtxhome/ Там же размещены дополнительные методические указания и отдельные главы книги в несколько иной редакции.
Wang K.C. - профессор, доктор наук (Ph.D, M.Sci, B.Sc), - является преподавателем The School of Electrical Engineering and Computer Sience в Вашингтонском государственном университете, где ведет специализированный курс по компьютерным архитектурам и операционным системам. Автор других книг - в частности по гидро- и аэродинамике.
AbstractThe purpose of this book is to provide a suitable platform for teaching and learning the theory and practice of operating systems. It covers the basic concepts and principles of operating systems, and it shows how to apply them to design and implement a complete operating system in incremental steps. Throughout the book, it uses the development of the MTX operating system to convey the real intent of this book, which is to demonstrate the design principles and implementation techniques of operating systems in general.
Due to its technical contents, this book is not intended for entry-level OS courses that teach only the basic concepts and principles of operating systems without programming practice. It is intended for technically oriented OS courses that emphasize on both theory and practice. The book’s evolutional style, coupled with detailed source code and complete working sample systems, make it especially suitable for self-study. This book contains many new and original materials, especially on the design and use of parallel algorithms in SMP. It is also suitable for advanced study of operating systems.
1 Introduction
2 Foundations and Background
3 Booting Operating Systems
4 A Simple Operating System Kernel
5 User Mode and System Calls
6 Process Synchronization
7 Memory Management
8 Interrupt Processing and Process Scheduling
9 Signals and Signal Processing
10 Device Drivers
11 File System
12 Block Device I/O and Buffer Management
13 User Interface
14 MTX in 32-bit Protected Mode
15 Symmetric Multiprocessing
16 Hybrid Operating Systems
Appendix