Linux-Development-Sys Digest #93, Volume #8      Tue, 22 Aug 00 08:13:11 EDT

Contents:
  Re: Linux server to hold thousands of tcp connections? ("John Chen")
  login and passwd problems with glibc (crypt) (Vincent)
  Re: How do I create a var in user space. ("Justin Dubs")
  printk doesnt work ([EMAIL PROTECTED])
  Re: Circumventing TIME_WAIT...howto? ([EMAIL PROTECTED])
  Kernel panic: VFS: (Koch)
  Re: all threads in a process share the same pid? ([EMAIL PROTECTED])
  Re: printk doesnt work ("pusillus")
  Re: how to insert my protocol into the linux protocol stack? (Josef Moellers)
  Re: printk doesnt work (Josef Moellers)
  kernel_thread -- What does it do? (Chetan Ahuja)
  Re: purify and memory managers (Aurel Balmosan)
  Re: Pb with function msgrcv() (Aurel Balmosan)
  Re: Linux server to hold thousands of tcp connections? (Aurel Balmosan)
  "Best" x86 Linux C/C++ compiler?? ("H.W. Stockman")
  Re: Circumventing TIME_WAIT...howto? ("Robert Colbert")
  Signal to a process (Marco Fabiani)
  Re: Circumventing TIME_WAIT...howto? (Andi Kleen)
  Re: how to insert my protocol into the linux protocol stack? (Andi Kleen)
  Re: OSS <-> soundcard driver (Anes Lihovac)
  Re: "Best" x86 Linux C/C++ compiler?? (Stefaan A Eeckels)

----------------------------------------------------------------------------

From: "John Chen" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.protocols.tcp-ip
Subject: Re: Linux server to hold thousands of tcp connections?
Date: Tue, 22 Aug 2000 10:35:57 +0800

If the limit number of file descriptors in each process is 1024, does it
mean that each thread can hold 1024 connections?
Will the performance decrease significantly when connections wave up to 300
thousand or so?

Best regards!

"David Schwartz" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
>
> J R wrote:
> >
> > I am building an IM server for LINUX that will accept connections and
> > hold them open for asyn communication (very much the same as AOL).  I
> > need some ideas about how to go about this.
> >
> > Should I use BSD sockets or go to a lower layer?  What are the max # of
> > BSD sockets that could probably be held open at the same time on LINUX?
> > How do I go to a lower layer if I wanted too?  Resources?  Any ideas
> > would be great?
>
> My advice to you would be to have one thread 'poll' on every 1,024
> connections.
>
> DS



------------------------------

Subject: login and passwd problems with glibc (crypt)
From: Vincent <[EMAIL PROTECTED]>
Date: Tue, 22 Aug 2000 04:20:35 GMT

I cannot get login and passwd to work with glibc.

I am running:
AMD K6 processor
linux-kernel-2.4.0-test4
glibc-2.1.3
    configured with
    configure --host=i386-pc-linux-gnu --enable-add-ons \
              --prefix=/usr \
              --disable-sanity-checks
egcs-1.1.2
shadow-19990827
util-linux-2.10k.package

The passwd and login programs from the shadow package give the following
error

crypt: Operation not supported

If I disable shadow and run passwd from the util-linux package, it acts like
it successfully sets the password but the password field in /etc/passwd is
still empty (I am starting with no password set).

I have tried this with glibc compiled both with and withiout the crypt addon
package.

I have not found anything in the docs, FAQ's, or mailing lists that help.
Does anybody have any idea what would cause this?  Perhaps some
configuration I am overlooking when compiling one of the packages?

If you need any more information, I will gladly provide it.
Please help if anybody out there can.

Thanks in advance.



------------------------------

From: "Justin Dubs" <[EMAIL PROTECTED]>
Subject: Re: How do I create a var in user space.
Date: Mon, 21 Aug 2000 23:08:51 -0400

I am not an expert on this but as far as I know it is not possible to do
ANYTHING in user space from a device driver.  I think that you have to break
the driver down into two components, the base driver with runs in the kernel
mode and a separate program that is executed and lives in user space.  But,
I may be wrong.  Good luck,

Justin

<[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Hi,
>
> I'm writing a device driver and would like to allocate memory in user
> space.
>
> I'm passing a variable into a function that expects user space .
> I'm not looking for large pages of memory,
> just primitaves like long and long long.
>
> As i can see vmalloc still allocates in kernal space.
>
> Can any one please help
> Richard
>



------------------------------

From: [EMAIL PROTECTED]
Subject: printk doesnt work
Date: Tue, 22 Aug 2000 04:26:50 GMT

i have a new redhat 6.2
and im trying to printk from a loadable module
but i dont see the result on the terminal?
how can ido kernel programing from redhat 6.2???
please help thanks


Sent via Deja.com http://www.deja.com/
Before you buy.

------------------------------

From: [EMAIL PROTECTED]
Subject: Re: Circumventing TIME_WAIT...howto?
Date: Tue, 22 Aug 2000 05:34:27 GMT

On Mon, 21 Aug 2000 19:51:38 GMT Kaz Kylheku <[EMAIL PROTECTED]> wrote:

| So what you are saying that there is no available ephemeral port number to
| assign to the client because all 65535 of them are in TIME_WAIT?  What error is
| socket() returning? You'd think that it would be the connect() that fails.

What is the maximum number of sockets the kernel can have sitting in
TIME_WAIT?  I'm assuming it's not larger than the maximum number of
sockets the kenel can have in any state.

-- 
| Phil Howard - KA9WGN | My current websites: linuxhomepage.com, ham.org
| phil  (at)  ipal.net +----------------------------------------------------
| Dallas - Texas - USA | [EMAIL PROTECTED]

------------------------------

From: [EMAIL PROTECTED] (Koch)
Subject: Kernel panic: VFS:
Date: Tue, 22 Aug 2000 05:23:10 GMT
Reply-To: [EMAIL PROTECTED]

Hello all,

I have trouble on recompiling a kernel, ie. when boot
a system with the new kernel, a message "Kernel panic:
VFS: Unable to mount root fs on 08:02" is displayed and
freez.

I use Slackware 7.0, kernel 2.2.13.

I think it is my wrong configuration to a file .config
that caused the trouble.

Could anybody give me answers for questions:

Q1. What item or option shuld I select?
Q2. Is there any good document or book for correct
    configuration("help" for each item is a little bit
    hard to understand for me. I'd like to understand
    meaning of each item.)?

Thank you.
koch


------------------------------

From: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.development.apps
Subject: Re: all threads in a process share the same pid?
Date: Tue, 22 Aug 2000 05:42:07 GMT

In comp.os.linux.development.system [EMAIL PROTECTED] wrote:
| In comp.os.linux.development.apps Kaz Kylheku <[EMAIL PROTECTED]> wrote:
|
|> The Linux kernel gives you a choice; you can do a clone without
|> CLONE_FS to give each thread its own root and cwd.  It makes sense
|> for a thread to be able to chdir() independently without affecting
|> other threads.
|
| This is wholey a matter of opinion. I mine, it makes much more sense
| for threads to share the current working directory. In particluar, if
| you call chdir() based on user input in one thread, the logical
| assumption is that the user wanted to change his working directory,
| not that he wanted to change it "just for this thread"

The change, however, would be an asyncronous change of context as it
affects other threads.  Another thread may be utilizing a library to
do some actions within the current context, and if the chdir() occurs
between open() of a couple files which are named relative to the current
directory, then results are inconsistent.  Thus to be "thread safe"
in light of this, every thread of code must be able to handle the
situation where the current directory may become suddenly different
anywhere in the midst of it's code.


|> Also consider that the chdir() system call is needed in avoiding
|> limitations on the length of a pathname that can be passed in a
|> single file-related system call.
|
| This is completely wrong. There shouldn't be _any_ case in which
| chdir() will accept a pathname longer than open() or close(). If the
| kernel does have arbitray limits on other system calls, that's an
| entirely seperate misfeature than LinuxThreads.

It's not a case of chdir() accepting a longer pathname; it's a case
of chdir() being used incrementally to "step" into a deeper directory
so that pathnames are shorter and thus fit the limitations.

-- 
| Phil Howard - KA9WGN | My current websites: linuxhomepage.com, ham.org
| phil  (at)  ipal.net +----------------------------------------------------
| Dallas - Texas - USA | [EMAIL PROTECTED]

------------------------------

From: "pusillus" <[EMAIL PROTECTED]>
Subject: Re: printk doesnt work
Date: Tue, 22 Aug 2000 06:06:44 GMT


[EMAIL PROTECTED] ha scritto nel messaggio
<8nsvdq$8tm$[EMAIL PROTECTED]>...
>i have a new redhat 6.2
>and im trying to printk from a loadable module
>but i dont see the result on the terminal?
>how can ido kernel programing from redhat 6.2???
>please help thanks


cat /var/log/messages





------------------------------

From: Josef Moellers <[EMAIL PROTECTED]>
Subject: Re: how to insert my protocol into the linux protocol stack?
Date: Tue, 22 Aug 2000 08:18:07 +0200

[EMAIL PROTECTED] wrote:
> =

> im trying to implement a data link protocol and i wonder how
> i can enter this protocol in the kernel protocol stack??
> any books or internet sources will be welcome

UTSL (Use the source, Luke)!
You may want to look at the linux sources, e.g. the TCP code.

-- =

Josef M=F6llers (Pinguinpfleger bei FSC)

------------------------------

From: Josef Moellers <[EMAIL PROTECTED]>
Subject: Re: printk doesnt work
Date: Tue, 22 Aug 2000 08:20:23 +0200

pusillus wrote:
> =

> [EMAIL PROTECTED] ha scritto nel messaggio
> <8nsvdq$8tm$[EMAIL PROTECTED]>...
> >i have a new redhat 6.2
> >and im trying to printk from a loadable module
> >but i dont see the result on the terminal?
> >how can ido kernel programing from redhat 6.2???
> >please help thanks
> =

> cat /var/log/messages

Better yet, switch to another terminal (e.g. another console) and do
"tail -f /var/log/messages".
You can always insert newlines on the screen (just hit ENTER a few
times) to easily distinguish older messages from recent ones.

-- =

Josef M=F6llers (Pinguinpfleger bei FSC)

------------------------------

From: Chetan Ahuja <[EMAIL PROTECTED]>
Subject: kernel_thread -- What does it do?
Date: Tue, 22 Aug 2000 07:15:42 GMT

  Hi,
     I'm trying to understand what kernel_thread function exactly does. 
I see it being used in various places in the kernel... mainly for starting
userland processes ( e.g init() from main.c). Why exactly is it done this way.
And what the hell IS a kernel_thread ?? I mean, what kind of memory is reserved
for a kernel thread.... what is the life-cycle of a kernel thread... that sort
of thing. There seems to be absolutely nothing about it in the sources or even
the online sources I could find. Is it defined anywhere clearly...??
 
 I'll be grateful if anybody could take a few minutes to write up a correct
answer to this question...

  Thanks 
  Chetan 


------------------------------

From: Aurel Balmosan <[EMAIL PROTECTED]>
Subject: Re: purify and memory managers
Date: Tue, 22 Aug 2000 08:14:48 GMT

Rob Love <[EMAIL PROTECTED]> wrote:
> Hello,
>     I have written a fairly big program in C++ that does a bunch of dynamic
> memory allocation. I think that I clean up after myself pretty well, but I
> would like to double check. In college there was a program I used to use on
> the school's Solarises called purify. It was a nice program that just threw
> up a GUI to tell you if you had any leaks. I have been searching for it on
> the web and all I can find is Rational's Purify, which is proprietary. It
> might be the case that this is what my school has, I'm not sure. Anyway,
> anyone know where I can find the free purify or maybe another memory
> management program that is pretty easy to use.

> Thanks,
>     Rob Love

I like the dbmalloc library. You have to recompile your whole program (libraries) and
include a special header file. It wrappes all dangerous functions (all mem??? functions
and all str??? functions and of course the malloc functions) and maintain red-zones
before and after allocated memory. If you have a problem and you call the check() 
function
often enough you will find it with this tool.

Unfortunatly its very old and I haven't been able to build it on Alpha-OSF1 yet. 

Bye,

        Aurel.
-- 
================================================================
Aurel Balmosan                |  [EMAIL PROTECTED], [EMAIL PROTECTED] 
http://gaia.owl.de/~aurel/    |                                 
================================================================

------------------------------

From: Aurel Balmosan <[EMAIL PROTECTED]>
Subject: Re: Pb with function msgrcv()
Date: Tue, 22 Aug 2000 08:22:53 GMT

Bruno Rivara <[EMAIL PROTECTED]> wrote:
> Christophe Leroy wrote:
> > 
> > Hi,
> > 
> > I've got a problem with msgrcv() function:
> > sometimes it returns -1, but errno=0
> > Does anybody have an idea about what can happen to get such a result ?

> Signal handlers that do not save/restore errno?

> Ciao
> Bruno

Sure they do. It is defined that if a system call is interrupted the 
system function must return an error indicator (normally -1) and
errno must be set to EINTR. That is a must after the system call
returned. So -1 and errno=0 is either an error in msgrcv or some
part of the surrounding function returns -1 in other cases then
msgrcv() failed. (i.e. a parsing error in the received message)

-- 
================================================================
Aurel Balmosan                |  [EMAIL PROTECTED], [EMAIL PROTECTED] 
http://gaia.owl.de/~aurel/    |                                 
================================================================

------------------------------

Crossposted-To: comp.os.linux.networking,comp.protocols.tcp-ip
From: Aurel Balmosan <[EMAIL PROTECTED]>
Subject: Re: Linux server to hold thousands of tcp connections?
Date: Tue, 22 Aug 2000 08:18:37 GMT

In comp.os.linux.development.system John Chen <[EMAIL PROTECTED]> wrote:
> If the limit number of file descriptors in each process is 1024, does it
> mean that each thread can hold 1024 connections?
> Will the performance decrease significantly when connections wave up to 300
> thousand or so?

> Best regards!

Well, 300000 is not possible with TCP/IP. Your limit on one UNIX system will be
something like 48k. For 300000 or higher use connectionless connections via
UDP.
-- 
================================================================
Aurel Balmosan                |  [EMAIL PROTECTED], [EMAIL PROTECTED] 
http://gaia.owl.de/~aurel/    |                                 
================================================================

------------------------------

Reply-To: "H.W. Stockman" <[EMAIL PROTECTED]>
From: "H.W. Stockman" <[EMAIL PROTECTED]>
Subject: "Best" x86 Linux C/C++ compiler??
Date: Tue, 22 Aug 2000 02:01:42 -0700

I'd like to purchase a shrink-wrapped x86 Linux package with a
"good" C/C++ compiler.  I define "Good" to mean: the compiler
 produces efficient executables for source code comparable to
the Spec2000 suite.  The main use would be for compiling
memory-intensive floating point code, with some middling
graphics.  An IDE is nice, but not the most important feature;
I would like a good, intuitive text editor.

Currently I use Intel C/C++ 4.5 under Microsoft VC++ in
Windows.  I did numerous tests with gcc and egcs back in
1997 and early 1998, and generally found they produced
slower executables than did the Intel compiler (by 20 to 50%).
I'd like to set up a system for dual-boot, and would like to
have the Linux system communicate with the 4 windows PCs
on my TCP/IP network

It would be nice to have conio.h features available in the Linux
compiler; it would be nicer still to have some equivalents of
the Windows console functions like SetConsoleScreenBuffer().

I've never used Linux for more than a few hours at a crack.
However, I installed AT&T SVR4 and X-windows on two 486
PCs back in early 1992, and set up gc and emacs, etc. in that
environment.  So I have a sense of what I may be up against
(I suspect the setup it is tremendously easier now-- back then
it was an arcane process with 42 floppy disks, and adding a driver
for a DC2020 tape drive or modem could take hours.)

Thanks for opinions-- please fork your responses to my e-mail.







------------------------------

From: "Robert Colbert" <[EMAIL PROTECTED]>
Subject: Re: Circumventing TIME_WAIT...howto?
Date: Tue, 22 Aug 2000 03:20:36 -0700

> My suggestion would be to try a more distributed load test. Use more
client
> machines that each make connections at a slower rate.

This is our temporary solution until I find a better one. We just started
inserting delays between each client connection and it was doing okay, just
having to live with the reduced session rate...but able to test...

> Other than that, you could play with the TIME_WAIT duration, which is
> determined (in a 2.2.x kernel) by TCP_TWKILL_PERIOD and TCP_TWKILL_SLOTS
in
> /usr/src/linux/include/net/tcp.h.

...this looks like that "better" solution I was mentioning above. Again,
didn't really want to recompile a kernel (would then have to update 96 PCs
manually). It would be great if these were kernel variables instead of
macros...I'll see what I can do there to provide a more run-time-tweakable
environment.

