1 |
Alan McKinnon pisze: |
2 |
> On Wednesday 30 January 2008, Mateusz Mierzwinski wrote: |
3 |
> |
4 |
>> Alan McKinnon pisze: |
5 |
>> |
6 |
> |
7 |
> |
8 |
>>> One could try listing these drivers in /etc/autoload.d/kernel-2.6 |
9 |
>>> but the easiest is probably to compile them into the kernel |
10 |
>>> |
11 |
>> You have right. Standard unix kernel was designed to have all inside. |
12 |
>> I don't know why some people still prefer modules than monolith |
13 |
>> kernel. If you have modules, you must recompile all of them when new |
14 |
>> ABI comes out. On monolithic kernel its all there. Also i don't know |
15 |
>> if modules are not slower than monolith Kernel because of User space |
16 |
>> to Kernel space connection. Compiled in modules makes kernel run |
17 |
>> faster, and if it's server, then even 0.00001 sec makes the different |
18 |
>> on functions execution and internal core communication. Partly beyond |
19 |
>> of that problem is IPC module communication. But if there are |
20 |
>> benefits then also are problems with error code execution or beta |
21 |
>> drivers installed. Also if You have Molnar's Real Time Preemption |
22 |
>> Model on Your kernel, You should choose monolithic kernel. PS: some |
23 |
>> drivers are don't work as modules like they should. You see Windows - |
24 |
>> there are drivers like Linux modules - what it makes? Blue screens of |
25 |
>> death ;), but this is another story... ;) |
26 |
>> |
27 |
> |
28 |
> That's an easy answer :-) |
29 |
> |
30 |
> Standard Unix was designed for systems where you know exactly what |
31 |
> hardware you have up front and there are no nasty surprises. Take for |
32 |
> example an SGI box. How many PCI chipsets could it possibly have? |
33 |
> Exactly one. So you know exactly which driver you will need. |
34 |
> |
35 |
> Apple are still lucky in this regard, as the only hardware that goes in |
36 |
> them is Apple's hardware and kernel configurationis then quite easy. |
37 |
> |
38 |
> But we use the worst possible design that demented designers could ever |
39 |
> come up with - PCs. The range of stuff available is staggering. The |
40 |
> amount of dodgy hardware that claims to conform to spec but doesn't is |
41 |
> even more staggering. So now exactly which modules are you going to |
42 |
> compile in monolithically? What about hotpluggable hardware? As a |
43 |
> vendor you have no way of knowing which funky hardware the user will |
44 |
> ever plug into a notebook, and you simply cannot compile everything in |
45 |
> (never mind the driver conflicts you will have). |
46 |
> |
47 |
> Gentoo expects their users to compile their own kernels so to a large |
48 |
> extent we can make stuff monolithic, apart from the hot-pluggable |
49 |
> devices. |
50 |
> |
51 |
> Binary distros cannot do this. To conserve memory they must load only |
52 |
> the drivers for hardware that is actually present, and to do that one |
53 |
> needs modules. I don;t know of a binary commercial distro that will |
54 |
> gladly still support users who compile their own kernels - they usually |
55 |
> stuff it all up gloriously. It's a no-brainer really. |
56 |
> |
57 |
> I don't buy the speedup argument either and have never seena benchmark |
58 |
> that proves modules are slower. The Linux kernel module loader is |
59 |
> essentially self-modifying code and inserts modules into kernel space |
60 |
> as if they had been there monolithically (within reason of course). |
61 |
> Some drivers do behave differently between being modular and |
62 |
> monolithic, but this is a function of a crappy coder and not a function |
63 |
> of modularity :-) If a piece of kernel code causes a BSOD, then it |
64 |
> will probably do it either way it is loadable as the code is probably |
65 |
> crappy. |
66 |
> |
67 |
> A Real Time kernel is not suitable for a PC either - I can't think of |
68 |
> any RT application where a PC would be a *GOOD* choice. For that I |
69 |
> would be using the embedded arches with a board where as designer I |
70 |
> know exactly what is present and what isn't. Monolithic makes more |
71 |
> sense in that case. I can imagine why Ingo made that choice - with RT |
72 |
> he has to supply certain guarantees and probbaly can't do that with |
73 |
> modules coming and going all the time. |
74 |
> |
75 |
> Basically. modern Linux is essentially unusable without kernel modules. |
76 |
> |
77 |
> |
78 |
> |
79 |
Talking about modularize kernel i think this is an gentoo mailing list |
80 |
so every user know's his hardware - if not there is always GOOGLE, |
81 |
Gentoo HowTo and Hardware Manual. Most drivers in kernel are universal |
82 |
for one vendor family what makes more suitable to different types of |
83 |
chipsets (revisions A, B etc...). There is also true that maybee kernel |
84 |
modules are good for people with binary distro's but Gentoo is source |
85 |
based distribution - thank god - and every user should compile kernel |
86 |
for his hardware - modules not needed. Cheap code modules are also bad |
87 |
rule of cheap programmers, which don't know system and kernel |
88 |
structures. Afterwords thats how making usage of NDISWRAPPER is |
89 |
fundamental on Windows drivers hardware. |
90 |
|
91 |
If we speak about realtime preemption model i think that You are |
92 |
mistaken saying that PC and realtime kernels (software) is not good |
93 |
choice. My licentiate work on University of Silesia (Poland, Katowice) |
94 |
is about usage of realtime services in computer LAN/WAN networks. I |
95 |
digging some materials about RTOS and realtime preemption model, |
96 |
realtime schedule algorithm and realtime applications critical points |
97 |
programming. I don't know if PC + Realtime preemption model is something |
98 |
wrong. When You need critical services for network such as multiplexed |
99 |
SDH traffic control and violation prevention You must have great power |
100 |
computer with RTOS, that can monitor min. 166MB/s traffic full duplex. |
101 |
Now-days computers have enough power to stand with RISC (Reduced |
102 |
Instruction Set Computing) machines - thats why Sun Solaris has arrived |
103 |
on PC's. Another big step is RTLinux with dual core - realtime core and |
104 |
Linux kernel working together. |
105 |
|
106 |
Mateusz M. |
107 |
-- |
108 |
gentoo-user@l.g.o mailing list |