X

MDJ on UNIX: update_prebinding failure; crashes in UNIX that can corrupt data

MDJ on UNIX: update_prebinding failure; crashes in UNIX that can corrupt data

CNET staff
3 min read
In the latest issue of the MDJ, there is an informative article titled: The UNIX Mentality. Here are some highlights:

update_prebinding failure The article describes the "optimizing system performance via update_prebinding" issue - as covered in the previous item. It provides details as to what prebinding actually does. It notes that the command does not "bind objects in Cocoa applications to each other ahead of time, instead of when the program is run, therefore speeding things up" as sometimes claimed. Instead, it has to do with mapping locations of shared libraries so that they can be more quickly accessed." (Skipping over many technical details here.)

The only problem here is that, when Matt Deatherage (editor of MDJ) gave this prebinding command a try, it failed to work, locking up after only partially scanning the files on his drive. This happened over several tries and< variations. On his most recent attempt, his Mac has been going for 21 hours with no end in sight. The execution of the command has also slowed down the overall performance of the system to the point that virtually nothing responds to mouse or keyboard input (even though he can still ping the machine successfully).

Why crashes in UNIX can corrupt data on your drive The article contrasts how Mac OS 9 and Mac OS X deal with data stored in RAM, noting that the difference can lead to a more likely loss of data in Mac OS X - if you are forced to restart your system after a crash. The essential difference is that Mac OS 9, always worried about a potential crash, tries to write data from RAM to disk as soon as possible. UNIX (and thus Mac OS X) considers crashes to be such a rare event that the OS will keep data in RAM caches for a much longer time. The result is that, if a crash occurs, critical data may not have been written to your disk when you are forced to restart. A potential protection against this is to let the system be idle for a period of time before restarting, hopefully given it a chance to flush the cache to disk. Of course, if the system is "busy," as in the update_binding dilemma described above, this is not likely to work. This is one reason why users may experience failures to restart after a system crash (as has been reported in several threads in the MacFixIt Forums).

UNIX vs. Mac The article also comments more generally on Mac OS X's use of UNIX, coming to conclusions similar to what we reached in our Mac OS X review. Namely, that part of the problem of UNIX is that it puts UNIX in control of your access to the computer instead of the other way around. It adds: "Mac OS X goes farther than any preceding operating system in putting a real human interface on UNIX, but it is a clash of cultures of epic proportions. The UNIX people badly want to win the battle, turning Mac OS X into Just Another UNIX, but one with mainstream hardware and software support and a 'nice' graphical shell. Macintosh users in turn want their computers to act like Macs, and any UNIX concepts that interfere with this should therefore be hidden or eliminated."