Get maximum performance from your PC and use resources efficiently

Does your work often take you out of the office? Do you find yourself working in different settings, such as in a hotel room, on an airplane, or in a client's office? Do you sometimes need a network connection? At other times, do you wish you could turn off your PC Card to extend battery life on your laptop while you're working undocked? With hardware profiles, you can create multiple computer configurations for a specific hardware platform. With the advent of Windows NT on the laptop, Microsoft lets the user tell the operating system (OS) what devices to use on bootup and what devices to ignore.

Hardware profiles can help you get the best performance out of your PC. In September, Michael D. Reilly showed you how to configure hardware profiles for your computer in "Configuring Hardware Profiles." In this article, I will detail more ways to configure devices, help you overcome limited resource allocations, and show you how to configure services with hardware profiles.

Defining Hardware Profiles
Although hardware profiles debuted with Windows 95 as a way to control what device drivers to load, NT takes them a step further. NT hardware profiles let you determine not only what device drivers to load but also what services. Device drivers are the software interface between the OS and the peripheral or hardware. But services are a little more mysterious. In this article, think of services as software components that let the OS perform a specific software task.

Services typically fall into two categories: OS applications and BackOffice and third-party programs. OS applications consist of objects such as kernel virtual device drivers (VxDs) and I/O Manager components such as the Workstation and Server services. When you install BackOffice applications such as Exchange or SQL Server, these programs install applets that are viewable under the Services icon in Control Panel.

With the ability to choose both drivers and services, the user controls what peripherals and programs to start or disable. This situation opens up some interesting scenarios for profiles. For example, laptop PC users can determine whether they will use hardware devices such as the video adapter, network card, or CD-ROM in the docking station or whether they will operate undocked using their laptop peripherals.

Also, laptop users can turn off (and remove) their PC Card to extend battery life while the laptop is undocked. You have no reason to fire up your PC Card if you are working on an electronic spreadsheet while flying over the Atlantic and have no need for your network interface card (NIC) or modem. You can gain 30 minutes to 1 hour of battery up-time.

