Novell NetWare

From Wikipedia, the free encyclopedia

Novell NetWare

The NetWare console screen
Website: www.novell.com
Company/
developer:
Novell, Inc.
Source model: Closed source
Latest stable release: 6.5 Support Pack 6 / November 6, 2006
Kernel type: Hybrid kernel
Default user interface: CLI
License: Proprietary
Working state: Current

NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a PC, and the network protocols were based on the archetypal Xerox XNS stack.

NetWare per-se has been superseded by Open Enterprise Server (OES). The latest version of NetWare is v6.5 Support Pack 5, which is identical to OES-NetWare Kernel, Support Pack 2.

Contents

[edit] History

NetWare evolved from a very simple concept: one or more dedicated servers were connected to the network, and disk space was shared in the form of volumes. Clients running MS-DOS would run a special Terminate and Stay Resident (TSR) program that allowed them to map a volume as if it were a local hard disk. Clients had to log in to a server in order to be allowed to map volumes, and access could be restricted according to the login name. Similarly, they could connect to shared printers on the dedicated server, and print as if the printer was connected locally. NetWare established the dominant position in the market in the early and middle 1990s by developing its XNS-derived IPX/SPX protocol as the local area network (LAN) standard.

At the end of the 1990s, with Internet connectivity booming, the Internet's TCP/IP protocol became dominant on LANs also. Novell had introduced limited TCP/IP support in NetWare v3.x (circa 1992) and v4.x (circa 1995), consisting mainly of FTP services and UNIX-style LPR/LPD printing (available in NetWare v3.x), and a Novell-developed webserver (in NetWare v4.x). Native TCP/IP support for the client file and print services normally associated with NetWare was introduced in NetWare v5.0 (released in 1998).

While some attribute Novell's delay in adopting TCP/IP as its native protocol to the loss of NetWare's dominance, it's more accurate to say that Novell allowed itself to be outmarketed.[citation needed] During the early-to-mid 1980s Microsoft introduced their own LAN system in LAN Manager based on the competing NetBEUI protocol. Early attempts to muscle in on NetWare were not successful, but this changed with the inclusion of improving networking support in Windows for Workgroups, and then the hugely successful Windows NT and Windows 95. NT, in particular, offered services similar to those offered by NetWare, but on a system that could also be used on a desktop, and connected directly to other Windows desktops where NetBEUI was now almost universal.

[edit] The Decline of NetWare

While Novell NetWare is still used by many organisations, especially in Education and Government, it is nowhere near as popular as in its heyday of the early 1990's. At that time, NetWare was considered the de facto standard for file & print software for the Intel x86 compatible server platform.

Novell's market share began to decline with the arrival of Windows NT 3.51 and 4.0 in 1995 and 1996. While a Netware installation was entirely text mode and command line driven, Windows NT could be installed almost automatically and graphically. Using NetWare required extensive knowledge of commands and Netware Loadable Module (NLM) names, while Windows NT relied on the familiar graphical mouse controlled interface. This difference allowed inexperienced users to successfully set up Microsoft servers instead of relying on Certified NetWare Engineers (CNEs) for Novell installation.

Another reason that accounts for the shift from NetWare to Windows NT involved the issue of directory services. NetWare 3.x was designed with a bindery feature to store user names for a single server. NetWare 4.x introduced the Novell Directory Services (NDS) feature that synchronized user names between multiple servers. The added complexity of NDS created a significant upgrade deterrent to the single server users of NetWare 3.x.[citation needed] Since Windows NT 3.5/4.0 did not include any directory features to support multiple servers, it was simpler to upgrade from NetWare 3.x to a Windows NT 3.51/4.0 server than it was to upgrade to NetWare 4.x with NDS. A synchronized multi-server directory for Windows was not introduced until Windows 2000 Server was released with Active Directory. While Novell touted the advantages of NDS, users with single servers avoided the Novell 4.x upgrade and switched to Windows NT Server instead.[citation needed]

