Callum

Introduction to UNIX assembly programming

Introduction to UNIX assembly programming is available in several formats, choose the one that suits you best.

Actually you can:

  • read it online
  • download compressed html tarball and read it offline
  • download RTF file and read it or print it
  • download compressed sgml source (DocBook DTD) and render it to whatever you want

You can also download source and binary examples described in the document here.

The tarball is the largest file (about 1.5 MB in size).

If you don’t want to download it but still read it online, here are some frame-based links that expose all the examples in separate frames:

This document contains many screenshots that help understand what’s going on. You can also see them when reading the text online by clicking on the images. The docbook source comes with a Makefile that will compile all your favorite formats from just one source file. Just copy and paste the following lines into a console window:      cd doc       make html pdf xps This would compile HTML, PDF and XPS documents from single XML source file for UNIX systems For Windows users there is a precompiled binary that can be used as a command-line tool to render XML source into whatever you want. Just copy and paste these lines into a console window:      cd doc      make winhelp

UNIX assembly programming pdf manual is available in several formats, choose the one that suits you best.

Actually you can:

read it online

download pdf file and read it or print it

You can also download source and binary examples described in the document here. The pdf file is about 1.5 MB in size so it’s a bit bigger than other format files from this article. Here are some frame-based links that expose all the examples at once: This document contains many screenshots for better understanding how things work.

Asmutils

Asmutils is a set of Linux utilities that make the installation and use of an advanced Asynchronous File System (A file system with asynchronous I/O) significantly easier.

Asmutils consists of:  *   asmoperfs: tool to manage per-thread or application specific POSIX async per-operation mode;  *   asmon: daemon for monitoring asynchronous I/O usage by applications;  *   asmutil(8): tool to see status information and change parameters in running applications;  *   libasyncns: A library implementing the consolidation API.

If you want to build this package, you will need gcc 4.7 and pkg-config 0.28 or higher.

Asmutils is mostly used by the Skyfire web browser for Android.

What is this all about?

Asmutils (Linux utilities for Asynchronous I/O) makes it easier to enable and use asynchronous I/O in applications that use POSIX async per-operation mode. These utilities can be installed using a package manager or built from source code and then installed into each application as needed.

Who is this for? People who have applications that they want to compile Asmutils into, so the programs themselves will be able to take advantage of asynchronous I/O without changing anything about how their own program works.

What does this all mean? In an asynchronous file system when you begin a read or write operation, the request is queued up but control returns immediately to your program so there’s no waiting around for data since it’s coming in as fast as the hardware can support.

How does this work? The install is either done through a package manager or is built from source code and installed into each application. Applications like Skyfire mobile web browser use Asmutils to take advantage of asynchronous I/O for improved performance and responsiveness on devices with slow storage and an overloaded CPU, such as mobile ones with Flash disks or slow hard drives.

Where is this useful? Skyfire mobile web browser running on Android.

Why is this useful? By installing Asmutils into an application, you get the benefits of asynchronous I/O (increased performance and responsiveness) but without having to change anything about how your program itself works.

Who did this? The developers of Asmutils: Erez Zadok, Nir Soffer, and John Vilk; homepage: http://asmutils.sourceforge.net/ *   git repository: https://github.com/agallade/asmutils

What license is it under? GNU General Public License v2 (from the project website).

How does one go about using it? People install Asmutils into their applications so that these programs can do asynchronous I/O themselves if they are designed for it.