What is a zombie? It depends on who you ask. Venture capitalists talk about zombies, and so do operating system programmers. Not to mention people who watch zombie movies. And in a surprise bit of news just a few weeks ago, a satellite thought to be dead was only a zombie. IMAGE IMAGE is a NASA satellite. IMAGE stands for Imager for Magnetopause-to-Aurora Global Exploration. It was a launched in 2000 and monitors the flow of plasma around the earth. Then, on Thanksgiving Day in 2005 it went silent without warning. The only hope was that perhaps the satellite would reboot after an eclipse when its solar panels would lose power for an extended period. But, after the eclipse, there was still silence and NASA gave up tracking the satellite. On January 20 this year, a few weeks ago, a hobbyist in Canada called Scott Tilley was looking for Zuma, the secret satellite that SpaceX launched unsuccessfully (SpaceX said their rocket did its thing perfectly, but since it is a secret project, nobody else is talking). That's Scott's hobby, tracking down spy satellites. Anyway, he found a satellite, but was disappointed when he realized it was not Zuma. He checked in the satellite database that amateur satellite hunters like him use, and it seemed to be IMAGE. He then realized that the weak signal he'd found was just a harmonic of the real transmission, and when he looked in the right place it was transmitting very strongly. So he wrote a blog post about it, and went to bed. After all, as he put it: who’s going to listen to some guy in his basement with a coil of copper wire on his roof? His wife then teased him that if he was smart enough to find a long lost satellite, he was smart enough to find the guy that built it. He discovered the name of the IMAGE principal investigator and emailed him. He thanked Scott, and emailed the mission director who jumped into action. It turns out to be a non-trivial task to re-establish contact with a long-dead satellite. Some of the stations used to communicate with it no longer exist, the software it used is no longer in use, and some of the codes required are on a 4mm tape cartridge and nobody can find a reader. Anyway, the satellite turns out to have been undead, a zombie, transmitting for years (probably) with nobody listening. However, contact has now been established and the first data downloads have been done. The battery is fully charged, and even the power distribution unit that was presumed to have failed in 2004 is working. So there is another mystery, which is why the satellite became a zombie, and then why it came back to life. That's the status as of a couple of weeks ago. You can read Scott's blog post , and Mike Hatfield's (of NASA's Goddard Space Center) timeline of the ongoing recovery. The latest news: It's Alive: NASA Confirms Satellite Thought to be Dead Is Still Functioning . What a VC Calls a Zombie Just like in the movies, a zombie company is one of the living dead. Y Combinator founder Paul Graham has the concept of default alive and default dead , which is the same idea. Given the cash in the bank, the revenue, and their growth rate, if nothing changes are they alive or dead? Do they run out of cash or not? A venture capitalist (VC) calls a company a zombie if it is not burning cash, and so it is not going to go bankrupt even if starved of future funds. On the other hand, it is not doing well enough that it has any exit possibilities. VCs have a fuse burning on their funds though, and generally seven to ten years after they first raised money for the fund, they want to be able to close it down and do the final accounting: how many companies were sold for a nice gain, how many ran out of money, and so on. But zombies make this difficult since they are not dead yet, and could even go on for years growing slowly, successfully funding operations out of revenue but never achieving a growth rate that is going to interest another company in a merger or acquisition, never throwing off enough profit to make a merger with anyone accretive. In this scenario, VCs will often push companies to try something, anything, that might create success, even with the attendant risk of total failure. VCs like the answer to be clear even though the employees would rather simply have a job for a long time. To an employee, a "lifestyle company" can be a very nice lifestyle. To a VC, it is a term of disparagement. Even winding up the company is unattractive, since a technology sale of $1M is so close to zero for a VC as to be the same thing, so if there is any chance of some low-odds strategy making the company genuinely successful, then that is more attractive. And sometimes low-odds plays work (just ask the Minnesota Vikings ). Public companies can get into this state, too, not doing well enough to go anywhere but not doing badly enough to die. Their stock price languishes since there is no chance that anyone is going to try and acquire the company for its running business, and little chance that the company is going to break out and become a star performer. For example, at one point soon after I left VLSI Technology, their market cap (their share price times the number of shares outstanding) was not only less than their book value (the value of all their capital equipment, buildings, investments, and cash) but less than the cash they had in the bank. In theory, it should be possible to buy the company using its own cash (ignoring any premium). This is not like buying a $1M house for $500K, it is like buying it for $500K when you know there is $600K in the master bedroom closet. It is a vote of no-confidence by the shareholders, an acknowledgment that the company is in the value-destroying business. Of course, VLSI at that cheap price was attractive, and Philips Semiconductors (now NXP) acquired it in a hostile takeover the following year. Theo Claasen, who was CTO of Philips Semiconductors at the time, told me that they acquired VLSI for the Ericsson business in mobile (30% of VLSI's revenue), but mostly because VLSI could get ASIC designs into a leading-edge process about two years faster than Philips could, and they needed to learn. Since there is almost no VC investment in EDA these days, not many new EDA companies are being created, at least in the US. This means that the companies that remain, outside of the big ones, are mostly VC-style zombies. Not growing fast, and thus not an interesting acquisition target, but with enough revenue to keep going. Zombies in Linux Operating systems generally have a way for one process to create another one. In non-Unix-like operating systems, this is a complex "create process" system call. The most elegant way to create new processes was introduced in Ritchie and Thompson's Unix (of which Linux, Android, and iOS are all flavors). The only way to create a new process is through the fork system call. This creates a process that is identical to the creating process, running the same code. Of course, if both processes were 100% identical, they would go forward and do precisely the same thing twice, which would not be very useful. So the fork system call returns a value. The parent (creating) process receives the process identifier for the created child process. The new child process comes into existence exactly as if it had returned from the same fork call, except it gets a result of zero, so it knows it is the child. Often, at that point, the child goes off and does something completely different, and the parent process waits for the child to finish and return an exit status (success, or an error code). Under normal circumstances, this is the order: the parent process waits on the status, the child terminates, the parent is passed the exit status, and the child process evaporates. If the parent process doesn't immediately wait for the child process to complete, it is possible that the child process finishes before the parent tries to find out the exit status. This is where today's topic of zombies comes in. Processes like this remain around even though they have finished running, since there is nowhere else to hold that exit status. They are called zombies. Under normal circumstance, the parent will soon wait on the child's exit status, and the zombie is "reaped". Unix doesn't just have zombies, it also has orphans. If the parent process terminates before the child (usually because it crashed due to an error), then the child has no parent process, and becomes an orphan. Actually, the mother of all processes, init, is the ultimate foster parent and gets to adopt all orphan children. It always waits on all its children (this will seem all too familiar to any of you who are parents), so when the child completes, it will be handled normally. When I said fork is the only way to create a new process, there is one slight exception. When the bootloader brings the operating system into memory, it passes control to the init process, which exists as a result of the way the system was built. It is like Adam and Eve not needing a navel, they existed because of the way the system was built. But every other process on Unix-like systems, from the largest supercomputer to your smartphone, is created by fork, just as every other human after Adam and Eve was created by birth (and so has a navel). Orphans and zombies come together in a rare condition where the child process completes before the parent processes waits on its exit status (so it becomes a zombie), but then the parent process crashes (making the child an orphan, too). So if you want to sound terribly knowledgeable about all this, you can tell anyone that will listen (you need to go to more interesting parties!) that: Zombies that become orphans are reaped automatically. Do You Know What Your Erdős Number Is? Sign up for Sunday Brunch, the weekly Breakfast Bytes email.
↧