Recommended literature

Authors:
Kip R. Irvine
Year:
2010

Great book on programming computers using assembly language. It's quite a read to get introduced to computer programming at lowest levels. Book focuses on following subjects - x86 architecture, assembly language fundamentals, data transfers/addressing and addressing, procedures, conditional processing, integer arithmetic, advanced procedures, strings and arrays, structures and macros, floating point processing, high level language interface, etc.

Authors:
Robert Love
Year:
2010

One of the more interesting reads about operating system internals. This book covers Linux kernel version 2.6. It does an extremely good job on describing internal kernel structures. Not only book covers software structures and algorithms but also reasons for one choice or the other based on hardware design. Reader should find it an easy introduction on following subjects - process management, process scheduling, system calls, kernel data structures, interrupts and interrupt handlers, deferring work, kernel synchronization, kernel synchronization methods, timers and time management, memory management, virtual filesystem, block I/O layer, process address space, page cache, devices and modules.

Authors:
Andrew S. Tanenbaum, Herbert Bos
Year:
2016

Extremely interesting book to read for computer science students and future operating system level developers. Covers wide variety of subjects into operating system development, mostly functioning as an introductory read with lots of references into existing research. Book covers following subjects: processes and threads, memory management, file systems, input/output, deadlocks, virtualization, multiple processor systems, security and some case studies regarding unix, linux, android and windows.

Authors:
Andrew S. Tanenbaum, Todd Austin
Year:
2012

Quite a read for those ready to put operating system development in perspective as an activity between hardware development and parallel computing. Book contains extensive material regarding electronics (gates, CPU design, etc). Majority of focus is placed on Intel Core i7, Texas Instruments OMAP4430, and the Atmel ATmega168.