Archive for the 'Mac OS X' Category
Sunday, March 15th, 2009
The other day I came across this web page in which the author describes his experiment to create a tiny ELF executable that will run on Linux. The result: a 45-byte ELF executable that executes and returns a value. The executable is functionally equivalent to the one generated from compiling the following C program.
[...]
Posted in Mac OS X, Operating Systems | No Comments »
Sunday, March 8th, 2009
Suppose you have a Macintosh without a TPM. This, of course, is highly likely because only the first few x86-based Macintosh models had TPMs. Now suppose you really want to experiment with Trusted Computing or features of the TPM in general. Your needs could be development-related or they could be purely academic. Well, you [...]
Posted in Computer Science, Mac OS X | No Comments »
Monday, March 2nd, 2009
The other day I needed to know within one of my experimental programs if the host x86 processor supports certain features. In many cases, the operating system provides interfaces that can answer such questions. Sometimes, the interfaces may not have the answer, or you may wish to avoid them for other reasons. (Say, you don’t [...]
Posted in Mac OS X, Operating Systems | No Comments »
Wednesday, February 25th, 2009
The Apple Kernel Debug Kit comes with a kernel gdb macros file (kgmacros) that contains numerous macros useful during low-level development and analysis. One of the macros is showbootermemorymap, which dumps the physical memory map from EFI. The information in this map is very useful for certain types of development.
Since I am often mobile—without ready [...]
Posted in Mac OS X | No Comments »
Tuesday, January 20th, 2009
XBinary is software that lets you add kernel-level support for executing arbitrary binary formats on Mac OS X. To read more about it and to download it, visit the XBinary page.
Posted in Computer Science, Mac OS X, Operating Systems | No Comments »
Wednesday, December 17th, 2008
Here are some extended notes on understanding, compiling, and using AncientFS, the file system I talked about in the previous blog post.
Posted in Computer Science, Mac OS X, MacFUSE, Operating Systems | No Comments »
Tuesday, December 16th, 2008
There has been much buzz about new features and functionality in MacFUSE 2.0. Besides the MacFUSE 2.0 release, there are still more new and interesting things to be discussed in the realm of user-space file systems. As I described and briefly demonstrated during my recent talk at the Googleplex, I wrote several new user-space file [...]
Posted in Computer Science, Mac OS X, MacFUSE, Operating Systems | No Comments »
Thursday, December 11th, 2008
Mac OS X, like many other Unix-like operating systems, includes the “autofs” file system layer that make automatic on-demand mounting of remote resources possible. See the man page for automount(8) for more details.
Such automatic mounting is orthogonal to and possible with MacFUSE. (NB: You will need MacFUSE 2.0 or above for this to work properly [...]
Posted in Mac OS X, MacFUSE | No Comments »
Monday, December 8th, 2008
It was a little over two years ago that I gave serious thought to making user-space file systems a reality on Mac OS X. The result of that work, MacFUSE, was introduced at the Macworld conference in January 2007. Since then, MacFUSE has come a long way. It’s been used in projects big and small [...]
Posted in Google, Mac OS X, MacFUSE | No Comments »
Monday, November 24th, 2008
A couple of weeks ago, I released HFSDebug 4. I’ve updated it to make HFSDebug’s pathname processing a little more sophisticated. Depending on how (and how seriously) you use HFSDebug, knowing the details could be useful.
When you specify a file system object to HFSDebug using a pathname, how HFSDebug will treat the pathname usually depends [...]
Posted in Apple, Mac OS X, Operating Systems | No Comments »
Sunday, November 9th, 2008
I wrote HFSDebug in early 2004. I initially made it available as a software tool to help understand fragmentation in HFS+ volumes, although it could also be used to analyze several implementation details of HFS+. Eventually, I extended HFSDebug to be able to analyze all on-disk aspects of HFS+, along with the ability to compute [...]
Posted in Apple, Mac OS X, Operating Systems | No Comments »
Tuesday, August 19th, 2008
Earlier this year, I released GrabFS, a MacFUSE file system that shows “live” screenshots of Mac OS X applications. If you wish to understand how GrabFS works, you can now browse its source.
Enjoy.
Posted in Mac OS X, MacFUSE | No Comments »
Friday, July 25th, 2008
MacFUSE has a new install/update mechanism that greatly simplifies and improves things both for end users and developers who use MacFUSE in their software.
The relevant wiki page has all the details.
Note that instead of Tiger- and Leopard-specific downloads, now there’s a single downloadable disk image containing a single installable package. The package, which third parties [...]
Posted in Google, Mac OS X, MacFUSE | No Comments »
Wednesday, July 23rd, 2008
Recently, I had a need to know if any files or folders had been modified or created on an HFS+ volume in the past N seconds. There are many ways you could generate this type of information on Mac OS X.
To begin with, you could try asking Spotlight.
Besides Spotlight, Mac OS X has a rich [...]
Posted in Computer Science, Mac OS X, The Book | No Comments »
Monday, April 28th, 2008
Version 1.5 of MacFUSE is out.
The CHANGELOG has details of what’s new.
Posted in Google, Mac OS X, MacFUSE | No Comments »
Tuesday, February 26th, 2008
I discovered a bug in hfsdebug. It causes hfsdebug to crash while printing Access Control Entry (ACE) details for certain files or folders. For example, consider the standard ~/Library/Preferences/ folder on Leopard.
$ ls -lde ~/Library/Preferences
drwx——@ 167 singh staff … /Users/singh/Library/Preferences
0: group:everyone deny delete
This folder has an ACE for the group everyone. In particular, [...]
Posted in Mac OS X, The Book | No Comments »