Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 22700 ideas, 138270 comments, 2629576 votes
Idea sandbox Idea sandbox
Popular ideas Popular ideas
Ideas in development Ideas in development
Implemented ideas Implemented ideas
Idea #24171: Hardware support services are loaded even that hardware is not in use

Written by andremachado the 26 Mar 10 at 23:09. Related project: Live CD. Status: New
Rationale
Currently, there is a huge effort to made Ubuntu boot faster, but the great issue is what, when Ubuntu - as well as other Linux distros - boots up, it loads many services to support a large variety of hardwares and configurations.

That is convenient for end user what can, for example, easily, connect a printer and work with it immediatelly. BUT, if user have not a printer, Cups, the Linux printer server, will be loaded and stay occupying system memory in vain, because it will never be used. Similarly, if user wants print only one document and save your energy, if he turns on his printer for just do it and turn it off after, Cups will continue in memory.

297
votes
up equal down
Solution #1: Create a service what starts hardware services when they're necessary
Written by andremachado the 26 Mar 10 at 23:09.
The idea to solve all this issues is: when Ubuntu boots, it will load only the essential services to raise graphical interace and a new service what will be connected with HAL and/or DBUS. This will made boot faster. When user connect or turn on a new hardware, like a printer, a bluetooth dongle or a webcam, this new service will detect this hardware and load the appropriate service to support it. When this hardware is disconnected or turned off, the new service will remove the service previously loaded from memory.

User will can configure this resource for: create an exception list, decide if a service will not be stopped once what it was started or a time to wait what it be stopped after hardware removal, as well as enable or disable this new resource.

UPDATED: For non-related hardware services, the new service would can start they when they're necessary too. For example: if a user has Apache and MySQL installed in your machine, this two services can start stopped and when system receives a network ping or request to 127.0.0.1, from Firefox, for example, these services would be started.
80
votes
up equal down
Solution #2: Postpone and select hardware services according to an intelligent algorithm
Written by mauricep the 1 Apr 10 at 20:36.
Whilst moving from Ubuntu loading all hardware services on boot to a user-configurable hardware services load configuration, the amateur user will likely not bother. As an alternative default, Ubuntu could intelligently select which hardware services to load on boot:

- Hardware services used with high frequency are loaded on boot
- Hardware services used with medium frequency are loaded after boot with a delay (e.g. one minute), or whenever system is first "idle".
- Hardware resource used rarely are loaded as needed (as proposed in other solution).

Propose your solution

Attachments
No attachments.


Duplicates


Comments
dino wrote on the 27 Mar 10 at 10:35
I think cups is a pretty bad example here. For two reasons:

1. cups takes nearly ZERO resources (a single bash takes more than three times as much memory as cupsd)
2. its useful even with no printer (print to file)

forteller wrote on the 29 Mar 10 at 12:28
Cups might not be a good example, but the idea in itself is fantastic!

snadrus wrote on the 29 Mar 10 at 20:29
Multiple problems. How do you detect what the hardware is doing (webcam button, Scanner start) if you don't load drivers?

InetD already is a load-on-demand tool for ports for HTTP, SMTP, etc. It works well to save resources & big binaries from memory, but is slow for intensive-use servers (Apache will outperform it 10x for moderate request counts).

Darwin Survivor (Brainstorm moderator) wrote on the 31 Mar 10 at 08:22
@snadrus I think your confusing drivers (built into kernel/kernel modules to support hardware) and services (apps run in the background to work with hardware).

dexter_greycells wrote on the 31 Mar 10 at 21:32
Very relevant idea...
I got no bluetooth on my desktop but Ubuntu still loads the bluetooth files (I think it is a kernel thing though and there is not much that Ubuntu can do about it)...

briceparent wrote on the 12 Apr 10 at 18:40
While Windows gets slower and slower with the time, with solution #2, Ubuntu would get faster and faster...
Great!


Post your comment