[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux Server





Mike Londarenko wrote:

> If you're talking about x86 architecture to built a server intended to
> serve up to 30 users at a time , you should consider that each user's program
> is assigned memory in 4K pages (on other architecture this size is different as you
> know) , hence even if he uses 20bytes array he really takes 4K . Any object oriented
> program which requires only 20K for its data can naturally take up to 1MB for its
> instructions segment , due to the fact that its built in object oriented manner.

What ??? Who told you that ? You completly confuse the subject of
Paging and the so called "object oriented programming metodologies".
What the hell does anything got to do with "object oriented" ?

The memory allocator ( brk() and sbrk() ) works sequesntially ONLY. It have
no idea that the process executing brk() is written in "object oriented manner", whatever
THAT is !!!

If you think the user level alloctor allocate 4K every time you do a new() for an object
or malloc(), you are wrong. No sonsible user-level allocator EVER allocate just 4K in each
brk() call.
Try to use truss and see how this stuff works. Look at the GNU malloc source and see
how it works. Look at g++ implementation of new() and see how it works. Look at
the copy constructor implementation, for example.

>
> Any process in the system handled by kernel has its own descriptor in the process
> table and this table also depends on the architecture , not just on the kernel.

Oh yeh. On some kernels, it's completly undependant of the processor. You don't
need more than two descriptor to write an infinite-process system.

>
> For example x86 architecture can hanlde up to 100 processes simultaneously while
> Alpha is able to handle 10000 .

Where did those numbers came from ? I personally worked with a UNIX kernel
on a 386 with no limitation on the number of processes, ( beside memory ). Check
out BSDI source code.

> Some specially built SMP servers can access same
> regions in memory at same time , while no-one from Intel does .

This is not true. It's completly dependant on the Machine, not on the processor.

> And so on and so on.
> So , as a final note (only my final note , someone can read this and decide something
> completely different :) - there are a lot of things to think about them, but to decide
> which server best fullfills your needs you've to know exactly what are you going
> to do with it .

Another advice: Better get some real info before making a decision.

> If the goal is to use it as application server while running only
> applications like X/Netscape/Emacs/DDD/etc. and not for some heavy applications
> like CAM/CAD/3D modeling  - this configuration is good enough , if not - you need
> something more powerful .
>
> Best wishes,
> Mike.