Administrators can run test configurations of BackOffice applications without installing another instance of NT Server. (Wouldn't you like to install SQL Server, Exchange, and Internet Information Server--IIS--on one instance of NT and not eat up all that hard disk space by installing NT three times?) And, for cards that use the same resources (such as IRQ, I/O ports), you can disable one card and enable the other to reach a stable configuration.

Hardware profiles give you a lot of options. But they also have limitations. Perhaps the biggest limitation is the inability to add different instances of network services such as Domain Name System (DNS), protocols, or clients. For instance, if employees have a hard-coded IP address on their PC configured specifically for their network at their place of employment, they cannot plug their computer into another network across town that has a Dynamic Host Configuration Protocol (DHCP) server configured and expect to automatically become a DHCP client.

Selecting Startup Options
At startup, if you have only one profile, the OS loads that hardware configuration without prompting you. This profile is the one that was saved when you last shut down your computer.

If you've configured multiple profiles, you have other choices at startup. After you select the OS via the boot.ini file, a screen similar to Screen 1 appears asking you to select between the Last Known Good (LKG) configuration or a hardware profile configuration. You can use the up or down arrow to select any hardware profile in the list, or press L to choose the LKG. NT will automatically time out and default to the first profile in the profile list if you don't make a selection.

You can force the system to wait indefinitely for user intervention at this screen or time out to the first hardware profile in the list. To set the timeout, open Control Panel, double-click System, and choose the Hardware Profiles tab shown in Screen 2. From the same window, you can manually edit the order of the profiles list. Select a profile and use the up or down arrow in the dialog box to change the order.

Creating and Customizing Hardware Profiles
NT installs with a default profile, Original Configuration. This profile maps to the hardware, drivers, and services you installed during the initial setup. You can configure more profiles from the Hardware Profiles configuration window.

Let's look at the example in Screen 2. Moe has fine-tuned his laptop for optimal hardware profile utilization. He has taken his default Original Configuration and renamed it Docked at Work. This profile comprises all devices in his docking station (NIC, Video Card, and keyboard) and does not include the two PC Cards (network adapter and modem) on his laptop. Because Moe occasionally travels to other work sites that do not have a comparable docking station, he has used the Copy button to reproduce the docked profile, renamed it, and then disabled or enabled the appropriate devices under the Control Panel, Devices window. To work at other sites, Moe can disable the docking station's NIC and enable his PC Card NIC.

In his September article, Mike Reilly tells you how to choose what profile is using a docking station so the expansion port that connects the laptop to the station is properly used. For those times you won't be connecting to a network, you can create a profile to tell NT to ignore any network connections. To have NT load as fast as possible, click the Properties button, and choose the Network tab. From the dialog box in Screen 3, you can tell NT to ignore any network connections. The OS will disregard any networked drives or printers that automatically reconnect at logon.

Configuring Devices for a Profile
Once you've initially configured profiles, you can open Control Panel to further define them by Device or Service. Let's work with Moe's Undocked at Home-2 PC Cards (2 Modems) profile.

Moe wants to use multilink support, which is the ability to combine multiple links into one logical bundle, with the goal of increasing bandwidth. Because he has two PC Cards, he has to turn on the two devices for one profile and disable it for the others. From Control Panel, he double-clicks Devices to bring up the window in Screen 4, page 152. He scrolls down to Modem and clicks the HW Profiles button. From the window in Screen 5, page 152, he can select each modem and enable it for the proper profile.

Suppose you've exhausted your computer resources such as IRQ, direct memory access (DMA) channels, and I/O ports and you want to install a new card. I've seen high-powered off-the-shelf PCs that have maxed out their resources. With the onslaught of new devices on the market, the demand to have it all has put a strain on interrupts in particular. Computers have a predefined limit of 15 usable IRQs. However what happens when these IRQs are already assigned to your peripherals and you want to add a new card to your PC? As long as you have a slot or bay to plug into, you might be able to add that device after all.

Suppose you want to install an internal 56KB modem in your PC. After installing the device, you discover that it conflicts with your previously installed NIC because both use Interrupt 10. Because interrupts typically do not have provisions for sharing, you cannot get the new card to respond. If you don't mind using only one device at a time, you will not have a problem. Simply create two profiles. On the NIC-enabled profile, enable the NIC and disable the modem card. On the modem-enabled profile, do the opposite. You can now reach a stable configuration where each card can function, albeit only when the other is disabled.

Configuring Services for a Profile
Being a Microsoft Certified Trainer (MCT) and having a limited budget, I have configured my home PCs to use hardware profiles in an effort to conserve both RAM and hard disk space while I'm studying the latest BackOffice products. For example, I can install a common instance of NT for all my BackOffice applications as opposed to each BackOffice application having its own private OS instance. This setup saves more than 100MB per OS instance.

I also don't eat up scads of RAM by loading all the services for Systems Management Server (SMS), Exchange, and IIS anymore. Because I have only 48MB of physical memory, I configure a different profile for each application so I don't overwhelm the system.

To set up my home PC to use BackOffice hardware profiles, I initially installed IIS, SQL Server, and Exchange on NT. Things were pretty slow when NT was loading all the services into RAM (you can use Task Manager to get a quick snapshot of how much total memory the system is using) and the swap file started kicking into gear. To remedy the situation, I created three profiles. I clicked on the Services icon in Control Panel to get the window shown in Screen 6. I located the specific service I wanted to enable or disable and clicked the HW Profiles button.

Then, I enabled or disabled the service for each profile listed. In Screen 7, I've enabled the Exchange Mail Transfer Agent (MTA) service for the Exchange profile and disabled this service for IIS and SQL Server. When I repeated this procedure for all the appropriate services, I saw my system's performance increase dramatically.

One more use for profiles is for test conditions. For example, you can run BackOffice test configurations and conduct your benchmarks without having other BackOffice programs interfere with your analysis. This capability is particularly important when hardware is at a premium.

Maximizing Performance
This article digs into details about the role of hardware profiles. Although hardware profiles are optional, aspects of profiles can help you performance tune your PC, enable cards that would otherwise not work, and increase flexibility in laptop configurations.