Windows 95

Minimum Hardware Requirements for Windows 95
Intel 386DX, 20MHz processor or higher
4MB RAM
VGA Video adapter and display
20MB free hard disk space

Windows 95 Setup Options
Typical- Recommeded setup option for minimum user interaction.
Compact- Minimum installation available, for computers with little hard disk space available.
Portable- For users with portable computers, includes utilities for remote computing.
Custom- Lets user choose which features to include in installation.

Detection Log Files

Windows 95 has several log files generated to detect and troubleshoot problems.
SETUPLOG.TXT- Used to log installation of Windows95. Will note last utility run prior to a system halt.
DETCRASH.LOG- Used to log hardware detection during setup. Readable only by setup to determine which module was running when the system halted.
DETLOG.TXT- Equivalent of DETCRASH.LOG written in a readable format.
NETLOG.TXT- Logs detected network component information.
IOS.LOG - Logs error messages from the SCSI drivers.
PPPLOG.TXT - Logs PPP and dial-up activity.

The infamous Windows 95 Registry

The Registry is designed as a database used by OLE to store information on OLE servers. It is used by Windows 95 to store the information typically found in Windows 3.x .INI files and the reg.dat file. The Registry can be used for troubleshooting and enhancing perfomance in Windows 95. The registry is a heirarchical tree which contains information about many things in the computer. The following is a list of the Registry subtrees and what they contain:

Subtree
Information stored within
HKEY_CLASSES_ROOT Contains information about OLE servers and file associations. It contains the same information that is typically stored in the reg.dat in Windows 3.x.
HKEY_CURRENT_USER Contains the preferences of the user who is currently logged in. Receives stored information from the user's subtree located in HKEY_USERS.
HKEY_LOCAL_MACHINE Contains hardware information and settings for any device ever installed in the computer.
HKEY_USERS Contains preferences for every user that has ever logged into the computer.
HKEY_CURRENT_CONFIG Contains settings for all hardware devices currently installed in the computer. Does not contain settings for devices included in HKEY_DYN_DATA.
HKEY_DYN_DATA Contains dynamically stored data on performance monitoring.

You can use the program Regedit.exe to modify the Registry.

The Registry contains three properties: Name, Data Type, and Value. The Data Type can be a binary value (a collection of bits), a string value (a string of readable characters) and a DWORD value (a binary value limited to 4 bytes).

Intel Memory Protection Architecture

The 386 architecture has four priveledge levels designed to protect data from being damaged. Level 0 is the highest, and level 3 is the lowest. Windows 95 only uses levels 0 and 3. It uses level 0 for 95 core components and level 3 for user applications and non-critical components.

Virtual Machines

A virtual machine is an illusional environment created by the operating system in memory. Virtual machines run in ring 3 of the Intel architecture. These are designed to allocate resources to programs that might normally be halted by other programs in memory. Each MS-DOS application runs in its own virtual machine, as they are designed to have total and uninterupted access to all system resources. All other non-MS-DOS based programs run in the System virtual machine.

Windows 95 Core Components

Windows 95 has three core components: Kernel, User and GDI. All three are .DLL files which reside in the system as both 16-bit and 32-bit applications to maintain backwards compatibility.
Kernel - Responsible for basic O/S functionality, managing virtual memory, task scheduling, and File I/O services.
User - Manages the user interface, including input from devices and interaction with drivers.
GDI - Responsible for all graphics manipulation.

Plug and Play

Plug and Play - designed for hardware installation to require no intervention from the user.

A plug and play system needs to consist of the following to be complete:
- A plug and play operating system
- A plug and play BIOS
- Plug and play hardware

Legacy Cards - Hardware designed prior to Plug and Play which, when installed, will not automatically be setup by the OS and must be setup manually.
Bus Enumerator - Type of driver based on a specific bus architecture. Used to build the hardware tree in the registry.

Plug and Play Docking

Docking - The process which a computer uses to establish connection with a docking station.
There are three types of docking:
Hot - Computer can be at full power when it is docked or undocked
Warm - Computer can be in sleep mode when it is docked or undocked
Cold - Computer can must be turned off before being docked or undocked

Disk operations

IFS (Installable File System) - architecture which allows multiple file systems to coexist on the same computer.
VFAT - 32-bit virtualized File Allocation Table used in Win95.
VCache - 32-bit protected mode cache driver which replaces the real-mode SmartDrive.

Long File Names - Win95 supports extended file names which can contain up to 255 characters, unlike DOS which was limited to the 8.3 structure. In Win95, each long file name has a duplicate 8.3 for backwards compatibility.

Memory

