You are on page 1of 48



 The role of a server program is to serve multiple clients who have an interest in a
shared resource owned by the server.

 OS provides base and extended services to the server program.

 Three types of clients such as Non-GUI, GUI and OOUI clients are used.

 Mac OS is the trademarked name for a series of graphical user interface-based

their Macintosh line of computer systems. The Macintosh user experience is
credited with popularizing the graphical user interface.

 Linux is a generic term referring to Unix-like computer operating systems based

free and open source software collaboration; typically all the underlying source
code can be used, freely modified, and redistributed by anyone other free software

 A window is a user interface element, an area on the screen in which the user can
enter or view information. The user can have multiple windows on the desktop at
once, from a number of different applications. Your application can put one or
more windows on the screen, each window showing a view of a document or of
auxiliary information used to process the document. The Window Manager
defines and supports a set of standard window elements through which the user
can manipulate windows.

 NetWare is a network operating system (NOS) that provides transparent remote

file access and numerous other distributed network services, including printer
sharing and support for various applications such as electronic mail transfer and
database access. NetWare specifies the upper five layers of the OSI reference
model and, as such, runs on any media-access protocol (Layer 2).

 NetWare application layer services include NetWare message-handling service
(NetWare MHS), Btrieve, NetWare loadable modules (NLMs), and IBM Logical
Unit (LU) 6.2 network-addressable units (NAUs).
 OS/2 client is a high performance desktop operating system made by IBM that
runs on Intel/Cyrix/AMD Pentium and Intel 80x86. OS/2 Warp Server is a more
advanced version of OS/2 designed for use as a network server.

The anatomy of a server program

shared resource owned by the server.
 Waits for client initiated requests
 Executes many requests at the same time
 Takes care of VIP clients first
 Initiates and runs background task activity
 Keeps running
 Grows bigger and fatter
Server need from an OS
 Base services -> Part of the standard OS
 Extended services -> Add-on modular software components that lies on the top
of the base services.
(i) Base services

Base OS
Multitasking File Management Semaphores

Threads Memory Management

Task Preemption

-> An operating system with preemptive multitasking must allot fixed slots of
execution to each task. Without preemptive multitasking, a task must voluntarily agree to
give up the processor before another task can run. It is much easier and safer to write
multitasking server programs.
Task Priority
-> An operating system must dispatch tasks based on their priority. It allows
server to differentiate the level of service based on their client’s priority.

-> An operating system must provide simple synchronization mechanisms for
keeping concurrent tasks from bumping into one another when accessing shared
resources. Semaphores are used to synchronize the actions of independent server tasks
and alert then when some event occurs.
Inter process Communication (IPC)
-> An operating system must provide the mechanism that allows independent
processes to exchange and share data.
Local/Remote RPC
-> An operating system allows the transparent redirection of inter process calls to
a remote process over a network without the application being aware of it.
-> These are units of concurrency provided within the program itself. It is used to
create very concurrent, event driven server programs. Each waiting event can be assigned
to a thread that blocks until the event occurs.
Inter task protection
-> The operating system must protect tasks from interfering with each other’s
resources. A single task must not be able to bring down the entire system. Protection also
extends to the file system and calls to the operating system.
Multi user High performance File System
-> The file system must support multiple tasks and provide the locks that protect
the integrity of the data. Server programs typically work on many files at the same time.

Efficient Memory Management
-> The memory system must efficiently support very large programs and very
large data objects. These programs and data objects must be easily swapped to and from
the disk.
Dynamically Linked Run time Extensions
-> The operating system services should be extensible. A mechanism must be
provided to allow services to grow at run time without recompiling the operating system.
(ii) Extended Services

DBMS, TP Monitor and Objects

Transaction DBMS Server Object Orientated
processing Services
Web Server Workflow

Distributed Computing Environments

Network Network Time Authentication
Yellow Pages
System Management

Network Operating System

Remote File RPC Remote Print BLOB

Communication services
NetBIOS Netware Named Pipes TCP/IP SNA

