Skip to main content

Advanced Kernel Programming

  • Chapter
  • 1143 Accesses

Abstract

This chapter covers miscellaneous topics that are of interest to more advanced kernel programmers. We’ll discuss how Streaming SIMD Extensions (SSE) and floating point can be used in the kernel. (SIMD is short for Single Input Multiple Data.) We will also examine strategies for dealing with drivers for multifunction devices, and discuss the implementation of I/O Kit families. We’ll cover the kernel control KPI that can be used for user space communication with KEXTs such as Network Kernel Extensions (NKE) that does not use the I/O Kit. We also show how to work with and manipulate processes from the kernel, such as getting the process identifier (PID) of a process and sending signals to the process. Some drivers may need additional resources loaded from the file system, such as firmware images. This chapter provides a discussion of how these resources can be loaded using the OSKextRequestResource() function. The chapter concludes with a discussion of how a driver can send messages to a user space daemon using notifications.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   59.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Ole Henry Halvorsen and Douglas Clarke

About this chapter

Cite this chapter

Halvorsen, O.H., Clarke, D. (2011). Advanced Kernel Programming. In: OS X and iOS Kernel Programming. Apress. https://doi.org/10.1007/978-1-4302-3537-8_17

Download citation

Publish with us

Policies and ethics