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.

No comments: