|
Operating System (OS) The features provided by the OS can be implemented in your application in various ways. The simplest way is to use the menus and dialogs provided by the operating system. Let's take an example:
When you want to run any application, you can click the Start button and select the Run option. Specify the path of the application, choose OK, and the application will execute.
Suppose this functionality was required in a program written by you. Here you cannot directly choose the Run menu option. What you need to use is Windows Application Programming Interface (Win32 API) commands to achieve the same result. The command to implement this is as follows (Visual C++ syntax):
HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd); This command will execute the file (lpFile) when the relevant parameters are passed.
Similar API functions exist for all operations and functionality available in Windows OS. These functions hide the complexity of handling different processors, low level disk operations, security, network management, hardware drivers and so on. The code runs on all platforms supported by Windows API.
There are many more advantages of using the API model. But these will be discussed later.
Windows 95 Architecture Components
Windows 95 features a new device driver model, a new file system, a new 32-bit graphics engine, and new 32-bit print, communications, and multimedia subsystems compared to older version. Windows 95 is a 32-bit operating system with built-in connectivity support. It provides high performance, robustness, and complete backward compatibility.
Network Architecture
Networking services provide peer-to-peer as well as client-server networks over a variety of distances and connection media.
The networking model is an open standard. This model is composed of distinct layers of technology. Each layer is responsible for a specific function. All the layers together provide networking capabilities. The model is called Open Systems Interconnect (OSI) Reference Model, and the Institute of Electrical and Electronic Engineers (IEEE) 802 model. The lowest layer is called the physical layer and the highest layer is the application layer.
Here is a summary of what each layer does:
Application: This is where typical applications work. This has an end-user interface that allows for sharing and using network resources like remote hard disks or printers. All the applications we see are in this layer.
Presentation: Applications send data to the presentation layer for security management, conversion to lower level formats, encryption, etc.
Session: This layer creates a channel between the sending and receiving computer. This channel is used for all further communication in both directions. It also decides the method of understanding, packaging and transferring data.
Transport: When data is being sent across the session, there can be errors, retries and other abnormal conditions. This layer manages these errors and tries to recover from them.
Network: Computers refer to each other using English language names. Internally this needs to be translated into unique internal addresses across the network. This layer manages the name resolution and translation, routing the data to the correct location, switching across networks and so on.
Datalink: This layer packages the data into frames, manages errors and sends appropriate acknowledgements on receipt of valid frames.
Physical: This layer transmits the actual bits from one computer to other. Actually, the transfer occurs between one network card to the other in a format that is decided upon by the physical layer.
The most important aspect of this model is that each layer communicates with its corresponding layer in the other computers on the network. This reduces the complexity of interaction and provides a flexible method of changing a particular layer's properties without affecting the other layers.
What features do networks provide?
The above discussion was related to the intricacies of how the complex task of communicating across multiple computers can be performed in a structured manner. However from the point of view of the end-user, these complexities are completely hidden. Here is a list of what can be done to improve productivity and functionality from an end-user's point of view:
Sharing of resources: All computers having network access can share resources such as files, hard drives, CD-ROMs, printers, modems, secure file storage systems, optical devices, etc. Each user can decide who can access the resources on his/her own computer.
Connecting to servers: Personal file and resource sharing is practically usable only in case of small groups of users in one site. High capacity servers are usually required for larger number of users across multiple locations. Networking allows individual users to connect to servers and utilise the resources.
Electronic mail: Creating, sending, and exchanging mail between one or more computers across a wide geographical area is extremely easy with a good network infrastructure.
Accessing the computer from a remote computer using a modem: This is typically termed 'remote access'. This provides extensive features for persons who have portable computers to connect to their central servers using a simple modem from any location. Once connected and authenticated, they can work as though they were connected directly to the network.
E-mail using remote connection: Travelling employees can check and send mail by connecting to the central server using remote access. This provides mobility and continued access to time-critical messages. Travellers can connect to the company e-mail system right from their hotel room using a simple modem. This functionality can also be used for the field force to send data quickly to the head office for consolidation and quick decision making.
Printing when there is no printer available: Using networking it is possible to print a document even when you are not connected to the network printer. Whenever the connection is re-established using remote access, the printing will automatically take place. This is called offline printing.
Offline file usage: Like printers or email, you can also carry copies of files from the server and download them on the mobile computer. You can make changes to the file in an offline mode. When you connect to the network, the changes will be automatically synchronised with the central file.
Troubleshooting and administration: Many companies have offices at many locations. Each location may not have enough support staff to manage hardware or software problems. Using Remote administration functionality, central technical staff can configure and troubleshoot the computers at a remote site without having to travel. This saves time as well as cost.
Software upgrades: Using remote access and networking features, it is possible to manage the upgrade of software automatically without an engineer having to physically load it on each computer. This is called Automated Software Distribution.
Security management: Networks are used by many types of users. This makes the system more vulnerable than stand-alone computers from the point of view of the safety of the information stored on them. Therefore, networks requires a strong security mechanism. Network operating systems provide these features.
When you create a file on the server, you become the owner of the file. You can decide who should or should not look at or modify the file. This reduces the chances of tampering with data.
|