Wednesday, July 6, 2011

OS ROM CHIP: ENSURING ORIGINAL SOFTWARE DELIVERY AND MINIMIZED MAINTENANCE ACTIVITIES

OS ROM CHIP: ENSURING ORIGINAL SOFTWARE DELIVERY AND MINIMIZED MAINTENANCE ACTIVITIES


Rahul Yadav
E-mail: yadav.rahul@live.com
Ashwin Perti
E-mail: ashwinperti@abes.ac.in


Department of Information Technology,
Academy of Business and Engineering Sciences Ghaziabad, India.




Abstract: In the heart of our proposal lies an enterprise hardware architecture named as ORC: Enterprise Solution, where we have got success in finding the concept of eliminating hard drives from the computer system and enhancing the system performance and security by centralized program and data access. The idea of the hard disk free computer system is come from the Netware technology, where a system can boot from using network services and there is no need to install the operating system on each host, this needlessly require a number of network resources and unnecessary use of bandwidth. Operating System architecture is presented which do not require both the secondary storage and network boot, with the help of ORC Systems. This has fallowing important consequences; there is no need to sell, purchase, or installation of Operating Systems result in less effort in maintenance activities, no piracy of system software, centralized program and data access and enhanced security.

Key Words and Phrases: Operating System, Secondary Storage, Network, Embedded Systems.

I. Introduction
A modern computer system consists of one or more processors, some main memory, disks, printers, network interfaces and other input/output devices. All in all, a complex system, writing programs that keep track of all these components and use them correctly, let alone optimally, is an extremely difficult job, and with the dozens of things that could go wrong when reading a disk block, it is unlikely that many programs could be written at all [1]. For the purpose we require Operating Systems.
The concept of the operating system as primarily providing its users with a convenient interface is a top-down view. An alternative, bottom-up, view holds that the operating system is there to manage all the pieces of a complex system [2].

II. History of Operating Systems
The first true digital computer was designed by the English mathematician Charles Babbage (1792-1871). Although Babbage spent most of his life and fortune trying to built his “analytical engine,” he never got it working properly because it was purely mechanical, and the technology of his day could not produce the required wheels, gears, and cogs to the high precision that he needed. Needlessly to say, the analytical engine did not have an operating system. As an interesting historical aside, Babbage realized that he would need software for his analytical engine, so he hired a young woman, named Ada Lovelace, who was the daughter of famed British poet, Lord Byron, as the world’s first programmer. The programming language Ada is named after her [3].
After Babbage’s unsuccessful efforts, little progress was made in constructing digital computers, until World War II. Around the  mid 1940s Howard Aiken at Harverd, John von Neumann at the Institute of Advanced Study in Princeton, J. Presper Eckert and William Mauchley at the University of Pennsylvania, and Konrad Zues an Germany, among others, all succeeded in building calculating engines using vacuum tubes. The usual mode of operation was for the programmer to sign up for a block of time on the signup sheet on the wall, then come down to the machine room, insert his or her plug board into the computer, and spent the next few hours hoping that none of 20,000 or so vacuum tubes would burn out during the run, virtually all the problems were straightforward numerical calculations, such as grinding out the tables of sine(s) and cosine(s).  By the early 1950s, the routine had improved somewhat with the introduction of punched cards. It was now possible to write the programs on the cards and read them in, instead of using plug boards; otherwise the procedure was the same, and this time period of 1945 to 1955 is known as the first generation of computer. Next improvement in the computation scenario was in the form of second generation of computer by the advancement of transistors in the mid 1950s, computers become reliable enough that they could be manufactured and sold to paying customers with the expectation that they would continue to function long enough to get some useful work done, and leads to evolution of Batch systems [4]. Such growth in the field of computation leads up the age of personal computing scenario till date by enhancing the third generation of ICs and multiprogramming systems in the late 1970s [5].
Generation
Time
Specifications
I
1945-1955
Vacuum Tubes
Plug boards, and
Punched cards
II
1955-1965
Transistors and
Batch Systems
III
1965-1980
ICs and
Multiprogramming
IV
1980-current
Personal Computing,
Distributed Systems


As the computational power grows and the variety of systems were developed a variety of system software in the form of operating systems were also developed to operate such machines. As illustrated in the table below.

System
Operating System
IBM
Unix, Linux
Intel
Unix, Linux, Dos, Windows
Sun Microsystems
Solaris
Apple Corporation
Macintosh


