Skip to main content

Operating Systems: The Personalities of Computers

Sample of BASH through a shell in GNOME. Scree...
Sample of BASH through a shell in GNOME. Screenshot taken in Arch Linux (Photo credit: Wikipedia)
Visalia Direct: Virtual Valley
May 4, 2015 Deadline
June 2015 Issue

Personal computer and device operating systems are the personalities of the machines. The choices we make when selecting an operating system, or the choices we have made for us, determine how we interact with the digital world.

Regardless of whether you prefer (or need to use) Windows, OS X, Linux or BSD, the operating systems do the same basic work. Click a mouse button, tap a touchscreen or type a letter and the operating system converts your action into something applications understand. The operating system determines how to manage software tasks and communicates with the hardware of a device to send or receive data. Operating systems accept commands or actions from users and software (input) and then display, print or otherwise communicate the results of these commands (output) to other software or the human user.

When describing operating systems we generally include the command line shell, graphical user interface and supplemental software included with the core installation of the OS. Most users don’t think of these as separate things, and neither do the companies and volunteers developing operating systems.

Stereotypes about OS X, Windows and Linux users exist for a reason. These three desktop operating systems reflect the values of their designers and users.

Microsoft reflects the need of businesses, governments and other large organizations to upgrade hardware and software cautiously. Major changes to the Windows operating system risks upsetting these clients with millions of computers. Microsoft’s Windows evolved from an awkward shell on top of the Disk Operating System (DOS) that had to balance support for old applications and hardware with new ways of interacting with computers.

When Microsoft has updated the visual design of Windows, users have responded with some confusion. When updating Windows results in older hardware no longer functioning, users express their frustrations. The ability to mix old and new is one of the reasons users select Windows. You can try the latest video card, a new solid-state drive and still run a ten-year-old application in Windows.

Apple’s operating systems and computers shifted from hobbyist-friendly designs to computers for “the rest of us” when the first Macintosh was unveiled in 1984. The Apple II series, like their PC-cousins, allowed users to experiment with lots of third-party hardware while older applications often continued to function. Through System 9.2, the Apple operating systems were highly customizable. With OS X and the iMac, Apple reduced customization to keep the user experience consistent.

Apple, unlike Microsoft, seems almost eager to abandon support for old hardware and software. Supporting old technology requires maintaining old code and drivers in the operating system, which Apple would rather not do.

The Apple computer user base has long included creative artists and designers. These individuals want the best possible typography, color matching, printer output and other features for media production. Tying text in the Zapfino typeface in the OS X TextEdit application reveals just how powerful OS X font technology is. Experiment with the Format, Font, Ligatures settings and watch the magic. Remember, this is the simple text editor in OS X, not a layout program.

Sometimes, Apple makes choices that annoy even its most loyal users, like dropping floppy disks and DVDs from its computers. However, the operating system’s graphical user interface remains consistent and predictable.

Linux and BSD operating systems are for tech-savvy users and hobbyists. These operating systems, developed as open source alternatives to proprietary (and expensive) Unix systems, support more hardware than Windows and OS X combined, several times over. The customization of Linux and BSD is unparalleled, too. The downside of the open source world is that software choices are limited. Unless you are a programmer or server administrator, Linux and BSD are unlikely to run the software you’re accustomed to using.

With OS X, you get the Finder graphical user interface, which includes the desktop folder. Windows features the oddly-named Windows Explorer (or File Explorer, depending on the version of Windows) accessed via the Window Desktop. These desktop environments and file browsers are familiar to most people and we’d be confused if Windows or OS X suddenly used another set of tools.

Linux and BSD users argue over which desktop environment is best for their operating systems. Common choices include KDE, Gnome, Unity (based on Gnome) and Xfce. Each of these desktops, and their utilities like the file browser, are also highly customizable. You can use Linux on two computers and it might feel like two different operating systems.

