April 09 2011

Switching to Linux: Why Dual-booting is Best

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , ,

With the user-friendly Linux distribution Ubuntu gaining popularity at an astounding rate, you may be considering making the move from Windows to Linux. If you are, then you will have wondered how you will work and play without the applications and games you use every day in Windows.

Windows applications can be run in Linux, just not natively. You have two main options: Emulation and Virtualization. Neither are as effective as dual-booting but I will explain them here and their drawbacks.

Emulation allows you to run Windows applications through a “translation layer” which tricks the applications into thinking they are running on Windows. Although great advances have been made by the WINE Project and commercial offshoot, Cedega, many applications are still unsupported. Support for certain applications may even vary depending on your hardware configuration.

Virtualization takes running Windows applications on Linux a step further and is capable of running an entire Windows (or any other) operating system straight from your Linux desktop. With the free application VirtualBox, you can create a “virtual machine” and install any version of Windows you wish onto it.

A virtual machine is switched on and off exactly like a normal PC, except the entire operating system runs inside a window on your Linux desktop. You may then install any Windows applications you wish into the virtual machine and use them as you normally would.

Running applications natively in Windows, via a virtual machine, is far more reliable than running them through a translation layer, but virtualization has its drawbacks too.

When you run Windows in a virtual machine you are effectively running two operating systems, simultaneously, on one computer. This has obvious performance drawbacks. Although most office-type applications could be run this way, if your office insists on a particular piece of Windows-specific software, performance issues and lack of DirectX support severely hampers game applications.

The only way to successfully run all your Windows applications at their full capacity is to install Windows and Linux as dual-boot operating systems.

Dual-booting is the process of installing two operating systems side-by-side, to be run independently. By this method you will be presented with a menu listing your operating systems when you switch on your computer. this allows you to choose the OS most suitable for the tasks at hand, be it work or gaming.

I personally run Ubuntu 7.04 and Windows XP as a dual-boot system. I mostly use Ubuntu for day-to-day tasks and run Windows XP purely for gaming. This way, dual-booting grants me access to the best features of both operating systems and allows me to use my computer to its full potential.

Incoming search terms for the article:

July 29 2010

Linux and Unix Software Development and Its Use in Embedded Systems

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Unix and Linux are both POSIX compliant operating systems. POSIX defined a standard interface to the low-level operating system which greatly reduces the amount of work required to produce UNIX and Linux software.

Unix and Linux software development

The standard user command line and scripting interface was based on the Korn shell. Other user-level programs, services and utilities include awk, echo, ed, and hundreds of others. Required program-level services include basic I/O (file, terminal, and network) services. POSIX also defines a standard threading library API which is supported by most modern operating systems.

Currently POSIX documentation is divided in three parts:

POSIX Kernel APIs

POSIX Commands and Utilities

POSIX Conformance Testing

Linux Development requires both POSIX and 3rd party/native GDI and GUI frameworks to create usable Linux and UNIX software. DOTNUTSHELL can create highly scalable and usable POSIX software which can be run on UNIX and Linux. The software can range from simple utilities to distributed software which has to be run on heterogenous platforms such as Linux, UNIX and Windows.

Linux and UNIX development is also the desired platform and framework for the creation of embedded software:

Embedded software and embedded systems, are those that require 100% of resources shared across a single platform often used to monitor, update and control hardware.

DOTNUTSHELL has experience in creating robust, efficient embedded software running as a monolithic Operating system, or a Kernel add-on in an Embedded Linux distribution.

It is the responsibility of the underlying embedded software system to maintain state information, persist changes to hardware configuration as well as gaurantee transaction and concurrency control at the hardware interface-level.

We have experience in creating:

MontaVista based embedded software

Embeddix based embedded software

Linux Driver creation

low-level hardware and bus interface strategies and mechanisms

I/O mapping and application/kernel space mixing

Real-time application development

Cross platform development

Assembler/C/C++ based embedded software development

POSIX development

RISC/PowerPC405 & 82xx, MIPS Development

Incoming search terms for the article:

July 25 2010

Switching to Linux: Why Dual-booting is Best

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , ,

With the user-friendly Linux distribution Ubuntu gaining popularity at an astounding rate, you may be considering making the move from Windows to Linux. If you are, then you will have wondered how you will work and play without the applications and games you use every day in Windows.

Windows applications can be run in Linux, just not natively. You have two main options: Emulation and Virtualization. Neither are as effective as dual-booting but I will explain them here and their drawbacks.

Emulation allows you to run Windows applications through a “translation layer” which tricks the applications into thinking they are running on Windows. Although great advances have been made by the WINE Project and commercial offshoot, Cedega, many applications are still unsupported. Support for certain applications may even vary depending on your hardware configuration.

Virtualization takes running Windows applications on Linux a step further and is capable of running an entire Windows (or any other) operating system straight from your Linux desktop. With the free application VirtualBox, you can create a “virtual machine” and install any version of Windows you wish onto it.

A virtual machine is switched on and off exactly like a normal PC, except the entire operating system runs inside a window on your Linux desktop. You may then install any Windows applications you wish into the virtual machine and use them as you normally would.

Running applications natively in Windows, via a virtual machine, is far more reliable than running them through a translation layer, but virtualization has its drawbacks too.

When you run Windows in a virtual machine you are effectively running two operating systems, simultaneously, on one computer. This has obvious performance drawbacks. Although most office-type applications could be run this way, if your office insists on a particular piece of Windows-specific software, performance issues and lack of DirectX support severely hampers game applications.

The only way to successfully run all your Windows applications at their full capacity is to install Windows and Linux as dual-boot operating systems.

Dual-booting is the process of installing two operating systems side-by-side, to be run independently. By this method you will be presented with a menu listing your operating systems when you switch on your computer. this allows you to choose the OS most suitable for the tasks at hand, be it work or gaming.

I personally run Ubuntu 7.04 and Windows XP as a dual-boot system. I mostly use Ubuntu for day-to-day tasks and run Windows XP purely for gaming. This way, dual-booting grants me access to the best features of both operating systems and allows me to use my computer to its full potential.

Dan R provides tech support to the Green Bay area via Green Bay Tech Support