Computer users are familiar to different degrees with the operating system that gets their machines up and running, whether that is the Microsoft Windows, Apple Mac, Linux, ChromeOS or other operating system. The OS handles the links between hardware, the CPU, memory, hard drive, peripherals such as printers and cameras as well as the components that connect the computer to the Internet, critically it also allows the user to run the various bits of software and applications they need, such as their email programs, web browsers, word processors, spreadsheets and games.
While, operating systems seem firmly entrenched in the personal computer and their files, documents, movies, sounds and images, sit deep within the hard drive. Traditionally, software too is stored on the same hard drive for quick access to the programs a user needs at any given time. However, there is a growing movement that is taking the applications off the personal hard drive and putting them “in the cloud”.
The user connects to the Internet and “runs” the software as and when needed from a cloud server, perhaps even storing their files in the cloud too. This has numerous advantages for the user. First, the software can be kept up to date automatically without their intervention. Secondly, the software is independent of the hardware and operating system and so can be run from almost any computer with an Internet connection. Thirdly, if the user files are also in the cloud, then they can access and use their files anywhere in the world with a network connection and at any time.
The obvious next step is to make the entire process transparent by stripping the operating system from the computer and putting that in the cloud. The computer then becomes a sophisticated, but dummy terminal and its configuration and capabilities become irrelevant to how the user interacts with their files. Already most types of software are represented in the cloud by alternative or additional versions of their desktop equivalents but we are yet to see a fully functional cloud-based OS. For instance, systems such as Java were developed to allow applications to run in a web browser irrespective of the computer or operating system on which that browser was running.
Now, Yaoxue Zhang and Yuezhi Zhou of Tsinghua University, in Beijing, China, have at last developed an operating system for the cloud – TransOS. The operating system code is stored on a cloud server and allows a connection from a bare terminal computer. The terminal has a minimal amount of code that boots it up and connects it to the Internet dynamically. TransOS then downloads specific pieces of code that offer the user options as if they were running a conventional operating system via a graphical user interface. Applications are then run, calling on the TransOS code only as needed so that memory is not hogged by inactive operating system code as it is by a conventional desktop computer operating system.
“TransOS manages all the resources to provide integrated services for users, including traditional operating systems,” the team says. “The TransOS manages all the networked and virtualized hardware and software resources, including traditional OS, physical and virtualized underlying hardware resources, and enables users can select and run any service on demand,” the team says
The researchers suggest that TransOS need not be limited to personal computers, but offers the capacity to be enabled on other domestic (refrigerators and washing machines, for instance) and factory equipment. The concept should also work well with mobile devices, such as phones and tablet PCs. It is essential, the team adds, that a cloud operating system architecture and relevant interface standards now be established to allow TransOS to be developed for a vast range of applications.
“TransOS: a transparent computing-based operating system for the cloud” in Int. J. Cloud Computing, 2012, 1, 287-301