Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Review: Evaluating MKS Toolkit for Developers 8.6

April 2004

Review: Evaluating MKS Toolkit for Developers 8.6

Reviewed by Emmett Dulaney

I first started working with the MKS Toolkit more than a decade ago, and was immediately impressed with the product. At that time, I needed a way to add awk and grep functionality to the DOS platform, and found no better solution than the toolkit from MKS (an abbreviation for Mortice Kern Systems Inc.). Over the years, the version numbers have changed, and the number of variations of the Toolkit has grown beyond the Interoperability package to include six other varieties. When the opportunity presented itself to review the Toolkit for Developers, I welcomed it.

The Product and Its Versions

Although many years have passed since the first release of the product, the concept behind it remains the same. The MKS Toolkit allows you to obtain Unix/Linux functionality on a Microsoft platform by providing a set of executables that work the same as those in the operating system to which you're most accustomed.

MKS has segmented their product offering to try to reach a larger audience, but not overwhelm them with more than they need. Listed in order from smallest in feature set to largest, the products include:

  • MKS Toolkit for Power Users
  • MKS Toolkit for System Administrators
  • MKS Toolkit for Developers
  • MKS Toolkit for Interoperability
  • MKS Toolkit for Professional Developers
  • MKS Toolkit for Enterprise Developers

With but an occassional exception, each successive version contains all the tools and functions of the one preceding it. For example, the MKS Toolkit for System Administrators contains everything found in the MKS Toolkit for Power Users and more; MKS Toolkit for Developers contains everything found in the MKS Toolkit for System Administrators and more, etc.

Having worked with the Toolkit for Interoperability before, I turned my attention to the MKS Toolkit for Developers for this review. It contains three shells (Bash, Korn, and C), as well as hundreds of commands that can be given from the command line, and some scripting capabilities (sed, awk, Perl, etc.).

Figure 1: You must register the product to complete the installation.

Version 8.6 will install on Windows XP, Windows 2000, Windows NT 4.0, and the Windows ME platforms. The Setup Wizard requires you to register the product (see Figure 1) — a step you must do to get a PIN number and complete the installation (no PIN = no install).

Because the XP lab machine on which I was installing the software did not have Internet access, I chose the fax option, which printed out a form letter containing my serial number and registration information. I then faxed that to MKS — to this day, I'm still waiting on a response from that fax.

After waiting several days for that response, and with no other feasible option, I put a modem on the machine, configured a dial-up connection, and submitted the registration electronically. Immediately, a return email arrived with the necessary PIN number and I was able to complete the installation. I won't dispute the fact that I'm a curmudgeon, but I find it hard to believe that every other lab machine in the world has Internet access and that no one has encountered this problem before.

During the installation, the software will try to register a number of file extensions with this application. The list includes: .mk, .Z, .gz, .tar, .cpi, .cpio, and .pax. You can choose (by unchecking the appropriate box) not to associate any of those extensions with the application. Strangely enough, if any of the extensions already have an application association, then you cannot choose to associate this application with them (the checkboxes to do so are disabled). After installation and configuration is complete, you can then tweak any associations using the assoc utility.

There are three choices from which to select during the installation:

  • Typical (the default)
  • Compact (when hard drive space is at a premium)
  • Custom (pick and choose what components you want to install)

The Custom selection allows you to choose among the following components:

  • Examples (Unix programs that can be ported to Windows)
  • Documentation (mostly written as Adobe .PDF files, and man pages)
  • Connectivity Tools (secure shell, rsh, telnet, and xterm)
  • Perl
  • Dictionary
  • MKS CGI (used for running Korn shell scripts via CGI)
  • Evaluation Guides (scripts and programs)
  • TK Scheduler (think of cron)
Figure 2: Configuration is accomplished through a set of tabbed options in this dialog box.
A peculiarity that I noted back with version 7 still exists — a command button labeled "Change" appears on the dialog box but is never enabled, no matter what option or component you highlight. I assume its intent is either to let you change the path in which the installation will occur or to choose only a subset of the component. If you choose the Typical installation, then a similar command button is present, available, and used for this purpose.

Feature Set

