AND APPLICATION SOFTWARE Unit – 1

Introduction to OS Distinction Between DOS and Windows DOS – Internal Commands Partitioning and Formatting HDD Introduction to different types file system and Practical Partitioning and Formatting HDD Drive Introduction to OS Types OS Installation Operating System and Application Stware. Ms fice Tally and WinZip Winrar

Unit – 2

Repairing windows Operating System Console repairing and graphical repairing and Removing Application Stware’s MS fice Tally and WinZip Winrar .Introduction the Stware Different types the Stware Difference between Systems stware’s and Application Stware Third Party Stware System stware Overview all system stware Operating system IO Manager – Assembler – Compiler – Linker – Loader. XP Edition Intro Introduction to XP Pressional and its new Features Understanding Workgroup and Domain Upgrading earlier version Windows to XP.

Unit- 3

VIRUS Major Areas VIRUS Attacks Types Viruses AntiVirus and Various Types Antivirus Packages and Tools Multitasking – Multiprogramming Time sharing – buffering – spooling and management Concept process and threads Process states process management context switching Interaction between processes and OS Multithreading

Unit- 4

Process states process management context switching Interaction between processes and OS Memory management Memory partitioning – Swapping Paging Segmentation virtual memory Concepts Overlays Demand paging Performance demand – Paging Page replacement algorithm Allocation algorithms

Unit 5

File Systems File concept File support Access methods Allocation methods Directory systems File Protection Free Space management Understanding User Accounts The Computer Management Snapin Setting Properties User Account Enabling and Disabling Guest Accounts.

1 | P a g e

UNIT - 1

Introduction to OS

An operating system is a layer of software which takes care of technical aspects of a computer's operation. It shields the user of the machine from the lowlevel details of the machine's operation and provides frequently needed facilities. There is no universal definition of what an operating system consists of. You can think of it as being the software which is already installed on a machine, before you add anything of your own. Normally the operating system has a number of key elements: (i) a technical layer of software for driving the hardware of the computer, like disk drives, the keyboard and the screen; (ii) a filesystem which provides a way of organizing files logically, and (iii) a simple language which enables users to run their own programs and to manipulate their files in a simple way. Some operating systems also provide text editors, compilers, debuggers and a variety of other tools. Since the operating system (OS) is in charge of a computer, all requests to use its resources and devices need to go through the OS. An OS therefore provides (iv) legal entry points into its code for performing operations like writing to devices.

Operating systems may be classified by both how many tasks they can perform `simultaneously' and by how many users can be using the system `simultaneously'. That is: single-user or multi-user and single-task or multi-tasking . A multiuser system must clearly be multitasking. The table below shows some examples.

OS Users Tasks Processors

MS/PC DOS S S 1

Windows 3x S QM 1

Macintosh System 7.* S QM 1

Windows 9x S M* 1

AmigaDOS S M 1

hline MTS M M 1

2 | P a g e

UNIX M M

VMS M M 1

NT S/M M

Windows 2000 M M

BeOS (Hamlet?) S M

The first of these (MS/PC DOS/Windows 3x) are single user, single task systems which build on a ROM based of basic functions called the BIOS . These are system calls which write to the screen or to disk etc. Although all the operating systems can service interrupts , and therefore simulate the appearance of multitasking in some situations, the older PC environments cannot be thought of as a mult itasking systems in any sense. Only a single user application could be open at any time. Windows 95 replaced the old coroutine approach of quasi multitasking with a true context switching approach, but only a single user system, without proper memory prot ection. Windows NT added a proper kernel with memory protection, based on the VMS system, originally written for the DEC/Vax. Later versions of Windows NT and Windows 2000 (a security and kernel enhanced version of NT) allow multiple logins also through a terminal server. Windows 2000 thus has comparable functionality to in this respect.

The Macintosh system 7 can be classified as single user quasimultitasking 1.1 . That means that it is possible to use several user applications simultaneously. A window manager can simulate the appearance of several programs running simultaneously, but this relies on each program obeying specific rules in order to achieve the illusi on. The MacIntosh not a true multitasking system in the sense that, if one program crashes, the whole system crashes. Windows is purported to be preemptive multitasking but most program crashes also crash the entire system. This might be due to the lack o f proper memory protection. The claim is somewhat confusing.

AmigaDOS is an operating system for the Commodore computer. It is based on the UNIX model and is a fully multi tasking, singleuser system. Several programs may be actively running at any time. The operating system includes a window environment which means t hat each independent program has a `screen' of its own and does not therefore have to compete for the screen with other programs. This has been a major limitation on multitasking operating systems in the past.

3 | P a g e

MTS (Michigan timesharing system) was the first timesharing multiuser system It supports only simple singlescreen terminal based input/output and has no hierarchical file system.

Unix is arguably the most important operating system today, and one which we shall frequently refer to below. It comes in many forms, developed by different manufacturers. Originally designed at AT&T, UNIX split into two camps early on: BSD (Berkeley software distribution) and system 5 (AT&T license). The BSD version was developed as a research project at the university of Berkeley, California. Many of the networking and userfriendly features originate from these modifications. With time these two versions have been merged back together and most systems are now a mixture of both worlds. Historically BSD Unix has been most prevalent in universities, while system 5 has been dominant in business environments. The trend during the last three years by Sun Microsystems and HewlettPackard amongst others has been to move towards system 5, keeping only the most important features of the BSD system. A standardization committee for Unix called POSIX, formed by the major vendors, attempts to bring compatibility to the Unix world. Here are some common versions of UNIX.

Unix Manufacturer Mainly BSD / Sys 5

BSD Berkeley BSD

SunOS (solaris 1) Sun Microsystems BSD/sys 5

Solaris 2 Sun Microsystems Sys 5

Ultrix DEC/Compaq BSD

OSF 1/Digital Unix DEC/Compaq BSD/sys 5

HPUX HewlettPackard Sys 5

AIX IBM Sys 5 / BSD

IRIX Silicon Graphics Sys 5

GNU/ Public Domain Posix (Sys V/BSD)

SCO unix Novell Sys 5

4 | P a g e

Note that the original BSD source code is now in the public domain. Unix is generally regarded as the most portable and powerful operating system available today by impartial judges, but NT is improving quickly. Unix runs on everything from laptop computers to CRAY mainframes. It is particularly good at managing large database applications and can run on systems with hundreds of processors. Most Unix types support symmetric multithreaded processing and all support simultaneous logins by multiple users.

NT is a `new' operating system from based on the old VAX/VMS kernel from the Digital Equipment Corporation (VMS's inventor moved to Microsoft) and the Windows32 API. Initially it reinvented many existing systems, but it is gradually being forced to adopt many open standards from the Unix world. It is fully multitasking, and can support multiple users (but only one at a time multiple logins by different users is not possible). It has virtual memory and multithreaded support for several processors. NT has a built in object model and security framework which is amongst the most modern in use.

The Be operating system, originally developed for a new multimedia computer called the BeBox, is also new and is a fully multitasking OS. It is optimized for multimedia and is now saleable software developed by Be.Com after the new computer concept failed due to lack of financial backing. BeOS has proper memory protection but allows direct access to video memory (required for fast video games). It also has virtual memory, is preemptive multitasking and is based on a microkernel design. Is shares little with Unix except for a shell, a POSIX programming interface and about 150 Unix commands (including Perl).

Difference Between DOS and Windows Programs

Ultimately, the difference between these types of programs is who has control over the computer. DOS programs generally expect themselves to be the only program running on your computer, so they will directly manipulate the hardware, such as writing to the disk or displaying graphics on the screen. They may also be dependent on timing, since the computer won't be doing anything else to slow them down. Many games fall into this category.

Windows programs, on the other hand, realize that they must share your computer with other Windows programs. Actually, did you know that Windows 3. x itself is a DOS program? What this means is that Windows has control of the computer's hardware, and in turn it shares parts of the computer's resources with Windows programs. The obvious advantage to this arrangement is that you can do several things at once; for example, you could play Beethoven's 5th, start downloading a file from a BBS, then look at your checking account and use a Calculator to check the balance all at the same

5 | P a g e time. Another advantage is that you can share data between programs; for example, copying a spreadsheet summary into a work processor document.

The important thing here is that many DOS programs will run poorly or not at all in Windows. For example, if you try to run Microsoft System Diagnostics (MSD) while you are in Windows, you will get the message:

You are running .

MSD can only report information specified by it's associated Windows Program Information File (.PIF). Therefore information presented may be less accurate or complete than if MSD is run outside of Windows. For more accurate information please exit Windows and run MSD from the MSDOS prompt .

Some areas may be affected while MSD is run under Windows: Memory values and types will reflect what Windows provides by itself, and through the associated .PIF file; IRQ values may be reported differently; and the visual memory map in Memory, Memory Block Display, and Memory Browser may show different results. Other areas that may be affected include Video, OS Version, Mouse, Disk Drives, and COM Ports.

So how do you know whether a program is made for DOS or Windows? Nearly all

Windows programs bear the Microsoft Windows logo , while DOS programs do not. If you're still not sure, try running the program from the DOS prompt first. For example, calc at a DOS prompt; you will get the message:

This program requires Microsoft Windows.

