 |
 |
OS without reboots?
|
 |
|
 |
|
Mac Enthusiast
Join Date: Oct 2000
Status:
Offline
|
|
Hi,
I'm just downloading today's Security Update which will tell me to reboot -> this sucks.
Would it be possible to have an operating system which you boot once when you buy it, when you put in more RAM etc, but not for any software reason?
Just wondering, because I love my uptime
-- Daniel
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Jul 2001
Location: New York, NY
Status:
Offline
|
|
Originally posted by danengel:
Would it be possible to have an operating system which you boot once when you buy it, when you put in more RAM etc, but not for any software reason?
Sure.
It'd just be an operating system you never updated.
|
|
cpac
|
| |
|
|
|
 |
|
 |
|
Mac Enthusiast
Join Date: Oct 2000
Status:
Offline
|
|
Originally posted by cpac:
Sure.
It'd just be an operating system you never updated.
I mean could there be an OS which could be updated without having to be rebooted? Of course changing the memory manager at runtime isn't trivial, but hey, a big company can't update their e-commerce servers. Yes, they could use more than one and update one after another, but you know what I mean.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Apr 2003
Location: The City Of Diamonds
Status:
Offline
|
|
I think it's possible in theory. But I think Apple recommends this just to be on the safe side. I think you can unload an reload all sorts of stuff manually while booted. (well you can do this with kexts, not sure about other things).
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Mar 2002
Location: Chicago, IL
Status:
Offline
|
|
Somewhat unrelated, but I heard that the new Suns can hot swap cpu's. Probably memory too. Pretty cool.
|
We need less Democrats and Republicans, and more people that think for themselves.
infinite expanse
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
I mean could there be an OS which could be updated without having to be rebooted?
I believe mainframe OSes fall into that category. I have heard rumours (although I have no personal experience - ready the sodium chloride) of mainframes which have uptimes exceeding ten years. In that time, no physical part escaped replacement, but the machine was never out of service.
Of course changing the memory manager at runtime isn't trivial
If one took care writing it in the first place, it wouldn't require replacement.
I heard that the new Suns can hot swap cpu's. Probably memory too
You mean one of these? Or something like this? You pays your money, and takes your choice.
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Aug 2003
Location: Chicago
Status:
Offline
|
|
Sure its possible. It just isn't convenient for most users. You could probably get away with starting and stopping some services for most OS X updates, but home users (the core market) aren't going to want to or be able to do that. It would be nice if Apple would tell you how to do it if you absolutely had to, but I suspect its not really that important to that many users. Besides, as anyone doing support knows a good reboot fixes just about everything. Can't be all bad.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Enthusiast
Join Date: Oct 2000
Status:
Offline
|
|
You mean one of these? Or something like this? You pays your money, and takes your choice.
Oh my, what a nice baby... Up to 106 processors and 500 GB RAM, and of course, 72 PCI slots. I wouldn't expect less
Makes my Dual 1.25 look like a gameboy.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
Up to 106 processors and 500 GB RAM, and of course, 72 PCI slots
SGI make machines with up to 512 processors and a terabyte of memory in a single system image. Sun haven't worked out how to do that yet. However, the Sun Fires seem to have better redundancy than the Origins.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Enthusiast
Join Date: Dec 2000
Location: Chicago, IL
Status:
Offline
|
|
why are you people so obsessed with uptime?  i'm just wondering. because i don't see what the big deal is unless you're running a server or something.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Enthusiast
Join Date: Oct 2000
Status:
Offline
|
|
Originally posted by iRebound:
why are you people so obsessed with uptime? i'm just wondering. because i don't see what the big deal is unless you're running a server or something.
I don't really care about uptime.
This week, yet another virus screwed up some PCs. Microsoft had provided a patch, but only a few people installed it. Joe Sixpack and my Grandma don't care whether they have the latest updates.
One of the reasons people don't want to install patches all the time is because they'd have to reboot which interrupts their work.
If all updates could be made without the user even noticing it, they could be automatically installed by the system.
BTW: What would anybody do with 1 TB of RAM?? Play Tetris?
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Norway (I eat whales)
Status:
Offline
|
|
Originally posted by iRebound:
why are you people so obsessed with uptime? i'm just wondering. because i don't see what the big deal is unless you're running a server or something.
No, I care because I am lazy and don't feel like closing all the apps I have up an running just because of an update.
Actually I did upgrade the ram on my XP box recently and accidentally forgot it was only in sleep mode. It booted up and reloaded the session back into memory just fine, although I had to restart because of XP didn't understand the machine had a boost on ram all of the sudden. 
|

