[clue-tech] upstart

dennisjperkins at comcast.net dennisjperkins at comcast.net
Tue Sep 9 18:09:57 MDT 2008


 -------------- Original message ----------------------
From: Nate Duehr <nate at natetech.com>
> dennisjperkins at comcast.net wrote:
> 
> > One problem is a lack of documentation.  I've spent some time searching the 
> web for information and I've got some notes assembled.  Some of it is clear.  
> Some requires testing to make it clear.  Some of this confusion seems to be due 
> to changes in upstart.  I really wish that people would put dates on their blogs 
> and documents.  It would make it easier to know that I am looking at obsolete 
> information.
> > 
> > The use cases seem to have been hastily thrown together.
> 
> Crappy engineering, exactly as Michael has been saying.  Make a real 
> case for replacing SysVInit BEFORE replacing it in multiple distros, 
> seems like it should have been more important than writing the 
> replacement code.

It's no worse than I've seen from some companies that we work with.  That doesn't justify it, it's just an unfortunate fact.
 
> Coders code, they often don't engineer.  It's a big difference.  I've 
> been saying that here on the list for a few years now... Software 
> Engineering often... ISN'T.  It's just slapping crap together.
> 
> No engineering standards/rules across the industry, little quality 
> control or REAL code re-use (avoiding bugs), no culture of engineering ...
> 
> ... just a culture of "hacking".
> 
> Fun, yes!  Professional?  No.
> 
> How would we all feel if Doctors used methodologies like the typical 
> Linux coder?  If computers are "running our lives" doesn't software 
> development at least deserve that level of care about HOW things are 
> done that there's some kind of oversight?

I think it's still on a level above politicians. :)

> Want to work on financial systems, you have to be Board Certified as a 
> Professional Software Developer, perhaps?

> It'll never happen.  Software devs aren't mature enough to realize that 
> it's even needed.  Shiny new toys are more important than stability and 
> standards.

Yep.  Like so much else in our lives.

> > Dependency information seems to be the traditional means of trying to modify 
> init.  I think a few people were already exploring this in the late 90's or in 
> 2000.  This can affect manual starting and stopping of services as well as 
> startup and shutdown.  If you want to start a service, are all of its 
> dependencies running?  If not, start them.  If you want to stop a service, does 
> it affect other services?  If so, do you still want to stop the service and 
> every affected service?
> 
> Dependencies are the application's problem, not the OS's.  And certainly 
> not some pseudo-manager that's released as part of the OS.
> 
> Or at least it HAS been.  Now we have to learn a new paradyme on someone 
> else's whim, I guess.

Yes.  Giving the system enough smarts to help.  

> > Upstart's use of events might be due to USB, which is event driven.  Plug in a 
> device.  Unplug it.  This causes events in the USB hardware which propagate to 
> the kernel.  And out to udev, if you are running udev.  After udev has created 
> or destroyed a device node, it generates an event and sends it out via D-Bus to 
> any interested program.  This would be Nautilus on Gnome, which starts 
> gnome-mount to mount a USB memory device.  KDE's window manager might do the 
> same thing, but a different program might handle this.
> 
> Kernel's job.  All of it.  Kernel needs to get smarter about hotplug and 
> USB.

No.  Some things are migrating out of the kernel for flexibility.  Devfs was in the kernel.  Udev is in user space.  I read that video drivers might be moved out of the kernel, or part of X moved in.  Isn't FUSE an attempt to move filesystems out of the kernel?

> > Linux seems to be converging on udev/dbus/HAL to handle hot-pluggable devices, 
> with DeviceKit to replace HAL in the goal of "making things just work".  This 
> triad impinges on fstab, /mnt, and whatever variant of init is being used 
> (sysvinit, initng, runit, upstart).  I know of two daemons that attempt to 
> handle LAN and wireless connections to make networking just work.  This might 
> affect the network bootscript.
> 
> Linux never "converges" on anything.  Give it two years and it'll be 
> something else handling this basic stuff (stuff that already by now 
> should "just work" like it sure seems to on my other commercial 
> OS's!)... but it'll take Linux another four years or more to decide to 
> stick with something, and even then, no guarantees.
> 
> How do you build any kind of quality products on that moving mudslide 
> where stuff changes without documentation all over the system on a 
> regular basis.

Isn't this the complaint some BSDers use?

> Are "bug" and "security" patches on all distros LIMITED to JUST fixing 
> the bug or the security issue?  Rarely.  Functionality and features 
> OFTEN change during security patches.  That's WRONG.  (Granted some 
> distros avoid this, but get slapped for "patching upstream's code" 
> instead of just releasing whatever the "latest and greatest" version is 
> to fix the security problem.
> 
> Continuation/Maintenance engineering versus Development engineering.  A 
> never-ending tug-of-war.

The same is true in hardware.  Why do they move things around on the dashboard and steering wheel?



> Does Upstart do parallel starts?  Is that REALLY the driving force 
> behind it's "uptake"?

Partly, to shorten the boot time. But they are also attempting to make it easier to install a package that needs a bootscript.  And maybe to remove it later.   The package maintainer doesn't know what will be on a system.  Package managers help a lot, but not with setting up the bootscripts, I guess.

If you write the job files to do parallel starts.  Just specify the same start trigger and the jobs will start together.  I think the only place where Ubuntu takes advantage of it right now is starting the ttys.

> Booting fast is easy... don't start up any useful software!  (GRIN)

You mean stop when the kernel is loaded?  :)
 


More information about the clue-tech mailing list