OSDev.org
https://forum.osdev.org/

Book Recommendations
https://forum.osdev.org/viewtopic.php?f=1&t=6989
Page 11 of 12

Author:  Zacariaz [ Sat Jan 29, 2011 7:42 pm ]
Post subject:  Re: Book Recommendations

I would have liked to post this in another thread where a certain newly registered user asked about books about assembly, but that thread was locked for some reason, so even though this is not actually a book, but rather a number of video tutorials, I'll post them here anyway as I think they'll be a great introduction to those who are new to the assembly programming concept.

http://www.vtc.com/products/Assembly-Language-Programming-Tutorials.htm

NB:
This is a site earning their living from selling such tutorials and thus not a very big portion of it is free, but the introductory part is.

Author:  xfelix [ Sun Mar 20, 2011 6:13 pm ]
Post subject:  Re: Book Recommendations

kop99 wrote:
How about "Operating System Concepts 7th edition" by Silberschatz Galvin and "Understanding the Linux Kernel"...

I got the 8th edition :D It's also known as "Dinosaur Book".
I recommend this book, but you should build an OS as you're reading it.
Check out GeekOS (http://geekos.sourceforge.net/)

Author:  sathishmls [ Tue Jun 07, 2011 1:22 am ]
Post subject:  Re: Book Recommendations

how could you forget the book by John H. Crawford and Patrick P. Gelsinger called "Programming the 80386" (ISBN-13: 978-0895883810, URL: http://www.amazon.com/Programming-80386-John-H-Crawford/dp/0895883813) by Sybex.

In fact people who wrote Unix like kernel (including BSD, Linux) on 80386+ machines used this book to code their kernel. Because John H. Crawford is the Chief Architect of the 80386 and family processors (wikipedia: http://en.wikipedia.org/wiki/John_Crawford_(engineer))

Author:  rashkin [ Sun Oct 02, 2011 1:41 am ]
Post subject:  Re: Book Recommendations

I read several books on os design the choice might be yours in following books
1. Operating systems M Milenkovic
2. Operating systems Internals William Stallings
3. Modern Operating systems A S Tanenbaum
4. The Design of the unix Operating systems M J Bach
5. Operating Systems Principles Silberschatz

these are basically the world's best books on os design and implementation.

thankxx....

Author:  mikegonta [ Sat Jan 28, 2012 11:13 am ]
Post subject:  USB: The Universal Serial Bus

Attachment:
File comment: USB: The Universal Serial Bus
USB - The Universal Serial Bus.png
USB - The Universal Serial Bus.png [ 17.35 KiB | Viewed 64454 times ]

This book explains, from the beginning, how to write code to communicate with the USB, to be able to write a driver for the
four major types of USB controllers; the UHCI, OHCI, EHCI, and the new xHCI. It explains how to send requests to the
devices attached, to return the device's descriptors to be able to configure and use the devices. Some examples include drives,
mice, keyboards, printers, and external hubs. This is all done without any outside help. In other words, you are communicating
directly with the hardware. You are not relying on an existing operating system's function calls. This book also contains example
descriptions of why your driver may not be working and then gives details on how to fix it. If you are an operating system
development enthusiast, a beginner or a more advanced developer, this is a book for your desk.

The author fully supports this book and upon request and receipt of purchase, will send you an .ISO image with example source
code to retrieve a device's Device Descriptor, plugged in to one of the four controller types, along with other source code
described within the book.
USB: The Universal Serial Bus by Benjamin David Lunt.

Volume 8 of the Operating System Design Book Series

Author:  Kortath [ Thu Sep 12, 2013 6:36 am ]
Post subject:  Re: Book Recommendations

These are some of the books I physically bought and are sitting here in my office..

"Operating Systems: Design and Implementation", 2nd. ed., by Andrew S. Tanenbaum and Albert S. Woodhull
ISBN-10: 0136386776 | ISBN-13: 978-0136386773
Publication Date: January 15, 1997

AMAZON LINK
http://www.amazon.com/Operating-Systems-Design-Implementation-Edition/dp/0136386776/ref=sr_1_2?ie=UTF8&qid=1378988517&sr=8-2&keywords=Operating+Systems%3A+Design+and+Implementation




"Programmer's Guide to the EGA, VGA, and Super VGA Cards", 3rd ed., by Richard F. Ferraro
ISBN-10: 0201624907 | ISBN-13: 978-0201624908
Publication Date: 1994

AMAZON LINK
http://www.amazon.com/Programmers-Guide-Super-Cards-Edition/dp/0201624907/ref=sr_1_1?ie=UTF8&qid=1378988715&sr=8-1&keywords=Programmer%27s+Guide+to+the+EGA%2C+VGA%2C+and+Super+VGA+Cards




"PC Interrupts : A programmer's Reference to Bios, DOS, and Third-Party Calls", 1st ed., by Ralf Brown & Jim Kyle
NOTE : I have the black paperback cover which is the first edition. The one at amazon shows the white 2nd edition cover. However, when I ordered it from there, I ended up with the first edition. Fine by me, but just thought you might need this info before buying.
1st Edition ( The one I have )
ISBN : 0-201-57797-6
Publication Date: October 1991
2nd Edition
ISBN-10: 0201624850 | ISBN-13: 978-0201624854
Publication Date: January 1, 1994

AMAZON LINK
http://www.amazon.com/PC-Interrupts-Programmers-Reference-Third-Party/dp/0201624850/ref=sr_1_1?ie=UTF8&qid=1378988943&sr=8-1&keywords=PC+Interrupts+%3A+A+programmer%27s+Reference+to+Bios%2C+DOS%2C+and+Third-Party+Calls




"The 80x86 IBM PC and Compatible Computers ( Volumes I & II ) Assembly Language, Design, and Interfacing", 4th ed., by Muhammod Ali Mazidi & Janice Gillispie Mazidi
ISBN-10: 013061775X | ISBN-13: 978-0130617750
Publication Date: August 31, 2002

AMAZON LINK
http://www.amazon.com/80X86-IBM-Compatible-Computers-Interfacing/dp/013061775X/ref=sr_1_1?ie=UTF8&qid=1378989311&sr=8-1&keywords=The+80x86+IBM+PC+and+Compatible+Computers+%28+Volumes+I+%26+II+%29+Assembly+Language%2C+Design%2C+and+Interfacing




"PC Assembly Language Paperback", by Paul A. Carter
Publication Date: April 29, 2007
NOTE : The book shows to be in print from 2001 to 2004. But then when you look at the updated printing on the very first page, the year shows it to be 2007.
AUTHOR'S HOMEPAGE : http://www.drpaulcarter.com

AMAZON LINK
http://www.amazon.com/PC-Assembly-Language-Paul-Carter/dp/B009M63B0Y/ref=sr_1_1?s=books&ie=UTF8&qid=1379015196&sr=1-1&keywords=pc+assembly+language+paul+carter

I paid for the book here which is where the author will point you toward :
http://www.lulu.com/shop/paul-carter/pc-assembly-language/paperback/product-5084251.html;jsessionid=5F3B95631FA9C396DA5A1BF57C286F60

Author:  mikegonta [ Fri Oct 18, 2013 3:16 am ]
Post subject:  FYSOS: The System Core

Attachment:
File comment: FYSOS: The System Core
FYSOS - The System Core.png
FYSOS - The System Core.png [ 17.33 KiB | Viewed 64456 times ]

This book is for those who are building an operating system, or want to start building one. This book takes you from the
first step to the last step to create a minimal multi-threading protected mode OS with a round-robin style task scheduler,
memory allocator, etc., as well as retrieving all the information you will need before the switch to protected mode.
This book is for those who want to start but have no idea where or how to do so. Full source code is included as well as
many utilities, all with source, to build your system.
It is designed so that once you have this minimal system up and running, you can then start adding all of the items you need
to make it a fully functional operating system. Part 2 contains an example of a more detailed memory allocator, just an
example on how to add to this operating system.
Chapter 11 gives an example of creating the link between the kernel and the devices and file systems attached.
The remaining books in this series explains in more detail these devices.
FYSOS: The System Core by Benjamin David Lunt.

Volume 1 of the Operating System Design Book Series

Author:  mikegonta [ Thu Aug 21, 2014 11:07 pm ]
Post subject:  FYSOS: The Virtual File System

Attachment:
File comment: FYSOS: The Virtual File System
FYSOS - The Virtual File System.png
FYSOS - The Virtual File System.png [ 17.61 KiB | Viewed 64455 times ]

This book is Volume 2 of the series, FYSOS: Operating System Design, and will describe the process needed to connect a file
system to your kernel.
It explains the steps to create a file system independent link between a file system residing on the media to your kernel code.
Once you have done this, a simple call to fopen("C:\filename.txt", OPEN) is all you need to open a file.
It then goes into detail, giving examples of what a file system should be, how to create your own, and what to include in that
file system. It also explains the process of a simple journaling file system.
Part 2 of this book details four file systems, two commonly used and well known, and two hobby file systems.
The companion CD-ROM contains source code to utilities to check your work, display the contents of a file system, dump a file
system, and repair a file system.
This book, and its continued series of books, does not expect you to build the next great wonder of the computer world. It
simply will help you with your interest in controlling the computer's hardware, from the point the BIOS releases execution to
your boot code to the point of a fully working Graphical User Interface.
It is not required that you know much about operating system design to use this book and no specific hardware or software
is required.
FYSOS: The Virtual File System by Benjamin David Lunt.

Volume 2 of the Operating System Design Book Series

Author:  blacky [ Thu Apr 16, 2015 5:00 pm ]
Post subject:  Re: Book Recommendations

Since I haven't seen the book anywhere mentioned within previous posts (apologize in case I have missed it) I really would like to suggest the following reading material:

Professional Linux Kernel Architecture
Wolfgang Mauerer
ISBN: 978-0-470-34343-2

Btw: the book can be found online as well ;)

Author:  mikegonta [ Tue Jun 02, 2015 1:33 am ]
Post subject:  FYSOS: Media Storage Devices

Attachment:
File comment: FYSOS: Media Storage Devices
FYSOS - Media Storage Devices.png
FYSOS - Media Storage Devices.png [ 21.36 KiB | Viewed 64457 times ]
This book is Volume 3 of the series, FYSOS: Operating System Design, and will show the reader how to detect, initialize, and communicate
with three of the most common media hardware devices, the Floppy Disk Controller, the IDE Hard Disk Controller, and the SATA (AHCI)
Hard Disk Controller. The reader will learn how to detect the controller, what type of controller it is, initialize it to default values, detect
attached devices, and then communicate with those devices, such as reading and writing to the attached media.
All of this is done without any outside help, such as operating system calls or the help of the BIOS. The reader will learn how to communicate
with the hardware directly, reading and writing to the system bus to achieve these tasks.
The companion CD-ROM contains complete source code of each example within the book, showing how to accomplish these tasks.
This book, and its companion series of books, does not expect you to build the next great wonder of the computer world. It simply will help
you with your interest in controlling the computer's hardware, from the point the BIOS releases execution to your boot code to the point of a
fully working Graphical User Interface.
It is not required that you know much about operating system design, though a good knowledge of C Programming Language and a moderate
knowledge of an Intel/AMD x86 computer's hardware is expected to use this book.
FYSOS: Media Storage Devices by Benjamin David Lunt.

Volume 3 of the Operating System Design Book Series

Author:  thxbb12 [ Fri Sep 04, 2015 3:46 am ]
Post subject:  Re: Book Recommendations

I think the best book about CPU and memory virtualization (cpu scheduling, paging, segmentation) and file systems is "Three Easy Pieces" from Remzi and Andrea H. Arpaci-Dusseau at the University of Wisconsin. The book is very accessible, it's extremely very well written, very pedagogical and the authors manage to explain difficult concepts in a very clear manner.
I've read many others OS books, but this one is IMHO the best of all, by a good margin and the best part is that one can download the different chapters for free here: http://pages.cs.wisc.edu/~remzi/OSTEP/
I'm actually pretty surprised nobody mentionned it here...

Author:  noobling33 [ Sun Mar 06, 2016 1:16 am ]
Post subject:  Re: Book Recommendations

thxbb12 wrote:
I think the best book about CPU and memory virtualization (cpu scheduling, paging, segmentation) and file systems is "Three Easy Pieces" from Remzi and Andrea H. Arpaci-Dusseau at the University of Wisconsin. The book is very accessible, it's extremely very well written, very pedagogical and the authors manage to explain difficult concepts in a very clear manner. Someone was talking about it here and they were saying it has received good reviews. You can also see this which was talking about the same thing. Overall, people seem to agree with this point, and you can also check the posts below to find more information.There is a lot of info out there and it's just a matter of filtering the good from the bad. People of the older generation generally don't understand this because back then they did not have all this information available to them.
I've read many others OS books, but this one is IMHO the best of all, by a good margin and the best part is that one can download the different chapters for free here.
I'm actually pretty surprised nobody mentionned it here...


This is a great resource. I just skimmed through the chapters for a while and I can say it is really good. Easy to follow. Do you know if all the chapters of the book is also available here? If you have similar resources please share them too. Thanks! :D

Author:  thxbb12 [ Sat May 21, 2016 9:51 am ]
Post subject:  Re: Book Recommendations

noobling33 wrote:
thxbb12 wrote:
I think the best book about CPU and memory virtualization (cpu scheduling, paging, segmentation) and file systems is "Three Easy Pieces" from Remzi and Andrea H. Arpaci-Dusseau at the University of Wisconsin. The book is very accessible, it's extremely very well written, very pedagogical and the authors manage to explain difficult concepts in a very clear manner.
I've read many others OS books, but this one is IMHO the best of all, by a good margin and the best part is that one can download the different chapters for free here: http://pages.cs.wisc.edu/~remzi/OSTEP/
I'm actually pretty surprised nobody mentionned it here...


This is a great resource. I just skimmed through the chapters for a while and I can say it is really good. Easy to follow. Do you know if all the chapters of the book is also available here? If you have similar resources please share them too. Thanks! :D


Yes, all the chapters are available at the URL I mentioned above.
However, there is one pdf per chapter. If you want to have the whole book as a single pdf you need to buy it. You can also buy a printed version (hardcover).
I personally bought it to support the authors.
Another strong point is that they update the content on a regular basis.

Author:  irvanherz [ Fri Nov 04, 2016 5:58 am ]
Post subject:  Re: Book Recommendations

Try "Understanding Linux Kernel" and "Understanding the Linux Virtual Memory Manager". These will help you much in design consideration.

Author:  zaval [ Thu Mar 02, 2017 7:25 am ]
Post subject:  Re: Book Recommendations

irvanherz wrote:
Try "Understanding Linux Kernel" and "Understanding the Linux Virtual Memory Manager". These will help you much in design consideration.

... by avoiding it as much as possible. :mrgreen:

Page 11 of 12 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/