NAME
Devel::CheckOS::Families - what OS "families" are supported "out of the box" by Devel::CheckOS and Devel::AssertOS?
WHAT IS AN OS FAMILY
Computing platforms fall into several categories. For example, there is the category of Unix-a-likes. Each of these categories is a "family". A platform can fall into several families.
THE Unix FAMILY
Broadly speaking, these are platforms where:
- Devices are represented as pseudo-files in the filesystem
- Symlinks and hardlinks are supported in at least some filesystems
- "Unix-style" permissions are supported
-
That is, there are seperate read/write/execute permissions for file owner, group and anyone. This implies the presence of multiple user accounts and user groups. Permissions may not be supported on all filesystems.
- The filesystem has a single root
- The C API for the operating system is largely POSIX-compatible
THE Linux FAMILY
This includes both ordinary Linux and Android. Plain old Linux will match 'Linux'. Android will match both that and 'Android'.
THE MicrosoftWindows FAMILY
This includes any version of Windows and also includes things like Cygwin which run on top of it.
THE DEC, Sun, and Apple FAMILIES
These include any OS written by, respectively, DEC, Sun, and Apple. They exist because, while, eg, Mac OS Classic and Mac OS X are very different platforms, they do support some unique features - such as AppleScript.
THE Realtime FAMILY
This is for all real-time OSes. So far, it only includes QNX.
THE EBCDIC FAMILY
OSes which use EBCDIC instead of ASCII.
AUTHOR, COPYRIGHT and LICENCE
Copyright 2008 - 2010 David Cantrell <david@cantrell.org.uk>
This documentation is free-as-in-speech. It may be used, distributed and modified under the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales License, whose text you may read at http://creativecommons.org/licenses/by-sa/2.0/uk/.
CONSPIRACY
This documentation is also free-as-in-mason.