I can see many pros and cons of adjusting each of these values. Would you
recommend not quite making TWKILL_PERIOD "zero"; but rather reducing it to
something more appropriate to our environment and _also_ increasing the
number of TWKILL_SLOTS to something that can bear more load? We do have some
pretty beefy machines (Pentium III 600MHz with 256MB of RAM). Or should I
just make it so that TWKILL_PERIOD can approach zero?

Thanks again to everyone for all the responses. This has all been an
enormous learning experience for me!

--
-Rob Colbert ([EMAIL PROTECTED])
"If you see a motorcycle rider frowning at the end of a ride, they brought
it with them and couldn't get rid of it."

"Kaz Kylheku" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> The problem is that only one side can do the passive close; usually it is
the
> server. You would only shift the problem from one side to another.
>
> My suggestion would be to try a more distributed load test. Use more
client
> machines that each make connections at a slower rate.
>
> Other than that, you could play with the TIME_WAIT duration, which is
> determined (in a 2.2.x kernel) by TCP_TWKILL_PERIOD and TCP_TWKILL_SLOTS
in
> /usr/src/linux/include/net/tcp.h.




------------------------------

From: Marco Fabiani <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Signal to a process
Date: Tue, 22 Aug 2000 12:35:46 +0200

Hello,
I would send a sort of signal to a specific process in order to increase

a variable inside of it:
process A:
...
if (a>0)  increase the variable N inside process B
....

How can I do it?
Thanks in advance
marco

--
=============================================
 ....and God said:
                  "Pkunzip Universe.zip"
                   and the Universe was ! .
==============================================



------------------------------

From: Andi Kleen <[EMAIL PROTECTED]>
Subject: Re: Circumventing TIME_WAIT...howto?
Date: 22 Aug 2000 13:20:53 +0200

[EMAIL PROTECTED] writes:

> On Mon, 21 Aug 2000 19:51:38 GMT Kaz Kylheku <[EMAIL PROTECTED]> wrote:
> 
> | So what you are saying that there is no available ephemeral port number to
> | assign to the client because all 65535 of them are in TIME_WAIT?  What error is
> | socket() returning? You'd think that it would be the connect() that fails.
> 
> What is the maximum number of sockets the kernel can have sitting in
> TIME_WAIT?  I'm assuming it's not larger than the maximum number of
> sockets the kenel can have in any state.

Nope, it is much larger in 2.2. Normally sockets are limited by the inode
limit, but TIME-WAIT and SYN-RECV do not have an own inode. The data structures
are also designed to handle a huge number of TIME-WAIT sockets efficiently.

The worst that can happen to you in 2.2 is that you run out of ports
(it does not reuse TWed port for different destinations because of a bug). 
You can work around that by increasing the local ports range using 
ip_local_port_range.

2.4test has an innovative method to avoid TIME-WAIT for connections with 
timestamps using a cache entry per destination IP, but it unfortunately 
breaks with masquerading so it'll likely be removed before release.

-Andi

------------------------------

From: Andi Kleen <[EMAIL PROTECTED]>
Subject: Re: how to insert my protocol into the linux protocol stack?
Date: 22 Aug 2000 13:26:10 +0200

Josef Moellers <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] wrote:
> > 
> > im trying to implement a data link protocol and i wonder how
> > i can enter this protocol in the kernel protocol stack??
> > any books or internet sources will be welcome
> 
> UTSL (Use the source, Luke)!
> You may want to look at the linux sources, e.g. the TCP code.

It is probably easier to read packet(7) instead and implement the protocol
in user space.


-Andi

------------------------------

Date: Tue, 22 Aug 2000 13:42:11 +0200
From: Anes Lihovac <[EMAIL PROTECTED]>
Subject: Re: OSS <-> soundcard driver

Jim Thomas wrote:
> 
> I work for a company that builds DSP cards, complete with audio codecs,
> etc.  I've been asked to find out what it would take to develop an
> OSS-compatible linux device driver for these cards.
> 
> So far, I've seen a lot of documentation covering the interface between
> a user program and the OSS driver, but nothing that talks about the
> interface between OSS and the sound card.  Can anyone share a URL with
> me?
> 
> Thanks!
> 
> --
> Jim Thomas                            E-mail:     [EMAIL PROTECTED]
> Senior Applications Engineer          Web:     http://www.bittware.com
> Bittware, Inc                         Tel:              (703) 779-7770
> Reading goes faster if you don't sweat comprehension. - Hobbes


Maybe you could contact one of the driver programmers from Creative
Labs, who
are devolping the open source Linux driver on
openprojects.soundblaster.com !

