Hacker News new | ask | show | jobs
by GuB-42 735 days ago
I'd say a browser is an OS. It is, of course, higher level than a kernel like Linux that can run on the bare metal, but it has most of the aspects of a full OS.

It manages memory, processes and security, it can run user-supplied arbitrary code. It has an API, not unlike system calls that allows programs to access the underlying hardware. It doesn't do thing like writing on the address bus directly, but it does have the equivalent of drivers that are proxies to the underlying OS services for display, audio, video, etc..., which it abstracts away. Like many OSes it comes with a compiler and a shell.

Sure, it doesn't access the hardware directly through the address and data buses, like one may think an OS should do, but now that we have stuff like hypervisors, even what are unquestionably true OSes like Windows and Linux may not access the hardware directly either.

2 comments

Any application (or library, or framework) that can dynamically load files that lead to causal executable behavior meets your description above in substantial part.
Windows, Linux, MacOS, et al. are all just bootloaders for Chrome.

I'm joking. Maybe. Probably. It seems like we've come full circle with MS-DOS and Windows 3 in the 90s.

"We can cause any problem by introducing an extra level of indirection."

- The Fundamental Theorem of Bloatware Engineering