System Calls

Process Termination
1166 views
Process Termination

After a process has been created, it starts running and performs whatever its job is. However, nothing lasts forever, not even processes. Sooner or later the new process will end, generally due to one of the following conditions:

THREADS
1716 views
THREADS

In usual operating systems, each process has an address space and a single thread of control. In reality, that is almost the definition of a process. However, there are often situations in which it is desirable to have multiple threads of control in the same address space running in

Implementing Threads in the Kernel
1467 views
Implementing Threads in the Kernel

Now let us examine having the kernel know about and manage the threads. No run-time system is required in each, as shown in Fig. 1-(b) of previous article "Implementing Threads in User Space". Also, there is no thread table in each process. Instead, the kernel has a thread table

Sleep and Wakeup
1585 views
Sleep and Wakeup

Both Peterson's solution and the solutions using TSL or XCHG are correct, but both have the fault of requiring busy waiting. Basically, what these solutions do is this: when a process wants to enter its critical region, it checks to see if the entry is allowed. If it is not, the process just

Semaphores
3707 views
Semaphores

This was the position in 1965, when E. W. Dijkstra (1965) suggested using an integer variable to count the number of wakeups saved for future use. In his suggestion, a new variable type, which he called a semaphore, was introduced. A semaphore could have the value 0,

Mutexes
1258 views
Mutexes

When the semaphore's ability to count is not required, a simplified version of the semaphore, called a mutex, is often used. Mutexes are good only for managing mutual exclusion to some shared resource or piece of code. They are easy and efficient to implement, which makes

Monitors
1473 views
Monitors

With semaphores and mutexes interprocess communication looks easy, right? Forget it. Look closely at the order of the downs before inserting or removing items from the buffer in Semaphores Figigure 1. Assume that the two downs in the producer's code were reversed in

Message Passing
1247 views
Message Passing

That something else is message passing. This method of interprocess communication uses two primitives, send and receive, which, like semaphores and unlike monitors, are system calls rather than language constructs. As such, they can easily be put into library procedures,

MEMORY MANAGEMENT
1421 views
MEMORY MANAGEMENT

Main memory (RAM) is an essential resource that must be carefully handled. While the average home computer nowadays has 10,000 times more memory as the IBM 7094, the largest computer in the world in the early 1960s, programs are getting bigger faster than memories. To

Soft Timers
635 views
Soft Timers

Nearly all computers have a second programmable clock that can be set to cause timer interrupts at whatever rate a program needs. This timer is in addition to the main system timer whose functions were described in previous post. As long as the interrupt frequency is low, there

Page 2 of 2 Previous 1 2 Next