COMP 3000 2011 Report: WattOS

From Soma-notes
Jump to navigation Jump to search

WattOS desktop.png

Part 1

Background

This report contains information about the WattOS distribution. WattOS is a lightweight Ubuntu-based Linux. It was developed by Ronald Ropp, a technology consultant based in Portland, Oregon. WattOS celebrated its fourth release on August 14th 2011. It can be downloaded here and is approximately 540MB. WattOS is accessible to regular users and does not require command line expertise to use.

"The goal is to balance responsiveness, function and footprint and to maintain a somewhat minimalist interface so you do not lose a quick, efficient way to move around your apps and desktop space while not having to be a command line ninja to do so."


WattOS uses an LXDE desktop. In a comparison of lightweight desktops LXDE used the least RAM and power. This furthers WattOS's goal of lowering power consumption.

Release History

R4 released August 14th 2011.
R3 released January 10th 2011.
R2 released June 23rd 2010.
1.0 released July 17th 2009.

Installation

A WattOS iso is available for download here. The installation described in this report was installed in a virtual environment using VirtualBox. VirtualBox is available for download and can be installed using the wizard provided. I mounted the WattOS iso on a virtual drive and used it to create a new virtual machine in VirtualBox. Afterwards the VirtualBox new virtual machine wizard was used to configure the instillation.

Steps In New Virtual Machine Wizard

The amount of RAM available to WattOS was configured.
A hard disk was created for WattOS, this launched a 'Create New Virtual Disk' wizard.
The wizard provides the user a choice of creating a fixed sized disk or a disk with a dynamic size. I chose a dynamic size.
The wizard provides the option of choosing a location for the hard disk to reside on the host OS.
Start the newly created machine, this starts the 'First Run' wizard.
Select the drive containing the WattOS iso.

After a brief pause WattOS will boot and show the user this screen:
At this point the user may press tab to configure the system.
If tab is pressed a prompt appears.
I selected the option labeled install, afterwards an installation wizard opened to guide me through the installation process.

Steps In WattOS Installation Wizard

Selects a language.
Option of erasing the drive specified for WattOS's installation or to specify a partition.
Specify location and timezone.
Specify keyboard layout.
Specify username and computer's name.

The duration of the installation is approximately 2min. Upon completion WattOS displays a dialog informing the user that the computer must be restarted. After rebooting the user is presented with WattOS's Desktop: a green background prominently featuring an dragonfly. There are four applications on the desktop and a task bar at the bottom of the screen.

Basic Operation

WattOS's claim to fame is it's power saving ability. Since I installed WattOS on a virtual machine I was not able to accuratly measure and compare it's performance to another OS. I was able to test some of the features common to most modern operating systems such as: email, playing media, word processing, image editing and surfing the web. Below is a list of the applications I tested and attached screenshot. This is the first version of WattOS which does not include Firefox. Instead the developers chose the light weight, open source chromium browser from Google.

The Sylpheed email client is installed and can be configured to connect to several types of servers. All functionality associated with email clients is present.(compose, structured email hierarchy, drafts, address book search etc.)Figure 1

Figure 1 - Sylpheed email client

Audacious audio player is installed and can be used to create play lists and of course play songs. Figure 2

Figure 2 - Audacious audio player

Chromium Web Browser is installed and works. Downloading works as expected. Figure 3

Figure 3 - Chromium Browser

The File Manager has all functionality expected in a modern OS. Figure 4

Figure 4 - File Manager

The System task manager functions much like the windows equivalent and can be customized to display different information. Figure 5

Figure 5 - Task Manager

A power manager is supplied that can configure your system's power saving behavior including the rate that the hard disk spins whilst in a low usage state. Figure 6

Figure 6 - Power Manager

Usage Evaluation

WattOS uses an LXDE desktop which uses power and RAM conservatively. The OS is easy to use, all of it's functionality is available through the intuitive GUI. The functions of the OS do not require advanced knowledge of terminal commands or Linux. WattOS remains responsive even under heavy load. The applications installed start quickly and accomplish all routine tasks users perform including email, playing media, word processing, image editing and surfing the web. The instillation is easy and requires no knowledge of computers in order to complete. WattOS only requires 256MB to install and 100-120MB whilst running and can be run using a 366MHZ processor. It accomplishes all of the functionality of modern operating systems with minimal footprint and hardware requirements. I would recommend WattOS to any user looking for a light weight OS for older machines or a power saving OS to maximize battery life.

