• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: StartupItems
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: StartupItems


  • Subject: Re: StartupItems
  • From: "Jordan K. Hubbard" <email@hidden>
  • Date: Tue, 23 May 2006 01:31:20 -1000


On May 22, 2006, at 11:18 PM, Peter Seebach wrote:

I don't know about that. Modern servers still have to manage some level
of consistency, or *services stop working*. And until we have the time,
budget, and inclination to rewrite everything from named to apache, servers
are still going to depend on some amount of stability.

I'm not sure what this is an argument in favor of, to be honest. It almost sounds like you're saying something to the effect of: "Servers break if you change them, thus forcing you not to change them. Ergo, servers don't have a problem with change!"


Even if that sort of logic was a comfort to you, our problem spaces encompasses the desktop as well as the server (and, if you look at the demographics, desktops are in the overwhelming majority) so it's ultimately not very comforting either way.

I disagree.

I think we have a lot of software which is doing just fine, with people
consistently able to make 3-4 9's of uptime, and some of the more stable
systems doing 5+.

"Doing just fine" is such a relative judgement that I think we're going to simply have to agree to disagree here. There's no question that there's a lot of dusty deck software out there and, if that whole Y2K thing hadn't happened, one might have even been able to extend the "just fine the way it is" umbrella to cover several million lines of COBOL code too. For that matter, there are still PDP-8 systems doing process control in various woolen mills around the U.S. No need to change them out, they're doing a fine job with more 9's worth of uptime than you've probably ever seen. The term "borrowed time" comes to mind, however, for both the PDP-8s and much of that software you're talking about. Ultimately, some change in the market or technology is going to push that stuff into obsolescence.


And yet, Linux and BSD systems are able to do it just by starting services
in a specified order, and have been doing so for a decade or more.

I think we've already covered the fact that Linux and BSD systems aren't attempting to do all the things that MacOSX is trying to do. If all you want to do is run a web server, you can do that on a CHIP these days, you don't even need a dedicated UNIX server. If you want a small handful of services, fine, build a BSD or Linux box - heck, since it's single purpose, just start your services out of /etc/ rc - why even bother with startup item abstractions? Oh, you want flexibility too? Now you're on the slope that ultimately leads to launchd (I know you'll disagree there, but we can agree to disagree here too).


Omitting a feature and blaming the people who provide it for being "slow"
is pure propaganda.

I think we disagree on it being a feature, otherwise it wouldn't be slated for deprecation.


Which, it seems to me, makes the cost of doing dependency checking and
ordering fairly low.  So why not do it?

Because it's fundamentally flawed, for many of the reasons John S. spelled out earlier. Some person who thinks they understand the system essentially hard-codes a dependency chain of A, B, C and D. Then, later, C is upgraded to no longer even need D (this kind of thing happens ALL the time) but hey, the people who maintain C don't have anything to do with the "startup items" for system X, so D is now stupidly and unnecessarily started but hey, it still works so nobody notices they're paying a penalty for no reason. Then, later, B develops a dependency on C and, in some cases, F. F, however, didn't even exist when the startup chain was coded up, so now you have B sometimes mysteriously failing to work for reasons that escape the current crop of sysadmins (did I mention that the original guy has long since fled to Bogota?). That's the SIMPLE example, with only 5 items. Multiply it out and you have a problem of quadratically increasing complexity.


With launchd, on the other hand, everybody just checks in and says "I provide foo" and anyone, anywhere, who asks for foo gets it. Simple. They can ask for it always, they can ask for it sometimes, they can decide to stop asking for it altogether in a future release and things Just Work as long as everyone plays by the rules (and this is not a constraint imposed uniquely by launchd - all formal systems have rules).

I don't see why this is so difficult to understand.

- Jordan

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: StartupItems
      • From: AndrĂ©-John Mas <email@hidden>
References: 
 >Re: StartupItems (From: email@hidden (Peter Seebach))

  • Prev by Date: Re: StartupItems
  • Next by Date: Re: StartupItems
  • Previous by thread: Re: StartupItems
  • Next by thread: Re: StartupItems
  • Index(es):
    • Date
    • Thread