Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Wed, 30 Jun 2004 17:03:54 -0700 (PDT) From: Kaz Kylheku To: Robert Pendell cc: Cygwin eMail List Subject: Re: Netsky worm In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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/