Two other technical issues caused the decline of Novell: expansion difficulties and non-standard TCP/IP support. Novell only allowed a single NetWare partition on a physical hard drive, and provided no method for extending the partition. Microsoft DOS and Windows supported up to 4 partitions on a physical hard drive, allowing free space to be used. Eventually, several companies including Symantec (Norton Ghost for NetWare) and PowerQuest (ServerMagic) produced relatively expensive utilities that allowed NetWare partitions to be extended.

Despite the fact that Windows-based networks were consistently less reliable and more expensive[citation needed], Microsoft began to shift market share away from NetWare towards NT. Microsoft could market directly to management through major magazines, whereas NetWare tended to be visible only to IT staff in specialist magazines. Novell was also slow to adapt their pricing models, and NetWare therefore seemed more expensive. Corporate decision makers very often let themselves be driven by initial licensing costs, as opposed to the long-term ownership costs, and NetWare was frequently unable to compete on this pricing basis.[citation needed]

Additionally, Windows NT seemed to scale better. For smaller workgroups, a network could be set up without necessarily having to dedicate a machine as a server, which was considerably more attractive than NetWare in this role. Microsoft continually stated that such a system could be scaled up without any change of OS and little re-training, but in practice NT's Domain structure became unwieldy and complex to manage in large scale implementations compared to Novell Directory Services (NDS). To counter this problem, Microsoft later developed a Directory Service of their own, Active Directory. This wide applicability, combined with a low barrier to entry in terms of training, was difficult for the "old looking" NetWare to compete with.

An additional reason for Netware's decline over the years is also worth exploring. Although Microsoft undoubtedly marketed better to non-technical and non-IT staff in many organisations, many of whom would have had purchasing power, marketing is sometimes an overstated reason for Microsoft and Windows' success over Netware. Although NetWare provided a very good file and print server, the vast majority of clients and desktops they were providing file and print services to were Windows desktops. As such, whoever could be in a better position, first, to provide an adequate, reliable and full-featured client for those file and print services was going to be in a superior position over time at the server side. Novell had to develop a client that would have to be installed over the top of Windows. In order for those clients to be managed effectively via eDirectory and NetWare Novell would either have had to spend a great deal of time and effort replicating, or plugging into, what Microsoft was already directly building into Windows for Active Directory and things like Group Policy in their own client and software, or they would have had to try and support Windows management with Active Directory's protocols on Netware. The latter method would mean that a separate client wouldn't be necessary, but because Active Directory was, and still is, a largely proprietary technology that has only been successfully implemented on Windows, this would be a very large undertaking. It would also mean that Novell would be entirely dependant on reverse engineering, or plugging into, whatever enhancements Microsoft might make to Active Directory over time and they would never have a chance of being first to market.

As a result, what there tends to be in many organisations that still use Netware, eDirectory and Novell software is a hybrid infrastructure of Windows Servers and Active Directory for managing the Windows infrastructure and a Novell Netware and eDirectory back end, synchronised with Active Directory via something like Novell Identity Manager. The Windows infrastructure might comprise of a Microsoft Exchange Server groupware set up and Windows applications that have standardised on Active Directory because of its direct and easily accessible support within Windows.

In a nutshell, this means that Active Directory support and usage is largely already a pre-requisite for managing Windows desktops in any given organisation before a decision is even made to use Netware, eDirectory and Novell software. This has put Novell, and other software vendors, at somewhat of a disadvantage.

[edit] Strategic mistakes

Novell's strategy with NetWare 286 2.x and 3.x was very successful; before the arrival of Windows 3.51, Novell claimed 90% of the market for PC based servers. The assumption from Novell was to extend this dominance by adding NDS directory services to the NetWare 4.x product. The crucial mistake was making NDS a requirement instead of an option. Had NDS been an option to NetWare 4, or even a separately purchased product, many users would have continued to use NetWare instead of switching to Windows NT.