NOTE for Windows 95/98: if you try running a Windows program from the Windows 95/98 command prompt, the computer will simply start Windows (if it isn't already running) and run the program.

A word of warning for Windows users: in the Main group there is an icon called MS DOS Prompt. This is not the same thing as running in DOS. It will let you run some DOS programs, such as the command prompt or the EDIT program, but it is still running on top of Windows. The proper way to switch from Windows to DOS is to close or exit all of your Windows programs, including Program Manager.

Windows 95/98

One way to switch the computer from Windows to DOS mode is to click on the Start menu, then Shut Down, then choose "Restart the computer in MSDOS mode". Doing this will close all Windows programs and (mostly) remove Windows itself from memory.

6 | P a g e

Another way is to adjust the properties of a DOS program. Rightclick on your program (or its shortcut), select Properties, open the Program tab, and click on the Advanced button. In the Advanced Program Settings you can set the program to run in MSDOS mode, and even specify a starting configuration just for that program.

DOS

DOS , short for "", [1] is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOSbased Microsoft Windows versions 95, 98, and Millennium Edition.

Related systems include MSDOS, PCDOS, DRDOS, FreeDOS, PTSDOS, ROM DOS, Novell DOS, OpenDOS and several others.

In spite of the common usage, none of these systems were simply named "DOS" (a name given only to an unrelated IBM mainframe operating system in the 1960s). A number of unrelated, non microcomputer disk operating systems had "DOS" in their name, and are often referred to simply as "DOS" when discussing machines that use them (e.g. AmigaDOS, AMSDOS, ANDOS, Apple DOS, Atari DOS, Commodore DOS, CSIDOS, ProDOS, and TRSDOS). While providing many of the same operating system functions for their respective computer systems, programs running under any one of these operating systems would not run under others. Internal Commands

Commands

Once your computer has completed the boot process (if you haven’tdone so yet, please review Lesson 2 for a discussion of the boot process), the computer is sitting there waiting for you to do something. The way you do anything in DOS is through commands that the computer understands. A command may cause the computer to take some action, or to execute some file. We’ll leave most of the file execution discussion for another lesson, and for now focus on the topic of internal commands .

Internal vs. External Commands

As you will recall from Lesson 2, DOS comes with a builtin command interpreter called COMMAND.COM . This file is loaded during the boot process, which means that COMMAND.COM is resident in memory at all times, and the commands that it understands are available to the user at all times. Not all DOS commands are understood by COMMAND.COM. There are commands called external commands

7 | P a g e that reside in separate files on your hard drive, and must be called specifically for you to use them. Why is this?

One of the biggest reasons has to do with the limitations of how DOS handles memory. A full discussion of this topic will come in a later lesson, but for now it is enough to know that DOS could only address a very limited amount of memory (1MB total), and that programs were very quickly bumping up against the constraint of available memory. since COMMAND.COM is loaded into memory at the beginning of the boot process, and stays resident in memory at all times, it would not make sense to load commands that you would only use infrequently, or to load commands that only certain users would ever need. So these commands were placed in external files where they could be accessed if needed. If you look in your DOS directory on your hard drive (usually tag">C:\DOS), you will see these external commands represented by files that are either *.EXE or *.COM files. You won’t see the internal commands here, though, because these commands are all contained within COMMAND.COM.

If you have created a DOS boot disk, which I recommend highly to anyone who will be working with computers, it will contain three files, as we discussed in Lesson 2: IO.SYS, MSDOS.SYS, and COMMAND.COM. The first two files are hidden, so you won’t see them in a DOS comand normally. But if you examine a boot disk in Windows 95′s Windows Explorer, and set it to display all files (in Windows Explorer, select View, Options, and select Show All Files), you will see them there. These files are located in specific places on the disk. The third file, COMMAND.COM, must be in the root directory. Since it is on the boot disk (you cannot boot without it), that means that the commands it contains are available to you when you boot from this disk. The reason any wellprepared computer person has a DOS boot disk handy at all times is that a problem on the hard drive may render the computer unbootable. Booting from a DOS boot disk and using the commands available to you in COMMAND.COM may enable you to diagnose and fix the problem.

The other major reason why someone might want to create a DOS boot disk these days is to run legacy DOS software that has problems running with more current operating systems like Windows 95, 98, and NT.

One last note regarding internal commands. The internal commands contained within COMMAND.COM are the commands that are used in writing batch files . We will discuss batch files more in a future installment, but one consequence is worth noting here: the will not run properly if it cannot find COMMAND.COM. Normally this ought to be handled by the path command, but if you ever have problems getting a batch file to run, try putting

8 | P a g e a copy of COMMAND.COM in the same directory as the batch file. This often gets the batch file to run perfectly.

List of Internal Commands

Here are all of the 62 Internal Commands contained within the COMMAND.COM command interpreter: break buffers call cd chcp chdir choice cls copy country ctty date device devicehigh dir drivparm echo erase errorlevel exist exit fcbs files for goto if include install lastdrive lh loadfix loadhigh md menucolor menudefault menuitem move not numlock path pause prompt rd rem rename rmdir set shell shift stacks submenu switches time truename type verify vol

9 | P a g e

Some of these internal commands (e.g. dir, cd) are meant to be executed from the command line, or within a batch file, which is what you usually think of as a command. Others (e.g. files, switches) are generally used within a configuration file like CONFIG.SYS to help configure your system. Because both CONFIG.SYS and AUTOEXEC.BAT use commands that are found in COMMAND.COM, they must loa later in the boot process.

Hard Disk Drive Setup - Partition and

This procedure explains how to setup a new hard disk. Warning if you are setting up a hard disk which contains data, the following procedure would completely erase your hard disk and the data would be unrecoverable.

Before a new hard disk can be used it needs to be setup. This involves partitioning and formatting the hard disk. or ME boot disk contains the required software to perform this procedure. FDISK.EXE and FORMAT.COM are the files required in your bootable . Start the partition and format procedure by booting your PC using a Windows boot disk. Make sure you set the BIOS so that the boot sequence is set to detect the floppy disk first. If your system has no problems booting you will be presented with a Windows boot disk menu. This gives you the option to start the system with or without CDROM support. At this stage you do not need the CDROM support, so choose the option to boot without CDROM support. You should end up in the MS DOS prompt A: (A drive). From A: command prompt type fdisk. You will be presented with following message

Choose "Y" to enable large disk support.You will now be presented with the FDISK main menu as shown below.

10 | P a g e

From the menu, choose option 1 Create DOS partition or Logical DOS drive. Another menu will present the following options.

Choose option 1 Create primary DOS Partition. FDISK verifies the integrity of your drive and will ask you if want to use the maximum available size of your hard disk to create the primary partition and set it active. To keep things simple we will create one large partition. Choose "Y" to use maximum available space. When the partition has been created successfully you will be notified by the system. Your drive is now known as C: (C drive). Press "Esc" to return to the menu. Press "Esc" again to exit FDISK. You need to restart your system for the changes to take affect. Leave boot disk in the drive.When the system reboots, choose start without CDROM from the boot disk menu.

11 | P a g e

While booting from floppy disk you might get error message like "Invalid media type reading drive C" this is OK for this stage as the hard disk is not formatted.

From A: command prompt type format c: You will get a message saying "WARNING, ALL DATA ON NONREMOVABLE DISK DRIVE C: WILL BE LOST. Proceed with Format (Y/N)?".

Don't worry about the message as you do not have any data in the new hard disk. Choose "Y". The format will proceed and would show you a progress indicator. The time it takes to format a hard disk depends on the size and speed of the drive. This could be around 530 minutes. Once the format is complete you need to reset your system. You are now ready to install an operating system. Introduction to File Systems

All file systems consist of structures necessary for storing and managing data. These structures typically include an operating system boot record, directories, and files.

Functions of a File System:

1. Tracking allocated and free space

2. Maintaining directories and file names

3. Tracking where each file is physically stored on the disk

Different file systems are used by different operating systems. Some operating systems can recognize only one file system, while other operating systems can recognize several. Some of the most common file systems are the following:

FAT()

The FAT file system is used by DOS, Windows 3.x, and Windows 95. The FAT file system is also accessible by Windows 98/Me/NT/2000, and by OS/2. The FAT file system is characterized by the use of a file allocation table (FAT) and clusters. The FAT is the heart of the file system; for safety, the FAT is duplicated to protect its data from accidental deletion or corruption. Clusters are the FAT system’s smallest unit of data storage; one cluster consists of a fixed number of disk sectors. The FAT records which clusters are used, which are unused, and where files are located within the clusters.

The FAT file system supports disk or partition sizes up to 2 GB, but only allows a maximum of 65,525 clusters. Therefore, whatever the size of the hard disk or

12 | P a g e partition,the number of sectors in one cluster must be large enough so that all available space can be included within 65,525 clusters. The larger the available space, the larger the cluster size must be.

FAT32 (File Allocation Table 32)

FAT32 is a file system that can be used by Windows 95 OEM Service Release 2 (version 4.00.950B), Windows 98, Windows Me, and Windows 2000. However, DOS, Windows 3.x, Windows NT 3.51/4.0, earlier versions of Windows 95, and OS/2 do not recognize FAT32 and cannot boot from or use files on a FAT32 disk or partition.

FAT32 is an enhancement of the FAT file system and is based on 32bit file allocation table entries, rather than the 16bit entries used by the FAT system. As a result, FAT32 supports much larger disk or partition sizes (up to 2 terabytes).

The FAT32 file system uses smaller clusters than the FAT file system, has duplicate boot records, and features a root directory that can be any size and can be located anywhere on the disk or partition.

NTFS (New Technology File System)

The NTFS (New Technology File System) is accessible only by Windows NT/2000. NTFS is not recommended for use on disks less than 400 MB because it uses a great deal of space for system structures.

The central system structure of the NTFS file system is the MFT (Master File Table). NTFS keeps multiple copies of the critical portion of the master file table to protect against corruption and data loss.

Like FAT and FAT32, NTFS uses clusters to store data files; however, the size of the clusters is not dependent on the size of the disk or partition. A cluster size as small as 512 bytes can be specified, regardless of whether a partition is 500 MB or 5 GB. Using small clusters not only reduces the amount of wasted disk space, but also reduces file fragmentation, a condition where files are broken up over many noncontiguous clusters, resulting in slower file access. Because of its ability to use small clusters, NTFS provides good performance on large drives. Finally, the NTFS file system supports hot

13 | P a g e fixing, a process through which bad sectors are automatically detected and marked so that they will not be used.

HPFS (High Performance File System)

The HPFS is the preferred file system for OS/2 and is also supported by older versions of Windows NT. Unlike the FAT file systems, HPFS sorts its directory based on file names. HPFS also uses a more efficient structure to organize the directory. As a result, file access is often faster and space used more efficiently than with the FAT file system.

HPFS allocates file data in sectors instead of clusters. To keep track of which sectors have or have not been used, HPFS organizes a disk or partition into 8 MB bands, with 2 KB allocation bitmaps between the bands. This banding improves performance because the read/write heads don’t have to return to track zero each time the OS needs to access information about available space or a needed file’s location.

NetWare File System

The Novell NetWare operating system uses the NetWare File System, which was developed specifically for use by NetWare servers.

Linux ,Ext3 and Linux Swap

The Linux Ext2 and Linux Swap file systems were developed for the GNU/Linux OS. The Linux Ext2 file system supports a maximum disk or partition size of 4 terabytes. Apart from Linux Ext2 file system the latest version is the Linux Ext3 which uses the concept of journals Different types of file system

When there is a valid need to properly store and to organize your business computer files your company should not be constrained with using only a single type of filing system. In effect there is more than one type of file system that can be used for your purpose. To actually be more precise there are a total of four different styles or types of systems at your command. These systems are your disk file systems; the network file systems as well as the various special purposes file systems. We will briefly cover each of these systems in turn.

The disk file system is perhaps the most common means employed for storing and maintaining both personal and business related files. These are easy to use and can be

14 | P a g e used at your home or at your place of employment. The maintenance and the storage of these files are facilitated only by the data storage devices themselves such as by the use of the common disk drive. The disk file system used by an organization can use either the FAT, NTFS, HFS or a few of the lesser known methods which we will not discus here. It is better to keep to the major types of systems in order to facilitate compatibility.

Another quickly growing type of file system is the Flash file system. This is the choice of system if your intention is to store your data on the portable flash memory devices. The popularity of these storage media devices has grown along side the popular mobile devices and the closely related flash memories. Though it is a common misunderstanding to employ the use of the usual disk file system on the flash device it quickly becomes apparent that by doing so will simply not bring out the best results of this system.

We next have the network file system which is quickly gaining in popularity not only in the business environment but in private homes as well. This system makes use of what is known as remote file access protocol. This protocol provides users the necessary access for files which are stored on a common server.

The last type of file system that we will briefly discus is the special purpose file system. Simply put, any file system which is not a network or a disk file system would fall under this new category of file system. Generally these types of systems are in house designed specifically for a particular purpose by the computer department of major corporations. This type of data bases and file structures do not adapt very well from one field of use to another. As an example you would not want to try and use a specially designed meat production file system for use with an auto industry company complex

Practical Partitioning and Formatting HDD Drive

As per in page no 10

Introduction to OS

As in the beginning of the lesson Types of OS

An operating system is the single most important software when you run a computer, it is what takes care of pretty much everything on a computer system, while the majority of computers we see happen to be using one ‘type’ of operating system performing the same functions, operating systems can be branched into several different types as well.

15 | P a g e

It’s been a while since I’ve shared a fairly technical post on Computer Realm so I guess today would be a good day for one.

• Batch Processing Operating System

In a batch processing operating system interaction between the user and processor is limited or there is no interaction at all during the execution of work. Data and programs that need to be processed are bundled and collected as a ‘batch’ and executed together.

Batch processing operating systems are ideal in situations where:

There are large amounts of data to be processed.

Similar data needs to be processed.

Similar processing is involved when executing the data.

The system is capable of identifying time s when the processor is idle at which time ‘batches’ maybe processed. Processing is all performed automatically without any user intervention.

• Realtime Operating System

A realtime operating system processes inputs simultaneously, fast enough to affect th e next input or process. Realtime systems are usually used to control complex systems that require a lot of processing like machinery and industrial systems.

• Single User Operating System

16 | P a g e

A single user OS as the name suggests is designed for one user to effectively use a computer at a time.

• MultiTasking Operating System

In this type of OS several applications maybe simultaneously loaded and used in the memory. While the processor handles only one application at a particular time it is capable of switching between the applications effectively to apparently simultaneously execute each application. This type of operating system is seen everywhere today and is the most common type of OS, the Windows operating system would be an example.

• MultiUser Operating System

This type of OS allows multiple users to simultaneously use the system, while here as well, the processor splits its resources and handles one user at a time, the speed and efficiency at which it does this makes it apparent that users are simultaneously using the system, some network systems utilize this kind of operating system.

• Distributed Operating System

In a distributed system, software and data maybe distributed around the system, programs and files maybe stored on different storage devices which are located in different geographical locations and maybe accessed from different computer terminals.

While we are mostly accustomed to seeing multitasking and multiuser operating systems, the other operating systems are usually used in companies and firms to power special systems. Installation Operating System

1. Decide what you would like to do . Are you going to reinstall your operating system because of problems, upgrading your current version, or are you installing an operating system on a new computer? Make sure that you have the new operating system install program. Windows and Mac require that you purchase a CD or DVD Rom(s). Ubuntu and other Linux are free and can be installed from a flash drive too.

2. Back up your data . If you are reinstalling your operating system, it is likely that you will need to wipe the disk. Back up your data before doing so, as everything on the disk will be destroyed. If you are simply upgrading, it is okay to skip this step, but it is advisable to save at least the most important files on your computer.

3. Boot up . Turn on your computer and quickly enter the boot menu. The owner's manual for your computer or motherboard should have instructions on how to

17 | P a g e do this. It will show on the screen for a brief moment too. Select the drive that contains the setup disk (and be sure you have inserted it). Save the setting and exit.

4. Start the installation . It may take the install program a few minutes to load, this is normal. Once it has loaded, follow the onscreen instructions. If you are installing a new operating system on a new computer or reinstalling due to a problem, wipe the disk. Be sure you have saved everything that you would like to save before starting this process. 5. Sit back and relax . The installer may ask you for some information while it's installing, but for the most part, just waiting is okay. Near the end of the installation, the installer will ask you for lastminute information, like your name, the name of the computer, sign in name, password, time zone, etc. Do not be alarmed by this, none of this information can be used to identify you, it's all for personal preference.

6. Enter the product ID . If you are installing a consumer operating system like Windows, it will probably require you to enter a product ID. Look at the back of the CD case for the product ID or, indeed, on the case of the computer if the computer came with an OEM version of Windows. If you are installing Linux, this will not apply to you if it is an open source variant of Linux (for example: BackTrack, Ubuntu, Fedora), but will if it is a closed source variant of Linux (for example: Red Hat, HPUX, SuSE etc).

7. Reboot . Once you reboot, the computer will finalize everything and log you in. At this point, you may need to install drivers. Insert any disks that came with your computer or it's parts that are NOT an operating system, and allow the drivers to be installed (if necessary).

8. Allow updates . This is especially important in Windows. Allow the computer to seek updates and install them. Look for a "top 10 things to do" list for that operating system.

9. Install antivirus software . If you are using Windows without antivirus software while on the web, you are extremely vulnerable to all kinds of malicious programs. Before you do anything, even installing Firefox, install antivirus. If you don't have any, look for avast! Antivirus, it's free.

10. Use it ! You're done, now what you do is totally up to you. Set a password, install programs, customize, create user accounts, etc. If you have any files you backed up, you may restore them now. Or, just enjoy the clean slate and redo everything, whatever you like.

18 | P a g e

Installing Application Software

How to install a software program can depend on the operating system being used and the program being installed. Because of all the different possibilities, we have created the below steps as guidelines for installing programs in each of the major operating systems. Notice: This document has been created as a basic overview on how to install software programs, games, and utilities on your computer. If errors are encountered during the installation, this document will not cover those errors.

General Tips

• Make sure your computer meets the requirements of the program, game, or utility you are attempting to install. • The manuals for the program or the readme file located in the same directory as the install commonly contain exact instructions on how to install a program. • After installing or during the installation, a program may need to install other programs, files, or utilities before it is able to run. If this is the case, the program will commonly prompt you to install the program or you may need to run a separate install before the program can be fully used. • When installing a program, utility, or game, it is always a good idea first to close or disable any other programs that are running. • After installing a new program if it prompts you to reboot the computer, do it.

Microsoft Windows users

Many software programs, games, and utilities have an AutoPlay feature that will automatically start the setup screen for the software program when the CD is placed in the computer. If your program, game, or utility contains this feature, run the installation through the screen that appears after inserting the disc. If you are installing a program, game, or utility that does not contain this feature or you are installing a program from a floppy diskette, follow the below steps. 1. Open My Computer . 2. Within the My Computer window, open the drive that contains the installation files. For example, if the files are on a floppy diskette, open the A: drive. If they're on a CD or DVD open the D: drive or the letter of the disc drive. 3. Within the drive that contains your files, locate either a setup or install file. Doubleclicking on this file should start the installation for the program, game, or utility. If you see multiple setups or install files, try to locate the Application file or doubleclick each of setup or install files until you find the file that starts the

19 | P a g e

installation. Many times the icons associated with the installation files have the same name.

An alternate method of starting the installation in Microsoft Windows

1. Click Start and Run 2. In the Run Window, type x:\setup or x:\install where x is the letter of the drive you wish to start the installation from. For example, if you are attempting to install a program from the floppy disk drive you would type a:\setup or a:\install.

MS-DOS users

Users installing a program from Microsoft DOS should have a basic understanding of the MSDOS commands. If you are unfamiliar with any of the commands listed below, click the link to get additional information and examples on the commands. 1. Before installing a program in MSDOS, you must switch to the drive or directory that contains the installation files. If you are installing a program from a CD or diskette, switch to that drive. If the installation files are located in a different directory, use the dir command to list the directories and the cd command to switch into the appropriate directory.

2. Once you are in the directory or drive that contains the installation files, run the executable for the setup. Many times this can be done by typing setup or install at the prompt to start the installation. If both of these commands give a bad command or file name error message, type dir *.exe or dir *.com or dir *.bat . These commands will list any executable files; if any files are listed, execute these files to run the installation or setup of the program. If no files are listed when typing all three of the above commands, it is possible that either you are in the incorrect directory or drive letter, or that the program.

Microsoft Office

Microsoft Office is a proprietary commercial office suite of interrelated desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of Office contained Microsoft Word , Microsoft Excel , and Microsoft PowerPoint . Over the years, Office applications have grown substantially closer with shared features such as a common spell checker, OLE data integration and Microsoft Visual Basic for Applications scripting language.

20 | P a g e

Microsoft also positions Office as a development platform for lineofbusiness software under the Office Business Applications brand. The current versions are Office 2010 for Windows, released on June 15, 2010; [2] and Office 2011 for Mac OS X, released October 26, 2010. [3]

Desktop applications

Word Microsoft Word is a word processor and was previously considered the main program in Office. Its proprietary DOC format is considered a de facto standard, although Word 2007 can also use a new XMLbased, Microsoft Officeoptimized format called .DOCX, which has been standardized by Ecma International as Office Open XML and its SP2 update supports PDF and a limited ODF .[41] Word is also available in some editions of Microsoft Works . It is available for the Windows and Mac platforms. The first version of Word, released in the autumn of 1983, was for the MSDOS operating system and had the distinction of introducing the mouse to a broad population. Word 1.0 could be purchased with a bundled mouse, though none was required. Following the precedents of LisaWrite and MacWrite , Word for Macintosh attempted to add closer WYSIWYG features into its package. Word for Mac was released in 1985. Word for Mac was the first graphical version of Microsoft Word. Despite its bugginess, it became one of the most popular Mac applications.

Microsoft Excel is a spreadsheet program that originally competed with the dominant Lotus 123, but eventually outsold it. It is available for the Windows and Mac platforms. Microsoft released the first version of Excel for the Mac in 1985, and the first Windows version (numbered 2.05 to line up with the Mac and bundled with a standalone Windows runtime environment) in November 1987.

Outlook/Entourage

Microsoft Outlook (not to be confused with Outlook Express ) is a personal information manager and email communication software. The replacement for Windows Messaging , Microsoft Mail and Schedule+ starting in Office 97, it includes an email client, calendar, task manager and address book. On the Mac, Microsoft offered several versions of Outlook in the late 1990s, but only for use with Microsoft Exchange Server . In Office 2001, it introduced an alternative application with a slightly different feature set called Microsoft Entourage . It reintroduced Outlook in Office 2011, replacing Entourage. [42]

21 | P a g e

PowerPoint Microsoft PowerPoint is a popular presentation program for Windows and Mac. It is used to create slideshows , composed of text, graphics, movies and other objects, which can be displayed onscreen and navigated through by the presenter or printed out on transparencies or slides .

Version compatibility Beginning in 3/02/89 [citation needed ], Microsoft instituted a new support lifecycle policy. [56][57] Versions earlier than Office 2003 are no longer supported. For current and future versions of Office mainstream support will end five years after release, or two years after the next release, whichever time is later, and extended support will end five years after that.

Versions available for Windows

Microsoft Windows version Last version

Windows NT 3.51 with Service Pack 5 Office 97

Windows 95 Office 2000

Windows NT 4.0 Office XP

Windows 98 Office XP

Windows 2000 with Service Pack 2 Office XP

Windows 2000 with Service Pack 3 or later Office 2003

Windows Me Office XP

Windows XP with Service Pack 2 Office 2007

Windows XP with Service Pack 3 Office 2010

Windows Server 2003 Office 2003

Windows Server 2003 with Service Pack 2 Office 2010

Windows Vista without Service Pack Office 2007

Windows Vista with Service Pack 1 Office 2010

Windows Server 2008 Office 2010

Windows 7 Office 2010

Versions available for Macintosh

Macintosh version CPU Last version

System 7.0Mac OS 8.1 68K Office 4.2.1

22 | P a g e

System 7.1.2 PPC Office 4.2.1

System 7.5Mac OS 8.0 PPC Office 98

Mac OS 8.19.2.2 PPC Office 2001

Mac OS X 10.110.5 PPC Office v. X

Mac OS X 10.210.5 PPC Office 2004

Mac OS X 10.410.6 Universal Office 2008

Mac OS X 10.510.6 Intel Office 2011

Tally

There are many accounting packages are available in the market, Tally remains the undisputed king of all financial accounting packages available in India. Tally is capable of handling any kind of transaction you would need, whatever your business. In order to use tally, you neither need to learn new accounting methods nor should change your existing style of handling accounts. The information can be fed as well retrieved at random and all human errors can be corrected.

A transaction in accounting terminology means transfer of money or money’s worth from one party to another, for example sale of goods, purchase of furniture etc. are examples of transactions. Fundamentally there are two systems of transactions: Pre transaction and post transaction. Let us explore it in detail, assume that you have to make payment to a party, in pre transaction, this is done by first creating a voucher, which is signed by payee and then the transaction is completed by actually making the pay creation of internal entries in case of completed transactions. The post transaction system follows the traditional practice of entering a voucher or cash bill into a cash book after the payment has been made. Tally is a post transaction system. It follows the traditional methods of accounting, that is, the payment is first made on the basis of existing accounting methods (i.e., against a voucher or a cash bill) and that information is fed into the Tally. The simple fact that your existing system of accounting remains untouched by Tally is a big reason behind the success of this package. Prerequisites for the learning tally

The area of the Tally is very wide, you could be the owner, financial controller, accountant, manager or an auditor. All that is required to learn Tally is fundamental knowledge of accounts and familiarity with basic accounting terminology. This means that you should understand certain basic terms like an account, a debtor, a creditor, assets, liabilities, capital etc. Even if you are not well versed with the accounting, you can still use Tally effectively at the same time become known to accounting methods.

23 | P a g e

Tally have many versions like 3.0, 4, 4.5, 5.0 5.4 etc. Tally release 5.0 and 5.4 are window based software in which you feel the window look like programs, than the text based screens.

WinZip

WinZip is a tool developed by WinZip Computing, Inc. to handle ZIP files and other compression formats. It supports the following features described in its help document: • Seamless Windows integration: WinZip includes tight integration with My Computer and Windows Explorer. Drag and drop to or from Explorer, or zip and unzip without leaving Explorer.

• Internet support: WinZip features builtin support for popular Internet file formats: TAR, gzip, UUencode, XXencode, BinHex, and MIME. ARJ, LZH, and ARC files are supported via external programs. You can use WinZip to access almost all the files you download from the Internet. In addition, the freely downloadable WinZip Internet Browser Support AddOn lets you download and open archives with one click using Microsoft Internet Explorer or Netscape Navigator.

• Automatic installation of most software distributed in Zip files: If a Zip file contains a "setup" or "install" program, WinZip's Install feature will unzip the files, run the installation program, and clean up temporary files.

• The WinZip Wizard: This optional feature uses the standard and familiar "wizard" interface to simplify the process of zipping, unzipping, and installing software distributed in Zip files. The WinZip Wizard is not targeted at experienced users, but is ideal for the rapidly growing number of PC users getting started with Zip files. When these users gain confidence or want to use more advanced zipping features, the full WinZip Classic interface is just a click away.

• Favorite Zip Folders: WinZip lets you organize Zip files into one convenient list that is sorted by date, making it easier to locate all Zip files, regardless of where they came from or where they are stored. Unlike the standard Open Archive dialog box, the Favorite Zip Folders dialog box treats the contents of multiple folders as though they were one folder. A Search facility will find any Zip files lost on your hard disk.

24 | P a g e

• Create files that unzip themselves: WinZip SelfExtractor Personal Edition is included with WinZip. Selfextracting files are ideal for sending compressed files to others who may not own or know how to use file compression software.

• Virus Scanner Support: WinZip can be configured to work with most virus scanners.

WinRAR

WinRAR has the following menus: File , Commands , Tools , Favorites , Options and Help . Select the appropriate topic to read about commands of a particular menu. The next interface item is the toolbar. It is placed below menus, but above the file list. Toolbar buttons duplicate items of the Commands menu (note that all items of this menu also have keyboard shortcuts). When WinRAR displays an archive contents, some buttons may be disabled, if corresponding archive management functions are not applicable to the archive. If you wish, you may choose buttons to display, remove buttons text or reduce buttons size using General settings dialog or clicking by the right mouse button on the toolbar.

Below the toolbar buttons you will see the small "Up" button and the disks list. "Up" button changes the current folder to the parent. Disks list is needed to select the current disk or, for example, the network. You may open it either using mouse or pressing F4 key. It is possible to drag "Up" button and the disks list to the right corner of toolbar. Pressing Ctrl+D or clicking the small "Disk" icon on status bar can also be used to change the current disk.

The list of files is located below the toolbar. It may show either the unpacked contents of the current folder or, if WinRAR is entered to an archive, archived files. These are so called file management and archive management modes. For each file the following parameters are shown: name, size, type and modification time. Archived files also have two additional parameters packed size and CRC32. CRC32 is the special control sum calculated basing on file data and it may help to detect either two archived files are the same without unpacking them. Same files always have the same CRC32 value. All parameters are organized into columns. By clicking on the column title you may change the files sort order (a blue arrow drawn in the title shows sort direction). Also it is possible to change the width of columns by dragging the column title separators with a mouse. Several additional list options are available in the File list dialog.

If an archived file is encrypted, its name is followed by an asterisk. If a file is continued in a next volume, its name is followed by ">". If a file is continued from a previous

25 | P a g e volume, its name is followed by "<". And if a file is continued both in a next and from a previous volume, its name is followed by "<>". Before processing files you need to select them in the list. In additionally to the standard Windows methods of selecting files WinRAR provides several more keys for this purpose: Space, Ins, "Gray +", "Gray ". More details will be found in the topic Selecting files .

The following keys may be used to navigate in the file list. Backspace (BS) or Ctrl+PgUp or doubleclick on the folder with ".." name to go to the parent disk or archive folder. The same action will close an archive, if you are viewing the archive root folder. Press Enter or Ctrl+PgDn or doubleclick on any other folder to enter to it. The same action applied to an archive name will open this archive. Ctrl+\ sets the root disk or archive folder as the current.

If you press the right mouse button in the files list, the menu containing file management and interface commands will appear. These commands are also accessible in the usual WinRAR menus, toolbar and keyboard, so you may select whichever activation method is most convenient for you.

Left pane of WinRAR window can contain the folder tree panel if it is enabled in "Folder tree" submenu of Options . Folder tree is convenient if you need to navigate in disk or archive folders quickly. You may change the width of folder tree by dragging its right border with the mouse.

Depending upon the "Show archive comment" option in General settings dialog and the presence of a comment in the opened archive, the right part of the file list may be overlapped by the archive comment window. You may change the width of the comment window by dragging its left border with the mouse.

The status bar is placed below the files list, at the bottom of the WinRAR window. The left part of the status bar contains two small icons: "Drive" and "Key". By clicking on the "Drive" icon you may change the current disk. To change the current password click on the "Key" icon. Both of these commands are also present in the File menu . By default the "Key" icon is yellow, but if a password is entered, the icon will be red. The middle part of the status bar shows either the total size of selected files or information about the current operation. The right part of the status bar displays the number and size of files in the current folder.

26 | P a g e

Unit – 2

Repairing windows Operating System

One of the best kept secrets of Windows XP is it's built in repair feature!

In previous versions of Windows, correcting an operating system error, or installing a new motherboard, usually meant formatting and reinstalling, resulting in loss of all data. Don't worry; Windows XP repair feature won't delete your data, installed programs, personal information, or settings. It just repairs the operating system!

Note: The system repair function will remove any updates you have previously installed that are not included on the CD. Drivers will also be reverted to their original XP versions, as well as some settings (network & performance settings may sometimes be reset to their defaults). It may be necessary to reactivate your Windows XP as well. When finished, you will have to download all of the updates from Microsoft Windows Update, because they are all replaced during repair.

Why would I want to reinstall Windows XP?

1) Can't start Windows XP in safe mode.

2) You have problems caused by a recently installed system update (Windows Update, hotfix, Windows XP service pack, or Microsoft Internet Explorer update).

