Re: /var/run/

From: Conrad Knauer <atheoi_at_no.spam.please>
Date: Fri Jan 05 2007 - 23:04:10 CST

On 1/5/07, Scott Walde <scott@waldetech.ca> wrote:

> It seems to me that Upstart is running contrary to the basic philosophy
> of Unix:
>
> (i) Make each program do one thing well. To do a new job, build afresh
> rather than complicate old programs by adding new features.
> - Doug McIlroy (/The Bell System Technical Journal)

Not that I know too much about the deep inner workings of a Linux
system, but from what I have read about upstart, it sounds like its
actually doing just that. Certainly they are building anew with
upstart, rather than adding another layer onto something. In
addition, they are apparently arguing that there is really only one
job being done but that it is currently being divided up among several
programs, creating unnecessary overlap. Consider the "Rationale"
section of https://wiki.ubuntu.com/ReplacementInitDiscussion

---
The current version of Ubuntu includes several daemons that all
arguably perform the same kind of job, yet each is configured in a
different way and each imposes different restrictions on the tasks
that can be performed.
Each of these daemons also reimplements much of the job of actually
starting a service, and none of them do it exactly the same way. Most
do not correctly sanitise the environment, or provide a method for the
developer or administrator to customise it.
In addition, there are many other non-traditional daemons that also
start services or run user tasks in addition to performing other jobs,
e.g. acpid. These daemons should not have to provide such
functionality, and instead should be able to trigger an event that
causes another daemon to perform the task.
The change from a linear-startup to an event-based model is driven by
requirement; with the increased proliferation of "modern" hardware
buses that support hotpluggable devices and unlimited length chains of
devices, it's simply not possible to declare a point in the boot
sequence where "all connected hardware has been found".
These leaves the boot sequence fragile, when it should be robust.
The reason for replacing init rather than adding a new daemon that
could adopt these duties is to provide reliable service supervision.
Process #1 is special, it is the parent of all processes that have let
their own parents die; i.e. daemons. This means that init receives
SIGCHLD when daemons die.
---
CK
Received on Fri Jan 5 23:04:21 2007

This archive was generated by hypermail 2.1.8 : Fri Jan 05 2007 - 23:04:30 CST