Ubiquitous Communication
-> The operating system extensions must provide a rich set of communication
[protocol stack that allow the server to communicate with the greatest number of client
Network Operating system Extensions
-> It must provide facilities for extending the files and print services over the
Binary Large Objects (BLOBs)
-> Images, Videos, Graphics, Rich documents, database snapshots are the
examples of BLOBs. Database and file systems must be prepared to store and access the
BLOB objects.
Global Directories and Network Yellow Pages
-> It must provide a way for clients to locate servers and their services. On the
network using Global directory service. Network resources must be found by name.
Authentication and Authorization Services
-> It must provide a way for clients to prove the server that they are who they
claim to be. The authorization system determines if the authenticated client has the
permission to obtain a remote service.
System management
-> It must provide integrated network and system management platform. The
system should be managed as a single server or as multiple servers assigned to domains.
It includes services for configuring alerts when things break, distributing and managing
software packages on client workstations, checking for viruses and intruders.
Network Time
-> It must provide a mechanism for clients and servers to synchronize their
Database and transaction services

-> It must provide a robust multi user DBMS. This DBMS should ideally support
SQL for decision support and server stored procedures for transaction services. The
server stored procedure is created outside the OS by programmers.
Internet Services
-> The Internet is a huge growth opportunity for servers. It provide features
including HTTP, Secure Socket Layer(SSL), firewalls, Domain Name Service, HTML
based file systems and electronic commerce frameworks.

Object Oriented Services

-> This is an area where extended services will flourish for a long time to come.
Services are becoming more objects oriented. The OS will provide object broker services
that allow any object to interact with any other objects across the network. The extended
OS must also provide object interchange services and object repositories. Client/Server
applications of the future will be between communicating objects.

Objective Type Questions

1. The services are add-on modular software components that are layered on
top of the base services called -----------
2. The tasks are allocated to parts of the same program rather than to separate
programs called

a. co routines

b. threads

c. none of the above

d. all the above

3. Task preemption, task priority,….. are the requirements of

a. server OS

b. client OS

c. Network OS

4. Which one of the following is an example of synchronization mechanisms for

keeping concurrent tasks from bumping into one another when accessing
shared resources.

a. threads

b. intertask protection

c. semaphore

5. BLOBs contains

a. images, video

b. images, graphics

c. database snapshots

d. images, video, graphics, database snapshots & intelligent documents

6. A way for clients to prove to the server that they are who they seems to be are

a. authorization

b. authentication

c. non-repudiation

d. attacks

Review Questions

Two Mark Questions
1. What is meant by OS?
2. What are the two services offered by OS to the server?
3. What is the anatomy of server program?
4. Define Client, server.
5. Define IPC.
6. Define Process, Threads.
7. What is the role of server program?
8. What is the difference between Preemptive and non-preemptive
9. Define Semaphores.
10. Define extended services.
11. Name any two services for base and extended services.
12. Define GDS.
13. Write short notes on BLOBs.

Big Mark Questions

1. Explain in detail about the server anatomy.

Server Scalability
PC Asymmetric Symmetric Multi server
server Multiprocessing Multiprocessing (or) Clusters

It shows the different levels of escalation in server power.

 It starts with a single PC server that reaches its limits with the top of the line
processor and I/O power.
 The next level server power provided by super servers populated with
multiprocessors. If that is not enough power, the client/server model allows you to
divide the work among different servers.
 Multi servers or clusters are used in environments that require more processing
power than provided by a single server system. Multi servers remove any upward

limits to the growth of server power. Ordinary servers can also provide this power
by working in all kinds of ensembles using middleware.

Asymmetric multiprocessing - In asymmetric multiprocessing (ASMP), the operating

system typically sets aside one or more processors for its exclusive use. The remainder of
the processors runs user applications. As a result, the single processor running the
operating system can fall behind the processors running user applications. These forces
the applications to wait while the operating system catches up, which reduces the overall
throughput of the system. In the ASMP model, if the processor that fails is an operating
system processor, the whole computer can go down.

Symmetric Multiprocessing - Symmetric multiprocessing (SMP) technology is used to

get higher levels of performance. In symmetric multiprocessing, any processor can run
any type of thread. The processors communicate with each other through shared memory.

SMP systems provide better load-balancing and fault tolerance. Because the operating
system threads can run on any processor, the chance of hitting a CPU bottleneck is
greatly reduced. All processors are allowed to run a mixture of application and operating
system code. A processor failure in the SMP model only reduces the computing capacity
of the system.

SMP systems are inherently more complex than ASMP systems. A tremendous amount of
coordination must take place within the operating system to keep everything
synchronized. For this reason, SMP systems are usually designed and written from the
ground up.

Clusters make a group of interconnected symmetric multiprocessing machines behave

like a single system. It comes in two flavors: shared nothing and shared disk. In both
cases, some form of high speed LAN is sued for inter cluster communications.

Issue Shared Disk (SD) Shared Nothing (SN)

Set-up & Maintenance
Initial Set-up Effort No extra effort Partitioning & routing tables
Ongoing Maintenance No extra effort Ongoing re-partitioning

Performance & Overhead
Inter-Nodal Messaging Modest messaging overhead No inter-nodal messaging
Function/Data-Shipping None Can be very high, tuning
Benchmark Performance Messaging overhead makes it Ideal for
harder to tune for benchmarks snapshot/benchmark tuning
Evolving Performance Adapts to evolving Re-partitioning may be
requirements via load required to handle evolving
balancing usage
Temporal Performance Load balancing handles Fixed partitioning cannot
temporal shifts in usage adapt to temporal changes
2-Phase Commit 2-phase commit is handled 2-phase commit distributed
quickly by a single node, but across multiple nodes is very
may not be needed in shared- slow
Data Access Speed SAN/NAS data access Local disk, bus speed access
Features & Capabilities
Load Balancing Dynamic load balancing Fixed load balancing based
upon the partitioning scheme
High-Availability Master-master failover More planned and unplanned
Data Consistency Single copy of the data If slaves are used for read
access, data consistency
Scalability Messaging overhead limits Depends on partitioning, data
total number of nodes shipping can kill scalability
Scale-in to fully utilize your  Shared-disk architecture Data partitioning is
server supports Scale-in incompatible with Scale-in
Parallel Processing Across Processes can be parallelized Partitioning trade-offs,
Nodes without additional effort parallel vs. unified view,
Cloud Computing: Plug-and- Supports dynamic nodal Requires middleware, results
Cluster for DaaS scalability in non-optimal partitioning
Total Cost of Ownership Software can be more Higher ongoing/maintenance
(TCO) expensive, but set-up and costs for partitioning, tuning,
maintenance costs are lower slave replication, etc.

Objective Type Questions

1. Which server that has the characteristics of fully-loaded machines, fault tolerant
features, high speed disk arrays.

a. mini server
b. super server

c. application server

2. In which multiprocessor, only one designated processor, the master can run the
OS at any one time

a. Asymmetric multiprocessing
b. Symmetric Multiprocessing

3. Clusters is also called as ----------

4. Clusters make a group of interconnected ------ machines behave alike a single
a. SMP
5. The number of SMP systems that share the disks is known as
a. Shared-disk clusters
b. shared nothing clusters

Review Questions
Two Mark Questions
1. Define Clusters
2. Define Multi processing.
3. What is the difference between Symmetric and Asymmetric Multi
4. What is the difference between shared disk and shared nothing clusters?
Big Mark Questions
1. Compare shared disk and shared nothing clusters.

Client Anatomy
Client/server applications are client-centric. The client side provides the look and feel for
the services a system provides. All client applications have this in common: they request
the services of a server. What make client applications diffrenet is what triggers the

request and what GUI, if any is needed. Based on these differences, we can claasify the
client into three categories:
 Non-GUI clients
 GUI (Graphical User Interface)clients
 OOUI (Object oriented User Interface)clients
(i) Non-GUI clients
It generates server requests with a minimal amount of human interaction It falls into two
sub categories:
 Non-GUI that do not need multitasking (Examples include ATM, cell
phones, barcode readers, fax machine, smart gas pumps, and intelligent
 Non-GUI that needs multitasking (Examples include robots and testers).
(ii) GUI clients
Simple GUI clients are applications where occasional requests to the server result from a
human interacting with a GUI. It is a good stream for mainstream, OLTP business
applications with repetitive tasks and high volumes. It makes good front end clients to
database servers. GUI windows that provides graphic dialogs, color, menu bars, scroll
boxes, and pull down and pop-up windows. Simple GUI dialogs use the object/action
modle where users can select objects and then select the actions to be performed on the
client objects. Ex: Windows 3.X, Simple Web Pages.
(iii) OOUI clients
 It provides object oriented user interface that manipulate objects on a
screen. This is used by information workers doing multiple, variable tasks.
 Examples include decision support applications, multimedia based training
systems, system management consoles and stockbroker workstations.
 OOUI desktop objects need to communicate among themselves and also
with external servers.
 Examples are Windows 98, Web pages with Java Beans.
 The desktop can contain multiple workplaces running concurrently. Each
workplace may be running parallel dialogs with the server.

 Information is displayed in the foreground windows, while background
tasks are constantly moving information to and from servers.
 It provides folders, work areas, shadows and associations that allow users
to personalize their desktops and manage their objects.
 It provides a common metaphor for creating, copying, moving, connecting
and deleting any object on the desktop and it provides the feature of
multiple view of an object.
 In OOUI environments, the user interacts with objects rather than with
than OS.
Features GUI OOUI
Application A graphic application consists ofA graphic application consists of a
structure an icon, a primary window with acollection of cooperating user objects.
menu bar, and one or moreEverything that you see is an object.
secondary windows. Each object is represented by a icon
and has at least one view. The user
defines what an application n is by
assembling a collection of objects.
These objects may come from one or
more programs and are integrated with
the desktop objects.
Icons Icons represent a runningIcon represents objects that may be
application. directly manipulated.
Starting an Users start an application beforeUser opens the object on the desktop,
application selecting an object to work with. which causes a window view of an
object to be displayed.
Windows Users open a primary windowA window is a view of what’s inside an
and then specify the objects theyobject. There is a one-to-one
want to interact with. The samerelationship between a window and an
window can be used to displayobject.
other objects.
Menus Menus provide the primaryEach object ha s a context menu. You
method for navigating within annavigate within an application or

application. across applications by directly
manipulating objects.
Active Icons represent minimizedIcons are augmented with the in-use
application windows of active applications. emphasis to represent an active object.
Direct An application may provideObjects are created, communicated
manipulation direct manipulation. with, moved and manipulated through
drag and drop manipulation.
Creating new Objects are created in anA template folder contains a template
objects application-specific mannerfor every object type. To create a new
usually through some fork copyinstance of an object drag its template
mechanism or using menutow where you want the new object to
choices. reside.
Actions Choose object and then chooseIn addition to choosing actions from
action from menu bar. menu bar, a user can drag objects to
icons to perform operations.
Containers Text-based list boxes provide theIn addition to list boxes, OOUI
primary form of containment. provides container objects including
folders and notebooks.
Focus Focus is on the main task. Focus is on active objects and task.
Control Control alternates between theAll the applications behave the same
user and the application. and the user acts as the conductor.
Product Windows 3.X, Simple webWindows 98, Web pages with Java
Examples pages. Beans, Mac OS, OS/2 Work shell.

Client needs from an OS

Requirements Non-GUI Clients GUI Clients OOUI Clients
Without With
multitasking multitasking
Request/Reply Mechanism Yes Yes Yes Yes
File transfer to move pictures, Yes Yes Yes Yes
text, database snapshots
Preemptive multitasking No Yes Desirable Yes
Task Priorities No Yes Desirable Yes
Inter Process Communication No Yes Desirable Yes

Threads for background No Yes Desirable Yes
communications with the server
and receiving callbacks from
Robustness. No Yes Desirable Yes

Objective Type Questions

1. Robots is an example of
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
2. ATM is an example of
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
3. Cellular Phones is an example of
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
4. Windows 98 is an example of
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
5. In which environments, the user interacts with the objects rather than with the
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking

c. GUI Clients
d. OOUI Clients
6. In which type of clients, Task priorities is not available
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
7. In which type of clients, IPC is not available
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
8. In which type of clients, Robustness is not available
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
9. Non-GUI supports the features of
a. Request/Reply mechanism, IPC, Robustness
b. Request/Reply mechanism, Task Priority, Robustness
c. File transfer mechanism, IPC, Robustness
d. Request/Reply mechanism, File transfer mechanism

Review Questions
Two Mark Questions
1. What are the types of Clients?
2. What are the two types of Non-GUI Clients? Also write the example for
3. Write short notes on GUI Clients
Big Mark Questions
1. Explain in detail about various types of clients with examples.

2. Compare GUI and OOUI.

Client OS Trends
 The desktop is becoming more fragmented
 The universal client is really a web browser
 There will be a huge demand for super-fat PCs.
 There will be a huge demand for ultra-thin PCs.
 Shippable places will become the new desktops.
 Embedded clients will be every where.

Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating
the graphical user interface. The original form of what Apple would later name the "Mac
OS" was the integral and unnamed system software first introduced in 1984 with the
original Macintosh, usually referred to simply as the System software. It was a trimmed-
down version of the operating system underpinning Apple's earlier Lisa product.

Apple deliberately downplayed the existence of the operating system in the early years of
the Macintosh to help make the machine appear more user-friendly and to distance it
from other operating systems such as MS-DOS, which was more arcane and technically
challenging. Much of this early system software was held in ROM, with updates typically
provided free of charge by Apple dealers on floppy disk. As increasing disk storage
capacity and performance gradually eliminated the need for fixing much of an advanced
GUI operating system in ROM, Apple explored cloning while positioning major
operating system upgrades as separate revenue-generating products, first with System 7
and System 7.5, then with Mac OS 7.6 in 1997.

 Microsoft Office is available for the Mac, and Word, PowerPoint, and Excel files

Mac applications, without having to restart.
 A Mac is 100 percent safe from viruses designed to attack PCs. And although no

 A Mac has hundreds of drivers for peripherals preinstalled. Just connect your device
your recent photos.

get your work or home email.

 All new Mac computers are Wi-Fi capable. Available wireless networks automatically
you’re connected.

 When you buy a PC, you’re buying hardware from one company and an operating


 Every Mac comes with service and support that’s consistently voted the best in the
costs $99 a year.

 Every Mac is created with the guiding principle that computers should be easy to use,

becoming obsolete anytime soon.


1) Doesn't get PC viruses.

Designed with security in mind, Mac OS X isn’t plagued by constant attacks from PC
viruses and malware. Likewise, it won’t slow you down with constant security alerts and
sweeps. Every Mac is secure right out of the box, so you can safely go about your work
— or play — without interruption.

2) High performance.

