×

System and method for implementing shared locks between kernel and user space for synchronize access without using a system call to the kernel

  • US 9,128,786 B2
  • Filed: 11/22/2011
  • Issued: 09/08/2015
  • Est. Priority Date: 11/22/2011
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising:

  • one or more processors configured to implement a plurality of operations for an operating system (OS) platform including a kernel and a user application;

    one or more shared physical memory blocks that are accessible to both a thread of the kernel and a user thread of the user application; and

    one or more shared locks that are manageable by both the kernel thread and the user thread,wherein each of the shared locks corresponds to at least one of the shared physical memory blocks,wherein the user application is configured to synchronize accesses to the shared physical memory blocks between the user thread and the kernel thread by accessing the locks via the user thread without using a system call to the kernel,wherein the kernel thread is configured to set at least one of the shared locks prior to accessing the corresponding shared physical memory block to lock out access by the user thread,wherein the user thread is configured to set at least one of the shared locks prior to accessing the corresponding shared physical memory block to lock out access by the kernel thread,wherein the user application shares the shared physical memory blocks by mapping physical memory block data from a kernel space into a user space and operating on the mapped data,wherein the operations for the OS include a plurality of kernel threads and a plurality of user threads that are categorized according to priority,wherein the kernel threads that have higher priority are allowed to remove the locks set by the user threads that have lower priority by terminating the user threads, andwherein the shared locks are initialized in a kernel space and used by the user threads and the kernel threads.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×