Sniffer gone old-school sig
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
Originally posted by danengel:
BTW: What would anybody do with 1 TB of RAM?? Play Tetris?
You're right. All anyone would really need is 640k.
Matt Fahrenbacher
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Tasmania, Australia
Status:
Offline
|
|
Originally posted by york28:
Somewhat unrelated, but I heard that the new Suns can hot swap cpu's. Probably memory too. Pretty cool.
Yes, they can hot swap CPU's, memory, PCI cards, disks... I think even power supplies, but I'm not sure about that.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Tasmania, Australia
Status:
Offline
|
|
Originally posted by Interstate8:
Sure its possible. It just isn't convenient for most users. You could probably get away with starting and stopping some services for most OS X updates, but home users (the core market) aren't going to want to or be able to do that. It would be nice if Apple would tell you how to do it if you absolutely had to, but I suspect its not really that important to that many users. Besides, as anyone doing support knows a good reboot fixes just about everything. Can't be all bad.
Hang on, why would it be inconvenient if the updater restarted whatever components needed restarting. The user wouldn't even notice, unless they were using an application that relied on that service being available continuously. You've got to authenticate as an admin for these updates anyway, so it has all the privileges it needs to restart anything.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Tasmania, Australia
Status:
Offline
|
|
Originally posted by Richard Edgar:
SGI make machines with up to 512 processors and a terabyte of memory in a single system image. Sun haven't worked out how to do that yet. However, the Sun Fires seem to have better redundancy than the Origins.
But what processors to SGI use? are they intels? I know I'd rather 106 SPARC processors to 512 pentiums. Well, maybe not quite as much grunt, but it's certainly not in the order of the 5 to 1 that the numbers might look like.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Jan 2001
Location: Mahwah, NJ USA
Status:
Offline
|
|
Suns Solaris on Sun hardware can upgrade the kernel and just about any other software component without a reboot required. However, updating Solaris software and applying patches is a real chore. There are zillions of them.
Old IBM AS400 servers have the same ability. Almost every single component can be replaced while the machine is running... even the power cord! (It has a built in UPS). It is fairly common to be able to have hot-swappable power supplies in large servers. I have even seen dual hotswap power supplies in 1U x86 based blade servers. I have some ancient quad CPU HP Netservers that have triple hotswappable power supplies.
SuSE Linux has the ability to upgrade the kernel without a reboot. Most Linux distros can but it takes a lot of configging. The ONLY thing a most Linux distros need a reboot for is for a new kernel.... everything else is handled with modules. Modules for hardware drivers, modules for filesystems, modules for services. Just rmmod the module, install a new one, then insmod the module. Many software updaters will do this for you like Red Hats up2date. This makes it easy to test new things without having to reboot. Some servers can take a long time to reboot as all the controllers come online and run through their self tests. It is even possible to hotswap IDE and SCSI drives without any special hardware IF the driver is modular.
What I find irritating about the Mac OS X updates is not the reboots but the "optimizing" that it claims it has to do after installing the update. This can take upwards of 30 minutes or more (but usually less) during which it is not clear whether one can use the machine or not for anything productive.
|
|
-DU-...etc...
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
But what processors to SGI use? are they intels?
MIPS. Intel don't make processors like that.
On the Suns.... if you follow the link, and read the article, you will see a claim of 'no single point of failure.' Same with the zSeries from IBM. That means that everything will be hot swappable.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2002
Location: Hobart, Tasmania, Australia
Status:
Offline
|
|
Originally posted by danengel:
BTW: What would anybody do with 1 TB of RAM?? Play Tetris?
my university installed a SGI Origin at the start of the year, 512cpus, 1TB ram, 5 TB SAN iirc.
the machine does meteorlogical (weather) calculations, the Antartic IASOS does prediction work on it (ice shelf movement and stuff). Physics do high energy simulations, chemistry simulate molucules at the atom level. I think one of the computing PhD types are using it to do AI research.
to give you an example the system the sgi replaced was a cray 1, it would take 14 hours to compile that few seconds of cloud movement you see on the tv weather report of a night, when using 42% of the systems resources.
for the people that do this sort of work a TB of ram is 'just enough' it's like us when we say 256meg is 'just enough'. If you think it's impressive that a G4 does Gflops/sec. The people doing the above sort of stuff are pushing for Petaflops/sec.
http://www.cray.com/company/video/CrayX1_hires.wmv
and more informative
http://www.cray.com/company/video/CraySV2_hires.wmv
the SV2 was the X1 system before it went into production.
|
1Ghz Powerbook
40gb/1x512mb/combo/T68i
FireRAID 1 Host Independant Hotswap RAID 1 (80gb)
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jul 2003
Location: Bless you
Status:
Offline
|
|
I've got an SGI Octane here, and I can pretty much install most things without needing a reboot, the only time I get asked to do this, is if I change the network ID.
It's got 8GB of ram stuffed in it which is not bad, and dual R12000 cpus.
|
|
A Jew with a view.
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
I've got an SGI Octane here, and I can pretty much install most things without needing a reboot
But can you swap out one of the processors without requiring a reboot?
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jul 2003
Location: Bless you
Status:
Offline
|
|
Originally posted by Richard Edgar:
But can you swap out one of the processors without requiring a reboot?
Unfortunately no, but thankfully it';s a rare thing to do, like other hardware upgrades. It's nice to have the OS work in that way though, you just install what you want, and it re-configures, and relaunches necessary sub-systems. The Installer is a treat to use, it will notify you of any conflicts, such as dependancy.
|
|
A Jew with a view.
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Nov 2001
Status:
Offline
|
|
Originally posted by danengel:
Hi,
I'm just downloading today's Security Update which will tell me to reboot -> this sucks.
Would it be possible to have an operating system which you boot once when you buy it, when you put in more RAM etc, but not for any software reason?
Just wondering, because I love my uptime
-- Daniel
Linux almost never requires reboots with updates. The ONLY things that I've seen require reboots are kernel updates (go figure a reboot is required there ;-) Other modules -- pretty much ANYTHING including ssh, etc. does not require a reboot.
Mac OS X has a modular kernel (with kernel extensions) so it's possible they wouldn't have to require as many reboots. Not sure why they require as many... perhaps lazy or overly cautious installer writers.
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Aug 2003
Status:
Offline
|
|
Originally posted by CatOne:
Linux almost never requires reboots with updates. The ONLY things that I've seen require reboots are kernel updates (go figure a reboot is required there ;-) Other modules -- pretty much ANYTHING including ssh, etc. does not require a reboot.
Part of Linux's design is the core is very monolithic, the single kernel file is responsible for a majority of the critical OS components. As you know, ssh is NOT a critical component. sshd isn't even a module, it's just an application. I don't have to reboot a MAC when I update say.. TextEdit.
Of course, if one of those critical components (like an IDE driver) is flakey, or an upgrade goes awry, you'll be recompiling the kernel several times to get it fixed.
|
|
-SSZ
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Nov 1999
Location: The workshop of the TARDIS...
Status:
Offline
|
|
Most OS X software updates don't *require* a restart. However, restarting is simply the easiest way for average joe schmoe to kill and reload the updated system components.
There's quite a bit of chat in on some of the techie unix sites that tell you how you can do this. However, it's often quicker to just restart and pick up where you left off.
Now, if only OS X had a feature where you could pick up all apps and docs *exactly* where you left off automatically when you reboot. Kinda like VPC's "Save and Quit" feature.
JB
|
|
---------------------------
"Time will tell. It always does."
-The Doctor
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Sep 2000
Location: Glasgow, Scotland UK
Status:
Offline
|
|
Well really the installer should be told or better yet should be able to work out what components have been altered and thus what services need to be restarted. The installer should only request a restart if it is absolutly required, how hard can this be to implement?
|
|
"You can't waste a life hating people, because all they do is live their life, laughing, doing more evil."
-ALPHA ROBERTSON,whose daughter was one of four girls killed in the bombing of a Birmingham, Ala., church in 1963.
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2002
Status:
Offline
|
|
Of course, if one of those critical components (like an IDE driver) is flakey
I believe that, for a true micro-kernel design, small things like device drivers are not considered critical, and hence replacing them does not require a reboot.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
When Apple updates a library, any apps which link against that library need to be reloaded or else you might end up with them in an inconsistent state. The easiest way for Apple to guarantee system stability is just to require a reboot.
|
|
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status:
Offline
|
|
Originally posted by Angus_D:
When Apple updates a library, any apps which link against that library need to be reloaded or else you might end up with them in an inconsistent state. The easiest way for Apple to guarantee system stability is just to require a reboot.
Log-out would do that for the high-level stuff.
The low-level apps (like sshd or fix_prebinding) could be re-started by the installer itself.
Mac OS X doesn't have a monolithic kernel. One of the main advantages of our modular kernel is that parts of it can be modified w/o taking down the whole system.
Apple is too lazy and/or too careful when it comes to this. The installers could do kextunload/kextload, but they prefer to let us reboot. Why shouldn't they? We're just devote users and we love to reboot.
This probably also has to do with the way Apple sees itself. Apple still thinks it's producing a Joe Sixpack personal home OS. That's baloney. After having done the tedious switch to a full-blown Unix OS they should rethink that position. All the more when they want to sell Xserves and play server OS. Serious pro users will laugh at them for having to reboot after installing a patch to OpenSSH. 
|
|
•
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Jun 2001
Location: Glasgow, Scotland.
Status:
Offline
|
|
Originally posted by utidjian:
Suns Solaris on Sun hardware can upgrade the kernel and just about any other software component without a reboot required. However, updating Solaris software and applying patches is a real chore. There are zillions of them.
Nonsense.
Almost every patch for Solaris tells you to "Install in Single User Mode. Reboot immediately after patch is installed."
Here's the READMEs for the most recent kernel and storage drivers updates...
kernel & drivers
You cannot expect the kernel to unload a whole bunch of drivers and be able to continue. Especially when one of them is the only thing that knew how to talk to the disks!
Some very high-end Sun kit, which can partition themselves into multiple hosts, and so will run multiple kernels can continue to operate while one part of it is patched and restarted. This can give the impression of continuous uptime. Apple don't make high-end kit.
In the case of the recent security patch, this updated the main system library. Not just any library, not just one or two programs, but the most important library in the whole operating system.
Every program links to the system library. How are you going to restart every program on the system without restarting? The process which manages starting and stopping the OS, init(8), needed to be restarted. You can't restart init without restarting the operating system.
When I installed this patch, I didn't want to restart immediately so I did the update through the "softwareupdate" program through the Terminal. It doesn't force a Restart. Within 5 minutes I had programs blowing up all around me because the library they were trying to use had just been over-written.
I figure a reboot was necessary.
That said, on my Sun I could replace the "libc.so" (the main system library) with a new one, restart the processes known to have been affected by this bug and continued without rebooting. But this is (1) because I (not Sun) know which programs I would need to restart and (2) because Sun uses different shared library and file system semantics than Apple. Sun would still recommend I reboot. (Their README)
That help clear things up?
Cheers!
(Last edited by ducasi; Aug 16, 2003 at 05:57 PM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Jun 2001
Location: South Detroit
Status:
Offline
|
|
You non-rebooters should try rebooting every day for a week and see if you don't notice how much faster your computer runs. OSX really slows down once the memory is full and the 'management' starts. I never miss a chance to restart. Maybe I will switch to every third day once I get one of those shiny new 8gig G5 thingamajiggers.
|

I love the U.S., but we need some time apart.
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2001
Location: Chile
Status:
Offline
|
|
i agree that apple's easiest way to kill all services and relaunch them is a ... reboot.
yet, sometimes a reboot is unworthy yet mandatory ... anyone remember the MS Office installer ?? totally unnecessary !
|
:: frankenstein / lcd-less TiBook / 1GHz / radeon 9000 64MB / 1GB RAM / w/ext. 250GB fw drive / noname usb bluetooth dongle / d-link usb 2.0 pcmcia card / X.5.8
:: unibody macbook pro / 2.4 Ghz C2D / 6GB RAM / dell 2407wfp - X.6.3
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status:
Offline
|
|
Originally posted by mrtew:
You non-rebooters should try rebooting every day for a week and see if you don't notice how much faster your computer runs. OSX really slows down once the memory is full and the 'management' starts. I never miss a chance to restart. Maybe I will switch to every third day once I get one of those shiny new 8gig G5 thingamajiggers.
Excuse me, but that is just plain baloney.
Two things really slow down OS X:
- having 128MB RAM and thinking "that has to be enough"
- installing ten million haxies, menu bar extensions, kext's for hardware you don't have, 10 million lines of code with graphical knickknack "to enhance the experience", spinning dinosaurs in the dock, farting trash cans, etc.
So, if a reboot gives you back more speed than a simple log-out & log-in it has to do with either point a or b IMHO. First get a decent amount of RAM and then remove all the bloat and crap that has managed to infiltrate and contaminate your computer.
And then, come back here and tell us in the face that a reboot still gives you magical speed gains.

|
|
•
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Jun 2001
Location: South Detroit
Status:
Offline
|
|
Originally posted by Simon:
Excuse me, but that is just plain baloney.
Two things really slow down OS X:
- having 128MB RAM and thinking "that has to be enough"
- installing ten million haxies, menu bar extensions,...etc.
So, if a reboot gives you back more speed than a simple log-out & log-in it has to do with either point a or b IMHO. First get a decent amount of RAM and then remove all the bloat and crap that has managed to infiltrate and contaminate your computer. And then, come back here and tell us in the face that a reboot still gives you magical speed gains.
I have a gig of RAM and I try to be careful not to run any crap the gets the CPU going, but I do like my menuextras and Haxies. My computer is pretty darned fast all the time though... it's not like it's getting bogged down or anything, it's just even faster after a restart. I will try your suggestion though... I am always looking for more speed. I thought it was almost common knowledge that a restart will speed up OSX for a while... are you sure you're right about me being full of baloney?
|

I love the U.S., but we need some time apart.
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status:
Offline
|
|
Originally posted by mrtew:
I have a gig of RAM and I try to be careful not to run any crap the gets the CPU going, but I do like my menuextras and Haxies. My computer is pretty darned fast all the time though... it's not like it's getting bogged down or anything, it's just even faster after a restart. I will try your suggestion though... I am always looking for more speed. I thought it was almost common knowledge that a restart will speed up OSX for a while... are you sure you're right about me being full of baloney?
I didn't say you were full of baloney. I don't have any problems with you, I just thought that last comment was baloney. I believe that's an important difference.
A gig of RAM should be fine.
Why don't you try to see if turning off the gimmicks helps you for speed.
The reason I oppose to this reboot-philosophy is I fail to see a technical reason for it to help. There are such things like memory leaks, but if you quit an app the OS will regain that memory space when it really needs it (after all we are running a very sturdy UNIX-based system). When you reboot you stop all those leaking apps, but they are also stopped when you press Command-Quit.
Of course low-level processes could also be responsible, but I have not found any that waste CPU or RAM by big amounts. The exception here are haxies, graphical gimmicks and other bad-hacked code. You may enjoy those things, but you should try and see if it's not really that junk that slows your system down after a while.
Therefore I can't see how a reboot could be better than logging out and back in. I have tried to benchmark my system and when I compared both methods I didn't see any benefit of rebooting.
This calmed me down btw. In a modern OS there should be no reason for people to reboot every so often just to regain memory or speed. Apps use CPU and RAM and the system should get it back if they try to take too much. It's MS' philosophy that memory gets used up just like gas when you drive a car.
Ah, and BTW, check your "Login Items" pref panel every so often. You might find some stuff getting started you didn't know of. There are crappy installers (like Palm's) who put stuff in there w/o telling you. From then on apps get started at login time and may use memory and cycles w/o you knowing what's actually causing that performance hit. Installers can be very evil pieces of script code.

