Brief Introduction to the Plan-9 Operating System

Plan 9 is a distributed operating system made by Bell Labs. The OS is free and open source. Plan 9 is similar to Unix in some ways, but Plan 9 is meant to be an improvement to Unix and POSIX.

FUN FACT: The mascot for Plan 9 is a rabbit named “Glenda”.

Plan 9 has some features familiar to Unix users. For instance, Plan 9 uses ProcFS and applies the “everything is a file” concept. However, applications from Unix, Linux, and other systems do not work on Plan 9. Some Linux software works on the Linux emulator (linuxemu). Although, the emulator is not yet complete.

The default shell is “rc”. Many of the usual Unix commands (like ls, cp, rm, etc.) can be used. However, despite the same names, the code used to make these commands are entirely different. Plan 9 does not use any GNU software, neither will any work with help from linuxemu. rc is similar to Bash. However, there are some differences. While Bash’s syntax is ALGOL-like, rc uses C-like syntax.

A GUI is also available to Plan 9 named “rio”. rio is a windowing system. rio does not rely on display servers (such as X11). In fact, rio functions as a display server and window manager. rio supports the alpha bit (transparency).

Plan 9 uses a hybrid kernel which has attributes of both monolithic kernels and microkernels. The kernel supports a variety of platforms such as x86, x86-64, MIPS, SPARC, etc.. Plan 9 has also been ported to ARM platforms such as the Raspberry Pi motherboard.

A hybrid kernel has characteristics of both microkernels and monolithic kernels. Inter-Process Communication (IPC), thread management, filesystems, and drivers reside in the kernel space.

Plan 9 is best known for its 9P network protocol. 9P (also called Styx or “Plan 9 Filesystem Protocol”) also serves as a communications protocol between the internal components of the system. The fourth edition of Plan 9 introduced a modified 9P protocol called 9P2000.

FUN FACT: The Styx protocol used in the Inferno operating system is a variant of 9P.

To avoid confusion, it may help to know a little about the Inferno operating system, which is sometimes mistaken as some form of Plan 9. Inferno is a distributed operating system originally made by Bell Labs (like Plan 9), but is now maintained by Vita Nuova. Inferno is neither Unix or POSIX and its primary use is to be a programming environment for the Limbo programming language. Inferno is not a typical operating system. Rather, its kernel is a virtual machine called “dis” that runs on a pre-existing OS (such as Linux, Windows, Plan 9, FreeBSD, etc.).

Linux Training Online – Using the Linux CD Command to Change Directory – Linux System Administration

As a new user looking for Linux training, you need to learn how to use commands. And one of the most commonly used file system commands is the CD (change directory) command.

Using the Linux CD Command

The CD (change directory) command is used to change from your current directory (folder) into a different directory.

You need to change into a directory to do Linux administration tasks like:

  • create a new file or remove an existing file
  • copy or move a file to a different directory
  • edit and modify a file, such as a text configuration file for a Linux server
  • create a new directory or remove an existing directory
  • copy or move a directory to a different directory

Linux Commands Training Tips: The System Administration commands, examples and concepts covered here apply to ALL Linux distributions, including: Red Hat, Fedora, Ubuntu, Edubuntu, Kubuntu, Slackware, Debian, SUSE and openSUSE.

Linux CD Command Example – Changing into a Directory Below the Current Directory

To change directory into a directory “below” the current one, you type in CD and a space and the name of the directory you want to change into.

For example, to change into a directory named “letters”, you run the following:

$ CD letters

To change into a different directory, just replace “letters” with a different name.

Linux Training Tips: A directory inside the current one is considered “below” the current directory, and is called a sub directory.

Linux CD Command Example – Changing Up One Directory (Level)

To change directory up one directory (level), you type in CD and a space and then two dots (periods).

For example, if you have moved into the directory named “letters” and want to go back (up) to your previous directory, you run the following:

$ CD ..

Linux Training Tips: The directory above the current one is also called the “parent”.

Beyond This “Linux Training Online” ArticleThe Linux CD command is used in many other ways to navigate around the file system.

To continue your Linux training, you also need to learn how to use the CD command to: change to the root directory, change using an absolute path, and also easily change into a directory parallel to the current directory.

You can clearly and easily see all of the concepts and commands shown above (and lots more!) by watching a Linux training video.

With this method of Linux training, you can see how to use a command step-by-step and also hear how to run the command. This is a very easy way to learn how to use Linux.

Understanding Linux Hard Disk Partitioning and Linux File Systems – System Administration Training

The Linux Hard Disk Partitioning Process

A hard disk is partitioned and then it is assigned a filesystem type and then it is formatted.

Assigning a filesystem type to a partition specifies the “type” of it and prepares (formats) it so that it can accept files.

Do not confuse assigning a filesystem “type” with assigning a filesystem (formatting).

Linux Hard Disk Partitioning – File Systems and Filesystem Types

Most Linux documentation and utilities refer to a file system as filesystem (one word).

A filesystem type is assigned to and specified for a partition to provide it with support for the file structure of itself (for its directories and subdirectories) and for all of the files that will be used on it, such as the Linux program files and data files.

For example, the current default filesystem type for many distributions, such as Red Hat, Fedora and others, is ext3 (extended filesystem 3).

Prior to ext3, the default filesystem was ext2 (extended filesystem 2). Some other distributions have a different default filesystem, but ext3 is on the way to becoming the de facto standard for Linux.

Linux Hard Disk Partition “Rules”

A Linux partition can be all or part of a hard disk.

If you have two hard disks in a system, then one disk can have one partition, filesystem type and operating system on it that uses the entire disk and the other disk can have a different set of these items, that uses the entire disk.

Both disks can also have more than one partition, filesystem type and operating system.

If you only have one Linux hard disk in a system, then you can create two or more partitions on the disk, assign each one a different filesystem type and install a different operating system on each.

A partition cannot contain more than one filesystem type and does not typically contain more than one operating system. However, you can have a single OS on a system that uses multiple filesystem types on multiple partitions (one filesystem type per partition).

The “standard” Windows and Linux operating systems require at least one partition each. If a system requires both of these operating systems, then you need at least one partition for each of them.

The Linux hard disk partitioning concepts and commands covered here apply to: Red Hat, Fedora, Slackware, Ubuntu, and Debian Linux – and ALL other versions.