I'll be expanding this page into what I hope will become a
full-scale online "store" (in association with amazon.com)
for books on operating-system internals and undocumented features,
plus related topics such as reverse engineering, intellectual
property, interoperability, innovation, antitrust and competition,
Microsoft and Intel, the impact of the Web on software development,
the history of technology, and the impact of technological changes
on popular culture.
The diskette that comes with the book includes a way-cool "spy"
utility for Windows 95 called MULTIMON. I used an
early
version of MULTIMON in my
online article about
the Windows 95 Registration Wizard.
The book Undocumented Windows NT, by
Prasad Dabak, Sandeep Phadke, and Milind Borate, to be published by
O'Reilly & Associates, is not finished yet, but here's an excerpt and
sample program, "Run any Ring 0 code from a
Win32 application on Windows NT". More "Undocumented NT" links
(I'll be updating this list):
Inside Windows NT, 2nd edition by David Solomon. A big improvement over the 1st edition: there are some concrete details that were missing in the 1st edition, including a whole series of "experiments" to run.
While
this book (which I edited) covers many documented -- and even
user-level -- aspects of the Windows 95 registry, there is a good
amount of material on undocumented aspects of the registry,
especially pages 171-4 on "Registry Locking" (excerpt
available online) and Chapter 5 on "Win95 registry access from
Win16, DOS, and VxDs."
The disk that comes with the book
includes the excellent RegSpy95 utility by Alex Shmidt (see Alex's
web site).
Despite the title, the book also covers the NT registry.
The new second edition includes coverage of undocumented
Pentium, Pentium Pro, and MMX instructions; coverage of 5x86 and 6x86 processors
from AMD and Cyrix; information on Windows 95 keyboard functions.
An excerpt,
Chapter 17 on interrupt control and NMI, is available
online.
Frank is author of the famous Sourcer
disassembler, available from his company, V Communications.
Don't be fooled by the title:
this brilliant book is as much about Windows as it is about DOS. Chappell's
book is the natural follow-on to Undocumented DOS, covering many
topics in more detail (and more accurately!) than that book does.
Includes
system configuration and startup, the system "footprint," extensive
coverage of INT 19h, the IO.SYS loader, the INT 2Fh function 13h interface,
DOS in ROM, Windows/DOS interaction, the INT 21h function 4B05h set-execution-state
function, writing TSRs and device drivers in C, XMS, an entire chapter
on the A20 line, LOADALL, a close look at HIMEM.SYS, SmartDrive, low-level
disk access, boot sectors, generic IOCTL, and an entire chapter on error
codes.
An amazing book! Ok, so it's a little out of date, and in 1997 few
people may still care about INT 19h or A20, but this is still an awesome
book.
This is actually
volume 2 (Architecture Reference); I don't think volume 1 was ever published.
See my review
from Dr. Dobb's Journal a few years ago: "Agarwal presents extremely detailed C (and pseudo-C) code for each
Intel instruction. These in turn use a library of functions such as LA_rdChk()
(linear-address read), LA_wrChk() linear-address write), priv_lev_switch_CALL()
(privilege-level switch), enter_new_task(), and the sickeningly complex
read_descr() (read-descriptor)....
If you've ever asked what really happens when you MOV ES, AX in protected
mode, or how Windows ... traps IN and OUT instructions using Virtual 8086
mode, this is the book to get. When you're finished, you may be sorry you
asked, but that's a different story."
Lions Book n. "Source Code and Commentary on UNIX level 6",
by John Lions. The two parts of this book contained (1) the entire source
listing of the UNIX Version 6 kernel, and (2) a commentary on the source
discussing the algorithms. These were circulated internally at the University
of New South Wales beginning 1976--77, and were, for years after, the *only*
detailed kernel documentation available to anyone outside Bell Labs. Because
Western Electric wished to maintain trade secret status on the kernel,
the Lions book was never formally published and was only supposed to be
distributed to affiliates of source licensees (it is still possible to
get a Bell Labs reprint of the book by sending a copy of a V6 source license
to the right person at Bellcore, but *real* insiders have the UNSW edition).
In spite of this, it soon spread by samizdat to a good many of the early
UNIX hackers.
The author's
web site has more information about RxDOS (the DOS-compatible operating
system described and distributed with Dissecting DOS) and about
his other projects, and includes the table
of contents for the book.
I don't
care that it's about Windows 3.x: this is still a great book, containing
many general lessons about user-interface programming (particularly about
the need to separate the program from its data).
Murray
Sargent was directly involved in the original (1988) porting of
Windows to protected mode; you can read all about this (and a lot of
other important Microsoft history) in the great book Gates: How Microsoft's Mogul Reinvented an Industry -- and
Made Himself the Richest Man in American by Stephen Manes and
Paul Andrews. That such a book contains a detailed discussion of how
Windows was ported to protected mode, indicates it is really a book
about Microsoft and not (thankfully) a book about Bill Gates;
it is the one book to get if you're interested in the history of
Microsoft.
This book/disk package (the disk contains sample forms, letters,
and agreements) has superb discussions of trade-secret law, reverse engineering,
fair use, shrink-wrap licenses, warranties, and just about everything else
a software engineer might want to know about the law. Gene helped write
some of the legal discussions in the 2nd edition of Undocumented DOS.
A readable survey that reveals the fundamental tension in intellectual
property between public and private rights. The chapter "Who Owns
Religious Information?" includes a hilarious description of reverse-
engineering the Dead Sea Scrolls from a concordance! Other chapters include
"Who owns your name and address?", "Who owns your telephone
number?", "Who owns your image?", "Who owns your electronic
messages?", "Who owns computer software?", etc.
A wonderful
book on a topic with obvious relevance for anyone interested in reverse
engineering. Chapter 10 deals specifically with trade and corporate secrecy.
Has excellent discussion of
trade secrets and reverse engineering.
Also see the chapter on "caveat
emptor," which of course is the principle underlying the warranties
of the computer software industry: "Caveat emptor, requiring that
the buyer beware, seems to be difficult to square with rules about equal
access to information.... if the goods were impossible to inspect, then
perhaps the rule ought to be relaxed... this rule provides incentives for
merchants to deliberately remain ignorant of the qualities of their wares..."
Excellent discussion of reverse engineering, disassembly, and
"decompilation" to uncover undocumented interfaces for the purposes
of interoperability.
Extensive coverage of Microsoft's position, including
for example Nathan Myhrvold's testimony during the set-top box debates:
"Myhrvold's testimony also reflects the ultraprotectionist penchant
for misrepresenting the position of the interoperable developers...."
A
fascinating look at "intellectual property" of pop-culture images,
with in-depth examinations of cases involving Oscar Wilde, Jackie Onassis,
Nancy Sinatra, Bela Lugosi's Dracula, and the DC Comics Superman
character.
Explores the paradox of "pop culture" that is widely
disseminated but closely owned.
There's an interesting article
online that discusses this book: "'Humanipulation': Legal
Considerations in the Computer Animated Manipulation of the Human
Image in Feature Film," by Lorene M. Duran.
A provocative and well-argued assertion that the
rights of "authors" (in actuality, owners) is only an incidental
function of copyright, which exists primarily for the users' benefit. Contains
a lot of good material on "fair use," on the monopolostic origins
of copyright in 16-17th century England, and on how publishers and owners
often hide behind the label of "authors.
A detailed
look at the early history of copyright, showing its early connection with
monopoly and state censorship, and clarifying the important distinction
between authors and owners.
Interestingly, the author's previous works
include Alien Encounters: Anatomy of Science Fiction.
Contains 28 case studies of
"Imitators Who Surpassed Pioneers," including 35mm cameras, ATMs,
computerized ticketing services, credit/charge cards, money- market
mutual funds, light beer, nonalcoholic beer, paperback books, pocket
calculators, PCs, PC spreadsheets, warehouse clubs, VCRs, videogames,
and -- not surprisingly -- two cases involving Microsoft: PC
operating systems, and PC word processors.
See the small
slide slow based on the book, using the case example of "Ball Point
Pens: First Mover vs. Later Entry."
Contains a fascinating case
study of the typewriter industry (including the history of the QWERTY
keyboard layout); the chapter on "Invasion of a Stable Business by a
Radical Innovation" discusses the impact of mechanically-made ice on
the natural-ice industry in the 19th century. Great stuff!
The long chapter on "External Capabilities andd
Modular Systems" discusses not only the PC industry, but other
industries where success depends on wide adaptation (on building a
"network," in fact) and compatibility: for example, the development
of hi-fi and stereo systems, the origin of 33 rpm records, LP
records, FM broadcasting.
A
brief, entertaining polemic (in the form of a play!) against the
Chicago School of Economics' defense of tying arrangements and other
predatory practices discussed in chapter 1 of Undocumented
DOS.
Pages 30-37 on "the predation problem" are particularly
useful.
Why does one
product such as VHS "win out" over another product such as VHS? Why
did the QWERTY keyboard win? How does an operating system such as
MS-DOS or Windows "lock-in" its customors?
Using Polya urns, random
walks, and so on, the author tries to develop a formal model to
explain some paradoxes of the hi-tech economy.
These paradoxes
involve "path dependence," a phrase which clearly helps describe
Microsoft's dominance of the PC software industry (not surprisingly,
Arthur was involved as an "expert" in the Microsoft antitrust case;
see the Gary
Reback amicus brief).
The
author's home page has
PostScript copies of many of his papers, including "Positive
Feedbacks in the Economy" (Scientific American, Feb. 1990).
For an interesting counterpoint, see the article "We Don't Know Why
She Swallowed the Fly: Policy and Path Dependence" online,
especially the section "Typewriter Keyboards and Other Fables."
Also see the Bibliography on the Economics of Standards and
Standardization online.