24308 CSC 080A - 0 - Operating Systems

Spring 2005
Tuesday, Thursday, 2:30 pm - 3:50 pm , Kramer Science Center KSC 102A
Herbert J. Bernstein (yaya@dowling.edu)

Linux and Windows

 

This web page is http://www.bernstein-plus-sons.com/.dowling/CSC3080S05/CSC3080_Linux_Windows.html
Copyright © 2002, 2005 Herbert J. Bernstein and other parties. All rights reserved.


Linux and Windows

There are many operating systems, and it is likely that many more will be written. However, as of this writing (in Spring 2005), two operating systems command the attention of a wide range of computer users and are worth some discussion and comparison: Linux and Microsoft Windows.

Linux is a highly popular variant of the Unix operating system. Unix has a rich and complex history, beginning with an attempt at a single user version of Multics at Bell Laboratories in 1969. For a view on the early history of Unix, see Tom Van Vleck, "Multics: Unix and Multics", www.multicians.org/unix.html, and Peter H. Salus, "A Quarter Century of UNIX", Reading, MA: Addison-Wesley, 1994, which is the source for the site virtual.park.uga.edu/hc/unixhistory.html. Unix was an important operating system, but it became the core of a movement of almost religious intensity with the establishment of the GNU project by Richard Stallman in 1983, which used the features of Unix as a template for cooperative open source development. See www.gnu.org/gnu/gnu-history.html. Open source variants of almost all the components of Unix were created and widely used by the early 1990's. The only major missing component was a fully functional, widely accepted kernel. That piece was provided by Linux Torvalds in 1992 (see http://www.li.org/linuxhistory.php), and the entire operating system based on descendents of that kernel, using the full suite of GNU software is called Linux. Some people prefer to call it LiGNUx. Linux has been ported to a wide range of hardware platforms.

Windows is the common name for a family of operating systems sold by Microsoft. Windows started as a GUI-addon to the command-line oriented MS DOS operating system. It has become a reasonably complete statnd-alone operating system. For a history of Windows, see members.fortunecity.com/pcmuseum/windows.htm. Windows is a large, closed-source proprietary operating system. Some variants of Windows have been ported to non-Intel platforms, but Windows is primarily an operating system for hardware based on the Intel 80x86 architecture, typically Intel, Cyrix or AMD Pentium clones.

Comparison of Linux and Windows

In terms of external functionality, there are many comparisons of Windows variants versus unix variants. See for example Milo's Operating System Technical Comparison, http://www.osdata.com/. Let us compare major design characteristics:

CharacteristicLinuxWindows 2000
design paradigmhighly modular, open sourcenon-modular, closed source
design goalsinteractive system for multiple users, major server capabilities interactive system for a single user, some server capabilities
general structure users
shells, utilities, ...
library
kernel
hardware
users
programs
API (Win32, Posix or OS/2)
system services
kernel
hardware abstraction layer
hardware
command line interface multiple shells (bash, tcsh, ksh, ...) MS-DOS (CPM-like) command interface
process management fork, parent-child relationship
exec to replace current program with a new one
process state memory resident
CreateProcess (like exec), no parent-child relationship
threads POSIX threads threads(like a process) and fibers(like a thread)
interprocess communication semaphore, message queue, pipe, signal, rpc, socket, shared memory pipe, message-mode pipe, event, rpc, socket, shared memory
scheduling multi-level, priority- and event- driven round-robin scheduler limited levels, event-driven, round-robin scheduler
file systems multiple file systems handled via virtual filesystem switch (vfs) interface, e.g. ext2, ext3, fat, hfs, xfs, iso9660, ..., journaling available. Support for remote file systems with NFS. FAT file systems inherited from MS-DOS, (FAT12, FAT16, FAT32, VFAT) extensions added for long file names, new design in NTFS, includes on-the-fly compression.
security security features in file system, process management, major network applications (tcpwrapper, tripwire), access control, some vulnerabilities by exploitation of buffer overflows. security features in NTFS, access control, security fails frequently in practice due to VBA, active-X, buggy code.

Updated 28 April 2003.
yaya@dowling.edu