News Column

Patent Issued for Invoking Operating System Functionality without the Use of System Calls

September 11, 2014

By a News Reporter-Staff News Editor at Computer Weekly News -- Facebook, Inc. (Menlo Park, CA) has been issued patent number 8819349, according to news reporting originating out of Alexandria, Virginia, by VerticalNews editors.

The patent's inventor is Berezecki, Mateusz (Menlo Park, CA).

This patent was filed on July 8, 2011 and was published online on August 26, 2014.

From the background information supplied by the inventors, news correspondents obtained the following quote: "The disclosure herein generally relates to enhancing software application performance within a given hardware and operating system environment.

"Interrupt-driven processors frequently execute code at different privilege levels, the different privilege levels conveying different permissions to perform operations. For example, the executable code of an operating system, such as the code for the operating system kernel, is typically run at a higher privilege level than the code of ordinary application programs. In this environment, application code or other code running at a lower privilege level may lack sufficient permissions to perform certain operations, such as writing to particular areas of memory (e.g., writing to memory of the network stack for sending a packet). In consequence, the application code must communicate a request to the code of a high privilege level, such as the operating system kernel code, to perform the operation on its behalf. In order to maintain security, the request must typically be made through some form of gate mechanism--such as an interrupt, or a system call resulting in a software interrupt--that causes a hardware protection check of the operation to ensure that it does not violate security constraints. For this reason, the application cannot communicate directly with the operating system kernel.

"However, the use of software interrupts and other gate mechanisms imposes additional overhead and can lead to significant degradation of performance and even to lost data. In response to a software interrupt from an application, the operating system must save the state of the application, execute appropriate code to handle the interrupt, and then restore the application state, disabling further interrupt processing while this is taking place. This process can be time-consuming relative to other processing operations and in the aggregate can consume a significant share of the system's processing in a system experiencing frequent interrupts, such as when performing a significant number of I/O operations such as reading from a solid state disk or sending data over a network interface. Further, since interrupt processing is disabled, if other interrupts occur during interrupt processing the interrupts will not be handled and thus any information associated with the interrupt will be lost."

Supplementing the background information on this patent, VerticalNews reporters also obtained the inventor's summary information for this patent: "Embodiments of the invention operate within the context of a system with a processor providing memory-monitoring functionality and having more than one processor core. The lower-privileged code of a first process, such as user application code, communicates directly with higher-privileged code of a second process, such as code of the operating system kernel, without using a software interrupt or other gate mechanism. This enhances overall system performance by eliminating the saving of state and processing inherent in interrupt handling, and also avoids missing events that may occur while other interrupts are masked during interrupt handling.

"More specifically, the second process initializes a monitored memory area that is directly accessible by processes having at least the privilege level of the first process. The second process further initializes memory-monitoring hardware of the processor to monitor writes to the monitored memory area, such that the second process will resume execution from a dormant state when a write takes place.

"With this initialization performed, the first process can use the monitored memory to communicate a request for the second process to carry out a privileged service on behalf of the first process, without needing to use a software interrupt or other gate mechanism. That is, when the first process needs the second process to perform a service such as sending a packet on its behalf, instead of making a request for the service via a system call triggering a software interrupt, the first process writes information describing the request (or a pointer to the information) into the monitored memory. The memory monitoring hardware then awakens the second process from a dormant state, and the second process reads the information and invokes the service using the information.

"The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter."

For the URL and additional information on this patent, see: Berezecki, Mateusz. Invoking Operating System Functionality without the Use of System Calls. U.S. Patent Number 8819349, filed July 8, 2011, and published online on August 26, 2014. Patent URL:

Keywords for this news article include: Facebook, Facebook Inc., Software.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC

For more stories covering the world of technology, please see HispanicBusiness' Tech Channel

Source: Computer Weekly News

Story Tools Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters