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

Re: All the unicorns are dead on Linux (was: How to compare contents of two folders against third one?)



Jeffrey Walton (12023-11-03):
> If you ask folks like Brian Kernighan and Rob Pike, they will tell you
> all the unicorns are dead on Linux because everything is _not_ a file.

They might tell you that, but that is wrong nonetheless: they fumbled
the “everything is a file” from the start.

In original Unix, processes are not files.

In original Unix, memory areas in the address space of a process are not
files.

In original Unix, time is not a file.

In original Unix, signals are not files.

In fact, Linux bioengineered some of these Unicorn into existence with
memfd, timerfd, signalfd.

Nowadays, the worst offence in this are the thread synchronization
primitives. It is a tragedy that mutexes and conditions are not
compatible with the file descriptors API at all. If they were, then
pthreads could have made some concurrent I/O code simpler; as it is,
pthreads are useful for performances, but when it comes to I/O, they
them harder.

Regards,

-- 
  Nicolas George

Attachment: signature.asc
Description: PGP signature


Reply to: