Wednesday, January 16, 2008

OPERATING SYSTEMS

OPERATING SYSTEMS

In the past decades, Apple Inc. developed a few operating systems series for its computer products. There are four main ones: Apple DOS/ProDos/GSOS for Apple II computers, A/UX as a UNIX based OS for many Apple computer models, MacOS for Macintosh computers, and the MacOS X for the latest Apple computers.
In the table below, we listed the historic timeline for the evolution of the Apple computer operating systems.

Date


OS Edition


Platform


Notes

1971


Apple I


For Apple I


The OS has no name.

1977


Apple DOS (DOS 3.x)


For Apple II


Last release was Apple DOS 3.3.2 in 1983 for Apple IIe.

Jan. 1983


Lisa OS


For Apple Lisa Personal Computer


Discontinued in Aug. 1986.

Oct. 1983


ProDOS 1.0


For Apple II


8 bit

Jan. 1986


System 1.0 or “Classic” MAC OS 1.0


For Macintosh Personal Computer




Sept .1986


ProDOS 8 1.2


For Apple II


8 bit; Last version is ProDOS 8 v1.9 released in Aug. 1990.

Sept. 1986


ProDOS 16


For Apple IIGS


16 bit

March 1987


System 2.0 or “Classic” MAC OS 2.0


For Macintosh Personal Computer




Oct. 1987


System 5.0 or “Classic” MAC OS 5.0


For Mac SE and Macintosh II.




May 1987


GS/OS v2.0


For Apple IIGS


Based on the ProDOS 16

Dec. 1987


GS/OS v3.1


For Apple IIGS




April 1988


System 6.0 or “Classic” MAC OS 6.0


For Macintosh computers




Feb. 1988


AUX (A/UX) 1.0


For Macintosh computers


Apple version of Unix based on Unix System V 2.2with MAC OS GUI.

Sept 1988


GS/OS v4.0


For Apple IIGS




May 1989


GS/OS System 5.0 or “Classic” MAC OS 5.0


For Macintosh computers




July 1989


GS/OS v5.0


For Apple IIGS




1990


AUX 2.0


For Macintosh computers




May 1991


System 7.0 “Classic” MAC OS 7.0


For Macintosh computers




March 1992


GS/OS v6.0


For Apple IIGS


The last release of GS/OS is v6.0.1 in July 1992; Apple IIGS was end of life in 1992.

1992


AUX 3.0


For Macintosh II, Quadra and Centris




1995


AUX 3.1.1


For Macintosh II, Quadra and Centris


Last version of the AUX

Jan. 1997


MacOS 7.6


For Macintosh computers


The name MacOS was officially used starting from this version.

July 1997


MacOS 8.0


For Macintosh computers




Oct .1999


MacOS 9.0


For Macintosh computers




March 2001


MacOS X v10.1 “Puma”


For Mac computers


In 1996, Apple acquired the NeXT; OPENSTEP of NeXT, also BSD Unix and Mach, as well as the Mac OS 9.x were joint basis for Mac OS X.

Aug 2002


MacOS X v10.2 “Jaguar”


For Mac computers




Oct 2003


MacOS X v10.3 “Panther”


For Mac computers




April 2005


MacOS X v10.4 “Tiger”


For Mac computers


.

Oct. 2007


MacOS X v10.5 “Leopard”


For Mac computers


Computer Operating System Technical Feature Comparison

In the following table, the technical features for a number of widely used and currently available operating systems.

OS


Supported architectures


Supported file systems




Kernel Name


Kernel type




Multitasking
Supported


GUI on by default

AIX


POWER, PPC


JFS, JFS2, ISO 9660, UDF, NFS, SMBFS, GPFS


UNIX System V


Monolithic
Dynamic Extendable


Yes


No

AmigaOS


68k, PPC (x86 Clone available see AROS)


Proprietary (OFS, FFS,SFS, PFS), FAT, ISO 9660, UDF, many others via 3rd party drivers


Amiga Exec


Microkernel


Yes


Yes

FreeBSD


x86, x86-64, PC98, SPARC, others


UFS2, ext2, ext3, FAT, ISO 9660, UDF, NFS, ReiserFS (read only), XFS (experimental), ZFS (experimental) and others


FreeBSD kernel


Monolithic with modules


Yes


No

HP-UX


PA-RISC,IA-64


VxFS, HFS, ISO 9660, UDF, NFS, SMBFS


UNIX System V


Monolithic with modules


Yes


No

GNU/Linux


x86, x86-64, PPC, SPARC, Alpha, others


ext2, ext3, ext4, ReiserFS, FAT, ISO 9660, UDF, NFS, and others


Linux kernel


Monolithic with modules


Yes




Inferno


x86, PPC, SPARC, Alpha, MIPS, others


Styx/9P2000, kfs, FAT, ISO 9660


Inferno kernel


Monolithic with modules, user space file systems


Yes


Yes

Mac OS Classic


68k, PPC


HFS+, HFS, AFP, ISO 9660, FAT, UDF


Mac OS kernel


Monolithic with modules


Yes


Yes

Mac OS X


PPC, x86


HFS+ (default), HFS, UFS, AFP, ISO 9660, FAT, UDF, NFS, SMBFS, NTFS (read only), FTP, WebDAV


XNU (Darwin kernel)


Hybrid


Yes


Yes

NetBSD


x86, x86-64, PPC, SPARC, 68k, Alpha, others


UFS, UFS2, ext2, FAT, ISO 9660, NFS, LFS, and others


NetBSD kernel


Monolithic with modules


Yes


No

NetWare


x86


NSS, NWFS, FAT, NFS, AFP, UDF, CIFS, ISO 9660


NetWare kernel


Hybrid


Yes


Yes

OES-Linux


x86 PPC


NSS, NFS, AFP, UDF, CIFS, ISO 9660, Netware Traditional File System


Linux kernel


Monolithic with modules


Yes


No

OpenBSD


x86, x86-64, SPARC, 68k, Alpha, VAX, others


ffs, ext2, FAT, ISO 9660, NFS, some others


OpenBSD kernel


Monolithic with modules


Yes


No

OpenVMS


VAX, Alpha, IA-64


Files-11, ISO 9660, NFS


VMS kernel


Monolithic with modules


Yes


No

OS/2


x86


HPFS, JFS, FAT, ISO 9660, UDF, NFS


OS/2 kernel


Hybrid


No


No

PC-BSD


x86 10


UFS2, ext2, ext3, FAT, ISO 9660, UDF, NFS, ReiserFS (read only), XFS (experimental) and others





Monolithic with modules





Yes

Plan 9


x86, Alpha, MIPS, PPC, SPARC, others


fossil/venti, 9P2000, kfs, ext2, FAT, ISO 9660


Plan 9 kernel


Monolithic, user space file systems


Yes


Yes

ReactOS


x86, Power PC


FAT


ReactOS kernel


Hybrid


Yes


Yes

RISC OS


ARM (both 26 and 32-bit)


Acorn ADFS, Econet ANFS, FAT, ISO9660, many others as loadable filesystems


RISC OS kernel


Unprotected monotasking microkernel with large number of relocatable modules


Yes


Yes

Solaris


x86, x86-64, SPARC


UFS, ZFS, ext2, FAT, ISO 9660, UDF, NFS, QFS, some others


Solaris kernel


Monolithic with modules


Yes


Yes

STOP 6 / XTS-400


x86


proprietary


XTS kernel


Monolithic


Yes


No

Windows Server


x86, x86-64, IA-64


NTFS, FAT, ISO 9660, UDF; 3rd-party drivers support ext2, ext3, reiserfs9


Windows NT kernel


Hybrid


Yes


Yes

Windows


x86, x86-64


NTFS, FAT ISO 9660, UDF; 3rd-party drivers support ext2, ext3, reiserfs9


Windows NT kernel for Wndows XP, Vista


Hybrid


Yes


Yes

ZETA


x86


BFS (default), FAT, ISO 9660, UDF, HFS, AFP, ext2, CIFS, NTFS (read only), ReiserFS (read only, up to v3.6)


BeOS


Modular Microkernel


Yes


Yes



Primary APIs


Resource access control


Subsystem isolation mechanisms


Integrated firewall


Encrypted file systems

SysV, POSIX


Unix, ACLs


chroot


IP Filter, IPSec VPNs, basic IDS


No

Proprietary, POSIX environment functions available thru GNU licensed Amiga ixemul.library








No


No

BSD, POSIX


Unix, ACLs, MAC


chroot, jail, MAC Partitions


IPFW2, IPFilter, PF


Yes

SysV, POSIX


Unix, ACLs


chroot


IPFilter


No

POSIX


Unix, ACLs, MAC


chroot, Capability-based security11, seccomp, SELinux, IPSec


Netfilter/Varied by distribution


Yes

proprietary


Unix


Namespaces







proprietary, Carbon


none


none


none


No

Carbon, Cocoa, BSD/POSIX, X11 (since 10.3)


Unix, ACLs


chroot


ipfw


Yes

BSD, POSIX


Unix, Veriexec


chroot, systrace


IPFilter, PF


Yes

proprietary


Directory-enabled ACLs


Protected Address Spaces


IPFLT.NLM


Yes

proprietary


Directory-enabled ACLs


chroot


IPFilter


Yes

BSD, POSIX


Unix


chroot, systrace


PF


Yes

proprietary, Unix-like


ACLs, Privileges


logical name tables







proprietary


ACLs


none


none


No

BSD, POSIX


Unix, ACLs, MAC


chroot, jail, MAC Partitions


IPFW2, IPFilter, PF


Yes

Unix-like (and optional POSIX compatibility layer)


Unix


Namespaces


ipmux


Yes

Windows API













Huge number of SWI calls; extensive C libraries













SysV, POSIX


Unix, RBAC, ACLs, Privileges, Trusted Extension


chroot, Containers


IPFilter


Yes

some SysV, some POSIX, some Linux, some proprietary


Unix, Multilevel security, Biba mandatory integrity, ACLs, Privileges, subtype mechanism


Multilevel security, Biba Integrity Model, subtype mechanism


customer would have to install their own application


No

Windows API, .NET


ACLs, Privileges, RBAC


Win32 WindowStation, Desktop, Job objects


Windows Firewall,IPSec TCP\IP Filtering


Yes

Windows API, .NET


ACLs


Win32 WindowStation, Desktop, Job objects


Windows Firewall (XP and later), TCP\IP Filtering (NT Based systems), IPSec


Yes (NTFS Only)

POSIX, BeOS API


Unix


none


none


No

Computer Operating Systems (OS) Core Functions

An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. Most operating systems come with an application that provides a user interface for managing the operating system, such as a command line interpreter or graphical user interface. The operating system forms a platform for other system software and for application software.
The most commonly-used contemporary desktop OS is Microsoft Windows, with Mac OS X also being well-known. Linux and the BSD are popular Unix-like systems. For mainframe computers. IBM dominant the operating system technologies. The core functions of an operating system have been evolving over the past few decades. The following is a list of the operating system core functions as we understand today:

Kernel
Process management
Passes information between OS Components

Input-Output
Plug and Play
Buffering
Virtual Drives
Device Drives
Direct Memory Access (DMA)
Peripherals
Block Devices
Character Devices

Memory Management
Multitasking
Security
Allocating Resources

User Interfaces
Natural Language Interface
Graphical User Interface
Command Line Interface
Menu Driven
Form filling

File Management
Hierarchical Filing Systems – NTFS, FAT32, FAT, Ext2
Metadata – Permissions, Size, Location, Attributes

Security
Personal Firewall
User Account Management

Utility Programs
Task Scheduler
Search
Backup
Virus checking
Disk defragmentation
File Compression
Disk Formatting tools
Disk partitioning tools

Networking functions
Ethernet
TCP/IP
Microsoft protocols
IBM SNA protocols
Network File Sharing (NFS)

Computer Operating Systems (OS) General Feature Comparison

In the following table, the general features for a number of widely used and currently available operating systems(OS).


OS


Author


First public release


Predecessor


Distribution


Preferred license


Target system type



AIX


IBM


1986


System V R3


Bundled with hardware


Proprietary


Server, Network Appliance, Workstation




AmigaOS


Amiga, Inc.


July 23, 1985


TRIPOS (as the disk operating component of AmigaOS)


Bundled with hardware


Proprietary, Clones available under GNU GPL


Workstation, Home Desktop




FreeBSD


The FreeBSD Project


December 1993


386BSD


Free


BSD


Server, Workstation, Network Appliance, Embedded




HP-UX


Hewlett-Packard


1983


Unix


Per license charge


Proprietary


Server, Workstation




i5/OS


IBM


1988


OS/400


Bundled with hardware


Proprietary


Server




IRIX


SGI


1998


Unix


Bundled with hardware and with updates available through overlays obtained from SGI Support


Proprietary


Server, Workstation




Inferno


Bell Labs


1997


Plan 9


Free


MIT/GNU GPL/GNU LGPL/LPL


Network Appliance, Server, Embedded




GNU/Linux


GNU Project, Linus Torvalds and al.


1992


Unix, Minix


Generally free


GNU GPL and other licenses


Desktop, Workstation, Server (version dependent)




Mac OS


Apple Inc.


January 1984


None


Bundled with older Macs;

Free with OS X for PowerPC3


Proprietary


Workstation, Home Desktop




Mac OS X


Apple Inc.


March 2001


NeXTSTEP / OPENSTEP / Rhapsody, Mac OS


Bundled with hardware and also sold separately


Open source core system (Both Intel and Power PC versions) (APSL, GPL, others) with proprietary higher level API layers


Workstation, Home Desktop




Mac OS X Server


Bundled with hardware and also sold separately


Server




NetBSD


The NetBSD Project


May 1993


386BSD


Free


BSD


Network Appliance, Server, Workstation, Embedded




NetWare


Novell


1985


S-Net


Per connection charge


Proprietary


Server




OpenBSD


The OpenBSD Project


October 1995


NetBSD 1.0


Free


BSD


Server, Network Appliance, Workstation, Embedded




OpenVMS


DEC (now HP)


February 1978


RSX-11M


Free for non-commercial use


Proprietary


Server, Workstation




OS/2


IBM and Microsoft


December 1987


MS-DOS


Per license charge


Proprietary


Home Desktop, Server




PC-BSD


PC-BSD Software


2006


FreeBSD7


Free


BSD


Desktop, Workstation, Server




Plan 9


Bell Labs


1993


Unix


Free


LPL


Workstation, Server, Embedded, HPC




ReactOS


ReactOS development team


1996


Windows NT


Free


GNU GPL, GNU LGPL


Workstation, Home Desktop




RISC OS


Acorn Computers, RISC OS Limited


April 1989


ARTHUR, also the BBC Master OS


Per license charge


Proprietary; originally bundled with computer


educational desktop, home computer




Solaris


Sun


July 1992


SunOS


Free


CDDL


Server, Workstation




STOP 6 / XTS-400


BAE Systems


2003


STOP 5 / XTS-300


Per license charge


Proprietary


Server, Workstation, cross-domain solution, network guard




Windows Server


Microsoft


July 27, 1993


Windows 2000


Per license charge


Proprietary


Server, Network Appliance, Embedded, HPC




Microsoft Windows


Microsoft


November 20, 1985


MS-DOS, VMS, OS/24


Per license charge


Proprietary


Workstation, Home Desktop, media center, Tablet PC, embedded




ZETA


yellowTAB


June 2005


BeOS R5


Per license charge


Proprietary


Home Desktop, Media Workstation


Computer Operating Systems Development Timeline



1950s

* 1956

* GM-NAA I/O

* By IBM

* For IBM 704

*

* 1959

* SOS SHARE Operating System

* By IBM

* For IBM scientific mainframe computers

1960s

* 1960

* IBSYS

* By IBM

* For IBM 7090 and 7094

*

* 1961

* CTSS Compatible Time-Sharing System

* By MIT

*

* MCP Master Control

* By Burroughs

* For Burroughs Large Systems

*

* 1962

* GCOS General Comprehensive Operating

* System

* By General Electric

* For mainframe computers

*

* 1964

* EXEC 8

* By UNIVAC

* For the UNIVAC 1108

*

* OS/360

* By IBM

* For IBM System/360 mainframe computer

*

* TOPS-10

* By DEC

* For PDP-10

*

* 1965

* Multics Multiplexed Information and Computing Service

* By MIT, General Electric and Bell Labs

* For mainframe computers

*

* TOS Tape Operating System

* By IBM

* For IBM System/360

*

* 1966

* DOS/360 Disk Operating System/360

* By IBM

* For IBM System/360

*

* MS/8 RL Monitor System

* By DEC

* For DEC PDP-8

*

* 1967

* ACP Airline Control Program

* By IBM

* For System/360 Airline applications

*

* CP/CMS

* By IBM

* For IBM System/360 - 370

*

* ITS Incompatible Timesharing System

* By MIT

* For DEC PDP-6 and PDP-10

*

* WAITS

* By DEC

* For PDP-6 and PDP-10 at SAIL

*

* 1969

* TENEX

* By BBN (Bolt, Beranek and Newman)

* For DEC PDP-10

*

* Unix

* By AT&T

* For various servers and desktops

*

1970s

* 1970

* DOS/BATCH 11 or DOS-11

* By DEC

* For PDP-11

*

* 1971

* OS/8

* By DEC

* For PDP-8 minicomputers

*

* 1972

* MFT Multiprogramming with a Fixed number of Tasks

* By IBM

* For System/360

*

* MVT Multiprogramming with a Variable number of Tasks