With the latest Intel processors and other engineering leaps, a new Mac does all the
things that only a Mac can do — at an astonishing speed.

3) Always up to date.

A Mac regularly checks for updates to Mac OS X and any included Apple software and
automatically downloads them. So really, a Mac gets better with age.

4) Born ready.

Unlike other computers that require you to spend hours configuring devices, a Mac
connects to your digital camera, wireless device, or external drive and just works. Really.

5) Instantly wireless.

A Mac makes wireless easy. Networks automatically appear, and you can get on the
Internet with a few clicks.

6) A conversation piece.

Lots of computers come with built-in cameras these days. But only a Mac comes with
iChat software that lets you have four-way video chats, 1 give presentations, and even
share your screen with people all over the world.

7) Customize Your Mighty Mouse


1. Choose System Preferences from the Apple menu.


response sensitivities for tracking, scrolling, and double-clicking.

8) Customize Your Mac with a Screen Saver

variety of screen savers to choose from:

1. Choose System Preferences from the Apple menu.


your iPhoto or Aperture photo libraries. Simply click any of the available options to

9) See Your Way Clear with Exposé

Mac OS X offers a simple way to see what's on your desktop when you have a lot of
windows open. It’s called Exposé, and here’s how you can use it.

Press the F9 key and Exposé instantly creates thumbnails of the open windows and
displays them neatly on your screen. Click the window you want, and Exposé brings it to
the front, switching automatically to the appropriate application.

10) Open Applications Automatically on Startup


2. Click the Login Items tab.
3. Click the Add (+) button.
4. Scroll down and click Applications
5. Select iTunes and click the Add button.


11) Quickly Switch Between Applications

Safari, let’s say, to Mail?


open applications.

12) Get Dictionary Definitions in One Click




“anthropogenic” for you.


13) Go Home


open any folders. Here’s how:

probably called Macintosh HD.)
2. Open the Users folder.
mouse button.

the Dock.

14) Back Up Your Music, Photos, and Documents


1. Choose System Preferences from the Apple menu.

2. Click the Time Machine icon.
3. Click Choose Backup Disk.

maximize the amount of space you have to backup your files.

15) Quickly Activate Your Screen Saver

the mouse into that corner. Here’s how:

1. Choose System Preferences from the Apple menu.

screen saver.

16) Take a Quick Look



1. In the Finder, open the folder that contains the item you hope to find.
2. Select a photo; then click the Quick Look button in the folder’s toolbar (or press



17) Capture Screen Shots


capture in a screen shot.If you immediately hit the Spacebar after typing Command-Shift-
any open window.

1. iLife
2. iWork
3. Safari
4. MobileMe
5. QuickTime
6. Aperture

Linux OS

modified, and redistributed by anyone other free software licences.

Linux is predominantly known for its use in servers, although it is installed on a wide
variety of computer hardware, ranging from embedded devices and mobile phones to
Ubuntu distribution[8] and the emergence of netbooks.

Commonly-used applications with desktop Linux systems include the Mozilla Firefox
web-browser and the office application suite. The Unix operating system

The GNU Project, started in 1984 by Richard Stallman, had the goal of creating a
"complete Unix-compatible software system" composed entirely of free software. The
next year Stallman created the Free Software Foundation and wrote the GNU General




networking, and peripheral and file system access. Device drivers are integrated directly
with the kernel. Separate projects that interface with the kernel provide much of the
popular shell, and many of the common Unix tools which carry out many basic operating
on the X Window System.

User interface

Users can control a Linux-based system through a command line interface (or CLI), a
graphical user interface (or GUI), or through controls attached to the associated hardware
(this is common for embedded systems). For desktop systems, the default mode is usually
graphical user interface. On desktop machines, KDE, GNOME and Xfce are the most
popular user interfaces,[36] though a variety of additional user interfaces exist. Most
popular user interfaces run on top of the X Window System (often simply called "X"),
which provides network transparency, enabling a graphical application running on one
machine to be displayed and controlled from another.

Other GUIs include X window managers such as FVWM, Enlightenment and Window
Maker. The window manager provides a means to control the placement and appearance
of individual application windows, and interacts with the X Window System. This is a
more minimalist goal than KDE, GNOME et al., which are termed desktop environments.