The toolkit is POSIX.2 compliant, and contains more than 350 utilities. Among those utilities are all the familiar ones in Unix/Linux, including grep, cat, rm, touch, ls, vi, df, awk, etc. Besides being able to run them from the command line, you can now run many utilities from within the graphical interface.

Figure 3: The vpax wizard walks you through the creation of an archive set.
Configuration of the Toolkit environment is accomplished through the dialog box and tabs shown in Figure 2. This utility can be run in the GUI, or you can accomplish the same thing from the command line with the rconfig utility.

SNMP functionality, along with the necessary utilities, is built into the Toolkit, and you can configure traps as needed. Backups are available with tar, cpio, pax, and vpax (a visual version of Pax). With vpax, the wizard shown in Figure 3 walks you through the steps of creating an archive.

Testing A Few Utilities

Figure 4: The visual Display Free Space utility puts the exhibit in a familiar format.
With so very many utilities included, it is impossible to discuss them all, so I selected four on which to focus. The first was the visual disk free command shown in Figure 4. The ability to see the free space in such a simple manner was quite appealing. The same information is available from the command line by using the syntax: gdf -c.

The second tool I focused on was passwd. This tool is fully integrated into the Windows environment and allows you to change your password, or that of another user, just as you can do in the Unix/Linux world. You can specify a domain name (-D), and hostname (-S).

The third utility I chose was the one that I have the most trouble living without: awk. MKS includes both the MKS AWK utility (awk), and the GNUI version (gawk). Both work flawlessly and allow you to manipulate text in ways that are virtually impossible (and time consuming) to do in their absence. When you couple awk with sed and grep, you wind up with three tools in a toolbox that easily and effortlessly justify the price of this software.

For the fourth utility, I chose a collection of tools related to scheduling. MKS integrates with the Windows Task Scheduler and uses it to actually run the tasks, while the supplied utilities act more like interfaces. You'll find all the tools you would expect: at, batch, crontab, as well as taskrun, and wts (the same as at, but for a remote machine). For a graphical interface, there is the MKS Toolkit Scheduler that lets you pick a utility and configure its frequency, as shown in Figure 5.

Figure 5: The Toolkit Scheduler visually allows you to interface with the Windows Task Scheduler.
Going Beyond Standard Utilities

Not only does the toolkit offer tools for one operating system that emulate those in another, but it is also a useful as an instrument of integration. You can establish a session between the two operating systems using rlogin, telnet, etc., then run commands remotely with rsh, rexec, or ssh. You can also transfer files using any of the backup utilities, rcp, or sftp.

MKS also includes a number of unique tools they've created to solve tasks that other utilities don't. The assoc utility (mentioned during the installation) is one of these, allowing you to write specific entries to the registry. Some of others are: filebox (for bringing up the open/save dialog box), member (for working with group memberships in a Windows environment), and registry (for directly accessing and viewing entries within the registry).

Items of Note

An evaluation copy of the Toolkit can be requested from MKS. In the evaluation copy, the porting and monitoring portions are good for 30 days, while the scripting functions are only good for 7 days.

The Enterprise Developers version of the Toolkit differs from the basic Toolkit for Developers in that it also offers:

  • Server
  • Advanced development utilities
  • Non-graphical APIs
  • Tcl development APIs
  • X, Motif, OpenGL APIs
  • Wintif

Besides the toolkits, MKS also has a product called AlertCentre that can be used for job scheduling, monitoring, and alert generation.


If you are looking for a way to use the tools you've become familiar with in the Unix/Linux world on Windows, add Unix functionality to Windows, or add real power to the command line, then you will find no better set of products than the MKS Toolkit. It offers all of the expected commands to the Windows world and enhances them by adding graphical aspects to many.

About the Vendor

MKS Interoperability Products
12450 Fair Lakes Circle, Suite 400
Fairfax, VA 22033
Phone: 1-800-637-8034 or 1-703-803-3343
Web Home Page: http://www.mkssoftware.com
Resource Kit: http://www.mkssoftware.com/reskit
FAQ: http://www.mkssoftware.com/support/faqs
Technical Support: [email protected]

Emmett Dulaney is the author of several books on Linux, Unix, and certification. He is a former partner in Mercury Technical Solutions, and can be reached at [email protected]


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.