3 ms·
The OP isn’t asking about boot time. > Second, most current systems are monolith type, so they cannot load-unload drivers on demand Which current ones? I don’
by Someone 3y ago
The OP isn’t asking about boot time.
> Second, most current systems are monolith type, so they cannot load-unload drivers on demand
Which current ones? I don’t see that approach work with USB devices.
> And don't forget, setup scripts are basically running on extremely slow Shell language, which is interpreted and keep simple for considerations of system service. - For example, some systems used Perl for shell tasks
Between the lines, that implies Perl is faster than shell for init scripts. I’m not convinced it is. Perl is interpreted, too, and larger, so likely has a larger startup time. It has more bells and whistles that may make it do what’s needed faster than a shell script, but I don’t think many init scripts need those bells and whistleS.
Also, do the likes of macOS and Linux still have many init scripts? I thought that launchd (on macOS) and systemd (on Linux) were mostly configuration driven.
It is true, though that booting gets slower if the OS has to probe what hardware is available and cannot assume that hardware to be ready for work.
- simne 3y ago> The OP isn’t asking about boot time. But unfortunately, any other startup (wake up, etc), implies, drivers enumeration, device restart, because huge amount of legacy in world. > I don’t see that approach work with USB devices. Ha! If your system is 100% from modern (non-legacy) USB devices, you are lucky as god! - Exists "legacy free hardware", but they are rare. Unfortunately, nearly all modern x86 computers have large number of legacy devices, from CPU starting in real mode, to chipset devices, still existing Floppy drive controller in chipset, ATA (not-SATA, but legacy ATA) controller, LPT, Serial, and many, many others. If you will disable that legacy, startup time will be radically shortened. > Perl is interpreted, too, and larger, so likely has a larger startup time Yes, but no. Perl is larger, this is true, but no one shell (except few exceptions, not wide used), considered for universal computing, so none optimization done. But Perl have rich history of heavy duty working, so it from some versions made from start as heavily optimized high effective platform. Perl even have some history of JiT compiler, unfortunately not long. To be strict, Perl still have good potential as idea, but unfortunately, Perl community becomes too broad, distributed, to focus on development. - Just Perl don't have resources to implement features, now considered typical for platform - zero startup time, compilation to native code, JiT. But some things still working well, for example, you could precompile code and connect precompiled to working Perl interpreter, so will be zero time startup. Also, fortunately, Perl already have working multithreading with rich software support, and mature native interfaces, so you could optimize close to hardware languages. If somebody will have success in consolidating Perl community, also possible to find resources, to implement modern features, like JIT.