A Linux system typically provides a CLI through a shell, which is the traditional way of
interacting with a Unix system. A Linux distribution specialized for servers may use the
CLI as its only interface. A “headless system” run without even a monitor can be
controlled by the command line via a remote-control protocol such as SSH or telnet.
Most low-level Linux components, including the GNU userland, use the CLI exclusively.
very simple inter-process communication. A graphical terminal emulator program is often
used to access the CLI from a Linux desktop.

A summarized history of Unix-like operating systems showing Linux's origins. Note that
despite similar architectural designs and concepts being shared as part of the POSIX
standard, Linux does not share any non-free source code with the original Unix or Minix.
Main article: Linux distribution

The primary difference between Linux and many other popular contemporary operating
Some free and open source software licenses are based on the principle of copyleft, a
copyleft itself. The most common free software license, the GNU GPL, is a form of

Free software projects, although developed in a collaborative fashion, are often produced

A Linux distribution, commonly called a "distro", is a project that manages a remote

collection of system software and application software packages available for download

and installation through a network connection. This allows the user to adapt the operating
system to his/her specific needs. Distributions are maintained by individuals, loose-knit
teams, volunteer organizations, and commercial entities. A distribution can be installed
using a CD that contains distribution-specific software for initial system installation and
configuration. A package manager such as Synaptic or YAST allows later package
upgrades and installations. A distribution is responsible for the default configuration of
different software packages into a coherent whole.

Programming on Linux

Most Linux distributions support dozens of programming languages. The most common
collection of utilities for building both Linux applications and operating system programs
is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC)
and the GNU build system. Amongst others, GCC provides compilers for Ada, C, C++,
Java, and Fortran. The Linux kernel itself is written to be compiled with GCC.
XL C/C++ Compiler.

languages. Examples of languages that are less common, but still supported, are C# via
the Mono project, sponsored by Novell, and Scheme. A number of Java Virtual Machines

The two main frameworks for developing graphical applications are those of GNOME
and KDE. These projects are based on the GTK+ and Qt widget toolkits, respectively,
variety of languages. There are a number of Integrated development environments
available including Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop,
NetBeans, and Omnis Studio while the long-established editors Vim and Emacs remain


As well as those designed for general purpose use on desktops and servers, distributions
may be specialized for different purposes including: computer architecture support,
given desktop environment. Furthermore, some distributions deliberately include only
free software. Currently, over three hundred distributions are actively developed, with

Linux is a widely ported operating system kernel. The Linux kernel runs on a highly
diverse range of computer architectures: in the hand-held ARM-based iPAQ and the
mainframe IBM System z9, in devices ranging from mobile phones to supercomputers.[44]
Specialized distributions exist for less mainstream architectures. The ELKS kernel fork
video game consoles, portable music players, and mobile phones.

(i) Desktop

The popularity of Linux on standard desktops (and laptops) has been increasing over the
years. Currently most distributions include a graphical user environment. The two most
popular such environments, GNOME and KDE, both of which are mature, support a wide
variety of languages.

In the past, the performance of Linux on the desktop has been a controversial topic; for
servers. He quit Linux kernel development because he was frustrated with this lack of
focus on the desktop, and then gave a "tell all" interview on the topic. However since
then significant effort has been expended improving the desktop experience. For
example, projects such as upstart aim for a faster boot time. In the field of gaming, the

Linux desktop still lags behind Windows, however there are several companies that do
port their own or other companies' games to Linux.

Many types of applications available for Microsoft Windows and Mac OS X are also
available for Linux. Commonly, either a free software application will exist which does
the functions of an application found on another operating systems, or that application
will, in fact, work on Linux (such as Skype). Furthermore, the Wine project provides a
Windows compatibility layer to run unmodified Windows applications on Linux.
CrossOver is a proprietary solution based on the open source Wine project that supports
World of Warcraft and Team Fortress 2. In other cases, although there is no Linux port of
some software in areas such as desktop publishing and professional audio,[ there is
equivalent software available on Linux.

example Mozilla Firefox, and have downloadable versions for all major
operating systems. Furthermore, some applications were initially developed for Linux
(such as Pidgin, and GIMP) and, due to their popularity, were ported to other operating
systems (including Windows and Mac OS X).

A growing number of proprietary desktop applications are also supported on Linux, see
List of proprietary software for Linux. In the field of animation and visual effects, most
high end software, such as AutoDesk Maya, Softimage XSI and Apple Shake, is available
for Linux, Windows and/or Mac OS X.

To install new software in Windows, users either download a digital distribution or use a
traditional installation medium (such as CD-ROM). Both of these methods usually
provide a "Software Installation Wizard" to guide the user through the setup. On most
Linux distributions, there are utilities for browsing a list of thousands of applications
installed with a single click. Some of these programs are the Synaptic Package Manager,

PackageKit, and Yum Extender. However, installing software not in the official
repositories is not always easy, and sometimes the only option is to compile from source.

(ii) Servers and supercomputers

Apache, MySQL, Perl/PHP/Python) which has achieved popularity among developers,

Linux distributions are also commonly used as operating systems for supercomputers: as
of June 2009, out of the top 500 systems, 443 (88.6%) run a Linux distribution.

(iii) Embedded devices

Due to its low cost and ability to be easily modified, an embedded Linux is often used in
embedded systems. Linux has become a major competitor to the proprietary Symbian OS
found in the majority of smartphones—16.7% of smartphones sold worldwide during
2006 were using Linux[56]—and it is an alternative to the proprietary Windows CE and
Palm OS operating systems on mobile devices. Cell phones or PDAs running on Linux
and built on open source platform became a trend from 2007, like Nokia N810,
Openmoko's Neo1973, Motorola RAZR2 v8, Motorola ROKR E8, Motorola MING
series, Motorola ZINE and the on-going Google Android. The popular TiVo digital video
recorder uses a customized version of Linux. Several network firewall and router
standalone products, including several from Cisco/Linksys, use Linux internally, using its
advanced firewall and routing capabilities. The Korg OASYS and the Yamaha Motif XS
music workstations also run Linux. Furthermore, Linux is used in the leading stage
lighting control system, FlyingPig/HighEnd WholeHogIII Console.