Part 2

Software Packaging

WattOS uses the Debian package management system. This system includes an Advanced Packaging Tool (APT) which can be used to update find and install packages.

'dpkg -l' can be used to list all installed packages
'apt-get upgrade' can be used to get upgrades to packages you've installed.
'apt-get install foo' is used to install foo.
'apt-get remove' can be used to recursively remove a package and packages that depend on it.

Major package versions

The following table displays information regarding WattOS's packages in R4, R3 and R2

Feature R4 R3 R2
Release Date 2011/08/13 2011/01/10 2010/06/23
Default Desktop LXDE LXDE LXDE
Package Management DEB DEB DEB
Office Suite GOffice GOffice GOffice
Processor Architecture i386 i386 i386
Journaled File Systems Btrfs, ext3, ext4, JFS, ReiserFS, XFS ext3, ext4, JFS, ReiserFS, XFS ext3, ext4, JFS, ReiserFS, XFS
Package R4 R3 R2
AbiWord: a full-featured word processor http://www.abisource.com/"> 2.8.6 2.8.6 2.8.2
alsa-lib: an audio library for use with the ALSA kernel modules http://www.alsa-project.org/"> 1.0.24.1 1.0.23 1.0.22
ATI driver: a proprietary Linux display driver for XFree86/X.Org by ATI, the Catalyst series http://ati.amd.com/products/catalyst/"> -- 8.780 8.723
Bash: an sh-compatible command language interpreter http://www.gnu.org/software/bash/bash.html"> 4.2 4.1 4.1
CUPS: a UNIX printing system based on the Internet Printing Protocol http://www.cups.org/"> 1.4.6 1.4.4 1.4.3
ISC DHCP: a server and client for automatic IP configuration http://www.isc.org/products/DHCP/"> 4.1.1-P1 3.1.3 3.1.3
Mozilla Firefox: a web browser for Windows, Linux and MacOS X http://www.mozilla.org/products/firefox/"> -- 3.6.13 3.6.3
FreeType: a free, quality, portable font engine http://www.freetype.org/"> 2.4.4 2.4.2 2.3.11
glibc: a C library for use with GNU/Hurd and GNU/Linux http://www.gnu.org/software/libc/libc.html"> 2.13 2.12.1 2.11.1
Gnumeric: a spreadsheet and a part of the GNOME Desktop http://www.gnome.org/projects/gnumeric/"> 1.10.13 1.10.8 1.10.1
GRUB: the GRand Unified Bootloader http://www.gnu.org/software/grub/"> 1.99rc1 1.98 1.98
GTK+: a multi-platform toolkit for creating GUIs http://www.gtk.org/"> 2.24.4 2.22.0 2.20.1
libgnome: the library that provides access to the non-X11 dependant parts of the GNOME framework http://www.gnome.org/"> -- 2.32.0 2.30.0
Package R4 R3 R2
Linux kernel: a UNIX clone written from scratch by Linus Torvalds http://www.kernel.org/"> 2.6.38 2.6.35 2.6.32
LXDE: a lightweight, fast and energy-saving desktop environment http://www.lxde.org/"> 0.5.0 0.5.0 0.5.0
Module Init Tools: a set of programs for loading, inserting, and removing kernel modules for Linux (versions 2.5.48 and above) https://modules.wiki.kernel.org/"> 3.12 3.12 3.11.1
NVIDIA: a proprietary display driver for Linux, FreeBSD and Solaris http://www.nvidia.com/object/unix.html"> -- 260.19.06 195.36.24
Openbox: a standards-compliant, lightweight, extensible window manager http://openbox.org/"> 3.4.11.2 3.4.11.1 3.4.10
OpenSSH: a client and server for encrypted remote logins and file transfers http://www.openssh.com/portable.html"> 5.8p1 5.5p1 5.3p1
OpenSSL: a library for providing encrypted transport layers http://www.openssl.org/"> 0.9.8o 0.9.8o 0.9.8k
Perl: Larry Wall's Practical Extraction and Reporting Language http://www.perl.org"> 5.10.1 5.10.1 5.10.1
Python: an interpreted, interactive, object-oriented programming language http://www.python.org/"> 2.7.1 2.6.6 2.6.5
Qt/X11: a C++ application framework for writing graphical applications http://www.trolltech.com/products"> 4.7.2 -- --
Samba: a free software re-implementation of SMB/CIFS networking protocol http://www.samba.org/"> 3.5.8 3.5.4 3.4.7
udev: provides a dynamic /dev directory and persistent device names http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"> 167 162 151
Vim: an improved version of the editor "vi", one of the standard text editors on UNIX http://www.vim.org/"> 7.3 7.2 7.2
VLC: a cross-platform media player and streaming server http://www.videolan.org/streaming/"> 1.1.9 -- --
X.Org: the X.Org Foundation's public implementation of the X Window System http://xorg.freedesktop.org/"> 1.10.1 1.9.0 1.7.6
XZ Utils: data compression software with high compression ratio http://tukaani.org/xz/"> 5.0.0 4.999.9 --

