Warning:
JavaScript is turned OFF. None of the links on this page will work until it is reactivated.
If you need help turning JavaScript On, click here.
This Concept Map, created with IHMC CmapTools, has information related to: Protection & Process, thread scheduling: preemptive scheduling- a thread may be suspended at any point to make way for another thread nonpreemptive scheduling- a thread runs until it makes a call to the threading system, the system may deschedule it and schedule another thread to run has worker pool architecture: ther server creates a fixed pool of worker threads to process the requests when it starts up., contest switching: takes place when switching between threads -saves the processors original register state and loading of new state -a transfer to a new protection domain has threads implementation: many kernels provide native support for multi threaded processes, windows, linux, solaris, mach. they provide thread creation and management system calls, and schedule individual threads. when kernels do not support multithreads they suffer from: -threads within a process cant take advantage of a multiprocessor, -a thread that takes a page fault blocks the entire process and all threads with it, -threads within different processes cant be scheduled according to a single scheme of relative prioritization. user level threads implementations have advantages over kernel level: -certain threads are less costly -since the thread scheduling is done outside the kernel there can modifications to suit apps, -more user level threads can be supported than a kernel can provide. kernel notifies user level scheduler by: -virtual processor allocated -SA blocked -SA unblocked -SA preempted, protection resources require protection from illegitimate accesses contains kernels and protection kernel always runs and its code is executed with complete access priviledges for the physical resources on its host computer. most processors have a hardware mode register whose setting determines whether privlideged instructions can be run, a kernel process executes with the processor in supervisor mode, the kernel arranges where other processes run in user mode. the kernel also sets up address spaces to protect itself and other processes from the accesses of an aberrant process and to provide processes with their required virtual memory layout. a process can not access memory outside its memory space, thread scheduling: preemptive scheduling- a thread may be suspended at any point to make way for another thread nonpreemptive scheduling- a thread runs until it makes a call to the threading system, the system may deschedule it and schedule another thread to run has thread synchronization: prgramming a multi threaded process requires great care, the main issue are sharing of objects and the techniques used for thread coordination and cooperation. I/O and worker threads use shared queues to transfer requests in some server threading architectures, Threads: advantages of enabling client and server processes to possess more than one thread enables servers to maximize their throughput, number of requests processed per sec has threads vs multiple processes: threads are cheaper to create and manage than processes and resource sharing can be achieved more efficiently between threads than between processes cuz threads share an execution environment, Threads: advantages of enabling client and server processes to possess more than one thread enables servers to maximize their throughput, number of requests processed per sec has contest switching: takes place when switching between threads -saves the processors original register state and loading of new state -a transfer to a new protection domain, Threads: advantages of enabling client and server processes to possess more than one thread enables servers to maximize their throughput, number of requests processed per sec has thread lifetimes: a new thread is created on the same java virtual machine as its creator, in the suspended state. threads can be run by priority that will run in preference to lower or higher., choice of process host: the process allocation decision is a matter of policy transfer policy- determines whether to situate a new process locally or remotely location policy-determines which node should host a new process selected for transfer process policies may be static or adaptive. load manger component in heirarchical. sender initiated- load sharing algorithms, the node that requires a new process to be created is responsible for initiating the transfer document migratory-load sharing systems can shift load at any time, not just when a process is created has creation of a new execution environment: once the host computer has been selected, a new process requires an execution environment consisting of an address sapce with initialized contents, address spaces: is a unit of management of a process's virtual memory. region: is an area of contiguous virtual memory that is accessible by the threads of the owning process each region is specified by: -lowest virtual address & size -read/write/execute permissions for the process's threads -whether it can be grown upwards or downwards shared memory region: is one that is backed by the same physical memory one or more regions belonging to other address spaces uses of shared regions are: -libraries-library code can be very large and would waste considerable memory if it was loaded separately into every process that used it -kernel-often kernel code and data are mapped into every address space at the same location -data sharing and communication- two processes, or a process and the kernel, might need to share data in order to cooperate on some task contains choice of process host: the process allocation decision is a matter of policy transfer policy- determines whether to situate a new process locally or remotely location policy-determines which node should host a new process selected for transfer process policies may be static or adaptive. load manger component in heirarchical. sender initiated- load sharing algorithms, the node that requires a new process to be created is responsible for initiating the transfer document migratory-load sharing systems can shift load at any time, not just when a process is created, address spaces: is a unit of management of a process's virtual memory. region: is an area of contiguous virtual memory that is accessible by the threads of the owning process each region is specified by: -lowest virtual address & size -read/write/execute permissions for the process's threads -whether it can be grown upwards or downwards shared memory region: is one that is backed by the same physical memory one or more regions belonging to other address spaces uses of shared regions are: -libraries-library code can be very large and would waste considerable memory if it was loaded separately into every process that used it -kernel-often kernel code and data are mapped into every address space at the same location -data sharing and communication- two processes, or a process and the kernel, might need to share data in order to cooperate on some task contains process and threads: process- consists of of an execution environment together with one or threads thread- is the os abstraction of an activity, Threads: advantages of enabling client and server processes to possess more than one thread enables servers to maximize their throughput, number of requests processed per sec has threads within clients: 1st thread generates results to be passed to the server 2nd thread can which can performt he remote method invocation and blocks so the 1st thread can compute further results, thread scheduling: preemptive scheduling- a thread may be suspended at any point to make way for another thread nonpreemptive scheduling- a thread runs until it makes a call to the threading system, the system may deschedule it and schedule another thread to run has thread per request architecture: the I/O thread spawns a new worker thread for each request and workers destroy theirselves when it has processed the request against its designated remote object., address spaces: is a unit of management of a process's virtual memory. region: is an area of contiguous virtual memory that is accessible by the threads of the owning process each region is specified by: -lowest virtual address & size -read/write/execute permissions for the process's threads -whether it can be grown upwards or downwards shared memory region: is one that is backed by the same physical memory one or more regions belonging to other address spaces uses of shared regions are: -libraries-library code can be very large and would waste considerable memory if it was loaded separately into every process that used it -kernel-often kernel code and data are mapped into every address space at the same location -data sharing and communication- two processes, or a process and the kernel, might need to share data in order to cooperate on some task contains creation of a new process: creation of a new process can be separated into two aspects: -the choice of a targe host -the creation of an execution environment, thread scheduling: preemptive scheduling- a thread may be suspended at any point to make way for another thread nonpreemptive scheduling- a thread runs until it makes a call to the threading system, the system may deschedule it and schedule another thread to run has threads programming: is a concurrent programming, common thread prgramming language is C, POXIS are pthreads. also Java which has methods for creating threads by destroying them and syncing them, choice of process host: the process allocation decision is a matter of policy transfer policy- determines whether to situate a new process locally or remotely location policy-determines which node should host a new process selected for transfer process policies may be static or adaptive. load manger component in heirarchical. sender initiated- load sharing algorithms, the node that requires a new process to be created is responsible for initiating the transfer document migratory-load sharing systems can shift load at any time, not just when a process is created has choice of process host: the process allocation decision is a matter of policy transfer policy- determines whether to situate a new process locally or remotely location policy-determines which node should host a new process selected for transfer process policies may be static or adaptive. load manger component in heirarchical. sender initiated- load sharing algorithms, the node that requires a new process to be created is responsible for initiating the transfer document migratory-load sharing systems can shift load at any time, not just when a process is created