Warrah - 5/11/2010

Written on Wed, 12 May 2010 07:00:00 +0000 - Last updated on Wed, 12 May 2010 07:33:15 +0000A journal entry in the development of the Warrahoperating system, dated May 11, 2010.

Progress

Progress is being made on the prototype executive. This prototype version can be found at the following URL: http://experimental.eightzees.net/Warrah/ Currently, applications can be launched (through the console) and basic dialogs are implemented. It will not yet work on Windows.

Applications and Services

Previous Warrah notes used these terms interchangeably. However, as of now they are different but related concepts. The basic difference between an application and a service is that applications have a graphical interface while services do not. Services run in the background like a daemon; they can also be interacted with through the system API and thus also function as libraries. In addition, the executive provides several "core services" that are tightly integrated within the system. These include things like file management. It is expected that applications use the Warrah file management system instead of the built-in native file I/O capability to take advantage of Warrah's virtual filesystem capabilities; i.e. remote servers or even web services can be represented as virtual filesystems, with no bearing on the application accessing the filesystem (like Fuse).

Application Registration

Currently applications are assumed to be within the /Applications/ directory and can be executed without any prior approval. However, code should not be allowed to run on any system without the user's explicit approval. Thus, the final version of Warrah will require users to enter their password in order to "register" an application with Warrah. This procedure not only verifies that the user (and not some malicious agent) intends to run this code on her system, but it also has the effect of associating a global application name with the application bundle. This global name resembles a Uniform Type Identifier (http://developer.apple.com/macosx/uniformtypeidentifiers.html) and is what is used by the system when opening or making calls to an application. The "friendly name" is the name shown to the user underneath the application icon. This name does not have to be the name of the application bundle, which is the physical file that contains the application. Registration is only required once. Once an application is registered with Warrah it can be used freely. Applications added through software repositories do not need such registration; the repository manager will automatically register it for you. However, password authorization is required to adjust the settings for the repository manager. Applications created through the application editor do not need registration either.

Application Configuration

Every application includes a configuration file. This file specifies program launch behavior such as what user interface to show on launch and what module is the entry point. It may also contain various other variables specific to that application. It should be possible, by choosing a context menu item, to edit the configuration for an application.

Inter-Application Communication

Using an application's or service's global name, one process is able to call methods belonging to another.