III. Scope of proposal
Once we have purchased the hardware for our personal computer system, now we need to configure it to make it ready for use. In the hardware part we have the motherboard, processor(s), primary memory, secondary memory, input/output devices, network interfaces, and power devices [6]. Once we have gone through the assembly of these components into a single system now we need to install the operating system into it which will provide an interface between machine and user. Typically the operating system comes in an optical disk to install it into the system we need to boot our system with the help of this disk, which result in an installation wizard typically known as setup. We need to fallow the instructions in order to install the operating system. All the files of operating system take their space in a secondary storage device typically a hard disk.
The usage of the optical disks as a media cause in the piracy of the software in a large scale, because the only method exist for the software registration is use of registration key typically known as CD key. This CD key can be used in different isolated systems for the installation purpose. CD key can be broken by modifying the files on the disk. Such kind of piracy result into heavy commercial loss for the developers. The purpose of our proposal is to avoid the duplicity and piracy of the software. For the purpose we can use the operating system chip to be built in the system in the time of manufacturing. This approach is better solution for both the developers and users. Developers can cost their effort by selling only the genuine copy of software chip, and for the user point of view they do not need to install the operating system into secondary storage. Operating system is stored into a read only chip, so the system files are not vulnerable to the malicious software like viruses, Trojans and spy ware, this result into less maintenance activities, and stability of the system configuration.

IV. Overview of system with ORC
We need not such operating system delivery methodology by using optical bootable media, which need to be installed in the hard disk; instead operating system should be embedded into a ROM chip which can be mounted over the motherboard of the system. Another existing approach where we need not to install the operating system into the hard drive of each local system is net ware(s), where we can boot a system from the remote location. In this approach the copy of operating system is installed in a dedicated server system, we configure the client by specifying the network address of that server in the boot options of the clients BIOS, and on each boot process the ROM BIOS loads the operating system from the server system using network services. Typically a Windows operating system take about 1.7 GB of disk space and on every system boot process more than 23 processes of various sizes are initialized. So in the case of network booting operating system we needlessly have to transfer a heavy amount of data from server system to the client system. So this approach is more cost effective than embedded operating system in the form of band-width usage on each boot process. There will be two sorts of solutions for ORC systems.
1.      Personal Solution
2.      Enterprise Solution
Before discussing these solutions we need to discuss the essential services to be provided by the operating system, on which basis we will identify which component of operating system are required as a part of embedded operating system in both the cases.

V. Functionalities offered by operating systems
Here we are going to discuss the main specifications, environment, components, working and methodology of modern operating systems. An operating system provides an environment for the execution of programs [7]. All its services are meant to serve the users i.e. each service is responsible to reduce the user’s programming burden e.g. the user need not specify where the program should be loaded in the memory, it should be decided by the memory management service. Similarly the user should not be required to give a set of commands to find the path of his or her file [8]. The graphical user interface of the operating system should provide the facility to travel through the system directories just by mouse click. Each service should be provided by an independent component of an operating system. Brief mention of its services is as follows:
Operating system services
1. Process management
2. Main memory management
3. File management
4. I/O system management
5. Secondary storage management
6. Security and protection
7. Network management

There can be many other services (e.g. providing the good graphical user interface) depending upon the kind of operating system.

VI. Overview of Hardware Architecture
Figure VI.1 shows hardware architecture for the existing systems in the form of block of components [9].



Figure VI.1
Now if we use the operating system chip instead of disk drive installation of operating system the architecture will look like Figure VI.2; and in this sort of system architecture we will be able to even eliminate the disk drive from the system. The system can boot from the embedded operating system chip, and the data access and storage can be provided by using network services. The additional functionalities for the system programs can be achieved by installing the application programs in the local disk (if used), or to a virtual disk drive in the network. Elimination of the disk drive(s) can not be recommended for personal computing users, for the upcoming years due to the cost, availability and performance constraints with the network resources when concern with the computational habits of home users of computers. But for the enterprise purpose where the network availability, cost has no concern against the other parameters like security, centralized data access, backup and recovery of data; it is best practice to eliminate all the local drives and provide the users access only the network storage space where all these specification can be implemented more efficiently and enhance the security of the data of higher degree than a data into local system. Robustness of the system will be additional advantage and the system will be more powerful against failures.



Figure VI.2

VII. ORC: Personal Solution
As mentioned in section IV there are two sorts of solutions for ORC systems. For the personal computer users we not recommend to eliminate the disk drives, as these users uses the network facilities less frequently due to their computational habits and network constraints as well. They keep all their data, and more often multimedia contents into local drives, which take a huge amount of storage space and accessed frequently without any modifications. A local survey on the personal computer users of ABES persons that more than 80% of their computation time goes with viewing and exploring multimedia contents of audio and/or visual types. These are results among the highly educated academic professionals and students of high-tech related courses. The figures will surely go worst with the people of non-technology fields. So as an outcome we can not recommend eliminating the disk drives from the personal solution of ORC. The architecture of hardware components of the system will be as following figure VII.1.