Conventional Memory - First 640k of RAM, used for DOS applications and TSR's.
Upper Memory - 384k RAM located between 640k and 1mb. Used to load MS-DOS device drivers to help increase space available for DOS applications.
High Memory Area - Region between 1024k and 1088k.
Extended Memory - Region extending from 1088k to the end of the memory. Was created for DOS applications to be able to access RAM outside of the first 640k.
Expanded Memory - Uses bank-switching to page data in and out of memory quickly.

Virtual Address Spaces

Each process is alloacted a virtual address space for the process's threads to use. This virtual space appears to be 4g in size, with 2g to process for its storage, and 2g for operating system components.

0-4M MS-DOS Compatibility Arena
The lower 4m is reserved for real-mode device drivers, TSRs and 16-bit applications.

4M-2G 32-Bit Windows Applications (Private Arena)
This area is reserved for 32-bit Windows applications, which receive their own unique address space.

2G-3G DLLs and Shared Objects (Shared Arena)
This area is used to share core system components, shared DLLs, and 16-bit Windows applications.

3G-4G Reserved System Area
Ring 0 components are mapped into this area; this area is not accessible by Ring 3 components.

Threads and Processes

Thread - The basic entity to which the operating system allocates access to the CPU.
Process - The code, data and resources which makeup an application. Each process contains at least one thread that execute's the process code.

Thread Priorities - Used to determine which thread will be allowed to run next. Each thread can have a priority number between 0 and 31 with 31 being the highest priority. The ranges of 0-31 are for NT compatibility. The priority values are divided into two sections: 0-15 for variable priority threads, and 16-31 for fixed priority threads.

Thread Scheduling - there are three states a thread can be in:
Ready - Thread is ready to be executed by the scheduler.
Waiting - Thread is waiting for an event to occur to come into the ready state.
Running - Thread is running; only one thread can be running at one time.

Primary Scheduler - Responsible for making sure the highest priority thread is running.
Secondary Scheduler - Makes sure no thread hogs the CPU.

Multitasking

Preemptive multitasking - The O/S divides time into slices (20ms for Win95) and proportions the evenly between running applications.
Cooperative multitasking - Applications are required to give up control of the CPU and let other applications take their turn. Some applications tend to hog the CPU using this method.

Multithreading - Used by the preemptive multitasking in Win95 to allow an application to have multiple paths of execution (threads).

Video

VGA fallback - ensures an incompatible video driver will not prevent you from accessing the system. For this to work, there must be a line in the [boot] section of the system.ini reading -- DisplayFallback=0

The color depth is measured in bpp (bits per pixel). The following is a chart relative to the realtionship between bpp and color depth.
Color Depth
BPP
16 colors 4
256 colors 8
32k colors (16-bit) 15
64k colors (16-bit) 16
16.7 million colors 24

Printing

Image Color Matching - Allows applications to provide closer matches for color between graphics displayed on the screen and the same graphics when they are printed. Each devices properties are stored in a profile. These profiles were designed by InterColor 3.0 (a number of vendors which included Kodak, Microsoft, Apple, Silicon graphics, etc.).

Bidirectional printing - Allows two-way communications between the printer and computer. The printer is able to send status and diagnostic information to the computer and its operating system.

What is needed for bidirectional printing:
- A bidirectional printer
- An IEEE 1284 compliant printer cable
- A bidirectional printer port on the computer

Printer Drivers
Unidrv.dll - Printer driver which is used to print to all non-postscript printers.
Friendly Names - Allows printer to be named with a "normal" name which is up to 32 characters in length.
EMF Spooling - Increases performance in the way the computer spools print jobs to the temporary file and allows the application to return to a usable state quicker.

MS-DOS application printing support

Windows 3.x and DOS-based files have been known to have printing problems in Windows 95. The problem is that the program will say that it has spooled the print job to the printer, but the printer never receives the job. The problem is being caused by the programs inability to understand the Windows 95 printing system. Windows 95 has included an MS-DOS printing compatibility feature to allow older programs to print to a virtual LPT port. Windows 95 will map an LPT port to the desired print queue which the older program recognizes.

Printer Icons
Every printer has an icon which refers to how it is used to print:

Printer icon with a hand icon - local printer which is shared
Printer icon alone - local printer unshared
Printer icon with cable attached to bottom - network printer
Printer icon with diskette - printer which is set to print to a file

Point-and-print - the method of using drag and drop to print a document. For example, you can create a shortcut to a printer on your desktop. Then, you can take a MS Word document and drag it to the printer icon. This will then print the document without the need to start the application.

Networking

Universal Naming Convention (UNC) - Universal network pathname which is integrated into Win95. Named as \\computername\sharename. The \\computername will be the name given to your computer in the network properties screen. The \sharename will be the name you give to a directory when you share it.

