Mac OS Device Driver Development
Mac OS X
To many driver developers, Mac OS X is the most exciting development in operating systems in years. Apple learned a great deal from the many years of Mac OS Classic evolution, but perhaps more exciting is the amount of technology and philosophy they incorporated from the large and experienced Unix community. Some extremely well thought out approaches to task scheduling, threading, context switching, and related topics are evident within the OS X kernel, and much of the kernel code, as well as drivers, application code, and more, are publicly available through Apple’s “Darwin” project.
Although we share the feeling that OS X is a significantly compelling new platform, we also acknowledge that there is still work to be done and also that many of the earlier versions of the OS did things differently. This requires some creativity in driver design. Fortunately, Art & Logic has been working with OS X since its earliest days. In 2001 we attended WWDC at Apple’s invitation, in order to provide guidance to developers on porting and development. We can bring our comprehensive understanding of the OS X kernel, and the “families” of functionality, to bear on your hardware, integrating your product seamlessly with the operating system.
Mac OS Classic
Mac OS Classic has always been a bit of an “old boys network”. There is very little formal documentation available on advanced programming techniques, and the best Mac OS driver developers are generally the ones who have been closely involved with the Mac community for years, reading the magazines, attending the conferences, and pursuing their passion for this fascinating platform. Mac OS permits an unusual amount of control and discretion by the driver developer. With care and skill this can permit drivers that take full advantage of your hardware — interrupts can be serviced extremely quickly, unusual things can be done in these interrupt handlers, etc. This flexibility can also unfortunately lead to dangerous drivers, or drivers which can drag the entire system down to an unacceptable level of performance.
Art & Logic has been working with the lowest levels of the Mac OS since 1991. Our founders and many of our original employees were Mac users, and we continue to depend upon our close relationship with Apple, now formalized as a development partnership, to help us to resolve challenging issues when knowledge of the OS internals is beneficial. Over the years we have pioneered approaches to driver development, including reusable object-oriented frameworks for audio drivers which save development time and improve the quality and flexibility of the end-product; USB optimizations; networking classes, and more. We have a great deal of experience with adding support under Mac OS for products that already have Windows support — we will port what we can, and write whatever else is required with reference to your hardware documentation.
Long-Term Technology Relationships
Art & Logic takes a flexible, long-term approach to technology and design decisions. We use our knowledge of most major software technologies to help you choose the best platform for your application. If the right tools don’t exist, we can build them from scratch or assemble pre-existing components.
Of course, your long-term support plans, existing systems, schedule, and budget weigh heavily into these decisions. We take the time to get to know our clients and the business requirements for their software.
Learn more about advice and planning.
For more information, contact:

Andrew Sherbrooke
Lead Engineer
Please use the become a client form to begin a discussion about your project.