Figure VII.1
Typically we will differentiate the installed software of computer system into two categories, system software and application software. For the enterprise solution we will consider only the system software and let the application software need to be installed and accessed from the central server. For the ORC: Personal Solution we will consider both categories to take storage space on the single system, as depicted in figure VII.2.

Figure VII.2

VIII. ORC: Enterprise Solution
ORC implementation is best suited approach for the Enterprise Solution than Personal Solution. In this approach we will be able to eliminate the disk drives from the client system completely. This solution is based on the client server architecture when merged with ORC concept. For the ORC: Enterprise Solution we will consider the system files to take storage space on ORC: Enterprise Solution Chip. It is obvious question that though we are not going to use local drives which may contain the files for the application program because it is required for the system to be consisting of the modules with fallowing essential facilities, as these are backbone of any system [10]
1.      Network access
2.      Drivers for the standard hardware
3.      Web Browsing
4.      Programming Language Support and Run Time Environment
The answer is use of virtual disk drive on the network. A virtual disk [11] on the network is not a simple disk drive located in the some of remote system, but it is a part of the disk drive on remote system typically of the server system, and we use virtual disk drives most frequently for providing the storage space for the users registered on a network domain, and sometimes it is referred as “Z” drive on the network. On each system boot first the system files are loaded from the ORC and the essential applications and local settings are loaded from the virtual drive. All the work done by the users of ORC: Enterprise will be saved in the central server. The applications can be personalized and installed only on the virtual drive, which also keep the system logs.

IX. Advantages of ORC
Here we have a list of some of the advantages offered by ORC over the conventional computing systems.
1.      ORC de-motivates the piracy of the system software due to use of ROM chip, so that users can get the genuine and authenticated copy of original and un-tempered working software; this result into increased customer satisfaction, and no financial loss to developers due to use of piracy of software.
2.      There is no need to install the operating system by running the setup. ORC chip provide the plug, personalize and play facility for the user. This also reduces the efforts devoted to the system maintenance activities.
3.      System files are stored in ROM chip so these files can not be infected by the malicious programs like viruses.
4.      The chances for operating system to be corrupt are very less so there is no need to install the operating system frequently.
5.      Centralized data access enhances the security of both the system and data, and data will be safe even if the local system crashes.
6.      The chances of operating system failure are minimal with ORC, so the frequency of system maintenance activities is decreased. The effort devoted to maintenance activities is also reduce as ORC offers quick restore process for the computer system.

X. Limitations of ORC
Some limitations associated with ORC can be listed as.
1.      ORC is one of the best approaches for the personal computing, but we can not offer all the advantages of ORC as we can not remove the local disk from the ORC: Personal Solution.
2.      ORC is cost effective along with its numerous advantages.
3.      Its full implementation requires high degree of network support for system to work properly.

References

[1] TANENBAUM, A.S.: Operating Systems: Design and Implementation, 2nd Ed. SP: Pearson Education, 2005.

[2] LAMPSON, B.W.: “Hints for Computer System Design,” IEEE Software, vol. 1, pp. 11-28, Jan. 1984.

[3] DEITAL, H.M.: Operating Systems, 2nd Ed., Reading, MA: Addison-Wesley, 1990.

[4] BROOKS, F.P., Jr.: The Mythical Man-Month: Essays on Software Engineering, Anniversary edition, Reading, MA: Addison-Wesley, 1996

[5] WALIA, E.: Operating System Concepts, ND, Khanna, 2002

[6] CHEN, P.M., LEE, E.K., etc., “RAID: High Performance Reliable Storage,” Computing Surveys, vol. 26, pp. 145-185, June 1994.

[7] STALLINGS, W.: Operating Systems, 2nd Ed. ND: Pearson Education, 1995.

[8] COMER, D.: Operating System Design, The Xinu Approach, Englewood Cliff, N.J.: Prentice Hall, 1984.

[9] BACH, M.J., The design of UNIX Operating System, Englewood Cliff, NJ: Prentice Hall, 1987

[10] SALUS, P.H., “UNIX At 25,” Byte, vol. 19, pp. 75-82, Oct. 1994

[11] CORBATO, F.J.: “On Building Systems That Will Fail,” Commun. of ACM, vol. 34, pp. 72-81, June 1991.