May 02, 2011

Explain the Significance of "Dead Beef"

Full Question:
Explain the significance of "dead beef".

Dead Beef. It does not mean a real dead beef. Don't say I'm so sad of hearing about it.

0xDEADBEEF ("dead beef") is frequently used to indicate a software crash or deadlock in embedded systems. It is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun Microsystems' Solaris, it marks freed kernel memory. On OpenVMS running on Alpha processors, DEAD_BEEF can be seen by pressing CTRL-T. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef".

DEADBEEF is a hexadecimal value that has was used in debugging back in the mainframe/assembly days because it was easy to see when marking and finding specific memory in pages of hex dumps. Most computer science graduates have seen this at least in their assembly language classes in college and that's why they expect software engineers to know it.