Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

prime17569

macrumors regular
Original poster
May 26, 2021
192
490
I am going to guess you have never written software, let alone very complicated software. It is impossible to test, or account for, billions of possible combinations of events and states. It becomes even more difficult when external events can interrupt processes. A multi-tasking environment adds multiple layers of complication. One little mistake, expecting a variable to be zero, when somewhere, somehow a one got planted in that memory location.

Even the Apollo computer, a very primitive computer by today's standards, occasionally needed to be restarted. The hardware was probably the most reliable computer hardware ever built. That operating system, and application modules, were probably the most heavily tested and vetted software that was ever written. A mistake in that software could be very deadly. Yet sometimes a restart was required. It happens.

The Apollo computer is an interesting example. It apparently got overwhelmed while the lunar module was landing on Apollo 11, but was able to recover quickly enough that the historic landing went off without a hitch. It didn't actually restart fully; all it did was automatically restart the non-essential jobs so that there was enough headroom available for the landing calculations, without needing to restart the entire system.

 

raythompsontn

macrumors 6502a
Feb 8, 2023
590
788
It didn't actually restart fully; all it did was automatically restart the non-essential jobs
From the article you referenced it is stated:
The software rebooted and reinitialized the computer, and then restarted selected programs at a point in their execution flow near where they had been when the restart occurred
That seems to indicate that a restart of the computer of some sort was required. A restart did not take but seconds, if that long, as most of the memory was non-volatile and quickly accessed. A restart may have been nothing more than an instruction on the DSKY to send the computer to a fixed location in memory.

That was for the first moon landing. Someone forgot to turn off something to do with one of the radars and too much data was coming into the computer. From my reading and research on the Apollo computer there were other times, non-critical parts of the Apollo flights, where a restart of the computer was required. One time was accidental by one of the astronauts.

It was also possible to restart the computer and have most of the tasks resume operation at a point close to where the tasks were terminated. Including saving all the data.

A really remarkable computer considering it was designed in the early 1960's, long before it was actually used in the Apollo spacecraft. Lot of conflict between the developers, the software people, and the flight people on what they needed and what they could, or could not, have. Program instructions wired into memory manually. A change in a program was costly and time consuming. Much equipment was used to validate the wiring of the programs.

For what the Apollo computer could accomplish, using very limited resources, providing multi-tasking, ability to restart and not loose information, priority scheduling, simple and reliable interface, there were some really smart people involved in the development of the hardware and software. Even the assembly of the system with wired memory, the logic modules, the backplanes, etc. is a remarkable piece of engineering.
 

TechnoMonk

macrumors 68000
Oct 15, 2022
1,812
2,552
I have to restart my Apple devices far more often than anything else I own.
Been that way for a couple of years now. :(
Wow. I rarely restart my apple devices. Compared to my linux/windows workstation, my M1 Max MBP is a breeze. Mostly for updates or when I have too much stuff open, I just reboot with out restoring the windows.
 
  • Like
Reactions: KeithBN

dk001

macrumors demi-god
Oct 3, 2014
10,638
15,006
Sage, Lightning, and Mountains
Wow. I rarely restart my apple devices. Compared to my linux/windows workstation, my M1 Max MBP is a breeze. Mostly for updates or when I have too much stuff open, I just reboot with out restoring the windows.

To be fair, I seldom have to restart my MBP, Win10/Win11 machine much at all, but the MBP does have to be rebooted more than the Win machines
Now my iPad and iPhone, a restart at least weekly is not uncommon.
Other than updates, I have not had to restart my Android (S23 Ultra) since I bought it at launch.

When I first got into Apple's ecosystem, reboots were seldom other than updates. But after I get updates for these devices, the number of incidental reboots is nuts.

Hopefully with iOS/iPadOS 17 Apple gets back on track with their software quality.
 
  • Like
Reactions: max2

Ethanmenzel

macrumors member
Dec 24, 2017
38
51
817C2E30-EA97-4C79-B0E2-1531AF74E15B.gif
 
  • Like
Reactions: millerj123

Wizec

macrumors 6502a
Jun 30, 2019
596
632
Blackberry 10 was based on QNX using a micro kernel which allowed for restarts of drivers and some system processes without rebooting:


I used BB10 for a couple of years and it was very fluid and stable. Since this last iOS 16.4.1, my iPhone 14 Pro is now laggy at random, inconvenient times. Sometimes the screen won’t wake, sometimes I have to kill the browser to get a page to start loading, then it’s fine for a day or so.
 

Veerasayz

macrumors 6502
Sep 5, 2020
269
284
Agree



I agree that having to restart devices to fix issues is not ideal. It's good to see Apple supporting the M1 MacBook Air with faster restarts, but they can go further. Apple should focus on identifying edge-cases and creating ways for the system to automatically recover from them, so that users don't need to intervene. We could also benefit from better system monitoring and diagnostics, like launchd sending a "heartbeat" to detect unresponsive processes. This would lead to a more seamless user experience, which is what Apple should strive for.
 
  • Like
Reactions: thasan

Camarillo Brillo

macrumors 6502a
Dec 6, 2019
531
525
For 15+ years, Macs pretty much never had problems that would require a restart. You could go months at a time without restarting at all; years without restarting except to apply OS updates. It’d be nice if that were still the case.

What’s easier than a restart to solve a problem is not having the problem in the first place. And no, that’s not an impossibility, because it was the case for a really long time. Macs used to actually “just work” - it was more than a marketing slogan. “Did you try turning it off and then on again?” was a joke leveled at Windows users.
Well, it’s still that way for me. The only time i have to restart my macs is the rare occasion when a stubborn external hard drive can’t be ejected, or after a software update
 
  • Like
Reactions: KeithBN

OptimisticRealist

macrumors newbie
Jul 2, 2021
1
0
In many Apple support threads online where people encounter strange issues with their devices, a restart often fixes the issue. Great, right? I think not.

We shouldn't have to restart our Apple devices to make them work.

Sure, Apple silicon processors are extremely fast these days, making restarts faster than ever. But the fact of the matter remains that we shouldn't need to interrupt our workflows to restart our devices.

Here is an example of this that I encounter often: AirDrop on the Mac. Sometimes it will fail to work; clicking on the icon for my iPhone or iPad will do nothing. Sometimes this can be fixed by running "killall sharingd" in Terminal; however, most of the time, I need to restart the Mac for it to work again. This is on an M1 MacBook Air, by the way. (Now, I'm not saying that we need to tell users to run a Terminal command; this is just an illustrative example.)

From what I've seen -- and this is my opinion -- most of the strange issues that people have are the result of the system entering a "quasi-working" indeterminate state that Apple did not expect to occur and as such does not provide a way for the system to recover from.

If Apple is focusing on bug fixes and performance improvements for their next-generation operating systems as the rumors say, then they need to focus on identifying edge-case/indeterminate situations and providing a way for the system to recover from them, automatically. And they need to make sure that the system can only operate in determinate, well-defined conditions.

How can this be applied to the example above? On Apple platforms, launchd is responsible for launching daemons and background tasks, and restarting these processes if they crash. However, to my knowledge, there is not a way for launchd to detect an unresponsive process and automatically restart it. In the AirDrop example above, it's my belief that the root cause is sharingd becoming unresponsive or otherwise unable to receive user input. A useful fix would be for launchd to send a "heartbeat" signal to the processes and restart them transparently if they don't respond within a certain time frame. (This approach wouldn't work for user-facing applications, but it would certainly work for background services and daemons that don't put windows on screen.)

I believe a similar approach is used in embedded systems where humans might not be physically near the system to restart it at will. If Apple truly wants to make their computers like appliances, then they should build the software with that philosophy in mind; human intervention shouldn't be required to get out of indeterminate states.

Of course, this would lead to a far better user experience, which is the point of me writing all this. Things will "just work."

I would be interested to hear your thoughts on this.

EDIT: original post was written in a moment of frustration. Please read the thread before replying
 

TechnoMonk

macrumors 68000
Oct 15, 2022
1,812
2,552
To be fair, I seldom have to restart my MBP, Win10/Win11 machine much at all, but the MBP does have to be rebooted more than the Win machines
Now my iPad and iPhone, a restart at least weekly is not uncommon.
Other than updates, I have not had to restart my Android (S23 Ultra) since I bought it at launch.

When I first got into Apple's ecosystem, reboots were seldom other than updates. But after I get updates for these devices, the number of incidental reboots is nuts.

Hopefully with iOS/iPadOS 17 Apple gets back on track with their software quality.
I don’t do auto-upgrades. I do it after making sure upgrade is worth or needed for a security vulnerability.
 
  • Like
Reactions: dk001

Treq

macrumors 6502a
Apr 23, 2009
970
1,523
Santa Monica, CA
Wow. You must be new to using computers. Try using Windows if you hate restarting off and on.
LOL… what? Have you ever used windows? This is like telling someone who complains that their Ferrari isn’t fast enough that they should drive a 78’ pinto station wagon to go faster. It makes no sense.
 
  • Like
Reactions: satcomer

Lord Hamsa

macrumors 6502a
Jul 16, 2013
698
675
Sure I restart a device every once in a while, but it is EXTREMELY rare that I have problems so bad that I have to reboot to fix it. Usually my iPhone on the rare cases it happens; I think I've hard to reboot my Mac exactly once to deal with a problem I couldn't fix otherwise.

99% of my reboots are for OS updates.

Now on my work-provided Windows HP laptop, I have to reboot at least once or twice a week because things hang up in addition to any required reboots for updates.
 
  • Like
Reactions: KeithBN

chrono1081

macrumors G3
Jan 26, 2008
8,468
4,311
Isla Nublar
While I understand your sentiment, this isn't remotely possible or realistic. Computers are incredibly complex machines, and sometimes the perfect storm of scenarios happen that cause it to malfunction in ways no amount of testing could ever find. When these kinds of things happen a system restart is the key because everything gets reset. Computers have all kinds of tests they run before the operating system boots to restart and refresh everything that makes them run.

Luckily in the case of things like crashes, developers get notified and if you choose to share your crash reports with them, they can work to create a fix.

As far as embedded systems go, they're far less complex, they can do things like what you suggest because there's not a million things running on them at once. They generally have a handful of things to check and that's it. On a regular computer there could be hundreds of thousands of things to check and program for.
 
  • Like
Reactions: KeithBN

Wizec

macrumors 6502a
Jun 30, 2019
596
632
While I understand your sentiment, this isn't remotely possible or realistic. Computers are incredibly complex machines, and sometimes the perfect storm of scenarios happen that cause it to malfunction in ways no amount of testing could ever find. When these kinds of things happen a system restart is the key because everything gets reset. Computers have all kinds of tests they run before the operating system boots to restart and refresh everything that makes them run.

Luckily in the case of things like crashes, developers get notified and if you choose to share your crash reports with them, they can work to create a fix.

As far as embedded systems go, they're far less complex, they can do things like what you suggest because there's not a million things running on them at once. They generally have a handful of things to check and that's it. On a regular computer there could be hundreds of thousands of things to check and program for.
System tests at startup have nothing to do with “restart and refresh everything that makes them run”

System stability varies a great deal depending on kernel architecture and of course user mode services and app.

However, iOS/Darwin are some of the worst compromises that could have been made:


Mach is a microkernel but Darwin is not. This is what Mac OS X runs on:
https://en.wikipedia.org/wiki/XNU

https://en.wikipedia.org/wiki/Darwin_(operating_system)

XNU is monolothic software since it (a) merges code like BSD in with the microkernel and (b) has a ton of kernel-mode code in violation of microkernel principles”


True microkernels have many advantages over monolithic kernels such as Darwin/XNU and Linux:


In other words, a lot could be done to improve the experience, similar to Blackberry 10 which ran on a super stable microkernel QNX
 
  • Haha
Reactions: TechnoMonk

chrono1081

macrumors G3
Jan 26, 2008
8,468
4,311
Isla Nublar
System tests at startup have nothing to do with “restart and refresh everything that makes them run”

System stability varies a great deal depending on kernel architecture and of course user mode services and app.

However, iOS/Darwin are some of the worst compromises that could have been made:


Mach is a microkernel but Darwin is not. This is what Mac OS X runs on:
https://en.wikipedia.org/wiki/XNU

https://en.wikipedia.org/wiki/Darwin_(operating_system)

XNU is monolothic software since it (a) merges code like BSD in with the microkernel and (b) has a ton of kernel-mode code in violation of microkernel principles”


True microkernels have many advantages over monolithic kernels such as Darwin/XNU and Linux:


In other words, a lot could be done to improve the experience, similar to Blackberry 10 which ran on a super stable microkernel QNX

Im sorry but this just simply isn't correct. You can source what you think supports your point but it doesn't say what you think it says and I simply don't have the time or care to debunk every point.

The fact that you think startup checks aren't important says it all.
 

Wizec

macrumors 6502a
Jun 30, 2019
596
632
Im sorry but this just simply isn't correct. You can source what you think supports your point but it doesn't say what you think it says and I simply don't have the time or care to debunk every point.

The fact that you think startup checks aren't important says it all.
I didn’t say “startup checks aren’t important” did I?

“System checks” as you originally wrote, aka POSTs, are indeed quite important, but serve a different purpose than what you wrote.

They categorically are not related to what you said “restart and refresh everything that makes them run”. This is a matter of computer science and it’s not up for debate or personal interpretation. Your technobabble notwithstanding …


“In the case of a computer, the POST routines are part of a device's pre-boot sequence; if they complete successfully, the bootstrap loader code is invoked to load an operating system.”

Again, “System tests” have nothing whatever to do with the OS or application state. In fact, the OS may have hibernated and practically nothing in the state of the OS or applications will have changed at all.
 
Last edited:

chrono1081

macrumors G3
Jan 26, 2008
8,468
4,311
Isla Nublar
I didn’t say “startup checks aren’t important” did I? They categorically are not related to what you said “restart and refresh everything that makes them run”. This is a matter of computer science and it’s not up for debate. Your technobabble notwithstanding …


“n the case of a computer, the POST routines are part of a device's pre-boot sequence; if they complete successfully, the bootstrap loader code is invoked to load an operating system.”

Again, nothing whatever to do with the OS or application state. In fact, the OS may have hibernated and practically nothing in the state of the OS or applications will have changed at all.

I was oversimplifying for the sake of the post so I can see why you think I'm talking about POST tests and the like, but I'm not. To clarify, I'm talking checks and resets the software itself does.
 

Wizec

macrumors 6502a
Jun 30, 2019
596
632
I was oversimplifying for the sake of the post so I can see why you think I'm talking about POST tests and the like, but I'm not. To clarify, I'm talking checks and resets the software itself does.

You did write “Computers have all kinds of tests they run before the operating system boots to restart and refresh everything that makes them run”.

That sentence is patently inaccurate as to the effect “tests before the operating system boots” actually have.

Now you’re referring to “checks and resets the software itself does”. What does this mean? Are you talking about the OS as “the software”, or a user app as “the software”. Kindly provide references.

Back to the topic of this thread, please appreciate that when you have to restart the phone operating system to fix a user mode app, then a failure / program state error has been encountered at the OS or system service layer.

I literally deal with these as a full stack backend developer and systems developer - I just fixed a Java JRE induced bug and a Microsoft kernel induced bug in the last couple of weeks. That’s why the OS kernel architecture is so important. QNX is leaps and bounds ahead in terms of stability - this is why it’s used in automotive, health care and NASA.

You do sacrifice a small amount of performance due to message passing in micro kernels, but Apple’s excellent SOCs designs would minimize this a great deal.

Overall, the OP is not wrong. Apple could and should do better at the system level; but it would require a lot of investment and Apple just doesn’t have the resources to do it right /S
 
Last edited:

spiderman0616

Suspended
Aug 1, 2010
5,670
7,492
I get what you’re saying….but….this is still a VERY mature legacy desktop platform we’re talking about here. So sometimes the solution is still to just restart it. Sometimes that’s the solution on my iPhone, iPad, and Apple Watch too. Not usually, but sometimes.

I think the world you’re asking for is one where computers are perfect. The world you’re LIVING in is one where my Roomba still gets lost in its own living room sometimes and needs a reboot.
 

mjs916

macrumors 6502a
Apr 1, 2018
737
886
Sacramento, CA
for things that will automatically restart by having something like a "keep alive" (or something like that) string inside their PLIST, which Finder and many OS related tasks do: either double click the process inside the Activity Monitor, which will give you the option to quit, or force quit it, or use OPTION + CMD + ESC that will give you a force quit menu for apps with a user interface (so no background system tasks)
or via the Terminal via killall <PROCESS> (killall Finder in this case)

you will have to restart that process manually later on for processes that don't have such a "keep alive" function enabled though
So Finder is the process that’s equivalent to Windows Explorer? When some things are wonky on Windows and closing the program doesn’t fix it, restarting Explorer tends to be the remedy at times, without resorting to restarting the machine.
 

unrigestered

Suspended
Jun 17, 2022
879
840
yes, Finder is the file explorer.
despite what people say, it still has memory leakage for me on Monterey latest update, so it needs to be tamed every once in a while so it does not take several GB of RAM instead of like 30MB or less after a force quit.
 

thasan

macrumors 65816
Oct 19, 2007
1,104
1,031
Germany
This happens to me quite frequently too, and on a single band wifi. Airdrop is very unreliable FROM Mac. When that happens, I just put the file in iCloud and download it in phone or iPad. I agree the sentiment of the OP here but also think it’s much harder for apple to fix (or they just don’t care).
 

OnawaAfrica

Cancelled
Jul 26, 2019
470
377
In many Apple support threads online where people encounter strange issues with their devices, a restart often fixes the issue. Great, right? I think not.

We shouldn't have to restart our Apple devices to make them work.

Sure, Apple silicon processors are extremely fast these days, making restarts faster than ever. But the fact of the matter remains that we shouldn't need to interrupt our workflows to restart our devices.

Here is an example of this that I encounter often: AirDrop on the Mac. Sometimes it will fail to work; clicking on the icon for my iPhone or iPad will do nothing. Sometimes this can be fixed by running "killall sharingd" in Terminal; however, most of the time, I need to restart the Mac for it to work again. This is on an M1 MacBook Air, by the way. (Now, I'm not saying that we need to tell users to run a Terminal command; this is just an illustrative example.)

From what I've seen -- and this is my opinion -- most of the strange issues that people have are the result of the system entering a "quasi-working" indeterminate state that Apple did not expect to occur and as such does not provide a way for the system to recover from.

If Apple is focusing on bug fixes and performance improvements for their next-generation operating systems as the rumors say, then they need to focus on identifying edge-case/indeterminate situations and providing a way for the system to recover from them, automatically. And they need to make sure that the system can only operate in determinate, well-defined conditions.

How can this be applied to the example above? On Apple platforms, launchd is responsible for launching daemons and background tasks, and restarting these processes if they crash. However, to my knowledge, there is not a way for launchd to detect an unresponsive process and automatically restart it. In the AirDrop example above, it's my belief that the root cause is sharingd becoming unresponsive or otherwise unable to receive user input. A useful fix would be for launchd to send a "heartbeat" signal to the processes and restart them transparently if they don't respond within a certain time frame. (This approach wouldn't work for user-facing applications, but it would certainly work for background services and daemons that don't put windows on screen.)

I believe a similar approach is used in embedded systems where humans might not be physically near the system to restart it at will. If Apple truly wants to make their computers like appliances, then they should build the software with that philosophy in mind; human intervention shouldn't be required to get out of indeterminate states.

Of course, this would lead to a far better user experience, which is the point of me writing all this. Things will "just work."

I would be interested to hear your thoughts on this.

EDIT: original post was written in a moment of frustration. Please read the thread before replying.
lol if u would know anything about works of a operating systems u know that its not possible if there is a kernel issue to fix it without reboot.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.