While the design of NetWare 3.x and later involved a DOS partition to load NetWare server files, this feature became a liability as new and novice users preferred the Windows graphical interface to learning DOS commands necessary to build a NetWare server. Novell could have eliminated this technical liability by retaining the design of NetWare 286, which installed the server file into a Novell partition and allowed the server to boot from the Novell partition without creating a bootable DOS partition.

Since Novell used IPX/SPX instead of TCP/IP, they were poorly positioned to take advantage of the Internet in 1995. The first implementation of TCP/IP for NetWare 3.x was not compatible with IPv4. This in turn resulted in Novell servers being bypassed for routing and Internet access, in favor of hardware routers (such as Cisco) and Linux for web servers.

With NetWare 5.x, Novell chose to add a graphical interface to the server console, which was entirely unnecessary and simply required more RAM and a faster processor, making NetWare 5.x even less desirable. Had they introduced a Windows based administration client for NetWare, the server could have retained the simple text interface that required less resources (RAM & CPU) and remained more effective.

[edit] Early years

NetWare was based on the consulting work by SuperSet Software, a group founded by the friends Drew Major, Dale Neibauer, Kyle Powell and later Mark Hurst. This work was based on their classwork at Brigham Young University in Provo, Utah, starting in October 1981.

In 1983 Raymond Noorda engaged the work by the SuperSet team. The team was originally assigned to create a CP/M disk sharing system to help network the CP/M hardware that Novell was selling at the time. The team was privately convinced that CP/M was a doomed platform and instead came up with a successful file sharing system for the newly introduced IBM-compatible PC. They also wrote an application called Snipes, a text-mode game and used it to test the new network and demonstrate its capabilities. Snipes was the first network application ever written for a commercial personal computer, and it is recognized as one of the precursors of many popular multi-player games such as Doom and Quake. [1]

This Network operating system (NOS) was later called Novell NetWare. NetWare was based on the NetWare Core Protocol (NCP), which is a packet-based protocol that enables a client to send requests to and receive replies from a NetWare server. Initially, NCP was directly tied to the IPX/SPX protocol, which meant that natively, NetWare could only communicate using IPX/SPX.

The first product to bear the NetWare name was released in 1983. It was called Netware 68 (aka S-Net); it ran on the Motorola 68000 processor and used a Star network topology. It was replaced in 1985 with NetWare 86 version 1.5, which was written for the Intel 8086. After the Intel 80286 processor came out, Novell released NetWare 286 in 1986. The same happened with the release of the Intel 80386; Novell released NetWare 386 in 1989. Later, Novell consolidated the numbering of their NetWare releases, with NetWare 286 becoming NetWare 2.x, and NetWare 386 becoming NetWare 3.x.

[edit] NetWare 286 2.x

NetWare version 2 was notoriously difficult to configure, since the operating system was provided as a set of compiled object modules that required configuration and linking. Compounding this inconvenience was that the process was designed to run from multiple diskettes, which was slow and unreliable.

Any change to the operating system required a re-linking of the kernel and a reboot of the system, requiring at least 20 diskette swaps. NetWare was administered using text-based utilities such as SYSCON. The file system used by NetWare 2 was NetWare File System 286, or NWFS 286, supporting volumes of up to 256 MB. NetWare 286 recognized only 80286 protected mode, limiting its support of RAM to 16mb or less. A minimum of 2mb was required to startup the operating system; any additional RAM was used for FAT, DET and file caching. Since 80286 16-bit protected mode was implemented on every subsequent Intel x86 processor, NetWare 286 versions 2.x would run on any 80286 or later compatible processor.

NetWare 2 already implemented a number of features inspired by mainframe and minicomputer systems that were not available in other operating systems of the day. The System Fault Tolerance (SFT) features included standard read-after-write verification (SFT-I) with on-the-fly bad block re-mapping (at the time, disks did not have that feature built in) and software RAID1 (disk mirroring, SFT-II). The Transaction Tracking System (TTS) optionally protected files against incomplete updates. For single files, this required only a file attribute to be set. Transactions over multiple files and controlled roll-backs were possible by programming to the TTS API.