* By IBM

* For System/360

*

* RDOS Real-time Disk Operating System

* By Data General

* For Nova

*

* SVS Single Virtual Storage

* By IBM

* For System/360

*

* VM/CMS Virtual Machine OS

* By IBM

* For System/370 - 390, zSeries, and System z9

*

* 1973

* Alto OS or Xerox Alto

* By Xerox

* For mini-computers

*

* RSX-11D

* By DEC

* For PDP-11

*

* RT-11

* By DEC

* For PDP-11

*

* VME Virtual Machine Environment

* By International Computers Ltd (ICL).

* For mainframe computers

*

* 1974

* MVS (MVS/XA) Multiple Virtual Storage

* By IBM

* For System/360 – 370

*

* 1975

* BS2000 (or BS2000/OSD in 1992)

* By Fujitsu and Siemens

* For Fujitsu and Siemens Computers

*

* 1976

* CP/M Control Program for Microcomputers

* By Digital Research, Inc

* For Intel 8080/85

*

* TOPS-20

* By DEC

* For DEC PDP-10

*

* 1977

* 1BSD First Berkeley Software Distribution of Unix OS, or Berkeley Unix

* By University of California at Berkeley

* For various servers and desktops

*

* 1978

* 2BSD Second Berkeley Software Distribution of Unix-like OS

* By University of California at Berkeley

* For various servers and desktops

*

* Apple DOS 3.1 (First Apple OS)

* By Apple Inc.

* For Apple II

*

* TripOS TRIvial Portable Operating System

* By Cambridge University

* For mainframe computers

*

* VMS Virtual Memory System or OpenVMS

* By DEC

* For VMS and Alpha machines

*

* CADR

* By MIT

* For Lisp machines

*

* 1979

* POS PERQ Operating System

* By PERQ

* For PERG workstations

*

* NLTSS Network Livermore Timesharing System

* By Lawrence Livermore National Laboratory

* For CDC 7600 computer, Cray-1, Cray X-MP, and Cray Y-MP

*

* 3BSD or Virtual VAX/UNIX or VMUNIX

* By University of California at Berkeley

* For DEC VAX



1980s

* 1980

4BSD Unix-like OS

By University of California at Berkeley

For DEC VAX

* OS-9

* By Microware Systems Corporation

* For the Motorola 6809 microprocessor

*

* QDOS Quick and Dirty Operating System or 86-DOS

* By Seattle Computer Products

* For Intel 8086-based computers

*

* SOS Sophisticated Operating System

* By Apple Computers

* For Apple III computer

*

* Pilot (operating system)

* By Xerox

* For Xerox Star computer

*

* Xenix a version of the Unix

* Licensed by Microsoft from AT&T

* For Microsoft micro-computers

*

* 1981

* MS-DOS Microsoft Disk Operating System

* By Microsoft

* For PC compatible platform

*

* 1982

* Commodore DOS

* By Commodore

* For Commodore's 8-bit computers

*

* SunOS UNIX-like

* By Sun Microsystems

* For Sun microcomputers

*

* Ultrix Unix-like

* By DEC

* For DEC computers such as VAX

*

* 1983

* Lisa Office System 7/7

* By Apple Inc.

* For Apple Lisa computers

*

* Coherent a Unix Version 7 clone

* By Mark Williams Company

*

* Novell NetWare

* By Novell, Inc

* A network operating system

*

* ProDOS Professional Disk OS

* By Apple Inc.

* For Apple II

*

* 1984

* Macintosh OS

* By Apple Inc.

* For Macintosh personal computers

*

* MSX-DOS

* By Microsoft

* For the 8-bit home computer standard MSX

*

* QNX a Unix-like OS

* By QNX Software Systems

* For the embedded systems

*

* UniCOS a Unix variant

* By Cray

* For supercomputers

*

* 1985

* AmigaOS

* By Commodore International

* For Amiga PCs

*

* Atari TOS

* By Atari

* For Atari ST computers

*

* MIPS OS a Unix variant

* by MIPS Computer Systems Inc

* For the MIPS microprocessor

*

* Oberon OS

* By ETH Zürich

* For NS32032-based Ceres workstation

*

* Windows 1.0 First Windows

* By Microsoft

* For 16-bit graphical operating environment

*

* 1986

* AIX Advanced Interactive eXecutive

* By IBM based on UNIX V

* For IBM servers

*

* GS-OS Graphics Sound OS

* By Apple Inc.

* For Apple IIGS

*

* HP-UX Hewlett Packard Unix

* By Hewlett Packard

* For HP computers

*

* 1987

* Arthur a GUI OS

* By Acorn Computers.

* For Acorn ARM-cpu-based computers

*

* IRIX Based on UNIX System V

* By SGI

* For SGI computers

*

* Minix Unix-like OS based on a microkernel architecture

* By Andrew S. Tanenbaum

* For educational purposes

*

* OS/2 Operating System/2

* By IBM

* For IBM's Personal System/2 (PS/2)

*

* Windows 2.0

* By Microsoft

* For PC compatible platforms

*

* 1988

* A/UX Apple Unix

* By Apple Inc.

* For some Macintosh computers

*

* LynxOS a Unix-like OS

* By LynuxWorks

* For LynuxWorks computers

*

* Macintosh OS (System 6)

* By Apple Inc.

* For Macintosh computers

*

* MVS/ESA 31-bit MVS

* By IBM

* For IBM System/370 and System/390

*

* OS/400 or i5/OS or OS/400

* By IBM

* For IBM mid-range computers

*

* 1989

* NeXTSTEP

* By NeXT Computer

* For Motorola 68000 family processors, IBM x86, Sun SPARC, and HP PA-RISC

*

* RISC OS

* By Acorn Computers

* For RISC architecture computers

*

SCO Unix, or SCO OpenServer, or SCO Open Desktop (SCO ODT)

By Santa Cruz Operation (SCO)

For various UNIX machines

1990s

* 1990

* Amiga OS 2.0

* By Commodore International

* For Amiga PCs

*

* BeOS (v1)

* By Be Inc

* For PowerPC

*

* DEC OSF/1 Unix based OS

* By DEC

* For DEC Alpha microprocessor

*

* Windows 3.0

* By Microsoft

* For PC compatible platforms

*

* 1991

* Linux Open source Unix-like OS

* By Linus Torvalds and others

* For many platforms

*

* Macintosh OS (System 7)

* By Apple Inc.

* For Macintosh computers

*

* 1992

* 386BSD 0.1 free BSD Unix

* By Lynne Jolitz and William Jolitz

* For PC based on the Intel 80386.

*

* Amiga OS 3.0

* By Commodore International

* For Amiga PCs

*

* Solaris 2.0 Successor to SunOS 4.x

* By Sun Microsystems

* For SPARC, x86, x86-64 and PowerPC

*

* Windows 3.1

* By Microsoft

* For Intel x86 PCs

*

* 1993

* Plan 9 (First Edition)

* By Bell

IBM Operating System (OS) History and Timeline

International Business Machines (IBM) Corporation is a major player in the history of the computer development. Its computer related technologies cover hardware, operating systems and applications. In the following table, we listed the main computer operating systems (OS) created (or co-created) by IBM in the past decades for mainframe computer, Mid-range computer, desktop computer and Unix based OS for mid-range and mainframe computers.

Date


OS


Computer


Notes

Early OS










1956


GM-NAA I/O


IBM 704




1959


SOS SHARE OS


Scientific Mainframe Computer




1967


ACP Airline


System/360 Airline applications


A special version of OS for airline applications.

Mainframe OS Track 1










1960


IBSYS


IBM 7090 and 7094




1964


OS/360


System/360


IBM announced System/360.

1965


TOS Tape


System/360




1966


DOS/360


System /360




1972


MFT


System/360, 370


System/370 announced in 1970.

1972


VS1


System/370


Variant of OS/360

1972


MVT


System/370


Variant of OS/360

1973


SVS


System/370


Renamed from MVT

1974


VS2


System/370


Based on VS1 and MVT

1975


MVS (Multiple Virtual Storage)


System/370


Renamed from VS2 r3

1977


MVS/SP


System/370




1979


MVS/370


System/370


Rename from MVS

1981


MVS/XA


System/370


Rename from MVS

1988


MVS/ESA


System/370


Rename from MVS

1995


MVS/ESA SP5R2


System/370, 390


IBM announced System/390 to replace System/370. This is the last MVS release.

1996


OS/390 v1


System/390


Rebranded from MVS with added UNIX System Services

1997


OS/390 v2


System/390

Linux Operating System

Linux, a UNIX clone, is a popular operating system with its kernel originally developed mainly by Linus Torvalds and released under the GNU General Public License and its source code is freely available to everyone. Due to Linux's adaptability on many platforms, including servers, PCs and Macintoshes, plus its rich functionality and robustness, so Linux has become an extremely popular alternative to many proprietary operating systems. There are now hundreds of companies and organizations plus numerous individuals that have released their own versions of operating systems based on the Linux kernel. Linux can run on all Intel and AMD based hardware from the 386 up.

The two most popular Linux graphical interfaces are KDE and GNOME, with which Linux offers a user interface like that of the Apple Macintosh or Microsoft Windows in addition its traditional Unix-like command line interface. The following is a list of the key Linux features:

* multitasking: support several programs running at the same time.
* multiuser: support several users on the same machine at the same time.
* multiplatform: runs on many different CPUs, Intel, AMD and others.
* multiprocessor: SMP support is available on the Intel and SPARC platforms, and Linux is used in several loosely-coupled MP applications.
* multithreading: has native kernel support for multiple independent threads of control within a single process memory space.
* demand loads executables: Linux only reads from disk those parts of a program that are actually used.
* virtual memory using paging to disk: to a separate partition or a file in the filesystem, or both, with the possibility of adding more swapping areas during runtime.
* dynamically linked shared libraries (DLL's) (and static libraries too).
* provides core dumps for post-mortem analysis, allowing the use of a debugger on a program not only while it is running but also after it has crashed.
* support for many national or customized keyboards, and it is fairly easy to add new ones dynamically.
* multiple virtual consoles: several independent login sessions through the console.
* supports several common filesystems, including minix, Xenix, and all the common system V filesystems. File system support for OS/2, MS-DOS, Mac, etc.
* support many vendor systems such as Appletalk, Netware, Lan Manager/Windows Native (SMB) client and server
* support many networking protocols: the base protocols available in the latest development kernels include TCP, IPv4

MAC OS by Apple Computer

MAC OS is the Macintosh operating system by Apple Computers. Mac OS X, the current release the MAC operating system, is comprised of six major components: System applications, the Aqua user interface, a suite of application frameworks, graphics systems, system management services and the Darwin foundation.

System Applications: Mac OS X includes lots of useful applications such as iMovie, iPhoto and iTunes to manage your cameras, iPod and downloaded music. iChat AV, Safari, Mail, QuickTime and Sherlock offer you the best Internet experience. iSync, iCal and Address Book help you stay in contact. Panther includes applications for managing fonts, viewing PDFs and DVDs, editing text, performing calculations, managing printers, connecting to the Internet, changing system preferences and many more utilities for setting up your Mac.

User Interface: As a tradition of Mac operating systems, Mac OS X features an intuitive user interface. Apple leads the industry with GUI advances such as Exposé, which makes it a snap to navigate between dozens of open windows. In addition, Mac OS X delivers section 508 accessibility compliance, and offers handwriting recognition and fast user switching.

Application Frameworks: The application frameworks of Mac OS X is built on top of the traditional UNIX APIs. Developers can create Aqua user interfaces for Cocoa, Carbon, AppleScript and Java applications with the included XCode development environment. Cocoa is a set of object-oriented frameworks designed for rapid application development, making it easy to add rich Aqua interfaces to existing UNIX software or to create entirely new applications. Carbon provides a gentle migration path for developers who have moved their applications from Mac OS 9 to Mac OS X. AppleScript lets you create your own applications that automate application commands, information retrieval and repetitive tasks. Java 2 Standard Edition v.1.4.1 on Mac OS X is fully-compliant, highly-optimized, and tightly integrated with the native look-and-feel.

Graphics and Media:The Mac OS X graphics system combines 2D, 3D, and time-based media standards. The Quartz 2D high-performance graphics rendering library is the primary imaging model for Mac OS X. OpenGL is the industry standard for visualizing 3D shapes and textures. OpenGL enables high-end 3D graphics on Mac OS X. QuickTime provides an environment for creating, playing and delivering video, audio and images. Mac OS X Core Audio integrates audio functions directly into the operating system.

System Management: Mac OS X includes modern networking and support for standard protocols. This makes Mac OS X easy to integrate into any standards-based network, including existing Macintosh networks, Windows networks, and of course the Internet..

OS Foundation: Beneath the easy-to-use interface and rich graphics of Mac OS X is Darwin, an open source UNIX-based foundation built on technologies such as FreeBSD, Mach, Apache, and GCC. Darwin provides a complete UNIX environment, with X11 and POSIX services comparable to Linux or FreeBSD, including familiar kernel, libraries, networking and command-line utilities.


NOS: Network Operating System

Network Operating System (NOS) is an operating system that includes special functions for connecting computers and devices into a local-area network (LAN) or Inter-networking. Some popular NOS's for DOS and Windows systems include Novell Netware, Windows NT and 2000, Sun Solaris and IBM OS/2. The Cisco IOS (Internet Operating System) is also a Network Operating System with an focus on the Internetworking capabilities of network devices. It is installed in almost all Cisco network devices such as Cisco routers and switches.

Some of the features of Network Operating System are:

* Provide basic operating system features such as support for processors, protocols, automatic hardware detection and support multi-processing of applications
* Security features such as authentication, authorization, logon restrictions and access control
* Provide name and directory services
* Provide file, print, web services, back-up and replication services
* Support Internetworking such as routing and WAN ports
* User management and support for logon and logoff, remote access; system management, administration and auditing tools with graphic interfaces
* Clustering capabilities; fault tolerant and high availability systems


Operating System

Operating System is the most fundamental program that runs on a computer, which keeps all components of a computer such as keyboard, display screen, memory, hard disk, CPU and application software working together. It also controls peripheral devices such as disk drives and printers. The other key function of the operating system is to provide a software platform on top of which other application programs can run without knowing the details of the hardware.

For large and distributed systems, the operating system also controls different programs and users running simultaneously. The operating system is also responsible for security of computers and networks in various ways.

Operating systems have the following categories:

* Single-user, single task - this type of operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS is an example of this type of operating system.
* multi-user: Allows two or more users to run programs at the same time. Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
* Single user, multitasking: Allows more than one program to run concurrently. Microsoft's Windows and Apple's Mac OS platforms are both examples of this type of OS.
* real time: Responds to input instantly. Real-time operating systems are used to control machinery, scientific instruments and industrial systems. General-purpose operating systems, such as DOS and UNIX, are not real-time.
* multiprocessing: Supports running a program on more than one CPU.
* multithreading: Allows different parts of a single program to run concurrently.

User normally interacts with the operating system through GUI such as Windows graphic user interface or a set of commands such as DOS. The application programs must be written to run on top of a particular operating system. The most popular current Operating Systems are:

* Windows: The Microsoft OS installed on 90% of PCs
* UNIX: Originally developed by AT&T Bell Labs for servers
* Linux: A shareware OS with increasing popularity on servers and desktops
* Mac OS: The Apple Computer OS for its personal computers
* OS/2: An IBM operating system for PC which is exiting the market

OS/2: IBM Operating System/2

Operating System/2 (OS/2) is an operating system for PCs developed originally by Microsoft and IBM, but sold, supported and managed solely by IBM. It's intention was to replace the antiquated Disk Operating System (DOS) as the operating system of choice. OS/2 is compatible with DOS and Windows. In other words OS/2 can run all DOS and Windows programs. However, programs written specifically to run under OS/2 will not run under DOS or Windows.

OS/2 is a 32 bit, pre-emptive multi-tasking, operating system for the personal computer. The graphic system of OS/2 has a layer named Presentation Manager that manages windows, fonts and icons. On top of this lies the Workplace Shell (WPS), introduced in OS/2 2.0, which is an object-oriented shell allowing the user to access files and printers, and launch programs. WPS follows IBM's Common User Access user interface standards.

OS/2 represents objects such as disks, folders, files, program objects, and printers using the System Object Model (SOM), which allows code to be shared among applications, possibly written in different programming languages. A distributed version called DSOM allowed objects on different computers to communicate. DSOM is based on CORBA. SOM is similar to, and a direct competitor to, Microsoft's Component Object Model. SOM and DSOM are no longer being developed.

OS/2 also includes a compound document technology called OpenDoc, which was a developed with Apple. OpenDoc is also no longer being developed.

Due to limited market success, IBM stopped marketing OS/2 (Warp V4 and Warp Server) for e-business programs on the 12th of March 2003.

Solaris Operating System: Unix Based OS by Sun Microsystems

The Solaris Operating system of Sun Microsystems is based on the industry-standard UNIX system. Solaris is a multitasking, multiprocessing operating system and distributed computing environment for Sun's SPARC, Intel x86 and AMD Opteron servers. Solaris is known for its robustness and scalability. It provides an enterprise-wide UNIX environment that has the following capabilities:

* One million simultaneous processes on a single system
* Up to 128 CPUs in a single system and 848 CPUs in a clustered environment
* Support for up to 576 GB of memory
* More than four billion network connections
* Up to 252 TB file systems with Sun StorEdge Performance Suite software
* IPv6, enabling a 128-bit IP address space
* A 64-bit Java virtual machine.

The key features of the Solaris OS 9 are as follows:

* Integration of the Sun Java System Directory Server and the Java 2 Platform, Enterprise Edition (J2EE) technology-based Sun Java System Application Server in the Solaris 9 Operating System provides the foundation for Network Identity Management.
* Delivers the performance and stability to meet production database and file system requirements.
* Solaris Containers, combined with Dynamic System Domains, enhance utilization of system resources.
* Provides security solutions and a fully integrated suite of security services.
* Champions the RAS lifestyle into every step of the software development process.
* Configuration services and Patch Manager, combined with SunPlex systems.
* Applications run faster without recompiling and recoding.
* Compatibility with previous versions, and built-in Linux compatibility, offer investment protection.
* The Solaris OS has been optimized for x86-based platforms, including Xeon and Opteron servers.


UNIX Operating System

The word UNIX comes from Uniplexed Information and Computer System (UNICS). The UNIX operating system was designed to let multiple users access the computer at the same time and share its resources. While initially designed for medium-sized minicomputers, the operating system was soon moved to larger, more powerful mainframe computers. As personal computers grew in popularity, versions of UNIX found their way into these boxes, and a number of companies produce UNIX-based machines for the scientific and programming communities.

The key features of UNIX are:

* Multitasking capability: UNIX lets a computer do several things at once, such as printing out one file while the user edits another file.
* Multiuser capability: The same design that permits multitasking permits multiple users to use the computer. The computer can take the commands of a number of users -- determined by the design of the computer -- to run programs, access files, and print documents at the same time.
* Portability: UNIX system is portability, permitting it to move from one brand of computer to another with a minimum of code changes. And new versions of UNIX were backward compatible with older versions, making it easier for companies to upgrade in an orderly manner.
* UNIX tools: UNIX comes with hundreds of programs and tools in two classes: Integral utilities that are absolutely necessary for the operation of the computer, such as the command interpreter, andTools that aren't necessary for the operation of UNIX but provide the user with additional capabilities, such as typesetting capabilities and e-mail.
* Library of application software: there are hundreds of UNIX applications that can be purchased from third-party vendors, in addition to the applications that come with UNIX.

The UNIX system is functionally organized at three levels:

* The kernel: schedules tasks and manages storage;
* The shell: connects and interprets users' commands, calls programs from memory, and executes them;
* The tools and applications: offer additional functionality to the operating system

a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj13VGElnvqOOooE-CVNMholpYq1tAwBWUjzcFDbLVORfP4FhV_pVvSuawN16WmPkLpJVI73cYhPWoivt5YOGGwhAZpv624aEbcE29suhAuDlMKfd8mA-h1NYydyqcJfvz133LCQfEzxo4/s1600-h/UNIX.jpg">
Apple Operating Systems Evolution Timeline




Virtual Machine

Virtual Machine (VM) is a system that enables multiple operating systems concurrently run on a single physical server, providing for much more effective utilization of the underlying hardware. In a virtual machine, the central processor chips isolate an area of memory from the rest of the system and the operating systems and applications run in a “protected mode” environment. If a program freezes in one Virtual Machine it will not affect the operation of the programs and operating systems running outside of that Virtual Machine.

There are four major schools of thought in the virtual machine architecture. The first is a nearly one-to-one mapping, represented by the IBM virtual machine model. The second lineage consists of a mapping of every instruction in the machine with a virtual instruction, represented by the Java virtual machine. The Unix virtual machine model and the OSI virtual machine model map some of the instructions directly, while some others are calls to the operating system functions directly.

In the case of the real computer systems, the operating system components known as device drivers control hardware resources, translating operating system instructions into a specific device control language. Drivers are developed with an assumption of exclusive device ownership, which typically precludes the possibility of running more than one operating system concurrently on a computer. Virtual machine is one of technologies overcome this limitation. Virtualization involves redirecting interactions with device resources at lower levels in such a way that higher-level application layers are unaffected. With Virtual machine, customers can run multiple operating systems concurrently on a single physical system.

Microsoft Virtual Server 2005 is based on the OSI virtual machine architecture with the following key points:

* The host operating system, such as Windows Server 2003, manages the host system.
* Virtual machine operating system, such as Virtual Server 2005, provides a VMM virtualization layer that manages virtual machines, providing the software infrastructure for hardware emulation.
* Each virtual machine consists of a set of virtualized devices, the virtual hardware for each virtual machine.
* A guest operating system and applications run in the virtual machine without the knowledge that the network adapter they interact with through Virtual Server is only a software simulation of a physical Ethernet device.






Virtual Server

Virtual server appears as server with complete server functionalities. But it is not a real server without the dedicated server hardware system.

There are two architecture approaches for the virtual server. One builds itself on a cluster of real servers. The topology of cluster is transparent to end users, and the users interact with the system as if it were only a single virtual server. The real servers may be interconnected by high-speed LAN or by geographically dispersed WAN. The front-end of the real servers is a load balancer, which schedules requests to the different servers and make parallel services of the cluster to appear as a virtual service on a single IP address. Linux/UNIX virtual server is based on this architecture. This type of Virtual Server can be used to build highly scalable and high available network services, such as a scalable web, mail or media service.

The other approach is the virtual machine approach which enables users to run multiple operating systems concurrently on a single physical server, providing for much more effective utilization of the underlying hardware. Microsoft® Virtual server 2005 is based on such technology.

The following are key features of a virtual server:

* Appears to have its own processes, users, files and provides full root access;
* Each has its own IP addresses, port numbers, tables, filtering and routing rules;
* Each could have its own configuration files for the system and app software;
* Each could have its own versions of system libraries or modify existing ones;

Each could delete, add, modify any file, including files in /root, and install its own application software or custom configure/modify root application software.





Windows Operating System

Windows is a family of operating systems for personal computers developed by Microsoft. Windows are currently running on about 90% of the personal computer worldwide. Windows provides a graphical user interface (GUI), virtual memory management, multitasking, and support for many peripheral devices.

Windows started as a 16-bit Operating environment. They use MS-DOS for filesystem services but have their own executable file format and provide their own device drivers (graphics, printer, mouse, keyboard and sound). They allow the user to (non-preemptively) multi-task graphical applications. They implement an elaborated segment-based software virtual memory scheme, which allows to run applications larger than available memory. Examples include Windows 1.0 (1985) and Windows 2.0 (1987) and its close relative Windows/286.

Later Windows migrated to a Hybrid 16/32-bit operating environment. Windows/386 introduced a 32-bit protected mode kernel and virtual machine monitor. For the duration of a Windows session, it provided a device virtualization for the disk controller, video card, keyboard, mouse, timer and interrupt controller. The user-visible consequence was that it became possible to preemptively multitask multiple MS-DOS environments in separate windows. Windows applications were still multi-tasked cooperatively inside one of such real-mode environments. Windows 3.0 (1990) and Windows 3.1 (1992) are examples of this design.

The Hybrid 16/32-bit operating environment advanced into Hybrid 16/32-bit operating system with the introduction of 32-Bit File Access in Windows for Workgroups 3.11. Windows could finally stop relying on DOS for file management. Leveraging this, Windows 95 introduced Long File Names, reducing the 8.3 DOS to the role of a boot loader. There were three releases of Windows 95 and then Windows 98. In 2000, Microsoft released Windows ME, which used the same core as Windows 98 but adopted the visual appearance of Windows 2000.

32-bit operating systems originally designed and marketed for higher-reliability business use with no DOS heritage. The first release was Windows NT 3.1, which was followed by NT 3.5 (1994), NT 3.51 (1995) and NT 4.0 (1996). Windows CE, Microsoft's offering in the mobile and embedded markets, is also a true 32-bit operating system.

64-bit operating systems are designed for AMD's AMD64 CPU architecture and Intel'sArchitecture 64-bit. The 64-bit Windows family comprises Windows XP 64 Bit Edition and Windows Server 2003; as yet neither has entered Microsoft's core consumer market.

The following is a list of all current version of Windows Operating Systems:

* Windows CE for embedded systems: Pocket PC (PDAs), Smartphone, Handheld PC, Portable Media Players
* Windows XP (Home and professional) for desktops and notebooks
* Windows Server 2003 for servers
* Windows XP Embedded for embedded systems

The following are the past versions of Windows:

DOS Based: Windows 1.0 (1985), Windows 2.0 (1987), Windows 3.0 (1990), Windows 3.1 (1992),Windows 95 (1995), Windows Millennium Edition (Me) (2000)

NT Kernel Based: Windows NT 3.1 (1993), Windows NT 3.5 (1994), Windows NT 3.51 (1995), Windows NT 4.0 (1996), Windows 2000 (2000)

Windows Vista ISV security features for the Internet Explore (IE) based applications

Browsers are presently the most attacked software, so it is imperative that browsers take full advantage of the defenses offered by the operating system. Windows Vista offers many defensive enhancements designed to protect PC users from malware. Applications that run on the platform should take full advantage of these defenses, especially the applications using the Internet Explorer.
In the case of Internet Explorer, some of the Windows Vista defenses only come into play when all components consumed by the browser support the defenses. The purpose of this article is to provide a summary of the Windows Vista ISV security features for the Internet Explore (IE) based applications for software developers and vendors to take advantage of the defenses to protect the PC end users.

Windows Vista incorporates numerous defensive strategies to protect PC users from exploits. Some of these defenses are in the core operating system, and others are offered by the Microsoft Visual C++ compiler. The major defense features in the Windows Vista ISV are:

* /GS Stack buffer overrun detection: /GS is a compiler switch that instructs the compiler to add startup code and function epilog and prolog code to generate and check a random number that is placed in a function's stack. If this value is corrupted, a handler function is called to terminate the application and reduce the chance that shell code that attempts to exploit a buffer overrun will execute correctly.
* /SafeSEH exception handling protection: An exception handler is a unit of code executed when an exceptional condition, such as a divide by zero, occurs. The address of the handler is held on the stack frame of the function and is therefore subject to corruption and hijacking. The linker included with Visual Studio 2003 and later includes an option to store the list of valid exception handlers in the image's PE header at compile time. When an exception is raised at runtime, the operating system (Windows XP SP2, Windows Server 2003, Windows Vista, and Windows "Longhorn" Server and later) won't dispatch to an address in that image other than the exception handler addresses in the PE header.
* No eXecute (NX) / Data Execution Prevention (DEP) / eXecute Disable (XD): Named NX by AMD, DEP by Microsoft, and XD by Intel, this technology requires CPU support that helps prevent code from executing in data segments. DEP support was first introduced in Windows XP SP2 and is a critically important defense in Windows Vista, especially when used with ASLR.
* Address space layout randomization (ASLR): ASLR moves images into random locations when a system boots and thus makes it harder for shell code to operate successfully. For a component to support ASLR, all components that it loads must also support ASLR. For example, if A.EXE consumes B.DLL and C.DLL, all three must support ASLR. By default, Windows Vista will randomize system DLLs and EXEs, but DLLs and EXEs created by ISVs must opt in to support ASLR.

Heap randomization: When an application creates a heap in Windows Vista, the heap manager will create that heap at a random location to help reduce the chance that a heap-based buffer overrun

* succeeds. Heap randomization is enabled by default for all Windows Vista applications.
* Stack randomization: When a thread starts in a process compiled with /DYNAMICBASE, Windows Vista moves the thread's stack at a random location to help reduce the chance that a stack-based buffer overrun will succeed.
* Heap corruption detection: Heap corruption detection is the ability to fail an application if the heap manager detects that the application has corrupted the heap, or the heap becomes inconsistent. This setting does not only detect heap-based buffer overruns, but certain illegal operations, for example, freeing a pointer to the wrong heap will also fail the application.

NETWORKING SOFTWARE

Internetwork Operating System (IOS) is a Cisco proprietary core software package implemented on almost all Cisco routers and switches. Cisco IOS software provides the intelligence of the Internet through a suite of value-added technologies and features. Cisco IOS comprises a sophisticated suite of networking capabilities that resides at the heart of such internetworking devices as standalone routers, router modules for shared-media hubs, switches, PC and workstation file servers, multiservice WAN access switches, and ATM-capable PBXs.

Key features of the Cisco Internetwork Operating System (IOS) include the following:

Reliable Adaptive Paths

Cisco IOS software provides protocol and routing support for all major internetworking protocol suites including IP, Novell NetWare, Apple AppleTalk, Banyan VINES, Digital DECNet, OSI, XNS, and Apollo Domain.

Bandwidth Optimization

The Cisco IOS architecture optimizes bandwidth by eliminating unnecessary traffic across wide-area network links and intelligently selecting the most economical WAN links available. The IOS capabilities such as virtual bandwidth reservation and priority queuing give network administrators the ability to reserve bandwidth and prioritize traffic based on the type of application, its source, or its destination.

Resource Allocation Control

Included in the Cisco IOS are priority queuing and custom queuing. Priority output queuing allows network administrators to route certain packets into high-priority queues, while custom queuing gives them the ability to reserve bandwidth or prioritizes traffic over WAN links base on user-defined variables. Cisco is working with other desktop software TCP/IP and computer vendors to put components of the Cisco IOS architecture in servers, allowing bandwidth reservation and queuing technologies to extend from the server all the way to the end-user station.

Management and Security

Cisco IOS software provides network management capabilities and features to reduce network bandwidth and processing overhead, off-load servers, conserve resources, and ease system configuration tasks.

Cisco IOS software provides a security toolkit that enables the partitioning of resources and prohibits access to sensitive or confidential information or processes. Multidimensional filters prevent users from knowing other users or resources are even on the network. Encrypted passwords, dial-in authentication, multilevel configuration permissions, accounting and logging features provide protection from and information about unauthorized access attempts. Robust firewalling and remote access security solution protect corporate information and assets.

Integration and Scalability

Cisco IOS software provides integration of routing, LAN switching and ATM cell switching and offers scalability to arbitrarily connect large numbers of LANs and end stations. IOS also includes scalable routing protocols to avoid needless congestion, overcome inherent protocol limitations and bypass many of the obstacles that arise because of the scope and geographical dispersion of an internetwork.

The implementation of Cisco IOS in Cisco products and solutions.

Sisco IOS: Internetwork Operating System - 1

a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"
Cisco IOS: Internetwork Operating System 1


cisco IOS:INternetworking OPerating system 2

NDIS: Network Driver Interface Specification

Network Driver Interface Specification (NDIS) is a standard API of LAN drivers for "Network Interface Cards" (NIC's) developed by Microsoft. NDIS maybe used on servers or workstations and allows computers to be connected to network with different communication protocols such as TCP/IP, IPX, NetBIOS, AppleTalk, etc.

NDIS perform functions at the Medium Control Layer (MAC) sub-layer of the data link layer (layer 2). The details of a NIC's hardware implementation is wrapped by a "Media Access Controller" (MAC) device driver in such a way that all NIC's for the same media (e.g., Ethernet) can be accessed using a common programming interface. NDIS also provides a library of functions (sometimes called a "wrapper") abstracting the network hardware from network drivers, that can be used by MAC drivers as well as higher level protocol drivers (such as TCP/IP). The wrapper functions serve to make development of both MAC and protocol drivers easier as well as to hide (to some extent) platform dependencies. NDIS also maintains state information and parameters for network drivers, including pointers to functions, handles, and parameter blocks for linkage, and other system values.

NDIS supports the following types of network drivers:

* Miniport drivers
* Intermediate drivers
* Protocol drivers

NDIS: Network Driver Interface Specification



Network Configuration Management

Network configuration management refers to setting, changing, collecting and restoring information about network devices (bridges, routers, workstations, servers, switches and others).

Networks of any size are in a constant state of flux. Any of the engineers responsible for the network can change the configuration of the switches and routers at any time. Configuration changes to live equipment can have devastating effects on the reliability of the network and the services provided by it. The aim of network configuration management is to save you time & reduce errors on your network due to misconfiguration of network devices.A network configuration management system is designed to allow you to take control of network changes, to simplify the job of managing networks and to fix configuration errors quickly.

There are direct correlations between properly configured devices and network security. Today's network configuration management solutions are specifically designed to automate the process of changing, securing and managing devices throughout the network. Whether configuration changes are introduced through malicious attacks, manual update errors, or network product defects, devices can become vulnerable and place the business at risk.

Basically there are two main categories of network configuration tools: tools provided by equipment vendors, and tools by third party companies.

Vendor specific tools, such as CiscoWorks, only work with their respective equipment (Cisco equipments in this case), which is a good choice in homogenous environments where a single vendor's equipment are deployed.

Usually a range of equipment from a number of vendors is deployed in the same network. In such a heterogeneous environments, a tool by a third party which covers multiple vendor equipment would be a better choice.

Network Performance Management

Network performance management is for network capacity planning, providing usage based billing, understanding Quality of Service (QOS) of traffic, providing reports to customers/users to fulfill Service level Agreement (SLA), and for network admin to obtain additional information about the network.

Network Performance management consists of two components: 1) a set of functions that evaluates and reports on the behavior of networking equipment and the effectiveness of the network or network element; 2) a set of various subfunctions that includes gathering statistical information, maintaining and examining historical logs, determining system performance under natural and artificial conditions, and altering system modes of operation.

Basic Measurements:

* Bandwidth utilization
* Packets per second
* Packet delay
* Round trip Time and RTT variance
* Packet loss
* Reachability
* Circuit Performance

An ideal performance management solution must be platform independent and extensible as well as able to provide integrated, total network coverage. The ideal solution must allow network admin to monitor ongoing physical network performance, analyze its data to correlate end-to-end service performance, and finally, to take action based on a complete understanding of network behavior. Complete performance management must drill down through each layer of network technology. With an integrated view of deployed technology, network admin can recognize the impact of performance management on their users.

Network Sniffer

A Sniffer is a program and/or device that monitors data traveling over a network. Sniffers can be used both for legitimate network management functions and for stealing information off a network. Network operations and maintenance personnel use a Sniffer to monitor network traffic, analyze packets, watch network resource utilization, conduct forensic analysis of network security breaches and troubleshoot network problems. Unauthorized Sniffers can be extremely dangerous to a network's security because they are virtually impossible to detect and can be inserted almost anywhere. This makes them a favorite weapon in the hacker's arsenal.

Sniffer as a product was originally created by Network General, which was acquired by Network Associates. Network Associates now has spun off the Sniffer product unit to an independent company, which has been re-named Network General again. Sniffer actually is a trade-marked product brand of Network General. However, due to its popularity among IT professionals, Sniffer is widely used for all products that perform network traffic capture and analysis.

There are many Sniffer-like products on the market. The market size is nearly one billion dollars. There are two basic types of sniffers: Portable and Distributed.

Portable sniffers are stand-alone devices or software that can be installed in a PC. Portable sniffers can perform data capture and both real-time and play back data analysis. The price of portable sniffers range from a few hundred dollars to tens of thousands of dollars, depending on the vendor, the network (Ethernet, Gigabit Ethernet, Optical media, WAN links, etc.) to monitor and the types of data analysis done. A portable sniffer is typically used by small companies or field engineers of larger companies. The core technologies for portable sniffer are well established: packet capture and analysis. Different vendors have their own specialties to conduct the analysis, such as simple protocol analysis, packet re-construction into original messages, Expert Analysis, etc.

Distributed sniffer have two parts: a Monitoring Probe, which is a device or software program deployed at various points in the network; and a Consol, which is a software package installed in the Network Operation Center (NOC) to centrally monitor all Probes. The Distributed sniffer is typically deployed by large enterprises to monitor their networks from a centralized location such as a NOC. The cost of deploying the distributed sniffer ranges from tens of thousands of dollars to millions of dollars. In addition to packet capturing and analysis, the distributed sniffer also retrieves and uses SNMP and RMON data for additional network information.

The leading vendors in the portable sniffer include: Network General, Agilent Technologies, Wildpackets and Javvin Technologies. The leading vendors in the distributed sniffer include Network General and Netscout. There are also open source programs, such as Ethereal, available for public usage. The network sniffer is also called a network protocol analyzer, packet analyzer, network sniffing tool, network analyzer, etc.

