This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Netsky worm


On Wed, 30 Jun 2004, Robert Pendell wrote:

> Right.  Windows actually stole certain things from UNIX.  Example: The
> system32\drivers\etc folder is taken directly from UNIX.  There are
> certain others stolen from UNIX too but I can't remember what.

``Stolen'' is a big word. Microsoft has as much right to imitate
good or bad ideas from elsewhere as anyone else.

I can think of lots of things in Windows that were imitated from Unix
and surrounding culture. Most of them are imitated badly; the nice,
simple concepts are typically contorted and murdered in the process.

- The use of the C language for expressing the system interfaces and
  for developing the kernel. [ All very bastardized under Windows.
  Crap like __declspec(dllimport) and __stdcall and __pascal, WINAPI 
  hack layered upon hack. ]

- Network stack. [ Direct from Berkeley Unix ].

- The basic kernel architecture. [ Though unreliable; trivial 
  driver reconfigurations require reboot. ]

- Hierarchical filesystem with . and .. directories, and paths
  expressed left to right separated by slashes (albeit backslashes).
  [ But with drive letter name stupidities, 8.3 backward compatibility
  hacks, UNC paths that don't work everywhere, etc. ]

- Symbolic links (shortcuts) [ Not recognized at the deepest OS levels,
  just a superficial trick seen by the Shell API ], and hard links (NTFS).

- Unstructured files with open/read/write type primitives, with
  EOF indicated by a short read. [ Complicated API with a huge number
  of parameters just to open a file. Stupidities in the filesystem
  regarding concurrent operations. ]

- Object file formats like COFF and ar archives in the Microsoft
  toolchain.

- Command shell with < > | redirection, by way of DOS. [ Antedeluvial
  syntax and semantics. ]

- Shell and utilities as a separate programs called by name.

- Devices mapped into the filesystem space [ but without regard for
  pathname namespaces. Cannot have a file called CON or PRN in any
  directory! ]

- Command lines and environment variables, passed down to child processes.
  [ But a single command line string is passed that must be tokenized
  by the called process, so there is no consistent, reliable way to
  pass a general list of arguments. ]

- Path environment variable, containing delimited list of places to
  look for executables.

The list goes on.

Do you know that animated film _The Nightmare before Christmas_? If UNIX
is like Christmas, then Windows is like Pumpkin King Jack Skellington's
bastardized misunderstanding of Christmas. The interfaces and
mechanisms of Windows are like Jack's gruesome toys that scare the
children.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]