Information Technology Reference
In-Depth Information
Process management.
What is the system call interface for process
management?
Input/output. What is the system call interface for performing I/O and
interprocess communication?
Case study: Implementing a shell. We will illustrate these interfaces
by using them to implement a user-level job control system called a shell.
Case study: Interprocess communication. How does the communi-
cation between a client and server work?
Operating system structure. Can we use the process abstraction to
simplify the construction of the operating system itself and to make it
more secure, more reliable, and more flexible?
3.1
Process management
On a modern computer, when a user clicks on a file or application icon, the
application starts up. How does this happen and who gets called? Of course,
we could implement everything that needs to happen in the kernel | draw the
icon for every item in the file system, map mouse positions to the intended icon,
catch the mouse click, and start the process. In early batch processing systems,
the kernel was in control by necessity. Users submitted jobs, and the operating
system took it from there, instantiating the process when it was time to run the
job.
A different approach is to allow user programs to create and manage their
own processes. This has fostered a blizzard of innovation. Today, programs
that create and manage processes include window managers, web servers, web
browsers, shell command line interpreters, source code control systems, databases,
compilers, and document preparation systems. We could go on, but you get the
idea. If creating a process is something a process can do, then anyone build
a new version of any of these applications, without recompiling the kernel or
forcing anyone else to use it.
An early motivation for user-level process management was to allow devel-
opers to write their own shell command line interpreters. A shell is a job control
Definition: shell
system; both Windows and UNIX have a shell. Many tasks involve a sequence
of steps to do something, each of which can be its own program. With a shell,
you can write down the sequence of steps, as a sequence of programs to run to
do each step. Thus, you can view it as a very early version of a scripting system.
For example, to compile a C program from multiple source files, you might
type:
If we put those commands into a file, the shell reads the file and executes
it, creating, in turn, a process to compile sourcefile1.c, a process to compile
Search WWH ::




Custom Search