Prev | Current Page 1356 | Next

Christopher Negus

"Linux Bible, 2008 Edition: Boot up to Ubuntu, Fedora, KNOPPIX, Debian, openSUSE, and 11 Other Distributions"

This is one way in which the Linux development environment informs, or defines,
writing programs on a Linux system.
The catch? If the device you want to use doesn??™t have a driver (also called a kernel module), you
can??™t use the write() call to do anything with that device. You simply do not have a way to communicate
with the device. This is how the Linux development environment constrains programming
on a Linux system.
What, then, in addition to the file idiom already discussed, are the key features of Linux that
characterize its development environment? In no particular order:
 The process model
 CPU and memory protection
 The security model
 Preemptive multitasking
 Its multiuser design
 Interprocess communication
 The building blocks approach
751
Programming Environments and Interfaces 28
Let??™s take a closer look at each of these features.
The Process Model
The process model is the way that Linux creates and manages running processes. Provided that a
process has the necessary privileges, it can create (or spawn) other processes, referred to as child
processes. The parent process can also exchange data with child processes. Of course, the capability
to create child processes is not unique to Linux, but the particular way in which Linux does so
is characteristic of all UNIX-like systems.


Pages:
1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368