(iv) Market share and uptake

Many quantitative studies of free / open source software focus on topics including market
share and reliability, with numerous studies specifically examining Linux. The Linux

running Linux was expected to exceed $35.7 billion by 2008.

IDC's report for Q1 2007 says that Linux now holds 12.7% of the overall server market.
This estimate was based on the number of Linux servers sold by various companies.
Although, with web servers that do not belong to companies, i.e. personal web servers
and blog sites, the percentage of overall market share is higher than that of the Microsoft
web server. The frictional cost of switching operating systems and lack of support for
certain hardware and application programs designed for Microsoft Windows have been
two factors that have inhibited adoption. The XO laptop project of One Laptop Per Child
is creating a new and potentially much larger Linux community, planned to reach
millions of schoolchildren and their families and communities in developing countries.
Google, Red Hat, and eBay are major supporters of the project. While the XO will also
have a Windows option, it will be primarily deployed using Sugar, a desktop environment
for Fedora Linux.

In the film industry, Linux has been the platform of choice for several years. The first
major film produced on Linux servers was Titanic in 1997. Since then major studios like
Dreamworks Animation, Pixar and Industrial Light & Magic have moved to Linux.
Currently more than 95% of the servers and desktops at large animation and visual effects
companies use Linux.

Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user

interfaces produced by Microsoft. Microsoft first introduced an operating environment
previously. At the 2004 IDC Directions conference, it was stated that Windows had
approximately 90% of the client operating system market.[2] The most recent client

2008. Vista's successor, Windows 7 (currently at release to manufacturing), is scheduled
to be released on October 22, 2009.

-> Windows 1.0, Windows 2.0, and Windows 2.1x

Windows 1.0 does not allow overlapping windows, due to Apple Computer owning this
feature. Instead all windows are tiled. Only dialog boxes can appear over other windows.

Windows 2.0 was released in October 1987 and featured several improvements to the
user interface and memory management. Windows 2.0 allowed application windows to
overlap each other and also introduced more sophisticated keyboard-shortcuts. It could
also make use of expanded memory.

Windows 2.1 was released in two different flavors: Windows/386 employed the 386
virtual 8086 mode to multitask several DOS programs, and the paged memory model to
emulate expanded memory using available extended memory. Windows/286 (which,
despite its name, would run on the 8086) still ran in real mode, but could make use of the
high memory area.

The early versions of Windows were often thought of as simply graphical user interfaces,
mostly because they ran on top of MS-DOS and used it for file system services.[4]
However, even the earliest 16-bit Windows versions already assumed many typical
for applications. Unlike MS-DOS, Windows allowed users to execute multiple graphical
applications at the same time, through cooperative multitasking. Windows implemented
an elaborate, segment-based, software virtual memory scheme, which allowed it to run
input.[citation needed]

Windows 3.0 and 3.1

Windows 3.0 (1990) and Windows 3.1 (1992) improved the design, mostly because of
virtual memory and loadable virtual device drivers (VxDs) which allowed them to share
arbitrary devices between multitasked DOS windows.[citation needed] Also, Windows
applications could now run in protected mode (when Windows was running in Standard
or 386 Enhanced Mode), which gave them access to several megabytes of memory and
removed the obligation to participate in the software virtual memory scheme. They still
ran inside the same address space, where the segmented memory provided a degree of
protection, and multi-tasked cooperatively. For Windows 3.0, Microsoft also rewrote
critical operations from C into assembly, making this release faster and less memory-
hungry than its predecessors.[citation needed] With the introduction of the Windows for
Workgroups 3.11, Windows was able to bypass DOS for file management operations
using 32-bit file access.[citation needed]

Windows 95, 98, and Me

Windows 95 was released in 1995, featuring a new user interface, supported long file
names, could automatically detect and configure installed hardware (plug and play),
natively ran 32-bit applications, and featured several technological improvements that
increased its stability over Windows 3.1. Windows 95 uses pre-emptive multitasking and
runs each 32-bit application in a separate address space. This makes it harder for a single
buggy application to crash the whole system. It was still not a secure multi-user operating
system like Windows NT as a strict separation between applications was not enforced by
the kernel. The API was a subset of the Win32 API supported by Windows NT, notably
lacking support for Unicode and functions related to security. Windows 95 was now
bundled together with MS-DOS 7.0, however its role was mostly delegated to that of a
boot loader.

There were several releases of Windows 95; the first in 1995, with Service Pack 1
following in December which included Internet Explorer 2.0. Subsequent versions were
only available with the purchase of a new computer and were called OEM Service

Releases. OSR1 was equivalent to Windows 95 with SP1. OSR2 (also called Windows 95
B) included support for FAT32 and UDMA and shipped with Internet Explorer 3. OSR
2.1 included basic support for USB and OSR 2.5 (also called Windows 95C) shipped with
Internet Explorer 4.0.

Microsoft's next release was Windows 98 in 1998. Microsoft released a second version of
Windows 98 in 1999, named Windows 98 Second Edition (often shortened to Windows
98 SE).

used the same core as Windows 98 but adopted some aspects of Windows 2000 and
removed the "boot in DOS mode" option. It also added a new feature called System
Restore, allowing the user to set the computer's settings back to an earlier date. Me is also
the last DOS-based Windows release which does not include Microsoft Product

Windows NT family
Main article: Windows NT