ODI: Open Data-Link Interface

Open Data-Link Interface (ODI) is Novell’s standard of LAN driver which allows multiple network protocols and adapters (physical boards) to be used simultaneous on the same client (workstation) or server. ODI provides a flexible, high performance Data Link Layer interface to Network Layer protocol stacks such as TCP/IP, IPX, NetBIOS, AppleTalk, etc. The ODI specification is comprised of the three elements below:

Protocol Stacks: transmit and receive data over a logical or physical network. They also provide routing, connection service and APIs, and provide an interface to allow higher layer protocols or applications to access the services provided by the Protocols Stack’s service.

Link Support Layer (LSL): LSL handles communications between the Protocol Stack and MLIDs and directs various protocols to proper MLIDs.

Multiple Link Interface Drivers (MLIDs): MLIDs are device drivers that handle the sending and receiving of packets to/from logical or physical topology.

Open Data-Link Interface (ODI) Architecture:



Ping: Packet Internet Groper

Ping is a popular TCP/IP network utility using the Internet Control Message Protocol (ICMP) to determine the availability and responsiveness of network hosts. A system administrator uses the Ping tool to see if a computer is operating as wells as if network connections are intact.

The Internet Control Message Protocol (ICMP) Echo function used by the Ping tools is detailed in RFC 792. A small packet is sent through the network to a particular IP address. This packet contains 64 bytes - 56 data bytes and 8 bytes of protocol reader information. The computer that sent the packet then waits/listens for a return packet. If the connections are good and the target computer is up, a good return packet will be received. PING can also tell the user the number of hops that lie between two computers and the amount of time it takes for a packet to make the complete trip. In addition, an administrator can use Ping to test out name resolution. If the packet bounces back when sent to the IP address but not when sent to the name, then the system is having a problem matching the name to the IP address.

Ping is a part of all Linux distributions, FreeBSD, NetBSD, OpenBSD, Solaris, all Unix variants and Windows 95/98/NT/2000/XP operating systems. FreeBSD also has a Ping command that uses the ICMP6 ECHO_REQUEST datagram (as opposed to standard ICMP ECHO_REQUEST packets) that is called Ping6.

Protocol Analysis and Protocol Analyzer

Network protocol analysis is a process for a program or a device to decode network protocol headers and trailers to understand the data and information inside the packet encapsulated by the protocol.To conduct protocol analysis, packets must be captured in real time for line speed analysis or later analysis. Such a program or device is called a Protocol Analyzer.

In the typical network architecture, a layered approach is used to design network protocols and communications. The most popular network architecture reference model is called the OSI model. The protocols at one layer should communicate with protocols at the same layer. The key function of a protocol analyzer is to decode the protocol at each layer. Protocol information of multiple layers may be used by the protocol analyzer to identify possible problems in the network communication. This protocol analysis is called Expert Analysis and is deployed by many leading protocol analyzer products, such as Network General Sniffer Pro, for advanced network troubleshooting. Some other protocol analyzers decode multiple layer protocols and packets to re-construct lower level packets (such as IP or TCP level) into higher level (such as application level) messages to make network traffic easy to view and understand. This technique is used in protocol analyzers when network traffic monitoring for user surveillance is the primary goal. The Javvin Packet Analyzer is an example of this type of tool.

Protocol Analyzers can be used both for legitimate network management functions and for stealing information off a network. Network operations and maintenance personnel use Protocol Analyzers to monitor network traffic, analyze packets, watch network resource utilization, conduct forensic analysis of network security breaches and troubleshoot network problems. Unauthorized protocol analyzers can be extremely dangerous to a network's security because they are virtually impossible to detect and can be inserted almost anywhere. This makes them a favorite weapon in the hacker's arsenal.

There are many protocol analyzer products on the market. The market size for this is nearly one billion dollars. There are two basic types of protocol analyzers: portable and distributed.

Portable protocol analyzers are stand-alone devices or software that can be installed in a PC. Portable protocol analyzers can perform data capture and have both real-time and play-back data analysis functions. The price of portable protocol analyzers ranges from a few hundred dollars to tens of thousands of dollars, depending on the vendor, the network (Ethernet, Gigabit Ethernet, Optical media WAN links, etc.) to monitor and the types of data analysis that are done. A portable protocol analyzer is typically used by small companies or field engineers of larger companies.

Distributed protocol analyzers have two parts: a Monitoring Probe, which is a device or software program deployed at various points in the network; and a Consol, which is a software package installed in the Network Operation Center (NOC) to centrally monitor all Probes. The Distributed protocol analyzer is typically deployed by large enterprises to monitor their networks from a centralized location such as a NOC. The cost of deploying the distributed protocol analyzer ranges from tens of thousands of dollars to millions of dollars. In addition to packet capturing and analysis, the distributed protocol analyzer also retrieves and uses SNMP and RMON data for additional network information.

The leading vendors in the portable protocol analyzer include: Network General, Agilent Technologies, Wildpackets and Javvin Technologies. The leading vendors in the distributed protocol analyzer include Network General and Netscout. There are also open source programs, such as Ethereal, available for public usage.

The network protocol analyzer is also called a network sniffer, packet analyzer, network sniffing tool, network analyzer, etc.

TCPDUMP: TCP/IP Packet Analysis Utility

Tcpdump is a popular computer network debugging and security tool which allows the user to intercept and display TCP/IP packets being transmitted or received over a network to which the computer is attached. Tcpdump allows us to precisely see all the traffic and enables us to create statistical monitoring scripts.

At an ethernet segment, tcpdump operates by putting the network card into promiscuous mode in order to capture all the packets going through the wire. Using tcpdump we have a view on any TCP/UDP connection establishment and termination and we can measure the response time and the packet loss percentages. It can also tell us about lack of reachability for some distant server. Common Uses of tcpdump are as follows:

* to debug applications one is writing which utilize the network for communications
* to debug the network setup itself, by determining whether all necessary routing is or is not occurring properly
* to intercept and display the communications of another user or computer. Some protocols, such as telnet and HTTP, transmit information unencrypted over the network. A user with control of a router or gateway through which other computers' unencrypted traffic passes can use tcpdump to view login IDs, passwords, the URLs and content of websites being viewed, or any other information.

