Emmett_1944 wrote:
So safe mode is something you would do if your computer was having a problem. When I start my iMac it is doing all sorts of things in the background that I don't know about and never will unless I become a software engineer. It is also doing certain other things like if I have Apple Mail it might check for any emails and download them to my computer. So if you start in safe mode it will prevent all these background things from happening.
It will prevent certain background things from happening – not all background things from happening. Even in Safe Mode, I'm sure that macOS runs a lot of background processes. (These processes typically would sleep while waiting for notifications of relevant events; briefly wake up to handle the events; then go back to sleep.)
So if your computer seems to start fine in safe mode you know whatever the problem is it is NOT in the basic functions of your computer. Does safe mode tell you what the problem IS or just verify where the problem is NOT?
It just narrows things down by helping you to figure out where the problem is NOT.
I still don't understand extensions. One person said an extension "can be for making hardware work." Isn't that just an application? For example I used to have a Wacom drawing tablet connected to my G3 iMac and I had to download an app to get the computer to work with the tablet. Is that app an extension? Is an extension just an app for making peripherals work?
A kernel extension hooks into the operating system itself, and runs with superuser privileges, like the operating system itself. Kernel extensions used to be the way that third-party vendors could add device drivers. However, since a kernel extension is running as part of the OS, if it has a bug, it can crash the OS – and if it happened to be a piece of malware, there would be few if any limits on the harm that it could do.
A system extension is a way of accomplishing some of the tasks that used to require a kernel extension. The big differences are that a system extension generally does not have superuser privileges, so the damage that it could do if buggy or malicious is more limited. (Though it still could be significant.). Also, Apple has to provide APIs that support each particular class of system extension that they want third-party developers to write.
Apple is in the process of "encouraging" developers to abandon kernel extensions in favor of system extensions.
A browser extension runs in the context of a Web browser, and can add functionality to that browser. Because a browser extension is running as you, it can access any files that you can, but it doesn't get superuser privileges (unless you are an Admin user and have entered your password to temporarily run with elevated privileges).
Safari is a Web browser, and Safari extensions are a type of browser extension.
There can be other types of extensions – "extension" is a very generic term. For instance, a Photoshop user who had purchased a collection of Photoshop plug-ins might consider the plug-ins to be Photoshop extensions.
Someone said this was completely different from safari extensions. I once saw an app that would make your clipboard be able to hold more than 1 thing at a time so if you wanted to copy and paste you could choose from a list of things you might copy and paste frequently. Is that a safari extension?
That sounds like it would modify behavior outside of Safari – so no, I don't think it would be a Safari extension. It would need to hook in at a deeper level.