|
Windows System Architecture (WSA) *Windows System Architecture (WSA) This is the first topic we will be covering in this series. WSA may sound unconventional or unheard-of. However, it is intended to describe the scope of what we will discuss in this series. It is recommended for anyone who intends to carry out any Windows-based development, i.e. development of any application which works on the Windows platform. We'll explore how Windows works, how applications use the Windows operating system, and how you, as a developer, or a software engineer, can leverage the facilities provided by the Windows platform.
WSA provides an overview of various concepts, components, products, tools and technologies related to the Windows product family. In addition to the features, capabilities and facilities provided by the Windows operating system itself, WSA will also focus on the following topics:
Networking Concepts Development methodology for applications created on the Windows operating system Tools and technologies available for developing applications Component Object Model (COM) Database management tools and technologies ActiveX technologies Client programming Server programming Messaging Programming Tools SNA, Cryptography, Telephony API, Speech API User interface guidelines Design methodologies and solution development discipline. How does an application work under Windows?
This section describes the working of a Windows-based application in simple terms. Increasing levels of detail will be incorporated as we gather a better understanding of the basic concepts.
In order that a PC be usable, an operating system such as Windows must be loaded into memory first. Once this is done, a host of facilities is available to the user. These facilities include file management, multimedia, printing, security, networking, and other related features. Developers can use these features to create their own applications. The applications can utilise one or more facilities and can customise them where required. Thus as a developer or as an administrator, it is necessary to understand the services that the Windows platform offers for an application to work.
As a developer, you will benefit by understanding all the facilities available under the Windows family of tools and products. This will lead to a better ability to tackle and solve business problems using the most appropriate technology.
For administrators, the knowledge of WSA will simplify troubleshooting and diagnostic challenges, it will help them understand new topics faster and more intuitively--finally leading to a better understanding of the products they are supporting.
Windows Operating Systems
There are many versions of the Windows operating system. Therefore, it is important to understand the difference and the exact role that each version plays. Here's a brief introduction to the various Windows versions:
Windows 3.11
While there have been previous versions, this was considered to be the earliest usable product that provided basic required services and minimal networking options. This operating system was far better from a developer's perspective, on the PC platform, in comparison with other available operating systems like DOS.
Windows 95
This is the improved version of the older Windows 3.x product family. It is the most popular version in use on the desktop today. Windows 95 provides the following extra features:
Plug and Play hardware support which allows for automatic configuration of hardware devices without having to reboot the computer. FAT 32 file system which is faster, more efficient and sturdier than earlier versions. Direct X, Active Movie, Web channel support, Active Desktop support. DCOM. Windows NT Messaging Client. Windows 98
This is the latest upgrade to Windows 95. Windows 98 provides enhanced functionality for Internet browsing and communication. It also makes common tasks much simpler to handle. Windows 98 is designed to make administrative tasks less time--consuming and easy to understand. It also provides some advanced features for power users like designers, engineers and technical users.
Windows NT
This is a server-based product that provides file and print services, security, high performance, platform independence and scalability, programmability, wide area connectivity and an extensible application development platform. The subset of Windows NT server which focuses on heavy desktop users is called Windows NT Workstation.
Design goals
The developer-oriented objectives of creating these operating systems (especially Windows NT) were as follows:
To provide easy portability to other 32-bit architectures To provide scalability and multiprocessing support To support distributed computing, allowing multiple computers to share resources To support the application programming interfaces (APIs) required by the Portable Operating System Interface for UNIX (POSIX) To provide US government Class 2 (C2) security features, and to provide a path to Class B1 and beyond. Design goals for the Windows platform:
Robustness: The operating system must actively protect itself from internal malfunction and external damages (whether accidental or deliberate), and must respond predictably to software and hardware errors. The system must be straightforward in its architecture and coding practices, and its interfaces and behaviour must be well specified.
Extensibility and maintainability: The operating system must be designed with the future in mind. It must grow to meet the future needs of original equipment manufacturers (OEMs) and of Microsoft. The system must also be designed for maintainability--it must accommodate changes and additions to the API sets it supports and the APIs should not employ flags or other devices that drastically alter their functionality.
Portability: The system architecture must be able to function on a number of platforms with minimal recoding.
Performance: Algorithms and data structures that lead to a high level of performance and that provide the flexibility needed to achieve other goals must be incorporated into the design.
POSIX compliance and government certifiable C2 security: The POSIX standard calls for operating system vendors to implement UNIX-style interfaces so that applications can be moved easily from one system to another. US government security guidelines specify certain protections such as auditing capabilities, access detection, per-user resource quotas, and resource protection. Inclusion of these features would allow Windows NT to be used in government operations.
|