3) Your problems can't be solved with system restore, or you can't access system restore.

4) You've installed a new motherboard, or made other major hardware changes and need to reinstall Windows.

Let's get started!

Step 1: Rule out hardware issues. Windows Repair will only fix software problems. Hardware issues can also cause boot problems (i.e. bad hard drive, memory, CPU, or power supply).

27 | P a g e

Step 2: Backup. It's always a good idea to backup your important data before making changes to Windows XP. Relax, if you follow these instructions your data will be perfectly safe.

Step 3: Boot from your Windows XP CD. Insert the Windows XP CD into your computer's CDROM or DVDROM drive, and then restart your computer. When the "Press any key to boot from CD" message appears on the screen, press a key to start your computer from the Windows XP CD. Can't boot from your CD? Please see the note at the bottom of this page (Configuring Your Computer to Boot from CD).

Step 4: A blue screen will appear and begin loading Windows XP Setup from the CD.

Note: RAID/SCSI/Unsupported UDMA users:

You will be prompted to "press F6 to install any third party SCSI or RAID drivers". Most users will not have to press F6, but if you are running RAID, SCSI or unsupported UDMA controllers, then you will have to have your controller drivers on a floppy disk. If you are unsure whether you have RAID/SCSI, then simply let the CD load without pressing F6.

When completed loading files, you will be presented with the following "Windows Setup" screen, and your first option. Select "To set up Windows XP now, press ENTER". DO NOT select Recovery Console.

28 | P a g e

When presented with the screen below. press the F8 key to continue.

29 | P a g e

Next, Windows Setup will find existing Windows XP installations. You will be asked to repair an existing XP installation, or install a fresh copy of Windows XP.

If no installations are found, then you will not be given the option to repair. This may happen if the data or partition on your drive is too corrupted.

Note: If you install a fresh copy, all data on that partition will be lost!

30 | P a g e

Your almost finished! Windows XP will appear to be installing itself for the first time, but it will retain all of your data and settings. Just follow the prompts, and have your CD KEY ready if needed.

Do you have more than one system, or lost your CDKEY? Visit the keyfinder page to retrieve your CDKEY.

Update: Due to the proliferation of the Blaster and Welchia Worm/Virus be aware that a Repair Install will leave your system vulnerable. You can get infected within seconds. Do not go on line until you have enabled XP's firewall first.

Remember to run Windows Update! (install critical updates first)

Configuring Your Computer to Boot from CD

Many computers are not configured to boot from the CDROM. If you cannot boot from the CDROM, this is probably due to the boot order of your devices being incorrect. You can change this in the BIOS.

31 | P a g e

You enter the BIOS from the first screen you see when you turn your computer on. To enter your BIOS, most users here will press the DEL key. Most Dell, Toshiba, Gateway, Sony & HP systems will press F2. Compaq users will usually have to press F10. IBM typically uses F1 or F2.

Other brands may have different keys to press to enter setup, F1, F2, Del, Tab and CTRL+S. If possible see the manual for your computer or motherboard. Also, the BIOS will usually display which button to press to "enter setup" during POST (if it flashes by too fast, press the Pause key).

When you enter the BIOS setup, you need to change the boot order. The CDROM should be setup before the Hard Drive. Each BIOS is different, but here is an example:

Note: If you need assistance with a repair installation, please start a new topic in our Windows XP Forum . This topic is also open for comments, but not all will receive a reply.

32 | P a g e

Console repairing

Lets discuss about the commands available with windows recovery console and procedure to use recovery console.

Fix:

Following are the some of commands you need to know, included in windows recovery console

1. Attrib – Changes the attribute of the file or directory

2. Batch – Executes the set of commands written in a text file, or specified in the input file you specify.

3. Bootcfg – Modifies Boot.ini file for changing boot configuration

4. CD or ChDir – changes the current directory

5. Cls – Clear the screen to remove the recently typed command history

6. Copy – Copies one file to a target location

7. Del – Deletes a particular file

8. Exit – To exit from recovery console

9. Fixboot – writes new startup sector on the system partition

10. Fixmbr – Repairs the startup partition master boot code

To refer to the complete list of command and their meaning refer this page

After you have learned about the various commands of recovery console you nee to know how to use start recovery console from a windows XP bootable CD.

33 | P a g e

How To Use Recovery Console

To Run the recovery console from a windows XP Bootable CD, follow the procedure below

1. Insert the Windows XP Bootable CD into the CD/DVD Drive

2. Restart your computer and boot from CD

3. When the “Welcome to Setup” Screen appears, press R to start recovery console

4. If you have dual boot configuration on, you will need to select the partition on which you start recovery console

5. When you are prompted, type the administrative password or if the administrative password is blank, just press enter.

6. Now use the commands mentioned above to repair your computer and type exit and press enter to exit recovery console and restart your computer.

Graphical repairing

How to Diagnose Video Card Problems

Aka Graphics Adapter Card

These are some symptoms that may be caused by the graphics card. Other components may also cause these same symptoms, check the general diagnosis page for more information.

Check Symptom Click on underlined items for further information

It makes a squealing or • The fan on the graphics card may need to be cleaned other loud noise or it may be failing. The fan on most cards is not replaceable.

The screen is black • Check that the monitor is turned on. Most have a light and completely blank to indicate power and another to indicate that it is

34 | P a g e

receiving a signa;l from the PC. • Check that the video cable's connectors are securely and properly fastened to the graphics card and on some models to the monitor. • Check that no pins are bent or miossing from the connector. • Unplug the PC and make sure the graphics card is securely and properly installed into it's slot.

The display doesn't fit • The resolution is not set correctly in Windows. Go into properly on my monitor the display settings in the Control Panel, and change OR the resolution settings. The text or resolution • The monitor may have controls that allow you to adjust is the wrong size the size and position of the display. Use the monitor's controls to move or resize the display. • You may need to install a different or updated driver for your graphics card and/or monitor.

The display seems to • Reset the display's refresh rate in the Windows Control flicker Panel. Do not use a refresh rate that is not supported by your monitor or damage may result.

The colors don't look • The color depth is not set correctly in Windows. Go right into the display settings in the Control Panel, and change the resolution settings. • You may need to install a different or updated driver for your graphics card and/or monitor.

The display is • The color depth and/or resolution is not set correctly in completely unreadable Windows. Go into the display settings in the Control Panel, and change the resolution settings. • You may need to install a different or updated driver for your graphics card and/or monitor

35 | P a g e

Removing application software

• From Star/Application menu > Install & Remove Software

• From the Mandriva Control Center : Star menu > Tools > System Tools > Configure Your Computer , go to the Software Management tab, and click the appropriate option (they all launch rpmdrake in various different modes)

• From a terminal, you can run rpmdrake, rpmdrake remove, MandrivaUpdate or drakrpmeditmedia to l aunch the various rpmdrake modes. You must have administrator privileges. See this page for instructions on running commands with administrator privilege s.

In Mandriva Linux 2008 and earlier, Manage Software (in the Mandriva Control Center ), Install & Remove Software (in the system menus), and rpmdrake (from the console) launch rpmdrake with the All search filter preselected. In Mandriva Linux 2008 Spring and later, the Mandriva Control Center entry is labelled Install & Remove Software , and these methods launch rpmdrake with the Packages with GUI filter presel ected. rpmdrakeremove (from the console) launches rpmdrake with the Installed search filter preselected, which is most convenient for removing packages.

Browse Available Software (in the system menus) launches rpmdrake without administrator privileges, which means you will only be able to browse what software is installed and available, you will not be able to install or remove packages.

36 | P a g e

Install & Remove Software Metapackage Selection

If you selected the link to install or add software, you can change the view of the software listed by using the drop down lists at the top left hand corner of the window. The options in the first drop down list are All , Metapackages , Packages with GUI , All updates , Security updates , Bugfixes updates , General updates and Backports .

• Metapackages are packages which contain no files, but only exist in order to depend on other packages. To see how this works, consider the taskgnome metapackage. This package contains no files, but it depends on all the packages necessary to provide the full GNOME desktop environment. This allows you to simply install the taskgnome package, which will cause all the packages needed for GNOME to work to be installed far easier than finding and installing them one by one. The Metapackages view shows you only packages of this type.

• The Packages with GUI view shows you only packages for actual GUI applications. This is useful if you're just looking for a program and don't want to be confused by entries for nonapplication packages.

• The various Updates views show you only the various types of official update packages.

• Backports shows you only packages from the /backports repositories, which contain (unsupported) packages of newer versions of certain applications than were originally provided for any given release. For more information on what the /backports repositories are and how to use them, see here .

The second drop down box allows you to switch between showing all packages both installed and not yet installed, only installed packages, or only not yet installed packages.

In older releases of Mandriva Linux, the arrangement of drop down boxes and the choices they contain is somewhat different, but similar to the above in overall effect.

Enter the search term in the search box at the top right hand side of the screen to identify the name of the application you wish to install. By default, you will be searching in the names of available packages. If you click on the magnifying glass icon, you can change to searching in the summaries or descriptions of available packages, or in the lists of files they contain. Results will appear in the box below the search term. Once you have checked all the applications you wish to install, click the "Apply" button to install them. If other packages must be installed in order for the packages you selected to function correctly, rpmdrake will alert you to this now and allow you to either continue the installation including the required packages, or cancel.

37 | P a g e

Remove Software Selection

If you search for an application and find that a check in the box to the left of the application name, this signifies that the application is already installed on your Mandriva Linux system. Also note the color coded icons in the far right column of the fi le window labeled "Status". These icons represent the selected forinstallation, installed, or to be removed status of packages.

To remove software that has already been installed, uncheck the box in the left hand column of the package listing window wher e the check appears. This will mark that application for removal or uninstallation. Similar to the installation process, if another application must be installed to fulfil your removal request, you will be warned of the other packages to be removed. You wi ll also be prompted to accept the removal of all packages. If you do not accept the removal of all packages, none of the packages will be removed. Once you have marked all the applications you wish to remove, click the 'Apply' button to remove them.

MS office- Tally and WinZip - Winrar

As per in unit 1 Introduction the Software

The software is the information that the computer uses to get the job done. Software needs to be accessed before it can be used. There are many terms used for the

38 | P a g e process of accessing software including running , executing , starting up , opening , and others.

Computer programs allow users to complete tasks. A program can also be referred to as an application and the two words are used interchangeably.

Examples of software programs or applications would be the Operating System (DOS, Windows, UNIX, MacOS and various others), Wordprocessor (typing letters), Spreadsheet (financial info), Database (inventory control and address book), Graphics program , Internet Browser , Email and many others.

As well any document that you create, graphic you design, sound you compose, file you make, letter you write, email you send or anything that you create on your computer is referred to as software. All software is stored in files .

Software is stored on a disk , card, tape or one of the dozens of other storage devices available.

There are millions of different pieces of software available for almost every conceivable need. Software is available commercially through stores and mail order and also available on the Internet . Software is also available through an Open Source license which allows anyone to use the Open Source software free of charge as long as the license is maintained. If you can't find the application that you need software development companies can custom designed software for you.

The largest software companies offer packages of software or suites that include many of the programs that the average person or business needs. Software packages or suites contain programs that work together and share information, making it easier to combine that information in versatile ways. For example when writing a letter you can get the mailing address from an address book, include a letterhead from a graphics program and include a financial chart from a spreadsheet and combine this collection of information in the body of the letter.

Different types the Software

Programs that are designed to carry out certain tasks for computers are called software. The programs are written in special languages that use letters, numbers, or codes which the computer interprets. (E.g. many computer programs are written in VISUAL BASIC, C++, and ). The programs can be system software which controls the actual operations of the computer itself, such as DOS (Disk Operating System), Microsoft Windows, Linux etc., System software will tell the computer how to load, store and execute the application programs it uses.

39 | P a g e

Application software constitutes the actual programs which a company or individual may require. These application software programs tell the computer how to produce the information stored. Some samples of application software are: word processing software, electronic spreadsheet software, computer graphics software or database software.

Word Processing Software can be used to write letters, memos and documents. It provides the user with easy ways to add, delete, sort or change text on screen until it is suitable. It saves or prints the information. Word processing software prepares forms and printouts that typewriters formerly prepared. The more elaborate programs can correct spelling, change the text appearance, change margins and even relocate entire paragraphs in the editing stage. Word processing software is popular because of its quickness in printing and its disk storage capabilities. Some examples of such software are: WordPerfect, Microsoft Word, First Choice and WordStar.

Database Software had its origins in recordkeeping systems of bygone years. The need for worksheets used in classifying, calculating and summarizing has always been strong in the accounting fields of finance. Manual systems were replaced by punchcard equipment, which have been superseded by computers. Database software allows the user to enter, retrieve and update data in an efficient manner. Information can be classified, sorted and produced as reports needed for managing businesses. Examples of such softwares are: AccPac Plus, dBASE IV, Lotus Works.

Electronic Spreadsheet Software is used by people working with numbers, who can enter data and formulas so that the program can calculate or project results. With spreadsheet programs, the user can ask “what if” questions by changing data and recalculating. Spreadsheets are helpful for setting production and sales reports. The data may be presented in rows, columns or tables. This kind of software is popular because of its timesaving advantage over manual calculations. Spreadsheets have aided in onthespot decisionmaking. Some examples are: Lotus 123, Excel.

Computer Graphics Software produces professional looking documents containing both text and graphics. It can transform series of number values into charts and graphs for easier analysis or interpretation. Computer graphics software is used in the architectural, drafting and design industries. These programs present the data in a graphic “pie”, to aid in understanding statistics, trends, relationships and survey results. The use of clip art or graphs in line, bar, or circle format can provide useful charts which can even be colorenhanced. Some examples are: Corel Print House, Desktop Publishing, Ventura, and PageMaker. In businesses, one may be faced with the question of what software to get? This depends on the requirement and study advantages and disadvantages of available software.

40 | P a g e

Canned software is prewritten massmarket software, readytouse and available nationwide.

Custom software is software programmed to the users specifications by experienced programmers. This method is usually undertaken only when it is determined that the necessary software does not exist.

Computer Virus: A computer virus is a program that copies itself into other programs and spreads through multiple computer systems. Most viruses cause damage to files on the system where the virus is present. Some computer “hackers” have been responsible for designing these viruses to attack existing programs

Difference between system software and application software

• System software gets installed when the operating system is installed on the computer while application software is installed according to the requirements of the user.

• System software includes programs such as compilers, debuggers, drivers, assemblers while application software includes media players, word processors, and spreadsheet programs.

• Generally, users do not interact with system software as it works in the background whereas users interact with application software while doing different activities.

• A computer may not require more than one type of system software while there may be a number of application software programs installed on the computer at the same time.

• System software can run independently of the application software while application software cannot run without the presence of the system software.

Third-party Software

Thirdparty software generally falls into the following somewhat overlapping groups.

• Commercial software products are developed, distributed and maintained under a licensing agreement with a vendor or organization, generally for a fee. Commercial software products are normally installed like the vendor supplied software, but in a separate directory.

• The author of a software identified as shareware , would normally expect some payment for downloading the software and accompanying documentation. The payment is often voluntary and made to a specified organization.

41 | P a g e

• According to the 'Free Software Foundation', freeware is a software that everyone is free to copy, modify and redistribute. The word "free" pertains to freedom. It does not imply that it is free of charge, so anyone can sell free software so long as they don't impose any new restrictions on its redistribution or use. GNU software is an example of the freeware. The right to redistribute the software is legally bound with the condition that the distribution include original code, complete documentation including the changes made.