Browse Master - A computer on the network which is designated to maintain an active list of all computers in the workgroup. Win95 can be designated as having the Browse Master disabled (cannot be a browse server), enabled (will be a browse server) or automatic (will become a browse server if necessary). In a client/server environment, it is best to keep the Browse Master disabled as it has been known to cause conflicts with servers acting as the Browse Master.

Security levels
Share-level security - Used in Windows 95 to share resources. A password is needed to access the resource.

User-level security - Used in Windows NT to share resources. When you attempt to access a shared resource, the server will make sure your user account has been authorized to access the resource. User-level security can be implemented in Windows 95 if specified in the Network Properties menu under the Access Control tab.

Networking with Novell Netware

Novell Netware typically uses the IPX (AKA NWLink) protocol for network communications. Novell Netware 4.11 has TCP/IP capabilties. Frame type describes the format used to encapsulate IPX packets, and must be the same on connecting systems.

Novell Netware by default does not support long file names. To enable long file names on your netware server, enable OS/2 name space (HPFS).

Client for Netware is needed for connecting to Novell Netware servers.

Client for Netware uses NCP (Netware Core Protocol) as the redirector.

ODI is Novell's version of NDIS.

File and Print sharing for Netware is needed when sharing files to other Netware clients. This requires user-level security for pass-through authentication to a Netware server.

NetWare servers advertise their services using the Service Advertising Protocol (SAP) to make broadcasts over the network. Routers will maintain a database of available NetWare servers.

NetWare commands
syscon - administers accounting, file server, user and group information.
filer - configures volume, file, and directory information.
pconsole - manages NetWare print queues.
netadmin - manages NDS services.

TCP/IP

TCP/IP is an internet protocol currently used for most networking situations. Each computer using TCP/IP will contain a unique address in a x.x.x.x format (where each x equals a number between 0 and 255) and a subnet mask.

Subnet mask - A value that is used to distinguish the network ID portion of the IP address from the host ID.
Default gateway - A TCP/IP address for the host which you would send packets to to be sent elsewhere on the network.

Common TCP/IP problems are caused by incorrect subnet masks and default gateways.

Win95 uses three methods to resolve NetBIOS names to IP addresses:
- broadcasts - a computer will broadcast the NetBIOS name it is searching for across the network. The machine with the mataching NetBIOS name will send a reply to the broadcasting computer with its IP address.
- LMHOSTS - a file normally located in the windows directory which contains a list of frequently used IP address and hostnames.
- WINS (Windows Internet Naming Service) - Win95 contacts an NT Server running these services to dynamically resolve NetBIOS names to IP addresses.

DHCP (Dynamic Host Configuration Protocol) - Win95 contacts an NT Server running this service to automatically obtain an IP address each time it logs onto the network.

Server-Based Setup

Windows 95 can use a server-based setup to be installed from a server. This will keep most or all of the files on a server, which your PC will connect to upon each boot.

Machine Directory - directory on server which stores computer-specific configuration files (system.dat, user.dat, .ini files, etc.) for a PC. Is mandatory to use when the PC does not have a hard drive. Machine directory can be shared for multiple PCs with the same configuration.

Shared installation files can be stored in one of three places:
Startup disk - Boot disk which contains mini-registry which will give it enough information to boot to the network/shared server.
Machine Directory
Shared installation directory - Contains all Win95 filesand is flagged as read-only.

You can use Batch.exe (located in the admin\nettools\netsetup directory on the CDROM) to create batch setup scripts for use after the installation.

Advanced Administration

User Profiles - user preference settings which are stored locally or on the server, which are reloaded to the system everytime the user logs in. The settings can be specified to contain user preferences for the Start Menu, Network Neighborhood, and the desktop settings. User Profiles can be enabled via the Passwords Properties menu in the Control Panel.

Policies - settings which are controlled by the administrator to control what the user is able to do on their computer. To use policies, you must have User Profiles enabled. Changes are made to Policies by using the System Policy Editor (Poledit.exe) which is located on the Win95 CD. Policies can be setup for individuals, groups, and also computers. Policies can be stored locally or on the server. The default policy file is config.pol. To use this across the network, the file must be placed in the NETLOGON share of the Primary Domain Controller on a Windows NT network.

Net Watcher - program which enables the administrator to remotely view a PC and view the active connections, shares and open files. Is available when the net watcher service installed in Network Properties. Does not require user-level security.

Remote Registry Editor - enables abililty to remotely edit the registry within regedit.exe. Is only available if the PC has user-level security enabled, and the remote registry service installed in Network Properties.

Remote Administration - administration tool which enables the administrator to gain access to a remote PC's file system. To use this, you must have Remote Administration enabled in the Passwords Properties menu in the Control Panel under the Remote Administration tab. To gain access to this utility, enter Network Neighboorhood, right-click on the computer you would like to administer, and click on Properties. In the next window, click the Administer button.