/Operating Systems – Basics & File Systems

Learning Outcomes

After completing these activities you should be able to:

The operating system is a go-between, between the physical machine and the users/programs.

If you take a big picture view of a computer, you get three things:

  1. The user and programs (Applications) running on the user's behalf;
  2. The operating system; and
  3. The physical computer.

You should understand what we mean by "the physical machine", and you should certainly understand "the user". What's meant by "programs running on the user's behalf" is simply that when you want to, for example, write a report, you launch a word processor program (e.g. Microsoft Word). The program you launched is performing tasks, printing files, etc, on your behalf. So what's the Operating System? On your laptops it's Windows, if you own an iPhone, it's iOS or if you have another smartphone it might be Android. On another computer it might be UNIX. The operating system is a special collection of programs. The operating system manages all the other programs running on the computer, and acts as an intermediary between those programs (or the user) and the physical machine. Neither the user nor a regular program manipulates a resource like the hard drive directly. Instead, they ask the operating system to manipulate the resource on their behalf. In this lesson we'll begin our exploration of operating systems.

What is an Operating System?

An Operating System (OS) is a program (or collection of programs) that manages the physical computer and the programs that run on it (programs managing programs). There are many different OS's out there, and you may be familiar with several.

Mac/PC
http://xkcd.com/934/

MS Windows - your laptops run Windows 10, meaning that the OS is Microsoft Windows version 10.

UNIX - UNIX is actually a family of OS's. The rona the course server runs a UNIX variant called Linux. Apple's Mac OS X is a variant of UNIX. Linux is going to play a role in this course. It's what's called open source, which means that people are free to modify it to suit their needs. A lot of security-related tools are built this way, i.e. they're variants of Linux.

iOS - Apple's iPhone, and iPad all run an operating system called iOS, which is designed for mobile devices.

Android - many smart phones run Google's Android OS, which is another OS built specifically for mobile devices.

NASA's Curiosity Mars explorer
You might wonder what OS gets used for something like NASA's Curiosity robot, which is exploring Mars as we speak. It's not one of the major PC or mobile OS's we talk about in ! Check out this article which describes the hardware and OS on the Curiosity. It includes a 10+ year-old CPU, and an OS that was initially released in 1985, but it has to be able to handle extremes in temperature, radiation, navigate an alien world on its own, and communicate with engineers so far away light itself takes 14 minutes to make the trip ... one-way!

Because the OS manages the computer and all the programs that run on the computer, it is of critical importance to security. It can restrict what Programs and users do to make sure they can't cause too much trouble on the system. Conversely though, when OS's have security flaws, it's a really big problem. Here is a recent example.

Services the OS Provides

The OS provides services to Users and programs — it does things they need done that they cannot or are not allowed to do for themselves. Some important kinds of OS-provided services are:

The OS generally provides three ways for Programs and users to access its services:

The Windows shell can be accessed by clicking on the Start orb and typing Command Prompt or typing cmd.exe
Although you are probably only familiar with using the GUI to access operating system services, the shell will be important for this course. That importance stems in no small measure from the fact that the shell is an interface to the OS for both users and Programs alike. The OS's we'll use for this course are Windows and UNIX. Both have shells.

File Systems

You cannot understand information systems without understanding a bit about file systems. Files and folders are organized hierarchically on your computer. In Windows, you have a separate hierarchy for each Drive Letter, which is a letter followed by a colon. Normally, different drive letters correspond to different devices, perhaps C: is your hard drive, E: is your DVD drive, F: may be what gets assigned to your camera when you plug it in (a camera has a drive with a file-system for storing its photos). A file (or folder) is not defined uniquely by its name alone! Instead, it is defined uniquely by the path from the top or the hierarchy down to the file (or folder) in question, where the names in the path are separated by backslashes (\'s). You can navigate these file hierarchies in Windows by clicking on the Start orb and choosing Computer from the right-hand side of the list that pops up. What you see at first is a screen with icons for each of the drive letters available on your system. Double click on C: and what you see is a list of all the files and folders that comprise the next level down in the hierarchy rooted at C:. Double click on Users and what you see is a list of all the files and folders that comprise the next level down from C:\Users. Double click on your user name, and then on Desktop after that. You're now fairly far down in the hierarchy. If there was a file named foo.txt here, its path would be
C:\Users\mxxxx\Desktop\foo.txt
and while there may be many files named foo.txt on your system, there's only one with that exact path. BTW: In the file viewer, if you click on the icon at the far left of the address bar at the top, it prints out the path for you.
Key Points
So when you save a file in Word or download a file using your browser, those files get put somewhere in your file-system, and you need to start becoming cognizant of where!
  1. Files and folders (directories) are arranged hierarchically
  2. Every file and directory has a place in the hierarchy
  3. Every file and directory is uniquely named by its path
  4. In a file viewer window, you see the contents of one directory, the current working directory, and the address bar describes the path to the current directory
This is an example of what your laptop's file-system looks like (in part).
  • C:\
    • Program Files\
      • Intel
      • ...
      • WindowsNT
    • SI110Programs\
      • docs\
        • GPL.txt
      • aes.bat
      • ssh.exe
    • Users\
      • Administrator\
      • m9999\
        • Desktop\
          • hello.txt
        • Downloads\
          • hello.txt
      • Public\
        • hello.txt
    • Windows\
      • addins\
      • ...
      • winxsx\


In the example hierarchy above, you see that there are three files named "hello.txt". There is no conflict, however, because they are in different directories. Their full path names are:

C:\Users\m9999\Desktop\hello.txt
C:\Users\m9999\Downloads\hello.txt
C:\Users\Public\hello.txt

The basic file system operations are to create or delete files and directories, to move (i.e. rename) files and directories, and to copy files and directories. You are probably familiar with how to do some of these kinds of things using the Windows GUI, a program Microsoft calls Windows Explorer.