Maybe you recall the days before point-and-click file management. In the distant past, we typed commands to rename files or create new directory folders. The command line interface (CLI) is where serious computer users took control of their systems.

DOS and Windows use the “command.com” shell to interact with the command line, better known as the “DOS prompt.” 4DOS by JP Software could replace the default shell with a feature-rich prompt, but as Windows replaced DOS, few users sought out a different way to interact with their computers.

Launching the OS X Terminal starts a command shell, similar to a DOS prompt. Though most OS X users I know seldom use command shells, more technical users appreciate that OS X is a full-featured Unix operating system. This means that the command shell choices available to Linux users generally exist on OS X systems. Apple currently sets “bash,” the Bourne-Again Shell, as the default command shell. Stephen Bourne wrote a command shell for Unix in the 1970s, leading programmer Brian Fox to name an open-source shell in honor of Bourne. I prefer zsh (z shell) and fish, the friendly interactive shell, on Linux and OS X.

Shell commands and utilities function like their DOS counterparts. Instead of requesting a “DIRectory,” the user enters “ls” for a list of directory contents. The two-letter “cp” copies files and “mv” moves them. Unix shells were designed to reduce the amount of typing required to accomplish tasks. Most modern shells also autocomplete commands and file names as the user types, which makes navigating a file system even faster.

Understanding the design choices and philosophy of the operating systems we use helps users appreciate why we interact with data they way we do. Personally, I’m an OS X user because I appreciate the consistency of the desktop, while enjoying the speed I achieve with Unix command shells and utilities.

Comments

Popular posts from this blog

MarsEdit and Blogging

MarsEdit (Photo credit: Wikipedia ) Mailing posts to blogs, a practice I adopted in 2005, allows a blogger like me to store copies of draft posts within email. If Blogger , WordPress, or the blogging platform of the moment crashes or for some other reason eats my posts, at least I have the original drafts of most entries. I find having such a nicely organized archive convenient — much easier than remembering to archive posts from Blogger or WordPress to my computer. With this post, I am testing MarsEdit from Red Sweater Software based on recent reviews, including an overview on 9to5Mac . Composing posts an email offers a fast way to prepare draft blogs, but the email does not always work well if you want to include basic formatting, images, and links to online resources. Submitting to Blogger via Apple Mail often produced complex HTML with unnecessary font and paragraph formatting styles. Problems with rich text led me to convert blog entries to plaintext in Apple Mail

Learning to Program

Late last night I installed the update to Apple's OS X programming tool suite, Xcode 4. This summer, in my "free" time I intend to work my way through my old copy of Teach Yourself C and the several Objective-C books I own. While I do play with various languages and tools, from AppleScript to PHP, I've never managed to master Objective-C — which is something I want to do. As I've written several times, knowing simple coding techniques is a practical skill and one that helps learn problem solving strategies. Even my use of AppleScript and Visual Basic for Applications (VBA) on a regular basis helps remind me to tackle problems in distinct steps, with clear objectives from step to step. There are many free programming tools that students should be encouraged to try. On OS X, the first two tools I suggest to non-technical students are Automator and AppleScript. These tools allow you to automate tasks on OS X, similar to the batch files of DOS or the macros of Wor

Learning to Code: Comments Count

I like comments in computer programming source code. I've never been the programmer to claim, "My code doesn't need comments." Maybe it is because I've always worked on so many projects that I need comments  to remind me what I was thinking when I entered the source code into the text editor. Most programmers end up in a similar situation. They look at a function and wonder, "Why did I do it this way?" Tangent : I also like comments in my "human" writing projects. One of the sad consequences of moving to digital media is that we might lose all the little marginalia authors and editors leave on manuscript drafts. That thought, the desire to preserve my notes, is worthy of its own blog post — so watch for a post on writing software and notes. Here are my rules for comments: Source code files should begin with identifying comments and an update log. Functions, subroutines, and blocks of code should have at least one descriptive comment.