The NT family of Windows systems was fashioned and marketed for higher reliability
business use. The first release was MS Windows NT 3.1 (1993), numbered "3.1" to match
the consumer Windows version, which was followed by NT 3.5 (1994), NT 3.51 (1995),
NT 4.0 (1996), and Windows 2000 (2000). 2000 is the last NT-based Windows release
which does not include Microsoft Product Activation. NT 4.0 was the first in this line to
implement the "Windows 95" user interface (and the first to include Windows 95’s built-
in 32-bit runtimes). Microsoft then moved to combine their consumer and business
operating systems with Windows XP, coming in both home and professional versions
(and later niche market versions for tablet PCs and media centers); they also diverged
release schedules for server operating systems. Windows Server 2003, released a year and
a half after Windows XP, brought Windows Server up to date with MS Windows XP.
After a lengthy development process, Windows Vista was released toward the end of
2006, and its server counterpart, Windows Server 2008 was released in early 2008. On

July 22, 2009, Windows 7 and Windows Server 2008 R2 were released as RTM.
Microsoft plans to release Windows 7 in late October 2009.

bit operating system that offers various services for all sub-operating workstations.

Timeline of releases
Main article: Timeline of Microsoft Windows

Release date Product name Version / Notes

Windows 1.01 1.01 Unsupported -

Windows 2.03 2.03 Unsupported -

March 1989 Windows 2.11 2.11 Unsupported -

May 1990 Windows 3.0 3.0 Unsupported -

March 1992 Windows 3.1x 3.1 Unsupported 5

Windows For
October 1992 3.1 Unsupported 5
Workgroups 3.1

July 1993 Windows NT 3.1 NT 3.1 Unsupported 5

December Windows For 3.11 Unsupported 5

1993 Workgroups 3.11

