Amiga DOS Highlights

DOS has had some major rework done. There isn't much in DOS that has not been improved in some way since the 3.x days. Many of the old techniques are long deprecated in favour of much cleaner approaches. There is also a full complement of functions to encapsulate much of the complexity.

Here is a short of list of some of the major DOS highlights:

1. IDOS->AllocDosObjectTags() has a new object types which help hide strange alignment requirements. There is no need to worry about DOS-specific alignment restrictions any longer.

2. All file operations are now thread safe. This is an implicit feature that makes it much easier to deal with files from multiple processes.

3. Global file system notification service. Applications can be notified of file and directory changes no matter what file system is in use.

4. Large file support. A new packet level interface has been added to support large files beyond 4 GB in size. This is hidden behind a consistent set of interfaces functions including: IDOS->ChangeFilePosition(), IDOS->GetFilePosition(), IDOS->GetFileSize(), etc.

5. Faster and easier directory scanning and file attribute querying. The new API is much more consistent and greatly simplifies the use of soft links. For a directory scan there is IDOS->ExamineDir() and for examining files there is IDOS->ExamineObject(). These functions also behave faster when used with modern file systems like JXF.

Dismounting Devices

Until Amiga OS 4.x it has not been possible, or at least it has been very difficult, to safely dismount a device. DOS has added the IDOS->MountDevice() and IDOS->DismountDevice() to address this issue. When a file system supports the new underlying packets then a device can be safely and completely removed from the system. This is a very desirable feature with removable media for example.