In addition to a number of still useful tools, MINIX also comes with several tools that were created to ease configuration and development on MINIX without being part of any standard and are therefore unlikely to be known to people familiar with other POSIX systems. Such tools are now obsolete, but you may encounter them, perhaps when browsing history. This page describes these tools. For more in-depth information consult their man pages.
In the remote times, MINIX's processes needed to know the stack allocation beforehand. This was done using the chmem(1) utility. Sometimes one wanted to increase several utilities for a small period of time. binsizes did that, with some templates (normal, big, xxl) found in the /etc directory. bigmake is a wrapper around make using the big template.
unstack was a debugging tool which converts a stack trace with addresses, such as the one printed to the console when a segmentation fault occurs, into a one with names. It obtains symbols from the symbol table of the binary from which the stack trace originated.
It has been superseded by addr2line, now that all binaries are in ELF format and we rely (for now) on binutils for linking and such anyway.
packman, binpackage(s), packit
packman used to be the MINIX package manager. It allows one to install binary and source packages. It has been phased out starting from MINIX 3.1.8.
binpackage and binpackages automated the building process of packages; packit was used at installation time. There was also a guide to making packman packages.
ACK assembly languages
MINIX spawns a long timeframe; and while the C language is a firmly-established standard, not such are the assembly language syntaxes. So there is a long history of difficulties because of the various syntaxes which has been used with MINIX. Fortunately most of this material is now obsolete, and the move is almost completed toward the ATT syntax used with the GNU assembler.
Is there a Minix assembly language programming manual?
No, not as such (but see below). Minix assembly languages (yes, in plural form), and Unix systems' assemblers in general, use syntaxes that are tailored to serve as compiler back ends, and as such look strange at first to those who are used to Microsoft MASM and similar assemblers. There are several documents about Minix assembly languages which may be helpful here:
Pc-ix-assem.txt is the closest thing we have to a manual. It describes 16-bit Minix assembly language, as used in the first releases of Minix. The 32-bit language has additional instructions, but the description of syntax and pseudo-ops makes this a useful reference.
The page titled Assembly Language Programming has various general informations about assembly programming.
The page titled Learning Assembly Language expands about learning assembly programming.
The page titled MINIX 3 ACK Assembly Language, derived from Minix assembly pseudo-ops, sections, and comments, has answers from Kees Bot to questions that were asked on the comp.os.minix newsgroup years ago about these aspects of Minix assembly programming.
Pc-ack-assem.txt a brief discussion by Kees Bot of the evolution of Minix's assembly language through different versions of Minix.
Assm_example.txt is a simple assembly language "Hello World" illustrating how an assembly program can be assembled and linked. This demo was written for Minix 1.5, a modern version would be slightly different.
Mini-manual: Soon after I answered the question above, "Is there a Minix assembly language programming manual?" in the negative, somebody posted a pointer to a nice document entitled Introduction to Intel x86 Assembly Language in Minix on the comp.os.minix newsgroup. (The above link is to an html document, there is also a PDF version available). The author is Carl Burch of St John's University (Minnesota, USA). This document describes the language recognized by the open-source assembler NASM, which is somewhat similar to the assembly language of Minix.
Intel and AMD Architecture and Programming Manuals are available on the web. These companies want people to program for their products, of course, and they provide lots of information.
There is a Protected Mode Tutorial here, a site maintained by Chris Giese. The page is oriented toward programming MS-DOS applications, but it offers a good brief overview of how protected mode works.
Wangzhi (firstname.lastname@example.org) provided a translation into English of a Minix Assembly Language Manual, originally written in Chinese by Mao Yao and Yang Songhua. It includes a number of examples written by Wangzhi. The previous link is to an HTML version. He also provided a PDF version.
Do you know of any tutorials on assembly language programming?
Randall Hyde's The Art of Assembly Language Programming website site offers downloads of versions of his assembly programming text in three flavors: for 16-bit DOS, for 32-bit Windows, and for 32-bit Linux. There's a lot of other interesting stuff on this site.