Greetings 
Anes

------------------------------

From: [EMAIL PROTECTED] (Stefaan A Eeckels)
Subject: Re: "Best" x86 Linux C/C++ compiler??
Date: Tue, 22 Aug 2000 14:06:55 +0200

In article <Bbro5.3115$[EMAIL PROTECTED]>,
        "H.W. Stockman" <[EMAIL PROTECTED]> writes:
> I'd like to purchase a shrink-wrapped x86 Linux package with a
> "good" C/C++ compiler.  I define "Good" to mean: the compiler
>  produces efficient executables for source code comparable to
> the Spec2000 suite.  The main use would be for compiling
> memory-intensive floating point code, with some middling
> graphics.  An IDE is nice, but not the most important feature;
> I would like a good, intuitive text editor.
The standard compiler on Linux is gcc. It was designed
to produce reasonable code on a wide variety of platforms,
and it generates reasonable code on x86.

If you want commercial compilers, you'd have to buy them
separately (check CodeWarrior, and I think Lahey also
offers a C/C++ compiler).

Of course, Linux comes standard with a plethora of excellent
editors (in alphabetical order):
- Emacs
- Nedit
- Vim

> Currently I use Intel C/C++ 4.5 under Microsoft VC++ in
> Windows.  I did numerous tests with gcc and egcs back in
> 1997 and early 1998, and generally found they produced
> slower executables than did the Intel compiler (by 20 to 50%).
I'd refer you to a recent comparison in Linux Journal
<http://www2.linuxjournal.com/lj-issues/issue67/3425.html>,
which concludes:

| Is Linux a viable alternative to Windows in terms of computational
| performance? Our results indicate that a substantial application
| compiled with freeware compilers under Linux can probably be expected
| to execute no more than 1% slower than when compiled and
| executed under one of the most efficient Windows NT commercial 
| compilation systems. Under general usage (i.e., on a machine that
| hasn't been rebooted recently), it may be possible for an application
| to run up to 4% faster under Linux than under NT. Linux seems to
| scale very well, and under heavy loads, it appears to invariably
| outperform NT. 
|
| Our tests also show that Linux appears to allow approximately
| 15% better performance than Windows 98. The benefit of Linux is even
| more clear-cut when performance of applications compiled with pgcc
| and gcc is compared to performance when compiled with Visual C
| under Windows 95/98/NT. 
| [ T S Newman and J Bush, "Performance Comparison" Linux Journal 
|   issue 67 ]

> I'd like to set up a system for dual-boot, and would like to
> have the Linux system communicate with the 4 windows PCs
> on my TCP/IP network
Dual-boot is no problem, and if you want to use your Linux box
to serve files to the PCs, Samba will do that nicely.

> It would be nice to have conio.h features available in the Linux
> compiler; it would be nicer still to have some equivalents of
> the Windows console functions like SetConsoleScreenBuffer().
I guess you mean "SetConsoleActiveScreenBuffer" (yuck!, the
lenght of that name).
By definition, UNIX does "console IO". You'll have to accept
that the programming model for UNIX using X as a windowing
system is totally different from Win32 using a simulated
console. On the whole, there's no need to write a "console
application", just use an xterm (or rxvt, or kterm...) and
launch your application. If you need "character graphics",
or screen positioning, you'll have to get used to using
"curses". If you're talking about computationally intensive
programs that do line-by-line output, then the UNIX model
is a lot easier to program.

> I've never used Linux for more than a few hours at a crack.
> However, I installed AT&T SVR4 and X-windows on two 486
> PCs back in early 1992, and set up gc and emacs, etc. in that
> environment.  So I have a sense of what I may be up against
> (I suspect the setup it is tremendously easier now-- back then
> it was an arcane process with 42 floppy disks, and adding a driver
> for a DC2020 tape drive or modem could take hours.)
Installing SuSE on a decent machine is easier than setting
up NT4 on the same box. Win2K is a tad easier, mainly due to
possible issues setting up Xfree86.
The last Linux box I set up (SuSE 6.4 on a bog-standard machine
using an ATI Mach64 type card) took about 30 minutes.

-- 
Stefaan
-- 
Ninety-Ninety Rule of Project Schedules:
        The first ninety percent of the task takes ninety percent of
the time, and the last ten percent takes the other ninety percent.

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.development.system) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to