Publications
Book
Mac OS X Internals: A Systems Approach
Addison-Wesley Professional, June 2006Papers
Signaled Receiver Processing
José Brustoloni, Eran Gabber, Abraham Silberschatz and Amit Singh, USENIX Annual Technical Conference, San Diego, California, June 2000[postscript][pdf][html]
Resource Management for QoS in Eclipse/BSD
Blanquer, Bruno, Gabber, McShea, Özden, Silberschatz and Singh, Proceedings of the FreeBSD Conference, Berkeley, California, October 1999[postscript]
Quality of Service Support for Legacy Applications
José Brustoloni, Eran Gabber, Abraham Silberschatz and Amit Singh, NOSSDAV, New Jersey, 1999[postscript][pdf]
*nix Mischiefs: The New Frontiers
Amit Singh, 1998Bell Laboratories, Murray Hill, New Jersey
Aberration in behavior is inescapable for almost any entity capable of behaving. Computers are particularly prone to misbehaving. It has been discussed aplenty that software misbehavior is an inherent aspect of the stored-program concept. A widely held belief is that while Microsoft systems are excessively prone to malicious programs (especially viruses) wreaking havoc, UNIX and derived systems are not. People have tried to refute this claim, and several *nix "viruses" have been created. This paper evaluates some of these claims and their counter claims. Furthermore, it attempts a broad look at the kind of "mischiefs" (methodologies of making software misbehave) more than a quarter century of UNIX has led to. No attempt is made to classify malicious code into categories like viruses, worms, trojans etc., for which extensive documentation exists.
Popular Publications
Extended Binary Format Support for Mac OS X
January, 2009[original]
Ancient Unix File Systems on Mac OS X
December 17, 2008[original] [Slashdot]
UnixFS: A General-Purpose Layer for Writing Unix-Style User-Space File Systems
November, 2008[original]
Understanding Apple's Binary Protection in Mac OS X
October 30, 2006[original] [Slashdot]
A New Screen of Death for Mac OS X
September 12, 2006[original] [Slashdot]
A Technical History of Apple's Operating Systems
July 25, 2006[original] [Slashdot]
Experimenting with Light on Apple Notebook Computers
June 19, 2006[original] [Slashdot]
A Tour of the Mac OS X Kernel
May 31, 2005[original] [Slashdot]
The Construction Of Panpipes
April 13, 2005[original] [Slashdot]
The Apple Motion Sensor As A Human Interface Device
March 21, 2005[original] [Slashdot]
The PowerBook Sudden Motion Sensor
March 3, 2005[original] [Slashdot]
UNIX® on the Game Boy Advance
September 8, 2004[original] [Slashdot]
A Taste of Computer Security
July 29, 2004[original] [Slashdot]
More Power to Firmware
June 17, 2004[original] [Slashdot]
Making an Operating System Faster
June 3, 2004[original] [Slashdot]
Fragmentation in HFS Plus Volumes
May 19, 2004[original] [Slashdot]
A History of Apple's Operating Systems
March 5, 2004[original] [Slashdot]
An Introduction to Virtualization
February 5, 2004[original] [Slashdot]
What is Mac OS X?
January 7, 2004[original] [Slashdot]
Many Systems on a PowerBook
December 14, 2003[original] [Slashdot]
108 Implementations of Towers of Hanoi
December 8, 2003[original] [Slashdot]
Articles
Mac OS X
Amit Singh, Enigma, Issue 7, Yorkshire Mac User Group Magazine, UK, January 2004Towering Inferno
Amit Singh, PC World, pp. 104-114, February 1999An introduction to Lucent Technologies' Inferno Operating System.
Emulating Console Games and Game Consoles
Amit Singh, PC World, pp. 96-99, September 1998A digression on software emulation of game consoles.
The Ever Changing Face of Computing [Cover Story]
Amit Singh, PC World, pp. 52-77, December 1997A brief history of computing, and an attempt to approximate software and hardware trends in key areas of computing in the near future.
Untangling the Web: Pushing, Pulling, and More ...
Amit Singh, PC World, pp. 104-111, November 1997A discussion of some WWW technologies, with emphasis on popular mechanisms for supporting dynamic web objects on the Internet.
The Ultimate Guide to Setting Up a Multi-Boot PC
Amit Singh, PC World, pp. 88-97, October 1997Effective use of boot managers and other such software for convenient simultaneous residence of several UNIX-like operating systems on a PC, along with systems like Windows NT, Windows 95, and MS-DOS.
Computer Industry Scenario In India
Amit Singh, Weekly ASCII, Japan, pp. 24, September 22, 1997Operating Systems: Then, Now, and Tomorrow
Amit Singh, PC World, pp. 44-50, September 1997Reflections on some operating system design and implementation issues in various contexts, switching in time.
A Guide to Tweaking Your Linux System
Amit Singh, PC Quest, pp. 91-94, September 1997Guidelines for effective system configuration and other hints for getting more out of a Unix-like system on real-life hardware.
Knowing Too Many Programming Languages and the 5 Language Programming Trick
Amit Singh, PC Quest, pp. 167-169, August 1997A light-hearted discussion on the need for, and the repercussions of knowing too many programming languages. The trick refers to a piece of code representing the ubiquitous "Hello World" program whose syntactic structure is such that it is valid code for C, DOS Assembly, FORTRAN, Unix shell and Perl. The program outputs the same string ("Hello, World!") upon execution in all cases.
GUI Development Under Linux
Amit Singh, PC Quest, pp. 30-32, July 1997An exploration of some key toolkits and systems for developing graphical user interfaces on a Unix or Unix-like platform.
Emulating Microsoft Windows in Linux: WINE
Amit Singh, PC Quest, pp. 120-123, June 1997A critique of WINE, an open source Windows API emulator with programming support.
Emulating Microsoft DOS in Linux: DOSEMU
Amit Singh, PC Quest, pp. 98-101, May 1997A critique of DOSEMU, an open source DOS emulator that runs on Linux and NetBSD.