(Last edited by Simon; Aug 17, 2003 at 09:18 AM.
)
|
|
•
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Jan 2001
Location: Mahwah, NJ USA
Status:
Offline
|
|
Originally posted by ducasi:
Nonsense.
Almost every patch for Solaris tells you to "Install in Single User Mode. Reboot immediately after patch is installed."
Here's the READMEs for the most recent kernel and storage drivers updates...
kernel & drivers
You cannot expect the kernel to unload a whole bunch of drivers and be able to continue. Especially when one of them is the only thing that knew how to talk to the disks!
True! (on low end Sun hardware). I apologize. I should have qualified my ealier statement. But then you agree with my point....
Some very high-end Sun kit, which can partition themselves into multiple hosts, and so will run multiple kernels can continue to operate while one part of it is patched and restarted. This can give the impression of continuous uptime. Apple don't make high-end kit.
... thank you. That (and other reasons) is why I don't run Solaris on Suns lower end hardware. Sun promised no more reboots in Solaris 8, alas, it was not to be. On the low and the high end Sun is MUCH better about hardware hotswapping (including CPU IF you have 2+ CPUs). Linux also supports hotpluggin g of CPUs for almost two years now (again only for 2+ CPUs). It is a patch for 2.4.x series but has been merged in 2.5. Basically all one has to do is:
echo 0 > /proc/sys/kernel/cpu/cpuid/online
swap the CPUs then
echo 1 > /proc/sys/kernel/cpu/cpuid/online
and yer done.
There are quite a few features in the Linux kernel that can be turned on and off like that for services and hardware. Many hardware support features do it automatically with the dynamically loadable modules. For instance right now on the machine that I am typing this message from I have 39 modules loaded. Some are hardware drivers and some services. Some of them interconnect or depend on other modules and some don't. If they go for some period of time without being used they automatically unload.
In the case of the recent security patch, this updated the main system library. Not just any library, not just one or two programs, but the most important library in the whole operating system.
Interesting. When I upgrade glibc, the main set of libs without which no gcc built system will function, I didn't have to reboot. The installer automatically runs ldconfig to update the paths and links to the new libs.
Every program links to the system library. How are you going to restart every program on the system without restarting? The process which manages starting and stopping the OS, init(8), needed to be restarted. You can't restart init without restarting the operating system.
Again interesting. I don't really know how Linux does it but it seems to be able to do just that... without a reboot. I can even build and install a new kernel without rebooting... but I can't run it without a reboot. The exception to that is SuSE which can install a new kernel and run it without a reboot. Not sure how they do that but I think they just, basically, exec the new kernel.
When I installed this patch, I didn't want to restart immediately so I did the update through the "softwareupdate" program through the Terminal. It doesn't force a Restart. Within 5 minutes I had programs blowing up all around me because the library they were trying to use had just been over-written.
I figure a reboot was necessary.
Again interesting. I have never had that problem with Linux that I can remember. Oh wait... once, on this same workstation, I was messing around with a lot of non-standard stuff. I had to really work at it to screw it up... using "rpm --force --nodeps somevilepackage.rpm" and it hosed quite a few things. It even broke RPM so there was no simple way to fix it. I also knew it would never reboot properly in the state I had put it in. I dumped a history of all the junk I had installed then used the RPM program from a rescue CD... forced the correct packages back in and I have been fine ever since. All without a reboot. It always seems to "just work". I can't say that I have ever had this problem with Mac OS X because I always rebooted as requested. I have had problems (lots of them) with fink however.
That said, on my Sun I could replace the "libc.so" (the main system library) with a new one, restart the processes known to have been affected by this bug and continued without rebooting. But this is (1) because I (not Sun) know which programs I would need to restart and (2) because Sun uses different shared library and file system semantics than Apple. Sun would still recommend I reboot. (Their README)
That help clear things up?
No not really. It IS something that I am very interested in. There are a lof of strange capabilities in operating systems in general... or lack thereof. Recently I tested something I have read about called "halted kernel firewall". Basically one can run a "more secure" firewall with a halted Linux kernel. It will return pings (if you allow it) and forward the filtered packets even after the kernel has been halted. I tested it on my Sun SPARCstation LX (running Aurora Linux) and it works. I use the LX "lunchbox" as my primary firewall because it is quiet, low power, headless, easy to manage via serial console, and very very reliable... and cheap (only $15 used).
|
|
-DU-...etc...
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Jun 2001
Location: Glasgow, Scotland.
Status:
Offline
|
|
Originally posted by utidjian:
True! (on low end Sun hardware). I apologize. I should have qualified my ealier statement. But then you agree with my point....
Well I'm not so sure - each image needs to be reboot. That is the kernel has to be halted and reloaded. Other images will continue to run in the meantime...
Linux also supports hotplugging of CPUs for almost two years now...
Assuming the hardware supports it, of course. And this isn't the same as partitioning (which I believe is possible with Linux on some of the big IBM iron.)
There are quite a few features in the Linux kernel that can be turned on and off like that for services and hardware. Many hardware support features do it automatically with the dynamically loadable modules. For instance right now on the machine that I am typing this message from I have 39 modules loaded. Some are hardware drivers and some services. Some of them interconnect or depend on other modules and some don't. If they go for some period of time without being used they automatically unload.
Like Mac OS X kexts.
Interesting. When I upgrade glibc, the main set of libs without which no gcc built system will function, I didn't have to reboot. The installer automatically runs ldconfig to update the paths and links to the new libs.
Sure, same on Solaris. Mac OS X isn't able to do this for one or maybe two reasons.
When Apple's Installer updates a file, it appears that it overwrites the file rather than replacing the old one. If you understand normal unix file semantics you'll immediately understand the significance of this.
On normal unix, moving or removing the old file allows programs which had the file open to continue to use it. As programs are started or restarted they will use the new file. Everyone's happy. Except that if if was libc that was replaced and it's a particularily serious bug you'll want all processes restarted, including init. I'll come back to this in a minute.
It could be, on Mac OS X, its unusual shared library system, with "prelinking", doesn't allow for this. Or maybe Apple's emulation of standard unlinking (removing) semantics in the HFS+ file system isn't good enough for this trick to work effectively.
So, maybe Apple are just over-writing, which is bad, or maybe there's a more fundamental problem which either forces them into overwriting, or gives that appearance.
Again interesting. I don't really know how Linux does it but it seems to be able to do just that... without a reboot. I can even build and install a new kernel without rebooting... but I can't run it without a reboot.
This is exactly what all unix systems have been doing forever. You restart the processes that are affected by the bug. This is usually a small set of services that can be safely restarted. But, say there was a bug in the "kill(2)" system call in libc that allowed non-root users to mess with the system, you wouldn't be able to restart it without the kernel needing restarted. Maybe linux is a bit different here, but most unices will panic if init dies unexpectedly.
Installing a new kernel is not really different. It's just not used until you reboot. On some OSes it can cause problems with programs like ps and top that need to be able to read the running kernel image. (In linux they just get the info direct via /proc.)
The exception to that is SuSE which can install a new kernel and run it without a reboot. Not sure how they do that but I think they just, basically, exec the new kernel.
Hmmm, not sure I'd trust that. Where does all the state of the running programs and old kernel go? What if the new kernel has a totally different memory manager?
It could be made to work, but it'd be rather difficult. Have you got any good linkage about this?
Again interesting. I have never had that problem with Linux that I can remember. Oh wait... once, on this same workstation, I was messing around with a lot of non-standard stuff. I had to really work at it to screw it up...
Reasons for Mac's screw-up explained above. Quite often on unix when you've made a total screw-up rebooting is the last thing you want to do. I recently accidentally over-wrote part of a Solaris 8 /lib directory from a Solaris 7 machine. Rebooting then would have so-much been the wrong thing to do. We fixed it with the help of another Solaris 8 machine, but we rebooted later at the end of the day just to make sure the machine would come back up.
Recently I tested something I have read about called "halted kernel firewall". Basically one can run a "more secure" firewall with a halted Linux kernel. It will return pings (if you allow it) and forward the filtered packets even after the kernel has been halted.
Yep, I've heard of this kind of thing in the BSD world. In fact the kernel isn't fully halted, it just isn't serving any user processes. The network stack is still running, filtering and forwarding packets as normal. It's not uncommon for a wedged kernel (maybe stuck in a device driver that's broken) to continue to network away as normal as the networking runs at a higher priority level.
I tested it on my Sun SPARCstation LX (running Aurora Linux) and it works. I use the LX "lunchbox" as my primary firewall because it is quiet, low power, headless, easy to manage via serial console, and very very reliable... and cheap (only $15 used).
I used a SS-2 running OpenBSD as a firewall on my home network for a while, but it was neither low power nor quiet. These days, I figured Mac OS X is secure enough to not need protected from the big, nasty internet.
Cheers!
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Jan 2001
Location: Mahwah, NJ USA
Status:
Offline
|
|
snippage
Originally posted by ducasi:
Assuming the hardware supports it, of course. And this isn't the same as partitioning (which I believe is possible with Linux on some of the big IBM iron.)
Yeah it also works on much lower end hardware like i586 200MHz boxes. See:
http://user-mode-linux.sourceforge.net/
Kinda fun... one can screw around all one wants in any of the UML instances and not risk the main system.
more snippage
Installing a new kernel is not really different. It's just not used until you reboot. On some OSes it can cause problems with programs like ps and top that need to be able to read the running kernel image. (In linux they just get the info direct via /proc.)
Yeah, /proc is one of the things I miss most in Mac OS X. Is there an equivalent interface to the kernel?
Hmmm, not sure I'd trust that. Where does all the state of the running programs and old kernel go? What if the new kernel has a totally different memory manager?
It could be made to work, but it'd be rather difficult. Have you got any good linkage about this?
I am not sure but I think it basically goes to runlevel 1 before it execs the new kernel. I haven't used SuSE in quite a while so I will ask some of the SuSEniks where I work about it.
Reasons for Mac's screw-up explained above. Quite often on unix when you've made a total screw-up rebooting is the last thing you want to do. I recently accidentally over-wrote part of a Solaris 8 /lib directory from a Solaris 7 machine. Rebooting then would have so-much been the wrong thing to do. We fixed it with the help of another Solaris 8 machine, but we rebooted later at the end of the day just to make sure the machine would come back up.
Yeah. It can get really sticky.
The glibc replacement thing... if it makes enough changes to teh programs one is running it MUST make a difference somehow... eventually. I have just never run into the problem with normal upgrades. Perhaps the newer glibc package is just not all that different from the preceding. I usually DO reboot a system once I have made certain critical changes... especially if it involves a lot of inter-related services. I want to make sure they all come up in the correct order without any fuss. Also rebooting is easier to do remotely... can't exactly go to runlevel 1 and back again over an ssh connection with a standalone server. Most server setups I have are in clusters of two or three (though not always "clustered") and I have serial console connections to them. The serial port may be "legacy" to some people but it is damn handy for debugging remote problems. Using a serial port concentrator makes remote admin of a server farm oh so much easier and dependable.
I used a SS-2 running OpenBSD as a firewall on my home network for a while, but it was neither low power nor quiet. These days, I figured Mac OS X is secure enough to not need protected from the big, nasty internet.
Heh yeah... I have an SS20 that howls... even compared to the Intel boxes. Those little old "lunchbox" Suns are nice though. Even if they are only 40MHz they can still do useful stuff as an "appliance".
|
|
-DU-...etc...
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status:
Offline
|
|
utidjian and ducasi, I'm sure this thread needs some comparisons with the way other OS' handle the problem, but your SUN hotshot discussion is kind of irrelevant to the topic and derails the thread rather badly. Couldn't you switch the muchomacho Solaris stuff to PM? I don't want to be a sucker, but the topic is by far not over and I would still be interested in hearing some facts that have to do with Mac OS X, so please...
That said, are there any developers here who could explain, what reasons Apple may have for not dynamically loading/unloading kext files? Is it just Apple playing ultra-safe (and "we don't care if people have to reboot") or are there real technical issues as to why it is better to reboot? 
(Last edited by Simon; Aug 18, 2003 at 02:18 AM.
)
|
|
•
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Jun 2001
Location: Glasgow, Scotland.
Status:
Offline
|
|
Originally posted by Simon:

utidjian and ducasi, I'm sure this thread needs some comparisons with the way other OS' handle the problem, but your SUN hotshot discussion is kind of irrelevant to the topic and derails the thread rather badly. Couldn't you switch the muchomacho Solaris stuff to PM? I don't want to be a sucker, but the topic is by far not over and I would still be interested in hearing some facts that have to do with Mac OS X, so please...
Sorry about that. I thought we were discussing why, in this case, the update needed a reboot, while on other unix OSes you might have gotten away without one.
That said, are there any developers here who could explain, what reasons Apple may have for not dynamically loading/unloading kext files? Is it just Apple playing ultra-safe (and "we don't care if people have to reboot") or are there real technical issues as to why it is better to reboot?
I think it's a combination of Apple playing safe and real technical issues.
There is no guarantee that you'll be able to unload the particular kexts you are updating. They are loaded because they are in use. Making them able to be unloaded may be more trouble than rebooting (for the average user.) Would you want the installer to tell you "please unplug all USB devices during this update"? How about "please disconnect from all networks"?
The alternative is for the OS to force these kernel modules out of memory to reload the new ones. Oh, and too bad if you've got a USB disks, or network drives in use. You've just lost the files you were saving on them.
It's hard to generalise. Every update is different. Some there's a very good reason why a reboot is needed (as there was in this case - if you didn't programs started to crash.) Other times, some people would have been able to continue without a reboot (e.g. if I install an AirPort update I am forced to reboot, even though I don't have the hardware and so it's probably not necessary.)
Where they can definitely avoid it, say in an update to apache or sendmail, Apple don't force a reboot, but instead just restart the affected service. But for shared components, like frameworks, or kernel extensions, for Apple to work out in every case who needs and who doesn't need a reboot, it would take twice as long for the updates to come out.
Just so some folks can protect their precious uptime numbers?
Don't get me wrong, I like having big uptimes (had well over a year on some of my Suns), and I find rebooting a hassle (I have to re-login to half a dozen other computers in iTerm), but until Apple hardware is used for running banks or air traffic control, or something where uptime really matters, I'll continue to accept the occasional reboot after an update.
Cheers, D.
|
|
|
| |
|
|
|
 |
|
 |
|
Clinically Insane
Join Date: Nov 1999
Status:
Offline
|
|
In theory, the only time OSX should need to be rebooted is when the microkernel itself is updated. This is actually quite rare; I don't think Apple has ever done it in a security update.
The problem is this: when you download code, it has to be run before it can do anything, and that means that the old code must be stopped first. Also, anything depending on that code usually has to be stopped. This is why the whole machine has to be rebooted when the microkernel is updated; everything depends on it, so everything must be brought down.
The code used in security updates can reside at many points in the machine. Sometimes, if for example only the Apache server is updated, only that service will have to be rebooted.
However, the latest security update updated the core C libraries. While the kernel doesn't depend on this, almost everything else does, including CoreFoundation and everything which depends on that (Cocoa, Carbon, and Quartz, to name a few). At that point, the difference between stopping and starting everything which depends on it and rebooting the machine is almost negligible. At the absolute least you would have to log out and log back in.
I think Apple may require reboots simply for the sake of providing a consistent experience for the user: rather than not knowing what you'll have to stop and start, you just stop and start everything. It may also be that they don't want to go through the work of implementing the stuff to figure out what needs to be restarted and only restarting that; the infamous restart-on-network-change debacle from the Public Beta would seem to bear this explanation up rather well.
This is rather a nuisance, and it would be nice if Apple were to provide an option -perhaps turned off by default- of restarting only what needs to be restarted. However, in most cases, it's not particularly harmful, per se.
|
|
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
|
| |
|
|
|
 |
|
 |
|
Grizzled Veteran
Join Date: Aug 2001
Location: Flint, MI
Status:
Offline
|
|
You can reboot the computer without touching the kernel. It's an old trick, and that's essentially what you're wanting to do with this security update.
Go into the terminal and "sudo shutdown NOW" and you'll get a spinning beachball and it'll throw you into single user mode. Type "exit" in that terminal, and then when your system reloads, look at your uptime. That's the only way a normal user will be able to actively take advantage of the microkernel in OSX. Of course, that doesn't do anything but keep your uptime intact, all your unsaved data will be lost as it kills everything but the kernel.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Tasmania, Australia
Status:
Offline
|
|
Originally posted by ngrundy:
my university installed a SGI Origin at the start of the year, 512cpus, 1TB ram, 5 TB SAN iirc.
the machine does meteorlogical (weather) calculations, the Antartic IASOS does prediction work on it
No wonder Frank has trouble keeping up with the small fry desktops 
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Nov 2000
Location: Tasmania, Australia
Status:
Offline
|
|
Originally posted by mrtew:
I thought it was almost common knowledge that a restart will speed up OSX for a while.
People think it's common knowledge, but the fact is that it's merely common rumor. Probably brought about by the fact that it works for systems with bad processes installed (eg memory leaking processes).
I've tried the old "rebooting will speed it up!" mantra and it just doesn't work. At all. Not on any of my Mac OS X systems.
The fact that it works for some people and not for others implies that some people just have misbehaving systems. For most people a log-out, log-in will do just as much as a restart.
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|