NetWare 286 2.x supported two modes of operation: dedicated and non-dedicated. In dedicated mode, the server used a boot loader that executed the operating system file net$os.exe. All memory was allocated to NetWare; no DOS ran on the server. For non-dedicated operation, DOS 3.3 or higher would be started on the server, using a floppy diskette or bootable DOS hard drive partition. DOS was limited to only 640k since no memory manager was permissible. All extended RAM was allocated to NetWare 286, and the processor would time-slice between the DOS and NetWare programs. Time slicing was accomplished using the keyboard interupt. This feature required strict compliance with the IBM PC design model, otherwise performance was affected. With small networks of 2-5 users, non-dedicated NetWare was very popular, although it was more susceptible to lockups due to DOS program problems. NetWare 386 3.x and later only support dedicated operation.

[edit] NetWare 3.x

Starting with NetWare 3.x, support for 32-bit protected mode was added, enabling the operating system to eliminate the 16mb memory limit of NetWare 286. This paved the way for support of larger hard drives, since NetWare 3.x cached (copied) the entire file allocation table (FAT) and directory entry table (DET) into RAM for improved performance.

NetWare version 3 eased development and administration by modularization. Each functionality was controlled by a software module called a NetWare Loadable Module (NLM) loaded either at startup or when it was needed. It was then possible to add functionality such as anti-virus software, backup software, database and web servers, long name support (standard filenames were limited to 8 characters plus a three letter extension, matching MS-DOS) or Macintosh style files.

NetWare continued to be administered using text-based utilities. The file system introduced by Netware 3.x and used by default until Netware 5.x was Netware File System 386, or NWFS 386, which significantly extended volume capacity (1 TB, 4 GB files) and could handle up to 16 volume segments spanning multiple physical disk drives. Volume segments could be added while the server was in use and the volume was mounted, allowing a server to be expanded without interruption.

Initially, NetWare used Bindery services for authentication. This was a stand-alone database system where all user access and security data resided individually on each server. When an infrastructure contained more than one server, users had to log-in to each of them individually, and each server had to be configured with the list of all allowed users.

"NetWare Name Services" was a product that allowed user data to be extended across multiple servers, and the Windows "Domain" concept is functionally equivalent to NetWare v3.x Bindery services with NetWare Name Services added on (e.g. a 2-dimensional database, with a flat namespace and a static schema).

For a while, Novell also marketed an OEM version of NetWare 3, called Portable NetWare, together with OEMs such as Hewlett-Packard, DEC and Data General, who ported Novell source code to run on top of their Unix operating systems. Portable NetWare met only with marginal success.

In the 3.x era, Novell introduced its first high-availability clustering system, named NetWare SFT-III, which allowed a logical server to be completely mirrored to a separate physical machine. Implemented as a shared-nothing cluster, under SFT-III the OS was logically split into an interrupt-driven I/O engine and the event-driven OS core. The I/O engines serialized their interrupts (disk, network etc.) into a combined event stream that was fed to two identical copies of the system engine through a fast (typically 100 Mbit/s) inter-server link. Because of its non-preemptive nature, the OS core, stripped of non-deterministic I/O, behaves deterministically, like a large finite state machine.

The outputs of the two system engines were compared to ensure proper operation, and two copies fed back to the I/O engines. Using the existing SFT-II software RAID funcionality present in the core, disks could be mirrored between the two machines without special hardware. The two machines could be separated as far as the server-to-server link would permit. In case of a server or disk failure, the surviving server could take over client sessions transparently after a short pause since it had full state information and did not, for example, have to re-mount the volumes - a process at which NetWare was notoriously slow. Incidentially, SFT-III was the first NetWare version able to make use of SMP hardware - the I/O engine could optionally be run on its own CPU.

NetWare SFT-III, being ahead of its time in several ways, was a mixed success. It should also be noted that the modern incarnation of NetWare's clustering, Novell Cluster Services (introduced in NetWare v5.0), is very different from SFT-III.