• Total absence of copy right protection is the characteristic of public domain software. Any one can copy, modify or use it in any way the wish. The author has no exclusive right and has no legal responsibility associated with the use of the software. System software

System software refers to the files and programs that make up your computer's operating system . System files include libraries of functions, system services, drivers for printers and other hardware, system preferences, and other configuration files. The programs that are part of the system software include assemblers, compilers, file management tools, system utilites, and debuggers .

The system software is installed on your computer when you install your operating system. You can update the software by running programs such as "Windows Update" for Windows or "Software Update" for Mac OS X. Unlike application programs , however, system software is not meant to be run by the end user. For example, while you might use your Web browser every day, you probably don't have much use for an assembler program (unless, of course, you are a computer programmer).

Since system software runs at the most basic level of your computer, it is called "low level" software. It generates the and allows the operating system to interact with the hardware. Fortunately, you don't have to worry about what the system software is doing since it just runs in the background. It's nice to think you are working at a "highlevel" anyway

To begin with, let’s understand what a system software is. System software is the backbone of a computer. While on one hand it regulates the operation of the computer hardware to perform the necessary useroriented functions, it also provides the basic framework to enable smooth running of the various application softwares on the other hand. To put it simply, a system software is the basic platform upon which the computer runs its hardware and enables the user to derive full computing functionality of the variousapplication softwares and get his work done. Now, speaking of the types of system software, there are four basic categories under which system software can be classified. These are: 42 | P a g e

• The Basic Input Output System (BIOS) or boot loader which defines the firmware interface and loads the OS;

• The device firmware that controls the operation and performance of the computer hardware;

• The operating system (OS) which allows the user to interact with the hardware and get the desired outcome by carrying data between RAM and storage disks, displaying the desired result on the output device (monitor/ LCD) and by acting as the platform to allow various other system andapplication softwares to run on the computing device;

• Various utility softwares that regulate the computer functionality by analyzing its performance, configuring and optimizing its processes and, thereby, carrying out system maintenance functions.

Overview all system software

System software is a collection of software programs that enable the user to interact with the computing device without getting lost among the complexities of technical interactions between mechanical parts and machineoriented codified programs. These programs are the building blocks that construct the entire system software architecture including the parts that regulate input/output functions, those that provide application software platforms and the various different types of operating system software component programs. Let’s take a look at some basic system software programs that form the building blocks of the desired userfunctionalities of a computing device.

Boot Firmware: Also known as boot loaders these programs are the first ones to run when a PC is started. A boot loader loads and runs the main operating system on the computer when it starts. This system software component is also known as BIOS on IBM compatible computing devices.

Database Management Systems: This is a set of programs that manage and regulate the user database right from creation to maintenance and extending to the use of such database. The DBMS is responsible for allowing different user applications to access a single database at the same time. This set of programs is what lies at the base of all computer network models that enable users to retrieve data from an integrated collection in a structured manner and does away with the user having to write complex programs in machine language to extract information from the data pool.

Output Interface: This program determines whether the desktop environment will be in the form of a character user interface (CUI as seen on DOS and older OS versions) or if it will be in the form of a (GUI as seen from latest OS, a norm

43 | P a g e made common by Windows). Also, besides determining the desktop environment, these programs also provide various options that allow the user to access other features of the OS from the desktop.

Virtual Machine Monitors: Also known as hypervisors , these programs allow multiple operating systems to run on a single host computer system simultaneously. These other computer systems that access the host are known as guests and the host is able to allow multiple operating systems to run simultaneously under the hardware virtualization process.

Link Editors: Commonly known as linkers, link editors collect multiple object files that the compiler programs, generate and put them together as an executable program which is capable of performing desired tasks as instructed by codified instructions.

Loaders: A loader is an inbuilt component of the operating system that loads programs onto the computer memory and makes them ready for execution. This process involves loading the program text from the executable file onto the computer memory and preparing the executable file to run. This is one of the various initial stages involved in running any program on the operating system.

Shell: Shells are programs that make the interaction between the kernel of the OS and the user possible. It is the outer layer of a computing interface that makes information interchange between the OS and the user possible.

Utility Software: These programs offer the various maintenance and performance evaluation utility tools to configure and optimize the various processes that influence the performance of your computer. Disk cleaners, anti virus softwares, data compression programs, disk drive partition utilities, storage, backup and archiving programs are some of the common examples of utility softwares

Operating system

As per in unit 1

I-O Manager

A computer consists of various devices that provide input and output (I/O) to and from the outside world. Typical devices are keyboards, mice, audio controllers, video controllers, disk drives, networking ports, and so on. Device drivers provide the software connection between the devices and the operating system. For this reason, I/O is very important to the writer.

The Windows kernelmode I/O manager manages the communication between applications and the interfaces provided by device drivers. Because devices operate at

44 | P a g e speeds that may not match the operating system, the communication between the operating system and device drivers is primarily done through I/O request packets (IRPs). These packets are similar to network packets or Windows message packets. They are passed from operating system to specific drivers and from one driver to another.

The Windows I/O system provides a layered driver model called stacks. Typically IRPs go from one driver to another in the same stack to facilitate communication. For example, a joystick driver would need to communicate to a USB hub, which in turn would need to communicate to a USB host controller, which would then need to communicate through a PCI bus to the rest of the computer hardware. The stack consists of joystick driver, USB hub, USB host controller, and the PCI bus. This communication is coordinated by having each driver in the stack send and receive IRPs.

It cannot be stressed enough that your driver must send and receive IRPs on a timely basis for the whole stack to operate efficiently. If your driver is part of a stack and does not properly receive, handle, and pass on the information, your driver may cause system crashes.

Assembler

Typically a modern assembler creates object code by translating assembly instruction mnemonics into opcodes, and by resolving symbolic names for memory locations and other entities. [1] The use of symbolic references is a key feature of assemblers, saving tedious calculations and manual address updates after program modifications. Most assemblers also include macro facilities for performing textual substitution—e.g., to generate common short sequences of instructions as inline, instead of called subroutines.

Assemblers are generally simpler to write than compilers for highlevel languages, and have been available since the 1950s. Modern assemblers, especially for RISC architectures, such as SPARC or POWER, as well as x86 and x8664, optimize Instruction scheduling to exploit the CPU efficiently.

Number of passes

There are two types of assemblers based on how many passes through the source are needed to produce the executable program.

• Onepass assemblers go through the source code once. Any symbol used before it is defined will require "errata" at the end of the object code (or, at least, no earlier than the point where the symbol is defined) telling the linker or the loader

45 | P a g e

to "go back" and overwrite a placeholder which had been left where the as yet undefined symbol was used.

• Multipass assemblers create a table with all symbols and their values in the first passes, then use the table in later passes to generate code.

• In both cases, the assembler must be able to determine the size of each instruction on the initial passes in order to calculate the addresses of symbols. This means that if the size of an operation referring to an operand defined later depends on the type or distance of the operand, the assembler will make a pessimistic estimate when first encountering the operation, and if necessary pad it with one or more "nooperation" instructions in a later pass or the errata. In an assembler with peephole optimization addresses may be recalculated between passes to allow replacing pessimistic code with code tailored to the exact distance from the target.

The original reason for the use of onepass assemblers was speed of assembly; however, modern computers perform multipass assembly without unacceptable delay. The advantage of the multipass assembler is that the absence of a need for errata makes the linker (or the loader if the assembler directly produces executable code) simpler and faster

Compiler

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language ) into another computer language (the target language , often having a binary form known as object code ). The most common reason for wanting to transform source code is to create an executable program.

The name "compiler" is primarily used for programs that translate source code from a highlevel programming language to a lower level language (e.g., or machine code). If the compiled program can run on a computer whose CPU or operating system is different from the one on which the compiler runs, the compiler is known as a crosscompiler. A program that translates from a low level language to a higher level one is a decompiler . A program that translates between highlevel languages is usually called a language translator , source to source translator , or language converter . A language rewriter is usually a program that translates the form of expressions without a change of language.

A compiler is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (Syntaxdirected translation), code generation, and code optimization.

46 | P a g e

Program faults caused by incorrect compiler behavior can be very difficult to track down and work around; therefore, compiler implementors invest a lot of time ensuring the correctness of their software.

The term compilercompiler is sometimes used to refer to a parser generator, a tool often used to help create the lexer and parser.

Linker

In computer science, a linker or link editor is a program that takes one or more objects generated by a compiler and combines them into a single executable program.

In IBM mainframe environments such as OS/360 this program is known as a linkage editor .

On UNIX variants the term loader is often used as a synonym for linker. Other terminology was in use, too. For example, on SINTRAN III the process performed by a linker (assembling object files into a program) was called loading (as in loading executable code onto a file). [1] Because this usage blurs the distinction between the compiletime process and the runtime process, this article will use linking for the former and loading for the latter. However, in some operating systems the same program handles both the jobs of linking and loading a program; see dynamic linking .

Loader

A loader is the part of an operating system that is responsible for loading programs. It is one of the essential stages in the process of starting a program, as it places programs into memory and prepares them for execution. Loading a program involves reading the contents of executable file , the file containing the program text, into memory, and then carrying out other required preparatory tasks to prepare the executable for running. Once loading is complete, the operating system starts the program by passing control to the loaded program code.

All operating systems that support program loading have loaders, apart from systems where code executes directly from ROM or in the case of highly specialized computer systems that only have a fixed set of specialised programs.

In many operating systems the loader is permanently resident in memory, although some operating systems that support virtual memory may allow the loader to be located in a region of memory that is pageable .

In the case of operating systems that support virtual memory, the loader may not actually copy the contents of executable files into memory, but rather may simply declare to the virtual memory subsystem that there is a mapping between a region of

47 | P a g e memory allocated to contain the running program's code and the contents of the associated executable file. (See memorymapped file .) The virtual memory subsystem is then made aware that pag es with that region of memory need to be filled on demand if and when program execution actually hits those areas of unfilled memory. This may mean parts of a program's code are not actually copied into memory until they are actually used, and unused code may never be loaded into memory at all.

XP edition intro

Windows XP has been released in several editions since its original release in 2001.

Windows XP is available in many languages. I n addition, addons translating the user interface are also available for certain languages.

Home and Professional

Windows XP cover boxes

Home Edition and Professional Windows XP Home Edition and Professional (updated cover box, (original box, version 2002) includes Service Pack 2 update)

Diagram representing the main editions of Windows XP. It is based on the category of the edition (grey) and codebase (black arrow).

48 | P a g e

The first two editions released by Microsoft are Windows XP Home Edition, designed for home users, and Windows XP Professional, designed for business and powerusers.

Windows XP Professional offers a number of features unavailable in the Home Edition, including:

• The ability to become part of a Windows Server domain , a group of computers that are remotely managed by one or more central servers.

• An access control scheme that allows specific permissions on files to be granted to specific users under normal circumstances. However, users can use tools other than Windows Explorer (like cacls or File Manager ), or restart to Safe Mode to modify access control lists.

• Remote Desktop server, which allows a PC to be operated by another Windows XP user over a local area network or the Internet.

• Offline Files and Folders, which allow the PC to automatically store a copy of files from another networked computer and work with them while disconnected from the network.

• Encrypting File System , which encrypts files stored on the computer's hard drive so they cannot be read by another user, even with physical access to the storage medium.

• Centralized administration features, including Group Policies, Automatic Software Installation and Maintenance, Roaming User Profiles, and Remote Installation Service (RIS).

• Internet Information Services (IIS), Microsoft's HTTP and FTP Server.

• Support for two physical central processing units (CPU). (Because the number of CPU cores and Hyperthreading capabilities on modern CPUs are considered to be part of a single physical processor, multicore CPUs are supported using XP Home Edition.)

• Windows Management Instrumentation Console (WMIC): WMIC is a command line tool designed to ease WMI information retrieval about a system by using simple keywords (aliases).

• The ability to switch hard disk storage type from Basic to Dynamic and vice versa.

49 | P a g e

Windows XP Edition N

In March 2004, the European Commission fined Microsoft €497 million (£395 million or US$ 784 million ) and ordered the company to provide a version of Windows without Player . The Commission concluded that Microsoft "broke European Union competition law by leveraging its near monopoly in the market for PC operating systems onto the markets for work group server operating systems and for media players". After unsuccessful appeals in 2004 and 2005, Microsoft reached an agreement with the Commission where it would release a courtcompliant version, Windows XP Edition N . This version does not include the company's Windows Media Player but instead encourages users to pick and download their own media player. Microsoft wanted to call this version Reduced Media Edition , but EU regulators objected and suggested the Edition N name, with the N signifying "not with Media Player" [citation needed ] for both Home and Professional editions of Windows XP. Because it is sold at the same price as the version with Windows Media Player included, Dell , HewlettPackard , Lenovo and Fujitsu Siemens have chosen not to stock the product. However, Dell did offer the operating system for a short time. Consumer interest has been low, with roughly 1,500 units shipped to OEMs , and no reported sales to consumers.

The N editions of Windows XP also do not include Windows Movie Maker , but Microsoft has made this available as a separate download.

Windows XP K & KN

In December 2005, the Korean Fair Trade Commission ordered Microsoft to make available editions of Windows XP and Windows Server 2003 that do not contain Windows Media Player or Windows Messenger . Like the European Commission decision, this decision was based on the grounds that Microsoft had abused its dominant position in the market to push other products onto consumers. Unlike that decision, however, Microsoft was also forced to withdraw the noncompliant versions of Windows from the South Korean market.

The K and KN editions of Windows XP Home Edition and Professional Edition were released in August 2006, and are only available in English and Korean. Both editions contain links to thirdparty instant messenger and media player software,

Windows XP Home Edition ULCPC

This edition of Windows XP Home is intended for sale with certain "lowcost" netbooks and will appear labeled as "Windows XP Home Edition ULCPC" (with "ULCPC" standing for "ultra low cost personal computer").

50 | P a g e

Introduction to XP Professional and its new Features

Windows XP is an operating system produced by Microsoft for use on personal computers , including home and business desktops, laptops and media centers . First released to computer manufacturers on August 24, 2001, [4] it is the second most popular version of Windows , based on installed user base. [5] The name "XP" is short for "eXPerience."

Windows XP, the successor to Windows 2000 and Windows Me , was the first consumeroriented operating system produced by Microsoft to be built on the Windows NT kernel . Windows XP was released worldwide for retail sale on October 25, 2001, and over 400 million copies were in use in January 2006. [7] It was succeeded by Windows Vista in January 2007. Direct OEM and retail sales of Windows XP ceased on June 30, 2008. Microsoft continued to sell Windows XP through their System Builders (smaller OEMs who sell assembled computers) program until January 31, 2009.

The NT based versions of Windows, which are programmed in C, C++ , and assembly , are known for their improved stability and efficiency over the 9x versions of Microsoft Windows . Windows XP presented a significantly redesigned graphical user interface , a change Microsoft promoted as more userfriendly than previous versions of Windows. A new software management facility called SidebySide Assembly was introduced to ameliorate the "DLL hell " that plagues 9x versions of Windows. It is also the first version of Windows to use product activation to combat illegal copying .

During development, the project was codenamed "Whistler ", after Whistler, British Columbia , as many Microsoft employees skied at the WhistlerBlackcomb ski resort. [15]

According to web analytics data generated by W3Schools , from September 2003 to July 2011, Windows XP was the most widely used operating system for accessing the internet. As of November 2011, Windows XP market share is at 32.8% after having peaked at 76.1% in January 2007.

Windows XP introduced several new features to the Windows line, including:

• GDI+ graphics subsystem and improved image management and viewing in the shell

• DirectX 8.1 upgradeable to DirectX 9.0c

• Start Menu and Taskbar improvements

• A number of new features in Windows Explorer including task panes, tiles and filmstrip views, improved sorting and grouping, searching by document

51 | P a g e

categories, customizable infotips, builtin CD burning, AutoPlay, Simple File Sharing and WebDAV miniredirector.

• Improved imaging features such as Windows Picture and Fax Viewer , improved image handling and thumbnail caching in Explorer

• A number of kernel enhancements and power management improvements

• Faster startup, (due to improved Prefetch functions) logon, logoff, hibernation and application launch sequences.

• The ability to discard a newer device driver in favor of the previous one (known as driver rollback ) should a driver upgrade not produce desirable results.

• Numerous improvements to increase the system reliability such as improved System Restore, Automated System Recovery, and driver reliability.

• A new, arguably more userfriendly interface, including the framework for developing themes for the desktop environment and richer icons with alpha transparency

• Hardware support improvements such as USB 2.0, FireWire 800, Windows Image Acquisition, Media Transfer Protocol, DualView for multimonitors and audio improvements.

• Fast user switching, which allows a user to save the current state and open applications of their desktop and allow another user to log on without losing that information

• The ClearType font rendering mechanism, which is designed to improve text readability on liquid crystal display (LCD) and similar monitors, especially laptops.

• Remote Assistance and Remote Desktop features, which allow users to connect to a computer running Windows XP from across a network or the Internet and access their applications, files, printers, and devices or request help.

• New networking features including Windows Firewall, Internet Connection Sharing integration with UPnP, NAT traversal , Quality of Service features, IPv6 and Teredo tunneling, Background Intelligent Transfer Service, extended fax features, network bridging, peer to peer networking, support for most DSL modems, IEEE 802.11 (WiFi) connections with auto configuration and roaming, TAPI 3.1, Bluetooth and networking over FireWire.

52 | P a g e

• New security features such as Software Restriction Policies, Credential Manager, Encrypting File System improvements, improved certificate services, smart card and PKI support. Windows XP SP2 introduced Data Execution Prevention, Windows Security Center and Attachment Manager.

• Sidebyside assemblies and registrationfree COM

• Improved media features in Windows Media format runtime, Windows Media Player, Windows Movie Maker, TV/video capture and playback technologies, Windows Media Encoder and introduction of Windows Media Center

• General improvements to international support such as more locales, languages and scripts, MUI support in Terminal Services, improved IMEs and National Language Support, Text Services Framework

• Handwriting recognition, and digital ink support accessible through the Tablet PC Input Panel (TIP) in Windows XP Tablet PC Edition

• Numerous improvements to system administration tools such as , , Disk Defragmenter, Windows Task Manager, Group Policy, CHKDSK, NTBackup, Microsoft Management Console, , Registry Editor, Sysprep and WMI

• Improved application compatibility and shims compared to Windows 2000

• Updated accessories and games.

• Improvements to IntelliMirror features such as Offline Files, Roaming user profiles and Folder redirection.

Understanding Workgroup and Domain

Workgroups

A Windows XP Professional workgroup is a logical grouping of networked computers that share resources, such as files and printers. A workgroup is also called a peer-to- peer network because all computers in the workgroup can share resources as equals (peers) without a dedicated server.

Each computer in the workgroup maintains a local security database , which is a list of user accounts and resource security information for the computer on which it resides. Therefore, using a local security database decentralizes the administration of user accounts and resource security in a workgroup. Figure 1.10 shows a local security database.

53 | P a g e

Figure An example of a Windows XP Professional workgroup

A workgroup can contain computers running one of the Microsoft Windows NT and Windows 2000 Server products as long as the server is not configured as a domain controller. (Domain controllers are explained later in this lesson.) In a workgroup, a computer running Windows NT or Windows 2000 Server is called a standalone server.

Because workgroups have decentralized administration and security, the following are true:

* A user must have a user account on each computer to which he or she wants to gain access.

* Any changes to user accounts, such as changing a user's password or adding a new user account, must be made on each computer in the workgroup. If you forget to add a new user account to one of the computers in your workgroup, the new user will not be able to log on to that computer and will be unable to access resources on it.

A workgroup provides the following advantages:

* It does not require inclusion of a domain controller in the configuration to hold centralized security information.

54 | P a g e

* It is simple to design and implement. It does not require the extensive planning and administration that a domain requires.

* It is a convenient networking environment for a limited number of computers in close proximity. However, a workgroup becomes impractical in environments with more than 10 computers.

Domains

A domain is a logical grouping of network computers that share a central directory database (see Figure 1.11). A directory database contains user accounts and security information for the domain. This database is known as the directory and is the database portion of Active Directory service, the Windows 2000 directory service.

Figure - A Windows 2000 domain

In a domain, the directory resides on computers that are configured as domain controllers. A domain controller is a server that manages all securityrelated aspects of user and domain interactions, centralizing security and administration.

55 | P a g e

You can designate only a computer running one of the Microsoft Windows 2000 Server products as a domain controller. If all computers on the network are running Windows XP Professional, the only type of network available is a workgroup.

A domain does not refer to a single location or specific type of network configuration. The computers in a domain can share physical proximity on a small LAN, or they can be located in different corners of the world. They can communicate over any number of physical connections, including dialup lines, Integrated Services Digital Network (ISDN) lines, fiber lines, Ethernet lines, token ring connections, frame relay connections, satellite connections, and leased lines.

The benefits of a domain include the following:

• Centralized administration, because all user information is stored centrally.

• A single logon process for users to gain access to network resources (such as file, print, and application resources) for which they have permissions. In other words, you can log on to one computer and use resources on another computer in the network as long as you have appropriate permissions to access the resource.

• Scalability, so that you can create very large networks.

A typical Windows 2000 domain includes the following types of computers:

• Domain controllers running Windows 2000 Server.?? Each domain controller stores and maintains a copy of the directory. In a domain, you create a user account once, which Windows 2000 records in the directory. When a user logs on to a computer in the domain, a domain controller authenticates the user by checking the directory for the user name, password, and logon restrictions. When there are multiple domain controllers in a domain, they periodically replicate their directory information.

• Member servers running Windows 2000 Server.?? A member server is a server that is not configured as a domain controller. A member server does not store directory information and cannot authenticate users. Member servers provide shared resources such as shared folders or printers.

• Client computers running Windows XP Professional, Windows 2000 Professional, or one of the other Microsoft Windows client operating systems? Client computers run a user's desktop environment and allow the user to gain access to resources in the domain

56 | P a g e

Upgrading earlier version Windows to XP

MS-DOS, Windows <3.0, 3.1, 3.11 Windows For Workgroups, Windows 95 Retail, OEM Windows 95 (A,B,C), OS/2, BeOS, Solaris (Intel), Linux, xBSD

An upgrade is not possible from these operating system to Windows XP. You can't use upgrade media to perform a clean install with any of these operating systems (excludes Windows 95). Backup any important data you have on the machine to floppy disc or CDR, then restart with a Windows XP full version CD in. You will need new drivers for your hardware, you also need to check your machine is capable of running XP, most running these operating systems will be below the minimum requirements for Windows XP (with the exception of BeOS, Solaris (Intel), Linux, xBSD).

To run Windows XP you need a 233Mhz Intel Pentium Compatible with 64Mb Ram (128Mb Recommended), 1.5 Gigabytes of hard disk space, A Super VGA display (800x600), Keyboard, Mouse and a CD or DVD Drive.

* Windows 95 Official Retail and OEM CDROMs are taken as qualifying media for use with the upgrade version of Windows XP Home or Professional.

Windows 98/98SE and Millennium Edition

All three of these operating systems can be upgraded to XP Home or Professional using Upgrade kits. From these operating systems its also possible to uninstall XP. You may require updated drivers for your hardware devices if updated versions are not included on the Windows XP CDRom (See the update advisor at the bottom of this page), also you may need to upgrade utilities like Norton Antivirus if you have the Windows 9x version. Disk tools designed to work in MSDOS may not work with Windows XP. Such applications should be removed before upgrading to Windows XP to ensure the upgrade process is as trouble free as possible.

Windows NT Workstations 3.51

You must upgrade to Windows NT4 Workstation Service Pack 5 (Service Pack 6a recommended) before you can upgrade to XP (XP Professional Only on upgrade). You require updated drivers for your hardware devices if updated versions are not included on the Windows XP CDRom. This version can be used with the upgrade version of XP Home or Professional to perform a clean install.

Windows NT4 Workstation