Windows 3.2
(released in
January 1994 3.2 Unsupported 5
Simplified Chinese

Windows NT 3.5 NT 3.5 Unsupported 5

May 1995 Windows NT 3.51 NT 3.51 Unsupported 5

August 1995 Windows 95 4.0.950 Unsupported 5.5

July 1996 Windows NT 4.0 Unsupported 6

June 1998 Windows 98 4.10.1998 Unsupported 6

May 1999 Windows 98 SE 4.10.2222 Unsupported 6

NT Extended Support until July 13,

February 2000 Windows 2000 6
5.0.2195 2010[20]

Windows Me 4.90.3000 Unsupported 6

October 2001 Windows XP NT Extended Support until April 8, 8

5.1.2600 2014 for SP3 and July 13, 2010

for SP2. (RTM and SP1

Windows XP 64-bit NT
March 2003 Unsupported 6
Edition (IA-64) 5.2.3790

Windows Server NT Current for SP1, R2, SP2 (RTM

April 2003 8
2003 5.2.3790 unsupported).

Windows XP
April 2005 Professional x64 Current 8

July 2006 Fundamentals for Current 8
Legacy PCs

Current. Version changed to NT
2006 (volume
NT 6.0.6001 with SP1 (February 4,
licensing) Windows Vista 8
6.0.6002 2008) and to NT 6.0.6002 with
January 2007
SP2 (April 28, 2009).

Windows Home NT
July 2007 Current 8
Server 5.2.4500

Current. Version changed to NT

Windows Server NT
February 2008 6.0.6002 with SP2 (April 28, 8
2008 6.0.6002

October 2009 NT
Windows 7 RTM 8
[21] 6.1.7600


Security has been a hot topic with Windows for many years, and even Microsoft itself has
been the victim of security breaches.[citation needed] Consumer versions of Windows

since, when it was first developed in the early 1990s, Internet use was less prevalent.[25]

These design issues combined with flawed code (such as buffer overflows) and the
writers. In June 2005, Bruce Schneier’s Counterpane Internet Security reported that it had
seen over 1,000 new viruses and worms in the previous six months.[26]

Microsoft releases security patches through its Windows Update service approximately
made available at shorter intervals when necessary.[27] In Windows 2000 (SP3 and later),
Windows XP and Windows Server 2003, updates can be automatically downloaded and
otherwise might have been.[28]

Windows File Permissions


the files and folders.

Server OS Trends

They started out from the department and are now spreading into two directions:
 downward into space held by traditional NetWare LAN Servers
 Upward into the space held by Unix Servers running downsized
mainframe applications.

1 -> Net server 2 ->Netware 3 -> All UNIX 4 -> Unix

5 ->OS/2 Server 6 -> Other

It shows the breakdown of worldwide server OS license shipments in 1997. The number
shows that NT server unit shipments now outpace all UNIX versions combined. NT sold
over 1.2 million server licenses.

Application Server File/Print Server

Unix 83% 17%
Windows NT 46% 54.09%
OS/2 Warp 31.8% 68.2%
Netware 18% 82%


access and numerous other distributed network services, including printer sharing and
support for various applications such as electronic mail transfer and database access.
NetWare specifies the upper five layers of the OSI reference model and, as such, runs on
any media-access protocol (Layer 2). Additionally, NetWare runs on virtually any kind of
computer system, from PCs to mainframes. This chapter summarizes the principal
communications protocols that support NetWare.

NetWare was developed by Novell, Inc., and was introduced in the early 1980s. It was
derived from Xerox Network Systems (XNS), which was created by Xerox Corporation
in the late 1970s, and is based on a client-server architecture. Clients (sometimes called
workstations) request services, such as file and printer access, from servers.

NetWare's client/server architecture supports remote access that is transparent to users

through remote procedure calls. A remote procedure call begins when the local computer
program running on the client sends a procedure call to the remote server. The server then
executes the remote procedure call and returns the requested information to the local

NetWare Media Access

including Ethernet/IEEE 802.3, Token Ring/IEEE 802.5, Fiber Distributed Data Interface
(FDDI), and Point-to-Point Protocol (PPP). Figure 34-2 highlights NetWare's breadth of
media-access support.

NetWare Supports Most Common Media-Access Protocols

NetWare Upper-Layer Protocols and Services

NetWare supports a wide variety of upper-layer protocols, including NetWare Shell,

NetWare Remote Procedure Call, NetWare Core Protocol, and Network Basic
Input/Output System.

The NetWare shell runs clients (often called workstations in the NetWare community)
and intercepts application input/output (I/O) calls to determine whether they require
network access for completion. If the application request requires network access, the
NetWare shell packages the request and sends it to lower-layer software for processing
and network transmission. If the application request does not require network access, the
request is passed to the local I/O resources. Client applications are unaware of any
network access required for completion of application calls.

NetWare Remote Procedure Call (NetWare RPC) is another more general redirection
mechanism similar in concept to the NetWare shell supported by Novell.

NetWare Core Protocol (NCP) is a series of server routines designed to satisfy application
requests coming from, for example, the NetWare shell. The services provided by NCP

include file access, printer access, name management, accounting, security, and file

NetWare also supports the Network Basic Input/Output System (NetBIOS) session layer
interface specification from IBM and Microsoft. NetWare's NetBIOS emulation software
allows programs written to the industry-standard NetBIOS interface to run within the
NetWare system.

NetWare Application Layer Services

NetWare application layer services include NetWare message-handling service (NetWare

MHS), Btrieve, NetWare loadable modules (NLMs), and IBM Logical Unit (LU) 6.2
network-addressable units (NAUs). NetWare MHS is a message-delivery system that
provides electronic mail transport. Btrieve is Novell's implementation of the binary tree
(btree) database-access mechanism. NLMs are add-on modules that attach into a NetWare
system. NLMs currently available from Novell and third parties include alternate protocol
stacks, communication services, and database services. In terms of IBM LU 6.2 NAU
support, NetWare allows peer-to-peer connectivity and information exchange across IBM
networks. NetWare packets are encapsulated within LU 6.2 packets for transit across an
IBM network.

Windows 2000 Server

This guide is best used together with the Complete CTDP Windows 2000 Guides in order
to fully understand the operation and use of this operating system. Also, to understand
Active Directory, the reader should have some knowledge of object oriented concepts. It
should be helpful to read the Object Guide and the UML Guide on this website. RFCs are
posted at


This guide covers Windows 2000 server, but much of the information presented here also
pertains to Windows 2000 Professional, and some of the other windows 2000 Servers.

There are four Windows 2000 operating systems:

 Windows 2000 Professional - Supports up to two processors and up to 4GB of

RAM. Used as a workstation or client computer and it is the replacement for
Windows NT Workstation.
 Windows 2000 Server - Supports up to four processors and up to 4GB of RAM. It
is used for web, application, print and file servers.
 Windows 2000 Advanced Server - Supports up to eight processors and up to 8GB
of RAM. It is used in an enterprise network and very useful as an SQL server.
 Windows 2000 Datacenter Server - Supports up to 32 processors and up to 64GB
of RAM. It is used in an enterprise network to support extremely large databases
and real time processing.

System Microprocessor RAM HD Requirements

650 MB free (2 G
Windows 2000 Pentium 133 64Mb
128Mb (256Mb 1 GB free (2 G
Windows 2000 Server Pentium 133
Recommended) recommended)
Windows 2000 1 Gb free (2 G
Pentium 133 256Mb
Advanced Server recommended)
Windows 2000 1 GB free (2 G
Pentium 133 256Mb
Datacenter Server recommended)

VGA video or better is required for all systems along with a CDROM, and keyboard.
Also a mouse, floppy disk drive and network card should be on the system, but are not

100MB additional disk space may be required if using a FAT file system and over the
network installations also require additional hard disk room.

OS/2 Warp Server

OS/2 client is a high performance desktop operating system made by IBM that runs on


Objective Type Questions

1.Which one of the following OS is an graphical user interface-based operating

a. Windows OS
b. Linux OS
c. Mac OS
d. Unix OS
2. Which one of the following OS developed by Apple Inc.
a. Windows OS
b. Linux OS
c. Mac OS
d. Unix OS
3. Which one of the following OS is don’t get PC viruses.
a. Windows OS
b. Linux OS
c. Mac OS
d. Unix OS
4. Which one of the following OS makes wireless connection easily.
a. Windows OS
b. Linux OS
c. Mac OS

d. Unix OS
5. Which one of the following OS is having the features of a conversation piece,
Born ready, High performance.
a. Windows OS
b. Linux OS
c. Mac OS
d. Unix OS
6. Logic Express is an example server of
a. Windows OS
b. Linux OS
c. Mac OS
d. Unix OS
7. Which one of the OS that refers Unix-like computer operating systems
a. Windows 95
b. Linux OS
c. Mac OS
d. Windows 98
8. Which user interface is available in Linux OS
a. Non-GUI Clients without multitasking
b. Non-GUI Clients with multitasking
c. GUI Clients
d. OOUI Clients
9. Which OS that supports open source software
a. Windows OS
e. Linux OS
f. Mac OS
g. Unix OS
10. Which OS allowed application windows to overlap each other and also
introduced more sophisticated keyboard-shortcuts.
a. Windows 1.0
b. Windows 2.0

c. Windows 98
d. Windows 3.1
11.Which OS uses pre-emptive multitasking and runs each 32-bit application in
a separate address space.
a. Windows 1.0
b. Windows 2.0
c. Windows 98
d. Windows 95

Review Questions
Two Mark Questions
1. What does a client need from an OS?
2. What are the trends of client OS?
3. What are the trends of server OS?
4. What are the applications of Mac OS?
5. Define NetWare.
6. Write short notes on OS/2 warp Server
7. What are the advantages of Mac OS?
Big Mark Questions
1. Explain in detail about Windows OS, Linux OS, Mac OS.
2. Compare Linux, Windows.
3. Explain briefly about Windows 2000 Server and NetWare.


1. Explain the characteristics of client server architecture?

2. What are the features of Windows OS with different versions?

1. Discuss the Microsoft Windows history with different versions.

2. Explain the overall concept of Operating system.

1. Compare Linux OS, Win OS.

2. How MAC OS that differed from MAC OS X? Explain.