Package Upstream

WattOS R4 was released shortly prior to the writing of this report as such most of the packages are the most recent versions. With the exception to LXDE the desktop package. This is interesting because the LXDE package is one of WattOS's major power saving packages. A possible reason for this old package is that the most recent version of LXDE has higher system requirements.


The linux kernel (version 2.6.38.8) was released 2011-06-03. The newest stable version (3.1.1) was released 2011-11-11.
This means the kernel is 5 months old.

libc is version 2.1.3. The current version of libc is 2.1.4.
This means that the libc package is the second latest version.

GTK+ (2.24.8)is the current version which was released November 14, 2011.

GRUB (1.99) is the current version which was released May 14, 2011.

VIM (7.3) is the current version which was released August 8, 2010.

WattOS R4 uses the LXDE desktop version 0.5.0.
The current version is 0.3.2.1 and was released January 26, 2009.

Abiword (2.8.6) is the current version and was released Oct 27, 2009.

alsa-lib(2.8.6) is the current version it was released January 31, 2011.

WattOS R4 uses XZ Utils version 5.0.0; the current version is 5.0.3.

WattOS R4 uses Gnumeric (1.10.13) released in February 2011. The current version is 1.10.17 was released in July 2011.

Initialization

PS -ejH gives a complete listing of processes including init. The TTY field is blank for most of the processes save for getty and Xorg.
Getty is a program that manages virtual and physical terminals on Unix-like systems.
Xorg is a server.
There are also several daemons in the init process tree. Deamons provide services to the system and other processes. The dbus-daemon provides is an inter process communication service whereby processes communicate through the daemon. The avahi-daemon provides a service discovery program that discovers local services and publishes services on the local machine. The udisks daemon is started by dbus. It is a command line interface for disk devices. It can be used to enumerate devices, mount devices and much more; details of which can be found in the udisks man page.

Kernel Initialization

By using dmsg I was able to look at the kernel's initialization. Upon inspection I discovered that: The first step looks at the bios' provided physicval RAM. Afterwards the memory mapping is initialized and a kernel is paravirtualized on the bare hardware. The kernel boots an image of another kernel and several subsystems are initialized, including: cpuacct, memory, devices, freezer, net_cls and blkio. Then several caches are initialized. Lastly the ext4 file system cleans up orphaned files.

References

Larabel Michael "Power & Memory Usage Of GNOME, KDE, LXDE & Xfce" March 08, 2010 http://www.phoronix.com/
Reed, Michael "Developer Interview: Ronald 'wattOS' Ropp" Apr 25, 2011 http://www.linuxjournal.com/
baxter, biff "Biffs Blog - wattOS R4 release" August 14 2011http://www.planetwatt.com
table source distrowatch.com Saturday 13 August 2011 http://distrowatch.com <references />