Managing shared resource in an operating system by distributing reference to object and setting protection levels
AssigneeTilera Corporation
InventorChristopher D. Metcalf
Life of this patent
Estimating the term…
Abstract
Managing processes in a computing system comprising one or more cores includes generating an object in an operating system running on at least one core. A reference to the object is distributed to each of at least one and fewer than all of a plurality of processes to be executed on the at least one core. The operating system controls access to a resource such that processes to which the reference to the object was distributed have access to the resource and processes to which the reference to the object was not distributed do not have access to the resource.
Claims32
A method for managing processes in a computing system comprising one or more cores, the method comprising:
- generating an object in an operating system running on at least one core of the one or more cores;
- distributing a reference to the object to each of at least one of a plurality of processes to be executed on the at least one core;
- controlling by the operating system running on the at least one core access by a first one of the processes executing on the at least one core to a resource by determining whether the first one of the processes is one of the one or more processes to which the reference to the object was distributed to permit the first one of the processes to have access to the resource and otherwise deny the first one of the processes access to the resource being a process to which the reference to the object was not distributed;
- scheduling the plurality of processes to execute on the at least one core and, in response to scheduling the plurality of processes to execute on the at least one core,
- setting a protection level associated with the resource;
- assigning protection levels to the plurality of processes with processes to which the reference to the object was distributed having access to the resource and processes to which the reference to the object was not distributed not having access to the resource;
- and
- granting access to the resource based on comparing a protection level associated with a process requesting access to the stored protection level associated with the resource.
A method for managing processes in a computing system comprising multiple cores, the method comprising:
- generating an object in an operating system running on at least one core of the multiple cores;
- distributing a reference to the object to each of at least one and fewer than all of a plurality of processes executing on different respective cores of the multiple cores;
- and
- controlling access to a resource such that processes to which the reference to the object was distributed have access to the resource and processes to which the reference to the object was not distributed do not have access to the resource with the resource is accessible to multiple of the plurality of processes;
- scheduling the plurality of processes to execute on the at least one core and, in response to scheduling the plurality of processes to execute on the at least one core, determining whether each of the plurality of processes has been distributed the reference to the object;
- after determining whether each of the plurality of processes has been distributed the reference to the object, setting a protection level associated with the resource and assigning protection levels to the plurality of processes such that processes to which the reference to the object was distributed have access to the resource and processes to which the reference to the object was not distributed do not have access to the resource;
- and
- wherein the resource is associated with a register that stores the protection level associated with the resource.
A computer-readable hardware storage device tangibly storing a computer program product for managing processes in a computing system comprising one or more cores, the computer program including instructions for causing the computing system to:
- generate an object in an operating system running on at least one core;
- distribute a reference to the object to each of at least one and fewer than all of a plurality of processes to be executed on the at least one core;
- and
- control by the operating system running on the at least one core access by a first one of the processes executing on the at least one core to a resource by determining whether the first one of the processes is one of the one or more processes to which the reference to the object was distributed to permit the first process to have access to the resource and otherwise deny the first one of the processes access to the resource being a process to which the reference to the object was not distributed;
- schedule the plurality of processes to execute on the at least one core and, in response to scheduling the plurality of processes to execute on the at least one core,
- set a protection level associated with the resource and assign protection levels to the plurality of processes with processes to which the reference to the object was distributed having access to the resource and processes to which the reference to the object was not distributed not having access to the resource;
- and
- grant access to the resource based on comparing a protection level associated with a process requesting access to the stored protection level associated with the resource.
A computing system, comprising:
- one or more cores;
- and
- processors in the cores configured to:
- generate an object in an operating system running on at least one core;
- distribute a reference to the object to each of at least one and fewer than all of a plurality of processes to be executed on the at least one core;
- and
- control access by a first one of the processes executing on the at least one core to a resource determining whether the first one of the processes is one of the one or more processes to which the reference to the object was distributed to permit the first process to have access to the resource and otherwise deny the first one of the processes access to the resource being a process to which the reference to the object was not distributed;
- schedule the plurality of processes to execute on the at least one core and, in response to scheduling the plurality of processes to execute on the at least one core,
- set a protection level associated with the resource and assign protection levels to the plurality of processes with processes to which the reference to the object was distributed having access to the resource and processes to which the reference to the object was not distributed not having access to the resource;
- and
- grant access to the resource based on comparing a protection level associated with a process requesting access to the stored protection level associated with the resource.
Dependencies are inferred from the claim text.