Install Service Pack 5 (Service Pack 6a recommended, see

57 | P a g e http://www.microsoft.com/ntserver/nts/downloads/recommended/SP6/allSP6.asp) before you try to upgrade. You can only use Professional to upgrade NT4 to XP. You should aquire updated drivers for your hardware devices if updated versions are not included on the Windows XP CDRom, in addition to this you might require newer versions of software (Antivirus and DVD Players as an example) run the update advisor to locate which items require this.

Windows 2000 Professional

Windows 2000 Professional, SP1, SP2 and SP3 can be upgraded to Windows XP Professional only. The windows 2000 professional cdrom is taken as valid install media to do a 'clean' install using an upgrade version of XP Home.

Windows XP Home and Professional Edition's

(Including Beta Versions/120 day trials/OEM)

Beta and trial editions can be upgraded to the final version of Windows XP if they are builds 2505, 2526 or 2600. To find out what version you have go to start > run and type winver The product type you are running will be shown in the banner at the top of this page, the build number is indicated on the line which starts 'Windows 5.1 (Buildxxxx'. On beta versions of Windows this information will also be shown in the bottom right corner of the desktop.

If you are running Home Edition of the above builds you can upgrade to the home or professional final version. If your running Professional of the above builds you can only upgrade to Professional without reformatting your machine.

If you have purchased an OEM copy of Windows XP Home or Pro (this is the type normally shipped with new computers, without retail packaging) this cannot be used to upgrade any previous version of Windows. You would need to perform a clean install of the new operating system.

Windows XP Media Center Edition and Tablet PC Edition

These editions of Windows XP are provided only with new approved OEM hardware of as part of an MSDN subscription. OEM editions are designed to be used with the system they are sold with and cannot be used to upgrade a previous install of Windows. The MSDN editions will allow upgrades from earlier Windows versions. To upgrade to Windows XP Media Center 2004, contact the vendor of your Media Center PC or download the update from MSDN Subscriber downloads (US/UK).

58 | P a g e

Windows 2000 Server, NT4 Server/Terminal Server, NT 3.51 Server

Server OS's cannot be upgraded to Client (Professional/Home) operating systems. A clean install of a Full XP Home or Professional is required.

Windows Server 2003 Standard/Enterprise/Web Server

Your operating system is newer than Windows XP, if you want to install XP Home or Professional follow the instructions above for Windows 2000 Server.

If you do decide to upgrade run the update advisor first, it will tell you of any detectable problems you need to sort out before you upgrade such as drivers or known application compatibility. It is also recommended that antivirus and firewall software is disabled or uninstalled before upgrading.

59 | P a g e

Unit- 3

VIRUS - Major Areas

What are Computer Viruses?

Computer viruses are programs written by "mean" people. These virus programs are placed into a commonly used program so that program will run the attached virus program as it boots, therefore, it is said that the virus "infects" the executable file or program.

What Do Viruses Do?

Viruses have many purposessome are designed to play annoying tricks, whereas others have destructive intent. Some viruses present themselves as jokes while performing secret destructive functions. There two major types of viruses are compiled viruses, which are executed by the operating system, and interpreted viruses, which are executed by an application.

How do Viruses Spread?

Viruses insert themselves into host programs and propagate when the infected program is executed, generally by user interaction (e.g., opening a file, running a program, clicking on a file attachment).

How do I prevent a virus?

1. Load only software from original disks or CD's. Pirated or copied software is always a risk for a virus.

2. Execute only programs of which you are familiar as to their origin. Programs sent by email should always be suspicious.

3. Computer uploads and "system configuration" changes should always be performed by the person who is responsible for the computer.

4. Password protection should be employed.

5. Check all shareware and free programs downloaded from online services with a virus checking program.

6. Purchase or download a antivirus program that runs as you boot or work your computer. Update it frequently. There are free antivirus programs availible.

60 | P a g e

What are Trojan Horse programs?

Named after the wooden horse from Greek mythology, Trojan horses are non replicating programs that appear to be benign but actually have a hidden malicious purpose. Some Trojan horses are intended to replace existing files with malicious versions, whereas other Trojan horses add another application to a system without overwriting existing files. Trojan horses are often difficult to detect because they appear to be performing a useful function

What are Malware programs?

Malware is any "bad" software. It is a broad term for software (programs and scripts) that have malicious intent and is not specifically addressed in this pub. But Viruses, Trojans, and Keyloggers are just examples of Malware.

What are Phishing programs?

Phishing refers to use of deceptive computerbased means to trick individuals into disclosing sensitive personal information. To perform a phishing attack, an attacker creates a Web site or email that looks as if it is from a wellknown organization, such as an online business, credit card company, or financial institution. The fraudulent emails and Web sites are intended to deceive users into disclosing personal data, usually financial information. For example, phishers might seek usernames and passwords for online banking sites, as well as bank account numbers. Types Of Viruses

Not all computer viruses behave, replicate, or infect the same way. There are several different categories of viruses and malware. Below I list and discuss some of the most common types of computer viruses.

Trojan Horse:

A trojan horse program has the appearance of having a useful and desired function. While it may advertise its activity after launching, this information is not apparent to the user beforehand. Secretly the program performs other, undesired functions. A Trojan Horse neither replicates nor copies itself, but causes damage or compromises the security of the computer. A Trojan Horse must be sent by someone or carried by another program and may arrive in the form of a joke program or software of some sort. The malicious functionality of a Trojan Horse may be anything undesirable for a computer user, including data destruction or compromising a system by providing a means for another computer to gain access, thus bypassing normal access controls.

61 | P a g e

Worms: A worm is a program that makes and facilitates the distribution of copies of itself; for example, from one disk drive to another, or by copying itself using email or another transport mechanism. The worm may do damage and compromise the security of the computer. It may arrive via exploitation of a system vulnerability or by clicking on an infected email.

Bootsector Virus:

A virus which attaches itself to the first part of the hard disk that is read by the computer upon bootup. These are normally spread by floppy disks.

Macro Virus:

Macro viruses are viruses that use another application's macro programming language to distribute themselves. They infect documents such as MS Word or MS Excel and are typically spread to other similar documents.

Memory Resident Viruses:

Memory Resident Viruses reside in a computers volitale memory (RAM). They are initiated from a virus which runs on the computer and they stay in memory after it's initiating program closes.

Rootkit Virus:

A rootkit virus is an undetectable virus which attempts to allow someone to gain control of a computer system. The term rootkit comes from the linux administrator root user. These viruses are usually installed by trojans and are normally disguised as operating system files.

Polymorphic Viruses:

A polymorphic virus not only replicates itself by creating multiple files of itself, but it also changes its digital signature every time it replicates. This makes it difficult for less sophisticated antivirus software to detect.

62 | P a g e

Logic Bombs/Time Bombs:

These are viruses which are programmed to initiate at a specific date or when a specific event occurs. Some examples are a virus which deletes your photos on Halloween, or a virus which deletes a database table if a certain employee gets fired.

VIRUS Attacks

ILOVEYOU? 2000

The ILOVEYOU is one of the first viruses to trick users into opening a file. The virus used mailing lists as its source for targets, so the messages appeared to come from someone known to the user, such as a friend or relative, making it seem safe to open. In reality, the file was a VBS script with an avalanche of junk mail that deleted thousands of files, including multimedia, music, and personal files. The author is not known, but it started in the Philippines.

Nimda ? 2001

Built on Code Red’s attack system of finding multiple avenues into machines such as email, websites, and network connections, Nimda (admin backwards) computer worm infected Web servers and user machines. It was so effective it managed to leave a wide trail of casualties in its wake a mere 22 minutes after it was released. Nimda heavily impacted users of Windows programs. Some groups linked Nimda to AlQaeda because of the massive and quick destruction it caused, but this theory was dismissed. The author of Nimda remains unknown but left $635 million in destructive damage.

Slammer ? 2003

The Slammer computer worm spread rapidly, infecting most of its 75,000 victims within ten minutes. When routers started to crash, it slowed the Internet to a crawl and shut down thousands of websites. The Slammer was named by Christopher J. Rouland because of it’s sudden effect. Although named SQL Slammer, it did not use SQL language. 22,000 systems were affected worldwide and South Koreans reported Internet shut downs for hours nationwide on January 25 th , 2003.

MyDoom ? 2004

When MyDoom hit the scene it became the fastestspreading computer worm of all time. Once it succeeded to infect computers, it would in turn send even more junk mail through infected computers with the subject “ andy; I’m just doing my job, nothing personal, sorry” . There was speculation that MyDoom was used to attack the website of SCO Group , in retaliation of legal actions against a Linux or open source supporter.

63 | P a g e

This claim since then has been dismissed and denied. The Author of this worm is not known.

Storm 2007

The storm, a backdoor Trojan horse , swooped in and infected thousands of computers using an email with a subject line about a weather disaster. A Trojan likely appears to perform a specific action, but destructs and infects through a virus attack by performing something completely different. Trojans install backdoor programs . It mutated and spread via email spam with a fake attachment, and infected 10 million computers.

So is it over? Attackers continue to probe and sniff out weaknesses in hardware or software to gain access to networks, so take sensible precautions. In 2006, Malware resulted in $13.3 billion in damages across corporate America. Remember to avoid opening attachments or download programs that seem questionable or odd because it can take one click to bring down your company’s entire network.

Computer Virus is a relatively small software program that is attached to another larger program for the purpose of gaining access to information or to corrupt information within a computer system. Some computer viruses may be relatively harmless. For example, some of them just cause a certain message to pop up on a user's computer screen. Other viruses can be deadly to the computers they infect, erasing information and hard drives, stealing data, and slowing down the entire computer system. Like other software programs, someone must create and write a computer virus; once they are created, viruses can multiply rapidly and spread themselves from computer to computer.

Anti-Virus

Antivirus or antivirus software is used to prevent, detect, and remove malware, including but not limited to computer viruses, computer worm, trojan horses, spyware and adware. This page talks about the software used for the prevention and removal of such threats, rather than computer security implemented by software methods.

A variety of strategies are typically employed. Signaturebased detection involves searching for known patterns of data within executable code. However, it is possible for a computer to be infected with new malware for which no signature is yet known. To counter such socalled zeroday threats, heuristics can be used. One type of heuristic approach, generic signatures, can identify new viruses or variants of existing viruses by looking for known malicious code, or slight variations of such code, in files. Some antivirus software can also predict what a file will do by running it in a sandbox and analyzing what it does to see if it performs any malicious actions.

64 | P a g e

No matter how useful antivirus software can be, it can sometimes have drawbacks. Antivirus software can impair a computer's performance. Inexperienced users may also have trouble understanding the prompts and decisions that antivirus software presents them with. An incorrect decision may lead to a security breach. If the antivirus software employs heuristic detection, success depends on achieving the right balance between false positives and false negatives. False positives can be as destructive as false negatives. Finally, antivirus software generally runs at the highly trusted kernel level of the operating system, creating a potential avenue of attack. Various Types Antivirus Packages and Tools

To protect yourself from viruses that crop up all the time, it’s important to update your antivirus software’s data definition files. Am here posting the list of Some top Anti Virus Programs which are very useful to users.

AVG Free Edition – AVG Resident Shield provides realtime protection executions of files and programs. It features a smart email scanner, virus updates and virus vault for secure handling of the files which are infected by viruses. The base version for windows is Free for private and noncommercial use.

BitDefender Online Scan System – BitDefender Scan Online scans system’s memory, boot sector, all files and folders and also comes with automatic file cleaning option. Overall, it scans for over 70,000+ viruses, worms, trojans and other malicious applications. Inexpensive product received excellent scores in our performance tests, although its scan speed was sluggish.

McAfee VirusScan for Windows: This antivirus package detects all virus types, including Word and Excel macros; bootsector infections; and file, multipartite, stealth, polymorphic, and encrypted viruses.

Kaspersky AntiVirus Personal Pro – A commonly used virus protection solution offering full protection against macroviruses and unknown viruses. It offers reliable data integrity control and protection of emails from viruses.

ESET NOD32 Antivirus – ESET NOD32 Antivirus is available as an antivirus for small businesses, individuals and for large networks. The trialware enables the user to try the application for a period of 30 days.

avast! Home Edition – A free antivirus solution for scanning disk, CDs, in Email, HTTP, NNTP, IM and P2P.

Panda Antivirus Platinum – A complete virus protection package for home and business users. It comes with an easy installation and automatic protection from latest viruses.

65 | P a g e

Norton AntiVirus – Norton AntiVirus is the most popular and secure virus scanner for checking boot sector records at startup. The live update feature automatically installs new updates for regular protection against viruses.

HandyBits – A free for personal use virus ‘scanner integrator’ with features like autosearch which scans for already installed virus scanner. It scans for files using installed virus scanners there by utilizing the strengths of installed programs.

HijackThis Software – HijackThis is a small application for scanning and cleaning spyware, malware infections in computer. It enables the user to save the scan log in a txt file which can be examined later for system security analysis. Multitasking

Multitasking is a method where multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for that task. Multitasking solves the problem by scheduling which task may be the one running at any given time, and when another waiting task gets a turn. The act of reassigning a CPU from one task to another one is called a context switch. When context switches occur frequently enough the illusion of parallelism is achieved. Even on computers with more than one CPU (called multiprocessor machines), multitasking allows many more tasks to be run than there are CPUs.

Operating systems may adopt one of many different scheduling strategies, which generally fall into the following categories:

• In multiprogramming systems, the running task keeps running until it performs an operation that requires waiting for an external event (e.g. reading from a tape) or until the computer's scheduler forcibly swaps the running task out of the CPU. Multiprogramming systems are designed to maximize CPU usage.

• In time-sharing systems, the running task is required to relinquish the CPU, either voluntarily or by an external event such as a hardware interrupt. Time sharing systems are designed to allow several programs to execute apparently simultaneously. The expression 'time sharing' was usually used to designate computers shared by interactive users at terminals, such as IBM's TSO, and VM/CMS

• In real-time systems, some waiting tasks are guaranteed to be given the CPU when an external event occurs. Real time systems are designed to control mechanical devices such as industrial robots, which require timely processing.

66 | P a g e

Multiprogramming

Usually, a CPU is much faster compared to peripheral devices. While peripherals are performing certain operations the CPU may not be doing any work. It may be lying idle. To keep CPU busy for most of the time it is desirable to process a number of programs concurrently. When a computer processes several programs concurrently, such processing or execution of programs is called multiprogramming.

The term multiprogramming denotes an operating system that provides sophisticated forms of memory protection and enforces concurrency control when processes access shared I/O devices and files. Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute.

The idea is as follows The operating system keeps several jobs in memory simultaneously. This set of jobs is a subset of the jobs kept in the job pool. The operating system picks and begins to execute one of the jobs in the memory. Eventually, the job may have to wait for some task, such as an I/O operation, to complete. In a nonmultiprogramming system, the operating system switches to, and executes, another job. When that job needs to wait, the CPU is switched to another job, and so on. As soon as, the first job finishes waiting and gets the CPU back. As long as at least one job needs to execute , the CPU is never idle.

Time Sharing

Time Sharing Operating System , or TSOS , was an operating system for RCA mainframe computers of the Spectra 70 series.

RCA was in the computer business until 1971. Then it sold its computer business to Sperry Corporation; Sperry offered TSOS renaming it to VS/9. In the mid seventies, an enhanced version of TSOS called BS2000 was offered by the German company Siemens.

While Sperry (Unisys after the company was renamed) discontinued VS/9 in the early 80's, BS2000, now called BS2000/OSD is still offered by Fujitsu Siemens Computers and used on their mainframe customers primarily in Europe.

TSOS was the first operating system that supported virtual addressing of the main storage. As the name suggests, it provided time sharing features. Beyond that it provided a unique user interface for both time sharing and batch which was a big advantage over IBM's OS/360 or their successors MVS, OS/390 and z/OS.

67 | P a g e

Buffering

It is a process of storing data in memory area called Buffers while data is being transferred between two devices or between a device and an application. Buffering is done for 3 reasons: a. To cope with the speed mismatch between producer (or sender) and consumer (or receiver) of a data stream. b. To adapt between the devices having different datatransfer size. c. To support copy semantics for application I/O.

Spooling

Another classic OS technique for dealing with the ideosyncracies of real devices, is spooling .

Problem stems from fact that some devices may only be used for one thing at a time. The classic example is the printer. Whereas a screen may be used by many processes at a time, by dividing it into overlapping windows, or a disk may be used by many processes at a time, by dividing it up into files, the printed page may not be divided up in this way.

One approach might be to allow processes to claim exclusive use of the printer, but that holds up other processes wishing to print, means that a printing process must work at the physical speed of the printer, and a process might be held up by other things while it is printing (say it is swapped out), which makes its use of the printer time inefficient.

The answer is to let processes produce their print job offline, and have it submitted to the physical printer some time later, when it is finished. Instead of printing to the physical printer, processes may print to the print spooler . This behaves just like the real printer (accepts the same set of instructions), but writes to a file instead of to a device, and therefore is much faster than a physical printer, and may be shared among many different tasks.

The spooler prints jobs at its discression, usually in the order in which the jobs are completed. A daemon process (the print daemon ) is responsible for accepting spooled print jobs, and later sending them to the physical printer. In a system which uses spooling, needless to say, only the print daemon is actually allowed to write to the physical printer (only it has permission).

Though most common in printing, spooling can be used in many circumstances where output may be produced offline, and the device to be used may not be shared.

68 | P a g e

For example, sending of email messages is 'spooled', in that messages are composed completely, and sent by some mail daemon at a convenient later date. In cases where the file to be generated is very large (for example, writing 3GB of data to a backup tape), spooling is impractical, and the device must be grabbed exclusively. Process Management

The UNIX and Windows process management mechanisms are very different, and the major difference between them lies in the creation of processes. UNIX uses fork to create a new copy of a running process and to replace the current process image with the new process image. Windows does not have a fork function. Instead, Windows creates processes in one step by using CreateProcess . In Windows, there is no need to execute the process after its creation as it will already be executing the new code. However, the standard exec functions are still available in Windows. These differences (and others) result in the need to convert the UNIX code before it can run on a Windows platform.

Creating a New Process

In UNIX, you can create a new process by using fork . The fork function creates a child process that is almost an exact copy of the parent process. The fact that the child is a copy of the parent ensures that the process environment is the same for the child as it is for the parent.

In Windows, the CreateProcess function enables the parent process to create an operating environment for a new process. The CreateProcess function creates a new process and its primary thread. The environment includes the working directory, window attributes, environment variables, execution priority, and commandline arguments. The new process runs the specified executable file in the security context of the calling process. A handle is returned by the CreateProcess function, which enables the parent application to perform operations on the process and its environment while executing. Unlike UNIX, the executable file run by CreateProcess is not a copy of the parent process and must be explicitly specified in the call to the CreateProcess function. If the calling process is impersonating another user, the new process uses the token for the calling process, not the impersonation token. To run the new process in the security context of the user represented by the impersonation token, use the CreateProcessAsUser or CreateProcessWithLogonW functions.

An alternative to using CreateProcess is to use one of the spawn functions that are present in the standard C runtime. There are 16 variations of the spawn function. Each spawn function creates and executes a new process. Many of these functions have the same functionality as the similarly named exec functions in UNIX. The spawn functions include an additional argument that permits the new process to replace the current 69 | P a g e process, suspend the current process until the spawned process terminates, run asynchronously with the calling process, or run simultaneously and detach as a background process. For a UNIX application to change the executable file run in the child process, the child process must explicitly call an exec function to overwrite the executable file with a new application. The combination of fork and exec is similar to, but not the same as, CreateProcess . The following example shows a UNIX application that forks to create a child process and then runs the UNIX ps command by using execlp .

UNIX example: Creating a process using fork and exec

#include

#include

#include

int main()

{

Pid_t pid;

printf("Running ps with fork and execlp\n");

pid = fork();

switch(pid)

{

case 1:

perror("fork failed");

exit(1);

case 0:

if (execlp("ps", NULL) < 0) {

perror("execlp failed");

exit(1);

}

break;

70 | P a g e default: break;

} printf("Done.\n"); exit(0);

}

(Source File: U_CreateProcUAMV3C3.01.c)

You can port this code to Windows by using the Windows CreateProcess function discussed earlier, or by using a spawn function from the standard C runtime library. In both cases, the old and new processes run parallel and asynchronously. The following example shows how you can port the previous code using the CreateProcess function.

Windows example: Creating a process using CreateProcess

#include

#include

#include void main()

{

STARTUPINFO si;

PROCESS_INFORMATION pi;

GetStartupInfo(&si); printf("Running Notepad with CreateProcess\n");

CreateProcess(NULL, "notepad", // Name of app to launch

NULL, // Default process security attributes

NULL, // Default thread security attributes

FALSE, // Don't inherit handles from the parent

0, // Normal priority

71 | P a g e

NULL, // Use the same environment as the parent

NULL, // Launch in the current directory

&si, // Startup Information

&pi); // Process information stored upon return printf("Done.\n"); exit(0);

}

(Source File: W_CreateProcUAMV3C3.01.c)

The arguments supported by CreateProcess (shown in the preceding example) give you a considerable degree of control over the newly created process. This contrasts with the spawn functions on UNIX, which do not provide options to set process priority, security attributes, or the debug status. The _spawn function creates and executes a new process on Windows. The following example shows how the same code was ported using the _spawnlp function.

Windows example: Creating a process using spawn

#include

#include

#include

void main()

{

printf("Running Notepad with spawnlp\n");

_spawnlp( _P_NOWAIT, "notepad", "notepad", NULL );

printf("Done.\n");

exit(0);

}

(Source File: W_CreateProcUAMV3C3.02.c)

72 | P a g e

Replacing a Process Image (exec)

Each of the functions in the exec family replaces the current process image with a new process image.

In UNIX, the exec family of functions replaces the executing process image with that of another process image. The new image is constructed from a regular, executable file called the new process image file. As mentioned previously, a fork followed by an exec is similar to CreateProcess . Windows supports the six POSIX variants of the exec function plus two additional ones ( execlpe and execvpe ). The function signatures are identical and come as part of the standard C runtime. Porting UNIX code that uses exec to Windows is easy to understand. The following is a simple UNIX example showing the use of the execlp function.

Thread Management

A thread is an independent path of execution in a process that shares the address space, code, and global data of the process. Time slices are allocated to each thread based on priority. Threads consist of an independent set of registers, stack, I/O handles, and message queue.

Threads can usually run on separate processors on multiprocessor computers. Windows enables you to assign threads to a specific processor on a multiprocessor hardware platform.

An application using multiple processes usually have to implement some form of inter process communication (IPC). This can result in significant overhead and, possibly, a communication bottleneck. In contrast, threads share the process data between them, and inter thread communication can be much faster. The problem with threads sharing data is that this can lead to data access conflicts between multiple threads. You can address these conflicts by using synchronization techniques, such as semaphores and mutexes.

In UNIX, threads are implemented by using the POSIX pthread functions. In Windows, developers can implement UNIX threading by using the Windows API thread management functions. Although the functionality and operation of threads in UNIX and Windows is very similar, the function calls and syntax are very different.

The following are some similarities between UNIX and Windows in their management of threads:

• Every thread must have an entry point. The name of the entry point is entirely up to you as long as the signature is unique and the linker can adequately resolve any ambiguity.

73 | P a g e

• Each thread is passed a single parameter when it is created. The contents of this parameter are entirely up to the developer and have no meaning to the operating system.

• A thread function must return a value.

• A thread function needs to use local parameters and variables as much as possible. When you use global variables or shared resources, threads must use some form of synchronization to avoid potentially corrupting data.

This section discusses how you should go about converting UNIX threaded applications into Windows threaded applications. As a supplement to threads, Windows has a more primitive execution vehicle called a fiber . Windows fibers are used to provide full control over scheduling for special needs such as thread pooling, which is useful for certain server applications that manage worker threads for incoming requests.

For details on thread management functions in the Windows API, see the Windows API reference in Visual Studio .NET 2003 or MSDN.

Concept Process and threads

PROCESSES and threads have one goal: Getting a computer to do more than one thing at a time. To do that, the processor (or processors) must switch smoothly among several tasks, which require application programs designed to share the computer's resources.

That is why programmers need to split what programs do into processes and threads.

Every program running on a computer uses at least one process. That process consists of an address space (the part of the computer's memory where the program is running) and a flow of control (a way to know which part of the program the processor is running at any instant). In other words, a process is a place to work and a way to keep track of what a program is doing. When several programs are running at the same time, each has its own address space and flow of control.

To serve multiple users, a process may need to fork, or make a copy of itself, to create a child process. Like its parent process, the child process has its own address space and flow of control. Usually, however, when a parent process is terminated, all of the child processes it has launched will also be killed automatically.

A multitasking operating system, such as Unix or Windows, switches among the running processes, giving CPU time to each in turn. If a computer has multiple CPUs, each process may be specifically assigned to one of the CPUs.

74 | P a g e

That's fine for simple programs. But a complex modern application, such as a word processor or spreadsheet, may actually look to the operating system like several different programs, with almost continuous switching and communication among them.

That's a problem, because it takes time to switch among processes. Modern CPUs include memory management units (MMU) that prevent any process from overrunning another's address space. Moving from one process to another—called context switching—means reprogramming the MMU to point to a different address space plus saving and restoring process information.

The operating system handles the details of the context switch, but it all takes time. And because each process is isolated from the others, communicating between processes requires special functions with names like signals and pipes. Like context switches, inter process communications require processor time.

All that time adds up when many programs are running at once or when many users each require several processes running at the same time. The more processes running, the greater the percentage of time the CPU and operating system will spend doing expensive context switches. Process Management

Multiprogramming systems explicitly allow multiple processes to exist at any given time, where only one is using the CPU at any given moment, while the remaining processes are performing I/O or are waiting.

The process manager is of the four major parts of the operating system. It implements the process abstraction. It does this by creating a model for the way the process uses CPU and any system resources. Much of the complexity of the operating system stems from the need for multiple processes to share the hardware at the same time. As a consequence of this goal, the process manager implements CPU sharing ( called scheduling ), process synchronization mechanisms, and a deadlock strategy. In addition, the process manager implements part of the operating system's protection and security.

Process States

During the lifespan of a process, its execution status may be in one of four states: (associated with each state is usually a queue on which the process resides)

• Executing : the process is currently running and has control of a CPU

• Waiting : the process is currently able to run, but must wait until a CPU becomes available

75 | P a g e

• Blocked : the process is currently waiting on I/O, either for input to arrive or output to be sent

• Suspended : the process is currently able to run, but for some reason the OS has not placed the process on the ready queue

• Ready : the process is in memory, will execute given CPU time. Context switch

A context switch (also sometimes referred to as a process switch or a task switch ) is the switching of the CPU () from one process or thread to another.

A process (also sometimes referred to as a task ) is an executing (i.e., running) instance of a program . In Linux , threads are lightweight processes that can run in parallel and share an address space (i.e., a range of memory locations) and other resources with their parent processes (i.e., the processes that created them).

A context is the contents of a CPU's registers and program counter at any point in time. A register is a small amount of very fast memory inside of a CPU (as opposed to the slower RAM main memory outside of the CPU) that is used to speed the execution of computer programs by providing quick access to commonly used values, generally those in the midst of a calculation. A program counter is a specialized register that indicates the position of the CPU in its instruction sequence and which holds either the address of the instruction being executed or the address of the next instruction to be executed, depending on the specific system.

Context switching can be described in slightly more detail as the kernel (i.e., the core of the operating system ) performing the following activities with regard to processes (including threads) on the CPU: (1) suspending the progression of one process and storing the CPU's state (i.e., the context) for that process somewhere in memory, (2) retrieving the context of the next process from memory and restoring it in the CPU's registers and (3) returning to the location indicated by the program counter (i.e., returning to the line of code at which the process was interrupted) in order to resume the process.

A context switch is sometimes described as the kernel suspending execution of one process on the CPU and resuming execution of some other process that had previously been suspended. Although this wording can help clarify the concept, it can be confusing in itself because a process is , by definition, an executing instance of a program. Thus the wording suspending progression of a process might be preferable.

76 | P a g e

Interaction between process and os

• Multiprogramming – requires the OS to

– schedule processes to run on the CPU

– save process data and registers

– load new process data and registers

Advantage: while one process is idle, another can run

• Multiprocessing vs multiprogramming

– Multiprocessing: multiple processors (CPUs) and

Processes

– Multiprogramming: multiple programs and processes

• Control transfer from user programs to the OS

– System calls

– Traps (divide by zero, overflow, memory fault)

Multithreading

Multithreading computers have hardware support to efficiently execute multiple threads . These are distinguished from multiprocessing systems (such as multicore systems) in that the threads have to share the resources of a single core: the computing units, the CPU caches and the translation lookaside buffer (TLB). Where multi processing systems include multiple complete processing units, multithreading aims to increase utilization of a single core by using threadlevel as well as instructionlevel parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multithreading CPUs and in CPUs with multiple multithreading cores.

77 | P a g e

Unit - 4

Process states - process management - context switching - Interaction between processes and OS

As per in unit 3

Memory management the memory management subsystem is one of the most important parts of the operating system. Since the early days of computing, there has been a need for more memory than exists physically in a system. Strategies have been developed to overcome this limitation and the most successful of these is virtual memory. Virtual memory makes the system appear to have more memory than it actually has by sharing it between competing processes as they need it.

Virtual memory does more than just make your computer's memory go further. The memory management subsystem provides:

Large Address Spaces

The operating system makes the system appear as if it has a larger amount of memory than it actually has. The virtual memory can be many times larger than the physical memory in the system,

Protection

Each process in the system has its own virtual address space. These virtual address spaces are completely separate from each other and so a process running one application cannot affect another. Also, the hardware virtual memory mechanisms allow areas of memory to be protected against writing. This protects code and data from being overwritten by rogue applications.

Memory Mapping

Memory mapping is used to map image and data files into a processes address space. In memory mapping, the contents of a file are linked directly into the virtual address space of a process.

Fair Physical Memory Allocation

The memory management subsystem allows each running process in the system a fair share of the physical memory of the system,

78 | P a g e

Shared Virtual Memory

Although virtual memory allows processes to have separate (virtual) address spaces, there are times when you need processes to share memory. For example there could be several processes in the system running the bash command shell. Rather than have several copies of bash, one in each processes virtual address space, it is better to have only one copy in physical memory and all of the processes running bash share it. Dynamic libraries are another common example of executing code shared between several processes.

Shared memory can also be used as an Inter Process Communication (IPC) mechanism, with two or more processes exchanging information via memory common to all of them. Linux supports the Unix TM System V shared memory IPC.

Memory Partitions

In the first multiprogramming systems, an entire program was loaded into its own block of memory, called its memory partition . These early systems implemented multiprogramming with fixed partitions . As the size of programs grew, it became difficult to find partitions large enough to accomodate programs and still have the multiprogramming level high enough to produce a good CPU utilization .

In order to achieve a high CPU utilization with larger programs, multiprogrammed systems were combined with virtual memory. This combination allows the selection of a partition which is smaller than the address space of the program. It relies on a paging policy to manage the contents of the partition.

Bringing virtual memory into a multiprogrammed system provided flexibility in the partition size. A process using fixed partitions must fit into a predetermined number of pages. A process using variable partitions may allocate and deallocate pages during its execution. The use of variable partitions permits the location, size and even the number of partitions to vary dynamically. The deallocation of pages then benefits processes that need to increase their partition sizes.

There are two modes of paging algorithms in multiprogramming:

In the local mode, the memory is divided into partitions of a predetermined size for each process and the paging algorithm is applied independently for each region. A process can only use pages in its partition. If its partition is at capacity and it needs to bring in more pages, it must release pages first. Partitions may change size only when permitted by the operating sytem.

79 | P a g e

In the global mode, the paging algorithm is applied to all the pages of the memory regardless of which process "owns" them. A page fault in one process may cause a replacement from any process in memory. Thus, the size of a partition may vary randomly. Swapping swap memory space and swapping in OS

Swapping is a simple memory/process management technique used by the operating system(os) to increase the utilization of the processor by moving some blocked process from the main memory to the secondary memory(hard disk);thus forming a queue of temporarily suspended process and the execution continues with the newly arrived process.After performing the swapping process,the operating system has two options in selecting a process for execution :

*Operating System can admit newly created process (OR) * operating system can activate suspended process from the swap memory .

Conclusion : If you have ever used any Linux based operating system then at the time of installation Did you see an options/warning for the need of swap memory space?? If you have enough primary memory(RAM) e.g greater than 2GB then you may need not any swapping memory space for desktop users(I am using Ubuntu 10.04 LTS and total RAM is 4GB so I am not feeling any trouble without swap memory space) and some times using swap memory may slow down your computer performance. Paging

Paging is another memory management technique which widely uses virtual memory concept. When paging is used, the processor divides the linear address space into

80 | P a g e fixedsize pages (of 4KBytes, 2 MBytes, or 4 MBytes in length) that can be mapped into physical memory and/or disk storage. When a program (or task) references a logical address in memory, the processor translates the address into a linear address and then uses its paging mechanism to translate the linear address into a corresponding physical address.

Linear Page Translation during Paging

If the page containing the linear address is not currently in physical memory, the processor generates a pagefault exception (#14). The exception handler for the page fault exception typically directs the operating system to load the page from disk storage into physical memory. When the page has been loaded in physical memory, a return from the exception handler causes the instruction that generated the exception to be restarted. The information that the processor uses to map linear addresses into the physical address space and to generate pagefault exceptions (when necessary) is contained in page directories and page tables stored in memory.

81 | P a g e

Page

Directory & Page-Table Entries

Advantages of paging

 Address translation: each task has the same virtual address

 Address translation: turns fragmented physical addresses into contiguous virtual addresses

 Memory protection (buggy or malicious tasks can't harm each other or the kernel)

 Shared memory between tasks (a fast type of IPC, also conserves memory when used for DLLs)

 Demand loading (prevents big load on CPU when a task first starts running, conserves memory)

 Memory mapped files

 Virtual memory swapping (lets system degrade gracefully when memory required exceeds RAM size) 82 | P a g e

Segmentation

Segmentation is a Memory Management technique in which memory is divided into variable sized chunks which can be allocated to processes. Each chunk is called a segment. A table stores the information about all such segments and is called Global Descriptor Table (GDT). A GDT entry is called Global Descriptor. It comprise of :

Logical Address to Linear Address

To translate a logical address into a linear address, the processor does the following:

1. Uses the offset in the segment selector to locate the segment descriptor for the segment in the GDT or LDT and reads it into the processor. (This step is needed only when a new segment selector is loaded into a segment register.)

2. Examines the segment descriptor to check the access rights and range of the segment to insure that the segment is accessible and that the offset is within the limits of the segment.

3. Adds the base address of the segment from the segment descriptor to the offset to form a linear address.

83 | P a g e

If paging is not used, the processor maps the linear address directly to a physical address (that is, the linear address goes out on the processor’s address bus). If the linear address space is paged, a second level of address translation is used to translate the linear address into a physical address.

Segment Selector

A segment selector is a 16bit identifier for a segment. It does not point directly to the segment, but instead points to the segment descriptor that defines the segment. A segment selector contains the following items:

Index

(Bits 3 through 15). Selects one of 8192 descriptors in the GDT or LDT. The processor multiplies the index value by 8 (the number of bytes in a segment descriptor) and adds the result to the base address of the GDT or LDT (from the GDTR or LDTR register, respectively).

TI (table indicator) flag

(Bit 2). Specifies the descriptor table to use: clearing this flag selects the GDT; setting this flag selects the current LDT.

Virtual Memory Concepts

Virtual Memory is a cost effective solution to slake the thirst of memory hungry applications for a seamless experience with your operating system. To understand the concept of virtual memory you need a little knowledge about the memory organization and working. There are basically two types of memory you need to know. Random Access Memory (RAM) is faster but costly. Memory like hard disk is slower but relatively cheaper. Virtual memory is a stratagem to utilize the hard drive memory to achieve enhanced performance from the random access memory.

84 | P a g e

Whenever you run multiple programs/applications in your des ktop, you will be working on only a portion of a particular application at an instant. Therefore it is a waste of resource to load the entire memory required for a particular application into the limited size random access main memory. In a virtual memory environment each page of a process is brought to main memory only when it is needed on demand.

Data is stored in any memory in the form of binary digits. The operating system handles memory management in the form of chunks of memory called pages. A page is nothing but a contiguous block of memory. One process might require multiple pages of memory but only a few pages might be active at a time. Virtual memory uses a technique called demand paging to effectively use the available RAM memory. Every page has an address which may be a virtual or logical address. The main memory is divided into equal size chunks called page frames and each page frame has a unique physical address. So whenever a page needs to be accessed, the operating system has to translate th e virtual address into a physical address and this is done by a Memory Management Unit (MMU) with the help of mapping in a page table. The virtual address corresponding to a page is mapped to a physical address corresponding to a page frame in main memory. Whenever a page is not in memory the operating system fetches the page from hard disk in response to a page fault exception. The operating system usually makes a prediction based on past history using intelligent algorithms regarding those pages that are least likely to be needed again and places them in the hard disk.

Overlays

In operating systems, an overlay is when a process replaces itself with the code of another program. On Unixlike systems, this is accomplished with the exec() system call.

85 | P a g e

In UNIX, the only way to run new programs is to fork the running process, and then overlay the new program on top of the child. This is known as the forkexec technique.

Defining overlays

Overlay linkers created overlaid executables from ordinary input object files. The objects don't contain any overlay instructions, Intstead, the programmer specifies the overlay structure with a command language that the linker reads and interprets. Figure 5 shows the same overlay structure as before, with the names of the routines loaded into each segment.

Figure 5: A typical overlay tree ROOT contains rob and rick calls A with aaron and andy and D. A calls B (bill and betty) and C (chris), D (dick, dot) calls E (edgar) and F

(fran).

Figure 6 shows the linker commands that one might give to the IBM 360 linker to create this structure. Spacing doesn't matter, so we've indented the commands to show the tree structure. OVERLAY commands define the beginning of each segment; commands with the same overlay name define segments that overlay each other. Hence the first OVERLAY AD defines segment A, and the second defines segmnt D. Overlay segments are defined in a depth first left to right tree walk. INCLUDE commands name logical files for the linker to read.

Figure 6: Linker commands

INCLUDE ROB INCLUDE RICK OVERLAY AD INCLUDE AARON, ANDY OVERLAY BC INCLUDE BILL, BETTY OVERLAY BC INCLUDE CHRIS OVERLAY AD INCLUDE DICK, DOT OVERLAY EF INCLUDE EDGAR OVERLAY EF

86 | P a g e

INCLUDE FRAN

It's up to the programmer to lay out overlays to be space effiecent. The storage allocated for each segment is the maximum length of any of the segments that occupy the same space. For example, assume that the file lengths in decimal are as follows. l r,l n. Name Size _ rob 500 rick 1500 aaron 3000 andy 1000 bill 1000 betty 1000 chris 3000 dick 3000 dot 4000 edgar 2000 fran 3000 The storage allocation, looks like Figure 7. Each segment starts immediately after the preceding segment in the path, and the total program size is the length of the longest path. This program is fairly well balanced, with the longest path being 11500 and the shortest being 8000. Juggling the overlay structure to find one that is as compact as possible while still being valid (no exclusive calls) and reasonably efficient is a black art requiring considerable trial and error. Since the overlays are defined entirely in the linker, each trial requires a relink but no recompilation.

Figure 7: Overlay storage layout

0 rob 500 rick 2000 aaron 2000 dick

5000 andy 5000 dot 6000 bill 6000 chris 7000 betty 9000 9000 edgar 9000 fran 8000 11000 12000

Implementation of overlays

The implementation of overlays is surprisingly simple. Once the linker determines the layout of the segments, relocates the code in each segment appropriately based on the memory location of the segment. The linker needs to create a segment table which goes in the root segment, and, in each segment, glue code for each routine that is the target of a downward call from that segment.

The segment table, Figure 8, lists each segment, a flag to note if the segment is loaded, and the segment's path. And information needed to load the segment from disk.

Figure 8: Idealized segment table

87 | P a g e

struct segtab { struct segtab *path; // preceding segment in path boolean ispresent; // true if this segment is loaded int memoffset; // relative load address int diskoffset; // location in executable int size; // segment size } segtab[];

The linker interposes the glue code in front of each downward call so the overlay manager can ensure that the required segment(s) are loaded. Segments can use glue code in higher level but not lower level routines. For example, if routines in the root call aaron, dick, and betty, the root needs glue code for each of those three symbols. If segment A contains calls to bill, betty, and chris, A needs glue code for bill and chris, but can use the glue for betty already present in the root. All downward calls (which are to global symbols) are resolved to glue code, Figure 9, rather than to the actual routine. The glue code has to save any registers it changes, since it has to be transparent to the calling and called routine, then jump into the overlay manager, providing the address of the real routine and an indication of which segment that address is in. Here we use a pointer, but an index into the segtab array would work as well.

Figure 9: Idealized glue code for x86

glue'betty: call load_overlay

.long betty // address of real routine .long segtab+N // address of segment B's segtab

At runtime, the system loads in the root segment and starts it. At each downward call, the glue code calls the overlay manager. The manager checks the target segment's status. If the segment is present, the manager just jumps to the real routine. If the segment is not present, the manager loads the target segment and any unloaded preceding segments in the path, marks any conflicting segments as not present, marks the newly loaded segments as present, and jumps.

Overlay fine points

As always, details make elegant tree structured overlays messier than they might be.

88 | P a g e

Data

We've been talking about structuring code overlays, without any consideration of where the data goes. Individual routines may have private data loaded into the segments with the routines, but any data that has to be remembered from one call to the next needs to be promoted high enough in the tree that it won't get unloaded and reloaded, which would lose any changes made. In practice, it means that most global data usually ends up in the root. When Fortran programs are overlaid, overlay linkers can position common blocks appropriately to be used as communication areas. For example, if dick calls edgar and fran, and the latter two both refer to a common block, that block has to reside in segment D to be a communication area.

Duplicated code

Frequently the overall structure of an overlaid program can be improved by duplicating code. In our example, imagine that chris and edgar both call a routine called greg which is 500 bytes long. A single copy of greg would have to go in the root, increasing the total loaded size of the program, since placing it anywhere else in the tree would require a forbidden exclusive call from either chris or edgar. On the other hand, if both segments C and E include copies of greg, the overall loaded size of the program doesn't increase, since the end of segment C would grow from 9000 to 9500 and of E from 11000 to 11500, both still smaller than the 12000 bytes that F requires.

Multiple regions

Frequently, a program's calling structure doesn't map very well to a single tree. Overlay systems handle multiple code regions, with a separate overlay tree in each region. Calls between regions always go through glue code. The IBM linker supports up to four regions, although in my experience I never found a use for more than two.

Overlay summary

Even though overlays have been rendered largely obsolete by virtual memory, they remain of historical interest because were the first significant use of linktime code generation and modification. They require a great deal of manual programmer work to design and specify the overlay structure, generally with a lot of trial and error ``digital origami'', but they were a very effective way to squeeze a large program into limited memory.

Overlays originated the important technique of "wrapping" call instructions in the linker to turn a simple procedure call into one that did more work, in this case, loading the required overlay. Linkers have used wrapping in a variety of ways. The most important is dynamic linking, which we cover in chapter 10, to link to a called routine in a library

89 | P a g e that may not have been loaded yet. Wrapping is also useful for testing and debugging, to insert checking or validation code in front of a suspect routine without c hanging or recompiling the source file.

Demand paging

Demand paging (as opposed to anticipatory paging) is an application of virtual memory . In a system that uses demand paging, the operating system copies a disk page into physical memory only if an attempt is made to access it ( i.e. , if a page fault occurs). It follows that a process begins execution with none of its pages in physical memory, and many page faults will occur until most of a process's working set of pages is located in physical memory. This is an ex ample of lazy loading techniques.

Advantages

Demand paging, as opposed to loading all pages immediately:

• Only loads pages that are demanded by the executing process.

• As there is more space in main memory, more processes can be loaded reducing context switching time which utilizes large amounts of resources.

• Less loading latency occurs at prog ram startup, as less information is accessed from secondary storage and less information is brought into main memory.

Disadvantages

• Individual programs face extra latency when they access a page for the first time. So demand paging may have lower performan ce than anticipatory paging algorithms such as prepaging .

• Pro grams running on low cost, lowpower embedded systems may not have a memory manage ment unit that supports page replacement.

• Memory management with page replacement algorithms becomes slightly more complex.

Performance Demand

Performance of Demand Paging

• Demand paging can significantly affect the performance of a computer system. Let's compute the effective access time for a demand paged memory.

o For most computer systems, the memory access time, denoted , ranges from 10 to 2 00 nanoseconds.

90 | P a g e

o As long as we have no page faults, the effective access time is equal to the memory access time.

o If, however a page fault occurs, we must first read the relevant page from disk and then access the desired word.

o Let be the probability of a page fault ( ). We would expect to be close to zero that is, we would expect to have only a few page faults.

o The effective access time is then

o effective access time = (1 p)*ma + p*page fault time

• We are faced with three major components of the page fault service time:

1. Service the pagefault interrupts . 2. Read in the page. 3. Restart the process.

The first and third tasks can be reduced, with careful coding, to several hundred instructions. These tas ks may take from 1 to 100 microseconds each.

The pageswitch time, however, will probably be close to 8 milliseconds.

o A typical hard disk has an average latency of 3 milliseconds, a seek of 5 milliseconds, and a transfer time of 0.05 milliseconds.

Thus, the total paging time is about 8 milliseconds, including hardware and software time.

If we take an average pagefault service time of 8 milliseconds and a memory access time of 200 nanoseconds, then the effective access time in nanoseconds is effective access time = (1 p)*(200) + p*(8 milliseconds)

= (1 p)*200 + p*8,000,000

= 200 + 7,999,800 x p.

We see, then, that the effective access time is directly proportional to the page fault rate.

91 | P a g e

If one access out of 1,000 causes a page fault, the effective access time is 8.2 microseconds. The computer will be slowed down by a factor of 40 because of demand paging!

It is important to keep the pagefault rate low in a demandpaging system. Otherwise, the effective access time increases, slowing process execution dramatically.

An additional aspect of demand paging is the handling and overall use of swap space.

o Disk I/O to swap space is generally faster than that to the file system. It is faster because swap space is allocated in much larger blocks, and file lookups and indirect allocation methods are not used.

o The system can therefore gain better paging throughput by copying an entire file image into the swap space at process startup and then performing demand paging from the swap space.

o Another option is to demand pages from the file system initially but to write the pages to swap space as they are replaced.

Page replacement algorithms

In a computer operating system that uses paging for virtual memory management, page replacement algorithms decide which memory pages to page out (swap out, write to disk) when a page of memory needs to be allocated. Paging happens when a page fault occurs and a free page cannot be used to satisfy the allocation, either because there are none, or because the number of free pages is lower than some threshold.

When the page that was selected for replacement and paged out is referenced again it has to be paged in (read in from disk), and this involves waiting for I/O completion. This determines the quality of the page replacement algorithm: the less time waiting for pageins, the better the algorithm. A page replacement algorithm looks at the limited information about accesses to the pages provided by hardware, and tries to guess which pages should be replaced to minimize the total number of page misses, while balancing this with the costs (primary storage and processor time) of the algorithm itself.

Allocation algorithm

An output section is formed as a result of a SECTIONS directive, by combining input sections of the same name, or by combining .text and .init into .text . An output section can consist of zero or more input sections. After the composition of an output section is determined, it must then be allocated into configured virtual memory. The COFF link editor uses an algorithm that attempts to minimize fragmentation of memory, and hence

92 | P a g e increase the possibility that a link edit run will be able to allocate all output sections within the specified virtual memory configuration. The algorithm proceeds as follows:

1. Any output sections for which explicit binding addresses are specified are allocated

2. Any output sections to be included in a specific named memory range are allocated. Each output section is placed into the first available space within named memory with any alignment taken into consideration.

3. Output sections not handled by one of the above steps are allocated. Each output section is placed into the first available space within memory with any alignment taken into consideration.

If all memory is contiguous and configured (the default case), and no SECTIONS directives are given, then output sections are allocated in the order they appear to ld

93 | P a g e

Unit - 5

File Systems

What is a file system?

Even though hard drives can be very small, they still contain millions of bits and therefore need to be organized so that information can be located. This is the purpose of the file system . Remember that a hard drive is made up of several circular platters rotating around an axis. The tracks (concentric areas written to on either side of the platter) are divided into pieces called sectors (each 512 bytes in size). Logical formatting of a disk allows a file system to be created on the disk, which in turn will allow an operating system (DOS , Windows 9x , UNIX ...) to use the disk space to store and use files. The file system is based on management of clusters, the smallest disk unit that the operating system is able to manage.

A cluster consists of one or more sectors, so the larger the cluster size, the fewer entities the operating system will have to manage

On the other hand, since an operating system only knows how to manage whole allocation units (i.e. a file occupies a whole number of clusters), the more sectors per cluster, the more wasted space there will be. This is why the choice of file system is important.

Files systems and the operating system

In reality, the choice of file system depends first of all on the operating system that you are using. In general, the more recent the operating system, the greater the number of files it will support. So, under DOS and on the first versions of Windows 95, FAT16 is required.

Starting with Windows 95 OSR2, you have the choice between FAT16 and FAT32 file systems. If the partition size is greater than 2GB, then FAT file systems are excluded and you need to use the FAT32 system (or modify the size of the partition).

Below this limit, FAT16 is recommended for partitions with a capacity of less than 500Mb, otherwise it is preferable to use FAT32.

In the case of Windows NT (up until version 4) you have the choice between the FAT16 system and NTFS, FAT32 is not supported. In general, the NTFS system is recommended as it provides higher security and better performance than the FAT system. Microsoft actually recommends using a small FATtype partition (of between 250 and 500MB) for the operating system, so as to be able to boot from a bootable

94 | P a g e

DOS floppy disk in case of a catastrophe, and to use a second partition for storing your data.

Under Windows NT5, there is more choice as it accepts FAT16, FAT32 and NTFS partitions. Once again, the more recent file system (NTFS 5) is recommended, as it offers many more features than the FAT systems. For the same reasons given above, you can still choose to have a FATtype partition.

Operation system File system types supported

Dos FAT16

Windows 95 FAT16

Windows 95 OSR2 FAT16, FAT32

Windows 98 FAT16, FAT32

Windows NT4 FAT, NTFS (version 4)

Windows 2000/XP FAT, FAT16, FAT32, NTFS (versions 4 and 5)

Linux Ext2, Ext3, ReiserFS, Linux Swap(, FAT16, FAT32, NTFS)

MacOS HFS (Hierarchical File System), MFS (Macintosh File System)

OS/2 HPFS (High Performance File System)

SGI IRIX XFS

FreeBSD, OpenBSD UFS (Unix File System)

Sun Solaris UFS (Unix File System)

IBM AIX JFS (Journaled File System)

Access method

A software routine that is part of the operating system or network control program which performs the storing/retrieving or transmitting/receiving of data. It is also responsible for detecting a bad transfer of data caused by hardware or network malfunction and correcting it if possible..

95 | P a g e

Disk Access Methods

Indexed access methods are widely used to keep track of records in a file and files on disk. The index is a table of contents with pointers to the location of each file on the disk or each record within the file. A common approach is the indexed sequential access method (ISAM), which uses an index in sequential order that points to records stored in random order. For fastest retrieval, there direct access methods convert the record's identifying field, such as account number, into a physical storage address. The pure sequential method may also be used if direct access is not required. See ISAM , direct access method and sequential access method .

Communications Access Methods

Local area network (LAN) access methods, such as CSMA/CD in Ethernet, transfer data to and from connected computers on the network. These methods reference layers 1 and 2 of the OSI model. See CSMA/CD .

Mainframe access methods, such as IBM's TCAM and VTAM, transfer data between a host computer and remote terminals. These routines place the data into frames with appropriate control codes and reference layers 3, 4 and 5 of the OSI model. See TCAM and VTAM .

Tape Access Methods

Tapes use the sequential access method (SAM), which keeps records in order by a key field such as account number. Each record must be compared to find the desired one. Modern drives allow fast forwarding to index points where different groups of records are stored. This provides a direct access capability to sections of the tape, although very slow by comparison to disks.

File Allocation Methods

One main problem in file management is how to allocate space for files so that disk space is utilized effectively and files can be accessed quickly. Three major methods of allocating disk space are:

* Contiguous Allocation * Linked Allocation * Indexed Allocation. Each method has its advantages and disadvantages. Accordingly, some systems

96 | P a g e support all three (e.g. 's RDOS). More commonly, a system will use one particular method for all files.

Contiguous File Allocation

• Each file occupies a set of contiguous block on the disk

• Allocation using first fit/best fit.

• A need for compaction

• Only starting block and length of file in blocks are needed to work with the file

• Allows random access

• Problems with files that grow.

Linked File Allocation

• Each file is a linked list of blocks

• NO external fragmentations

• Effective for sequential access.

• Problematic for direct access

File Allocation Table (FAT)

• Variation of the link list(MS/DOS and OS/2)

A section of the disk at the beginning of each partition (Volume) is set aside to contain a FAT

FAT has one entry for each disk block, pointing to the next block in the file.

The link list is implemented in that section

Actual file blocks contain no links

Indexed File Allocation

• Indexed allocation is bringing all the pointers together

• Much more effective for direct access

• Inefficient for small files

97 | P a g e

Directory System/Structures:

The most common directory structures used by multiuser systems are:

1. Single-Level Directory:-

In a singlelevel directory system, all the files are placed in one directory. This is very common on singleuser OS. It has significant limitations when the no. of files or when there is more than one user. Since all the files are in same folder, they must have unique name.

2. Two-Level Directory:-

In the twolevel directory system, the system maintains a master block that has one entry for each user. This master block contains the addresses of the directories of the users. The problem with this structure is that it effectively isolates one user from another.

3. Tree-Structured Directories:-

In this structure, the directory is files. This leads to the possibility of having sub directories that can contain files and subsubdirectories

4. Acyclic-Graph Directories:

It is an extension of the treestructured directory structure. In the treestructured directory, files and directories starting from some fixed directory are owned by one particular user. In the acyclic structure, this prohibition is taken out and thus a directory or file under directory can be owned by several users

A major cause of incompatibility and crashes in W2K/XP is the fact that an application might overwrite dynamic link library (DLL) files with a similar name belonging to other applications. Often, these are DLL files that get placed in the %systemroot%\System32 folder during an application's installation. File Protection

Windows File Protection (WFP) prevents programs from replacing critical Windows system and DLL files. Programs must not overwrite these files because they are used by the operating system and by other programs. Protecting these files prevents problems with programs and the operating system.

WFP protects critical system files that are installed as part of Windows (for example, files with a .dll, .exe, .ocx, and .sys extension and some True Type fonts). WFP uses the file signatures and catalog files that are generated by code signing to verify if

98 | P a g e protected system files are the correct Microsoft versions. Replacement of protected system files is supported only through the following mechanisms:

• Windows Service Pack installation using Update.exe

• Hotfixes installed using Hotfix.exe or Update.exe

• Operating system upgrades using Winnt32.exe

• Windows Update

If a program uses a different method to replace protected files, WFP restores the original files. The Windows Installer adheres to WFP when installing critical system files and calls WFP with a request to install or replace the protected file instead of trying to install or replace a protected file itself.

Protected System files are backed up each time you perform a System State backup.

How the WFP Feature Works

The WFP feature provides protection for system files using two mechanisms. The first mechanism runs in the background. This protection is triggered after WFP receives a directory change notification for a file in a protected directory. After WFP receives this notification, WFP determines which file was changed. If the file is protected, WFP looks up the file signature in a catalog file to determine if the new file is the correct version. If the file is not the correct version, WFP replaces the new file with the file from the cache folder (if it is in the cache folder) or from the installation source. WFP searches for the correct file in the following locations, in this order:

1. The cache folder (by default, %systemroot%\system32\dllcache).

2. The network install path, if the system was installed using network install.

3. The Windows CDROM, if the system was installed from CDROM.

If WFP finds the file in the cache folder or if the installation source is automatically located, WFP silently replaces the file. If WFP cannot automatically find the file in any of these locations, you receive one of the following messages, where file_name is the name of the file that was replaced and product is the Windows product you are using:

Windows File Protection Files that are required for Windows to run properly have been replaced by unrecognized versions. To maintain system stability, Windows must restore the original versions of these files. Insert your product CD-ROM now.

Windows File Protection Files that are required for Windows to run properly have been replaced by unrecognized versions. To maintain system stability, Windows must restore

99 | P a g e the original versions of these files. The network location from which these files should be copied, \\server\share, is not available. Contact your system administrator or insert product CD-ROM now.

Free Space management

Since there is only a limited amount of disk space, it is necessary to reuse the space from deleted files for new files. To keep track of free disk space, the system maintains a freespace list which records all disk blocks that are free.

Freespace list can be implemented as:

1) Bit-Vector:

Each block is represented by a 1 bit. If the block is free, the bit is 0; if theblock is allocated, the bit is 1.

2) Linked List:

This approach link all the free disk blocks together, keeping a pointer to the first free block. This block contains a pointer to the next free disk block, and so on

3) Grouping:

This approach stores the addresses of n free blocks in the first free block. The first n1 of these is actually free. The last one is the disk address of another block containing addresses of other ‘n’ free blocks. The importance of this implementation is that addresses of a large number of free blocks can be found quickly.

4) Counting:

This approach takes advantage of the fact that several contiguous blocks may be allocated or freed simultaneously. Thus, rather than keeping a list of free disk addresses, the address of the first free block is kept and the number n of free contiguous blocks that follow the first block.

Understanding User Accounts

Active Directory user accounts represent physical entities, such as people. You can also use user accounts as dedicated service accounts for some applications.

User accounts are also referred to as security principals. Security principals are directory objects that are automatically assigned security identifiers (SIDs), which can be used to access domain resources. A user account primarily:

100 | P a g e

• Authenticates the identity of a user.

A user account enables a user to log on to computers and domains with an identity that the domain can authenticate. Each user who logs on to the network should have his or her own unique user account and password. To maximize security, avoid having multiple users sharing one account.

• Authorizes or denies access to domain resources.

After a user is authenticated, the user is authorized or denied access to domain resources based on the explicit permissions that are assigned to that user on the resource.

User accounts

The Users container in the Active Directory Users and Computers snapin displays the three builtin user accounts: Administrator, Guest, and HelpAssistant. These builtin user accounts are created automatically when you create the domain.

Each builtin account has a different combination of rights and permissions. The Administrator account has the most extensive rights and permissions over the domain, while the Guest account has limited rights and permissions. The following table describes each default user account on domain controllers running the Windows Server® 2008 R2 operating system.

Default user Description account

The Administrator account has full control of the domain. It can assign user rights and access control permissions to domain users as necessary. Use this account only for tasks that require administrative credentials. We recommend that you set up this account with a strong password.

Administrator The Administrator account is a default member of the following Active Directory groups: Administrators, Domain Admins, Enterprise Admins, Group Policy Creator Owners, and Schema Admins. The Administrator account can never be deleted or removed from the Administrators group, but it can be renamed or disabled. Because the Administrator account is known to exist on many versions of Windows, renaming or disabling this account

101 | P a g e

will make it more difficult for malicious users to try to gain access to it.

The Administrator account is the first account that is created when you set up a new domain with the Active Directory Domain Services Installation Wizard.

Important

When the Administrator account is disabled, it can still be used to gain access to a domain controller with Safe Mode.

People who do not have an actual account in the domain can use the Guest account. A user whose account is disabled (but not deleted) can also use the Guest account. The Guest account does not require a password.

Guest You can set rights and permissions for the Guest account just like any user account. By default, the Guest account is a member of the builtin Guests group and the Domain Guests global group, which allows a user to log on to a domain. The Guest account is disabled by default, and we recommend that it stay disabled.

The primary account for establishing a Remote Assistance session. This account is created automatically when you request HelpAssistant a Remote Assistance session. It has limited access to the (installed with a computer. The HelpAssistant account is managed by the Remote Remote Assistance Desktop Help Session Manager service. This account is session) automatically deleted if no Remote Assistance requests are pending.

Securing user accounts

If builtin account rights and permissions are not modified or disabled by a network administrator, they can be used by a malicious user (or service) to illegally log on to a domain using the Administrator account or Guest account. A good security practice for protecting these accounts is to rename or disable them. Because it retains its SID, a renamed user account retains all its other properties, such as its description, password, group memberships, user profile, account information, and any assigned permissions and user rights.

To obtain the security advantages of user authentication and authorization, use Active Directory Users and Computers to create an individual user account for each user who

102 | P a g e will participate in your network. You can then add each user account (including the Administrator account and Guest account) to a group to control the rights and permissions that are assigned to the account. When you have accounts and groups that are appropriate for your network, you ensure that you can identify users that log on to your network and that they have access only to the permitted resources.

You can help defend your domain from attackers by requiring strong passwords and implementing an account lockout policy. Strong passwords reduce the risk of intelligent password guessing and dictionary attacks on passwords. An account lockout policy decreases the possibility of an attacker compromising your domain through repeated logon attempts. An account lockout policy determines how many failed logon attempts a user account can have before it is disabled.

Account options

Each Active Directory user account has a number of account options that determine how someone logging on with that particular user account is authenticated on the network. You can use the options in the following table to configure password settings and securityspecific information for user accounts.

Account option Description

Forces a user to change his or her password the next time that User must change the user logs on to the network. Enable this option when you password at next want to ensure that the user will be the only person that knows logon the password.

Prevents a user from changing his or her password. Enable this User cannot change option when you want to maintain control over a user account, password such as a Guest account or temporary account.

Prevents a user password from expiring. We recommend that Password never service accounts have this option enabled and use strong expires passwords.

Store passwords Allows a user to log on to a Windows network from Apple using reversible computers. If a user is not logging on from an Apple computer, encryption do not enable this option.

Account is disabled Prevents a user from logging on with the selected account. Many administrators use disabled accounts as templates for

103 | P a g e

common user accounts.

Requires that a user possess a smart card to log on to the network interactively. The user must also have a smart card Smart card is reader attached to their computer and a valid personal required for identification number (PIN) for the smart card. When this option interactive logon is enabled, the password for the user account is automatically set to a random and complex value and the Password never expires account option is set.

Allows a service running under this account to perform operations on behalf of other user accounts on the network. A service running under a user account (otherwise known as a service account) that is trusted for delegation can impersonate a client to gain access to resources on the computer where the service is running or to resources on other computers. In a forest that is set to the functional level, this option is on the Delegation tab. It is available only for accounts that have been assigned service principal names (SPNs), as set with the setspn command in Windows Account is trusted for Server 2008 R2. (Open a command window, and then type delegation setspn .) This is a securitysensitive capability; assign it cautiously.

This option is available only on domain controllers running Windows Server 2008 R2 where the domain functionality is set to Windows® 2000 mixed or Windows 2000 native. On domain controllers running Windows Server 2008 and Windows Server 2008 R2 where the domain functional level is set to the Windows Server 2008 or Windows Server 2008 R2 forest functional Level, use the Delegation tab in the user properties dialog box to configure delegation settings. The Delegation tab appears only for accounts that have an assigned SPN.

Account is sensitive You can use this option if the account, for example a Guest or and cannot be temporary account, cannot be assigned for delegation by delegated another account.

Use DES encryption Provides support for the Data Encryption Standard (DES). DES types for this account supports multiple levels of encryption, including Microsoft Point toPoint Encryption (MPPE) Standard (40bit), MPPE Standard

104 | P a g e

(56bit), MPPE Strong (128bit), Internet Protocol security (IPsec) DES (40bit), IPsec 56bit DES, and IPsec Triple DES (3DES

Provides support for alternative implementations of the Do not require Kerberos protocol. However, use caution when you enable this Kerberos option, because Kerberos preauthentication provides additional preauthentication security and requires time synchronization between the client and the server.

InetOrgPerson accounts

Active Directory Domain Services (AD DS) provides support for the InetOrgPerson object class and its associated attributes as defined in Request for Comments (RFC) 2798. The InetOrgPerson object class is used in several nonMicrosoft, Lightweight Directory Access Protocol (LDAP) and X.500 directory services to represent people in an organization.

Support for InetOrgPerson makes migration from other LDAP directories to AD DSmore efficient. The InetOrgPerson object is derived from the user class. It can function as a security principal just like the user class. For information about creating an inetOrgPerson user account, see Create a New User Account .

When the domain functional level is set to Windows Server 2008 or Windows Server 2008 R2, you can set the userPassword attribute on InetOrgPerson and user objects as being the effective password, just as you can with the unicodePwd attribute

The Computer Management Snap-in

Now that we’ve investigated the Windows Server 2003 Computer Management Console’s and Shared Folders snapins , I will walk you through how to use Local Users and Groups. This snapin is available in all versions of Windows 2000, Windows XP, Windows Server 2003, and Windows Vista.

The Local Users and Groups snapin allows you to take the following actions on User and Group objects on the local Windows Server 2003 system:

• View: List the existing Users and Groups available on the local system.

• Add: Create new User and Group objects on the local system.

• Edit: Change attributes of existing User and Group objects on the local system.

• Delete: Remove User and Group objects from the local system.

105 | P a g e

Note: You can add domain User and Group objects to local Group objects on a Windows Server 2003 system. This Microsoftrecommended practice can help you manage your environment.

To view a listing of available groups on the local system from within the Computer Management Console, follow these steps:

1. Expand the Local Users And Groups object.

2. Select the Groups object in the left pane. A listing of available Groups will appear in the right pane of the console.

3. To view a User object listing, simply highlight the Users object in the left pane of the console.

To add local Users:

1. Select the User object.

2. Rightclick within the User list in the right pane and select New User.

3. In the dialog box that appears, enter a Name and Username for the object and click Next.

4. Specify and confirm a password for the User Account Object.

5. On the Password screen, you will also need to configure the following options for the Accounts password:

• User Must Change Password At Next Logon: This prompts the user to set a new password the next time they log on to the account.

• User Cannot Change Password: The user cannot change the password for the account.

• Password Never Expires: The password for this account will never expire.

• Account Is Disabled: The account is not active and cannot be used to log on to Windows.

Note: If you select the User Must Change Password At Next Logon option, the User Cannot Change Password and Password Never Expires options become unavailable until after the next account logon.

6. After selecting Password and other options as listed above, click the Create button to create the user account.

106 | P a g e

Creating local groups The best way to create a group account from the Computer Management Console is by selecting the Groups object in the left pane and rightclicking the list in the right pane to select New Group. This will produce a dialog box asking you to enter a name and a description for the group. After you enter the name and description, click the Add button at the bottom of the dialog box in order to select members for the new group. When you have all of the members assigned, click OK in the selection box and then click Create in the New Group dialog box.

Editing and deleting local users and groups To edit a user or group object, follow these steps:

1. Select Users or Groups in the left pane of the Computer Management Console.

2. Rightclick the object you wish to edit.

3. Select Properties from the context menu.

4. Modify the necessary properties for the object, then click OK.

You can also edit a user or group object by doubleclicking it in the existing list.

To delete an existing user or group object, follow these steps:

1. Select Users or Groups in the left pane of the Computer Management Console.

2. In the right pane of the console, rightclick the User or Group object you wish to delete.

3. Select Delete from the context menu. When asked if you are sure you wish to delete this object, select Yes.

Note: When accessing the Computer Management Console, you can connect remotely to other systems to view their resources. The remote systems must be running Windows 2000 or higher.

User Account - Properties setting

Use the Properties dialog box to view or modify information about a user account, including:

• Information about the account in Active Directory Domain Services (AD DS)

• Groups that the account belongs to

• Whether a CAL for Windows EBS is assigned

107 | P a g e

• Limits on the mailbox size

• Redirection of the user's Documents folder

For more information about managing user accounts, see:

• User Administration at the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=108928).

• Active Directory Users and Computers Help. In Windows Server 2008, click Start , and then click Help and Support .

Page Details

View or modify details about the user account that are stored in AD DS.

Note

Changing the User account name does not automatically change the user's shared network resources or email address.

Optionally, set an account expiration date. Account Information To access additional user account properties in AD DS, click Advanced to open the User Properties page in the Active Directory Users and Computers console.

Note

All the changes that you make in Properties are applied automatically when you click Advanced .

Groups View or modify the membership of the user account in AD DS groups.

Assign a client access license (CAL) for Windows EBS to the user account. CAL Click None to require that the user access network resources only with a licensed device.

View or modify mailbox quotas for the user account. Mailbox If the user account does not already have an email mailbox, select the

108 | P a g e

Create a new mailbox check box, and type the user's email address in the E-mail address text box.

Enable or disable redirection of the user's Documents folder to a Storage shared folder.

Enable or disable Guest account

In Windows XP there is an account which is termed as Guest account and it has a limited privileges. The user who are logging through guest account, generally don't have any user account. Guest account provides only a limited no of access of the computer. But there is a security related issue and that's why its sometimes dangerous for any computer. But unfortunately, Guest account is disabled by default. If you want to ensure security, it's a good practice to disable guest account and create an user account to use. This page gives you in details about enabling and disabling Guest account.

To enable or disable Guest account, complete the following steps:

1. Click on Start menu, then click on Control Panel and finally doubleclick on the User Accounts.

2. Now, User Accounts window will be opened and you will see a user account which is termed as Guest .

3. By default, Guest account is disable. To enable it, click on it.

109 | P a g e

4. Then a window will be appeared which will ask you Do you wnat to turn on the guest account? Select Turn On The Guest Account . Now the Guest account will be turned on.

110 | P a g e

To disable Guest account if Guest account is turned on, click on the Guest icon to access the What do you want to change about the guest account? Now, click on Turn off the guest account. And that's done to disabling the Guest Window.

5. At last, close User Accounts window and Control Panel Window.

By following the above steps you can easily enable or disable Guest account to any WIndows machine.

111 | P a g e