tcpdump is a command line, text mode only program. One major drawback to tcpdump is the size of the flat file containing the text output. Ethereal is a similar program with a GUI frontend, and many additional formatting, sorting, and display facilities. There are many commercial software tools perform similar and enhanced functions. Javvin's Packet Analyzer is one of the leading software in this category.

Tcpdump is the most popular sniffer/packet analysis tool on Unix systems. On Unix and most other operating systems, a user must have the equivalent of root or system administrator privileges to use tcpdump due to its use of promiscuous mode.

WinDump is the porting to the Windows platform of tcpdump. WinDump is fully compatible with tcpdump and can be used to watch and diagnose network traffic according to various complex rules. It can run under Windows 95/98/ME, and under Windows NT/2000/XP.

TCPdump Usage

tcpdump [-aenStvx] [-F file] [-i int] [-r file] [-s snaplen] [-w file] [‘filter_expression’]

* -e Display data link header
* -F Filter expression in file
* -i Listen on int interface
* -n Don’t resolve IP addresses
* -r Read packets from file
* -s Get snaplen bytes from each packet
* -t Don’t print timestamp
* -v Verbose mode
* -w Write packets to file
* -x Display in hex
* -X Display in hex and ASCII

Traceroute: A TCP/IP Packet Route Tracing Tool

Traceroute, originally written by Van Jacobson in 1988, is a TCP/IP utility which allows the user to determine the route packets take to reach a particular host. The term traceroute now refers both to a utility and the output of the utility. Traceroute shows you the address and how long it takes to get to each hop in the path. It can be very useful for locating and detecting network congestion, failures, and other various other troubleshooting issues.

Traceroute works by increasing the "time to live" value of each successive packet sent. The first packet has a TTL value of one, the second two, and so on. When a packet passes through a host, the host decrements the TTL value by one and forwards the packet to the next host. When a packet with a TTL of one reaches a host, the host discards the packet and sends an ICMP time exceeded (type 11) packet to the sender. The traceroute utility uses these returning packets to produce a list of hosts that the packets have traversed en route to the destination.

You can run your own traceroute software with a PPP or net connection. In Microsoft Windows, traceroute is named tracert. A similar tool, pathping, was introduced with Windows NT, combining ping and traceroute functionality. To run the traceroute tool in Windows environment, first type command to call a DOS window. Then type the command tracert delphiforums.com (or any other address). traceroute utility, which will trace only from Delphi back to your provider.--> NetLab is an excellent freeware program for Windows that includes traceroute and other utilities. NetLab is a freeware program for Windows that includes traceroute and other utilities. WS-FTP Pro, a popular shareware FTP program, also provides traceroute and other utilities in its package.

On Unix and Linux-based operating systems, the traceroute utility by default uses UDP datagrams with a port number of 33434. The traceroute utility usually has an option to specify use of ICMP echo request (type 8) instead. The Windows utility uses ICMP echo request, better known as ping packets. Some firewalls on the path being investigated may block UDP probes but allow the ICMP echo request traffic to pass through.

Traceroute does not provide any information regarding the physical location of each node along the route, which makes it difficult to effectively identify geographically circuitous unicast routing. Indeed, there are examples of paths between hosts just a few miles apart that cross the entire United States and back, phenomena not immediately evident from the textual output of traceroute. While such path information may not be of much interest to many end users, it can provide valuable insight to system administrators, network engineers, operators and analysts.

Traceroute: A TCP/IP Packet Route Tracing Tool

Traceroute, originally written by Van Jacobson in 1988, is a TCP/IP utility which allows the user to determine the route packets take to reach a particular host. The term traceroute now refers both to a utility and the output of the utility. Traceroute shows you the address and how long it takes to get to each hop in the path. It can be very useful for locating and detecting network congestion, failures, and other various other troubleshooting issues.

Traceroute works by increasing the "time to live" value of each successive packet sent. The first packet has a TTL value of one, the second two, and so on. When a packet passes through a host, the host decrements the TTL value by one and forwards the packet to the next host. When a packet with a TTL of one reaches a host, the host discards the packet and sends an ICMP time exceeded (type 11) packet to the sender. The traceroute utility uses these returning packets to produce a list of hosts that the packets have traversed en route to the destination.

You can run your own traceroute software with a PPP or net connection. In Microsoft Windows, traceroute is named tracert. A similar tool, pathping, was introduced with Windows NT, combining ping and traceroute functionality. To run the traceroute tool in Windows environment, first type command to call a DOS window. Then type the command tracert delphiforums.com (or any other address). traceroute utility, which will trace only from Delphi back to your provider.--> NetLab is an excellent freeware program for Windows that includes traceroute and other utilities. NetLab is a freeware program for Windows that includes traceroute and other utilities. WS-FTP Pro, a popular shareware FTP program, also provides traceroute and other utilities in its package.

On Unix and Linux-based operating systems, the traceroute utility by default uses UDP datagrams with a port number of 33434. The traceroute utility usually has an option to specify use of ICMP echo request (type 8) instead. The Windows utility uses ICMP echo request, better known as ping packets. Some firewalls on the path being investigated may block UDP probes but allow the ICMP echo request traffic to pass through.

Traceroute does not provide any information regarding the physical location of each node along the route, which makes it difficult to effectively identify geographically circuitous unicast routing. Indeed, there are examples of paths between hosts just a few miles apart that cross the entire United States and back, phenomena not immediately evident from the textual output of traceroute. While such path information may not be of much interest to many end users, it can provide valuable insight to system administrators, network engineers, operators and analysts.

Maximum PC Microsoft Windows Vista Exposed: An Insider's Guide to Supercharging Windows Vista


Maximum PC Windows Vista Exposed Is Windows XP making you feel like a 98-pound weakling? Is the bevy of security holes, patches, and networking gotchas making you want to reach for a revolver? If so, then you’re like millions of others who are ready to install Windows Vista–the sorely needed revision to the world’s most popular operating system. Maximum PC shows you how to get the most out of this dramatic improvement to Windows. Far from being a mere cosmetic makeover of Windows XP, Windows Vista has been reengineered from the ground up to provide a solid foundation for business, home, education, gaming, and multimedia users. We take the guesswork out of getting up to speed with Vista, and we do it without making you want to put your fist through the screen. Chock full of real world, hands-on solutions, Maximum PC Windows Vista Exposed will have you up and running in no time flat. Here’s what you’ll find inside… · Coverage of Vista’s all-new Aero interface · The skinny on Vista’s new menu system · Deep coverage of new apps within Vista, including Windows Media Player 11, Windows Movie Maker 6, Windows Photo Gallery, Windows Media Center, and Windows DVD Maker · How to secure your PC with Vista’s vastly improved security and user management features · Advice for protecting yourself from hackers, spammers, spies, and phishers · Details on new parental controls designed to help you protect your family · Coverage of a heavily revamped Internet Explorer, as well as the new, built-in email application, Windows Mail. · Steps for setting up your own home network (wired or wireless) with Vista’s much improved networking capabilities Mark Edward Soper has taught computer troubleshooting and other technical subjects to thousands of students from Maine to Hawaii since 1992. Mark is the author of eight books, most recently Absolute Beginner’s Guide to Home Automation, and co-author of nine books, most recently Upgrading and Repairing Networks, Fifth Edition. He is a longtime contributor to Upgrading and Repairing PCs, working on the eleventh through seventeenth editions. He has contributed chapters to Upgrading and Repairing Networks Second Edition, Special Edition Using Microsoft Windows Millennium Edition, Special Edition Using Microsoft Windows XP (all editions) and Special Edition Using Microsoft Windows Vista. Mark is currently writing Windows Vista Media Center Unleashed and Upgrading and Repairing PCs: A+ Certification Study Guide. He is a regular contributor to Maximum PC magazine, and has contributed chapters to Maximum PC Guide to Building a Dream PC and Maximum PC Ultimate PC Performance Guide. Introduction 1 Part I: Introducing Windows Vista 3 1 Welcome to Windows Vista 5 2 The Many Editions of Windows Vista 23 Part II: Getting to Work with Vista 35 3 Installing Windows Vista 37 4 Mastering the Vista User Interface 73 5 Vista Tools for Faster and Better File Organization 97 6 Mastering Your Hardware and Environment with Vista 121 7 Managing Your Contacts with Vista 151 Part III: Windows Vista at Play: Entertainment, Internet, and Networking 173 8 Mastering Windows Media Player 11 175 9 Windows Media Center the Vista Way 219 10 Gaming with Windows Vista 247 11 Internet the Windows Vista Way 267 12 Building a Home Network the Windows Vista Way 289 Part IV: Keeping Windows Vista Safe with Backup and Troubleshooting Tools 309 13 Burn, Baby, Burn! Backup Inferno 311 14 Protecting Windows Vista 327 15 Troubleshooting and Maintaining Windows Vista 353 Index 385