NetWare 386 3.x was designed to run all applications on the server at the same level of processor memory protection, known as "ring 0." While this provided the best possible performance, it sacrificed reliability. The result was that crashing (known as Abends, short for Abnormal Ends) were possible and would result in stopping the system. Starting with NetWare 5.x, software modules (NetWare Loadable Modules or NLM's) could be assigned to run in different processor protection rings, ensuring that a software error would not crash the system.

In comparison, as late as Windows NT v4.0, many "best practices" recommendations included monthly or even weekly reboots due to memory leaks.

[edit] NetWare 4.x

Version 4 in 1993 also introduced the Novell Directory Services (NDS), based on X.500, which replaced the Bindery with a global directory service, in which the infrastructure was described and managed in a single place. Additionally, NDS provided an extensible schema, allowing the introduction of new object types. This allowed a single user authentication to NDS to govern access to any server in the directory tree structure. Users could therefore access network resources no matter on which server they resided, although user license counts were still tied to individual servers. (Large enterprises could opt for a license model giving them essentially unlimited per-server users if they let Novell audit their total user count)

Version 4 also introduced a number of useful tools and features, such as transparent compression at file system level and RSA public/private encryption.

NetWare released version 4.11 in 1995 which included many enhancements that made the operating system easier to install, easier to operate, faster, and more stable. It also included the first fully 32-bit client for Microsoft Windows-based workstations, SMP support and the NetWare Administrator (NWADMIN or NWADMN32), a GUI-based administration tool for NetWare.

By this time, NetWare was still tied to IPX/SPX by the NCP reliance on that protocol, but Novell started to acknowledge the demand for TCP/IP with NetWare 4.11 by including tools and utilities that made it easier to create intranets and link networks to the Internet. Novell bundled handy tools, such as the IPX/IP gateway, to ease the connection between IPX workstations and IP networks. It also began integrating Internet technologies and support through features such as a natively hosted Web server.

Novell packaged NetWare 4.11 with its Web server, TCP/IP support and Netscape browser into a bundle dubbed IntranetWare. A version designed for networks of 25 or fewer users was named IntranetWare for Small Business. The intranetWare name was dropped in NetWare 5.

During this time Novell also realized the importance of leveraging its directory service, NDS, by tying their other products into the directory. Their e-mail system, GroupWise, was integrated with NDS, and Novell released many other directory-enabled products such as ZENworks and BorderManager.

[edit] NetWare 5.x

With the release of NetWare 5 in October 1998, Novell finally acknowledged the prominence of the Internet by switching its primary NCP interface from the IPX/SPX network protocol to TCP/IP. IPX/SPX was still supported, but the emphasis shifted to TCP/IP. Other new features were:

The Cluster Services were a major advance over SFT-III, as NCS does not require specialized hardware or identical server configurations.

NetWare 5 was released during a time when NetWare market share dropped precipitously; many companies and organizations were replacing their NetWare servers with servers running Microsoft's Windows NT operating system. Novell also released their last upgrade to the NetWare 4 operating system, NetWare 4.2.

NetWare 5.1 was released in January 2000, shortly after its predecessor. It introduced a number of useful tools, such as:

[edit] NetWare 6.x

NetWare 6 was released in October 2001. This version has a simplified licensing scheme based on users, not servers. This reduces licensing costs and allows unlimited connections per user.

Other changes, new features and improvements included:

  • enhanced SMP support - up to 32 processors per server
  • iFolder - location- and platform-independent access to local files by automatic intelligent synchronization of the local iFolder directory with the iFolder server
  • NetStorage - access to personal files through a standard web browser
  • iPrint - ability to install printers from a web browser and submit print jobs over the Internet through the standard IPP protocol
  • iManager - web-based administration for NetWare and other Novell products
  • the Apache web server and the Tomcat servlet container
  • Native File Access Protocols - support for the SMB, AFP and NFS protocols to provide Windows, Macintosh and Unix/Linux clients with access to files on a NetWare server without a Novell client

NetWare 6.5 was released in August 2003. Some of the new features in this version were:

  • more open-source products such as PHP, MySQL and OpenSSH
  • a port of the Bash shell and a lot of traditional Unix utilities such as wget, grep, awk and sed to provide additional capabilities for scripting
  • iSCSI support (both target and initiator)
  • Virtual Office - an "out of the box" web portal for end users providing access to e-mail, personal file storage, company address book, etc.
  • Domain controller functionality
  • Universal password
  • DirXML Starter Pack - synchronization of user accounts with another eDirectory tree, a Windows NT domain or Active Directory.
  • exteNd Application Server - a J2EE 1.3-compatible application server
  • support for customized printer driver profiles and printer usage auditing
  • NX bit support
  • support for USB storage devices
  • support for encrypted volumes

[edit] Novell Open Enterprise Server

In 2003, Novell announced the successor product to NetWare: Open Enterprise Server (OES). First released in March 2005, OES completes the separation of the services traditionally associated with NetWare (e.g. Directory Services, file-and-print) from the platform underlying the delivery of those services. OES is essentially a set of applications (eDirectory, NetWare Core Protocol services, iPrint, etc.) that can run atop either a Linux or a NetWare kernel platform. Clustered OES implementations can even migrate services from Linux to NetWare and back again, making Novell one of the very few vendors to offer a multi-platform clustering solution.

Consequent to Novell's acquisitions of Ximian and SuSE, a German Linux distributor, it is widely observed that Novell may be moving away from NetWare and shifting its focus towards Linux. Officially though, Novell denies these claims and says it will focus on both NetWare and Linux. Indeed, practically all of Novell's products run on, at a minimum, both Linux and NetWare, and some (such as eDirectory, GroupWise and Identity Manager) also run on many other platforms.

Novell invited controversy when it was decided to end all development on the NetWare platform and focus exclusively on SUSE Linux. Novell later relented and stated that NetWare's 90 million users would be supported until 2010. Even so, Novell's NetWare product page demonstrates that Linux is the future. Some of Novell's more avid NetWare supporters have taken it upon themselves to petition Novell to keep NetWare in development. With Novell's revenue being driven by the "legacy" products that run on the NetWare platform and not necessarily on Linux, Novell fired their CEO and CFO in hopes of turning it around in ways to better please their investors.

OES2 is not scheduled to be released until "mid-2007", after BrainShare.

[edit] Performance

NetWare dominated the network operating system (NOS) market from the mid-80s through the mid- to late-90s due to its extremely high performance relative to other NOS technologies. Most benchmarks during this period demonstrated a 5:1 to 10:1 performance advantage over products from Microsoft, Banyan, and others. One benchmark that was especially interesting compared NetWare 3.x running NFS services over TCP/IP (not NetWare's native IPX protocol) to an expensive, dedicated Auspex NFS server and a SCO Unix server running NFS service. NetWare NFS outperformed both 'native' NFS systems and clocked in with a 2:1 performance advantage over SCO Unix NFS on the same hardware!

There were several reasons for NetWare's performance.

[edit] File service instead of disk service

At the time NetWare was first developed, nearly all LAN storage was based on the disk server model. This meant that if a client computer wanted to read a particular block from a particular file it would have to issue the following requests across the relatively slow LAN:

  1. Read first block of directory
  2. Continue reading subsequent directory blocks until the directory block containing the information on the desired file was found, could be many directory blocks
  3. Read through multiple file entry blocks until the block containing the location of the desired file block was found, could be many directory blocks
  4. Read the desired data block

NetWare, since it was based on a file service model interacted with the client at the file API level:

  1. Send file open request (if this hadn't already been done)
  2. Send a request for the desired data from the file

All of the work of searching the directory to figure out where the desired data was physically located on the disk was performed at high speed locally on the server. By the mid-1980s, most NOS products had shifted from the disk service to the file service model. Today, the disk service model is making a comeback, see SAN.

[edit] Aggressive caching

From the start, NetWare was designed to be used on servers with copious amounts of RAM. The entire file allocation table (FAT) was read into RAM when a volume was mounted, thereby requiring a minimum amount of RAM proportional to online disk space; adding a disk to a server would often require a RAM upgrade as well. Unlike most competing network operating systems prior to Windows NT, NetWare automatically used all otherwise unused RAM for caching active files, employing delayed write-backs to facilitate re-ordering of disk requests (elevator seeks). An unexpected shutdown could therefore corrupt data, making an uninterruptible power supply practically a mandatory part of a server installation.

The default dirty cache delay time was fixed at 2.2 seconds in NetWare 286 versions 2.x. Starting with NetWare 386 3.x, the dirty disk cache delay time and dirty directory cache delay time settings controlled the amount of time the server would cache changed ("dirty") data before saving (flushing) the data to a hard drive. The default setting of 3.3 seconds could be decreased to 0.5 seconds but not reduced to zero, while the maximum delay was 10 seconds. The option to increase the cache delay to 10 seconds provided a significant performance boost. Windows 2000 and 2003 server do not allow adjustment to the cache delay time. Instead, they use an algorithm that adjusts cache delay.

[edit] Efficiency of NetWare Core Protocol (NCP)

Most network protocols in use at the time NetWare was developed didn't trust the network to deliver messages. A typical client file read would work something like this:

  1. Client sends read request to server
  2. Server acknowledges request
  3. Client acknowledges acknowledgement
  4. Server sends requested data to client
  5. Client acknowledges data
  6. Server acknowledges acknowledgement

In contrast, NCP was based on the idea that networks worked perfectly most of the time, so the reply to a request served as the acknowledgement. Here is an example of a client read request using this model:

  1. Client sends read request to server
  2. Server sends requested data to client

All requests contained a sequence number, so if the client didn't receive a response within an appropriate amount of time it would re-send the request with the same sequence number. If the server had already processed the request it would resend the cached response, if it had not yet had time to process the request it would send a 'positive acknowledgement' which meant, "I received your request but I haven't gotten to it yet so don't bug me". The bottom line to this 'trust the network' approach was a 2/3 reduction in network traffic and the associated latency.

[edit] Non-preemptive OS designed for network services

One of the raging debates of the 90s was whether it was more appropriate for network file service to be performed by a software layer running on top of a general purpose operating system, or by a special purpose operating system. NetWare was a special purpose operating system, not a timesharing OS. It was written from the ground up as a platform for client/server processing services. Initially it focused on file and print services, but later demonstrated its flexibility by running database, email, web and other services as well. It also performed efficiently as a router, supporting IPX, TCP/IP, and Appletalk, though it never offered the flexibility of a 'hardware' router.

In 4.x and earlier versions, NetWare did not support preemption, virtual memory, graphical user interfaces etc. Processes and services running under the NetWare OS were expected to be cooperative, that is to process a request and return control to the OS in a timely fashion. On the down side, this trust of application processes to manage themselves could lead to a misbehaving application bringing down the server.

By comparison, general purpose operating systems such as Unix or Microsoft Windows were based on an interactive, time-sharing model where competing programs would consume all available resources if not held in check by the OS. Such environments operated by preemption, memory virtualization, etc., generating significant overhead because there were never enough resources to do everything every application desired. These systems improved over time as network services shed their “application” stigma and moved deeper into the kernel of the “general purpose” OS, but they never equaled the efficiency of NetWare.

Probably the single greatest reason for Novell's success during the 80's and 90's was the efficiency of NetWare compared to general purpose operating systems. However, as microprocessors increased in power, efficiency became less and less of an issue and with the introduction of the Pentium processor, NetWare's performance advantage began to be outweighed by the complexity of managing and developing applications for the NetWare environment.

[edit] See also

[edit] External links