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