Software: Operating System


What you will be doing -
  • Learn about OS concepts
  • Practice with OS configuration, capabilities, utilities

Operating Systems

The operating system is the collection of programs that control the hardware and provide services to applications, as well as providing a user interface and utilities to aid in managing and using the system.

Concepts

Kernel

The kernel is the "core" of the system, the primary layer directly controlling the hardware, providing services to the other commands and applications.

LInux Kernel - http://plg.uwaterloo.ca/~itbowman/CS746G/a1/

Layers and Levels

The key to developing the OS is to separate its functionality into layers that communicate only with adjacent layers. This allows changes within the level that do not affect the rest of the system.

OS Types

Most of you are probably most familiar with Microsoft Windows, which is the most popular for desktop computers, but there are many other operating systems current in use.

Microsoft® makes many versions of Windows, currently XP Home, XP Professional, Server System.

Microsoft Windows (http://www.microsoft.com/windows/default.mspx)

UNIX is not a single operating system, there are many version for different kinds of hardware, such as Sun Solaris, HP-UX, etc.

UNIX Systems (http://www.unix-systems.org/)

UNIX Flavors (http://www.ugu.com/sui/ugu/show?ugu.flavors)

Open Solaris (http://opensolaris.org/)

Linux is a UNIX-like system that was developed as an Open Source project. This means that many people volunteer their time to create and fix things.

Linux.com | The source for Linux information (http://www.linux.com/)

Mac OS X is used on the current generation of Apple computers. It is based on a version of UNIX (BSD).

Mac OS X (http://www.apple.com/macosx/)

Booting

The first job of the operating system is to load itself from disk into memory. This is tricky, because the instructions on how to read the disk are part of the OS, which is itself on the disk. This kind of process is called "bootstrapping" or booting.

This works because there are instruction in ROM that provide a Basic Input Output System (BIOS). There is also a small battery-backed RAM that stores configuration information for the motherboard. During boot, there is a key or combination that will take you into the BIOS setup to modify this configuration (F2 in the classroom, but configuration changes are password protected).

See (http://www.wimsbios.com/)

Process and Memory Management

This is the key element of what an operating system does. In the kernel there is a scheduling program that determines what process gets CPU cycles and a memory page mapping method to keep track of what processes are using what memory locations.

User Interface

The most common user interface is a windowing system along with a mouse as a pointing device. No major changes have occured in 20 years — just enhancements in ease of use and additional capabilities.

Douglas Englebart (http://www.ibiblio.org/pioneers/englebart.html)

You can also use a command line (or console) interface. This was the only interface before windowing systems became common. You should understand at least some of the basic commands to change folders, list files, etc. If you take a UNIX class (CS140U), you will learn many command line techniques.

Device Management

Many of the devices (mouse, keyboard, video, etc.) that are connected need real-time response. It is up to the OS to provide this.

Devices Drivers

It is generally up to the device manufacturer to provide software drivers that act as the translation layer between the operating system and a specific device such as a mouse,keyboard,printer, or other I/O devices.

File System

The operating system provides a file system to store programs and data on the disk.

Physical Disk

The physical disk is composed of sectors within circular tracks (also called cylinders when there is more than one platter). Each sector typical stores 512 bytes and multiple sectors are called clusters. The operating system must keep track of what sectors or clusters are used by files.

Logical File System

Instead of forcing the user to think about sectors, the operating system provides a logical (meaning virtual) structure. This is a hierarchical structure of folders or directories.

Microsoft Windows® uses drive letters (A:, B:, C: ...), then a hierarchical folder system for each drive. The backslash \ is used for the root folder and the separator. A 3 character filename extension determines the file type.

See (http://www.pcguide.com/ref/hdd/file/)

UNIX systems have a single hierarchy (drives must be mounted within that). The forward slash / is used for the root directory and the separator. Filenames should not have spaces,

The Web uses the UNIX style of separator. The extension is used by the web server to determine the MIME type of the file. In general, filenames should not have spaces, which can make them difficult to use on the web.

The Mac does not require file extensions, but it is good practice to use them, so the files can be shared with PCs or used on the web.

API

The library programs that provide the functionality of the OS. For Windows, these are primarily DLL (dynamic link library) files. On LInux and UNIX systems, these are the C libraries (http://www.gnu.org/software/libc/libc.html)

Configuration, Updates

An operating system must keep track of the hardware and software on the system, and how it is configured. This information can be kept in

Configuration Files / Registry

Microsoft Windows uses a database called the registry.

Linux has many separate configuration files

Patches / Revisions

Upgrading to a new version of an OS can be a fairly dramatic/traumatic event. Smaller revisions between upgrades can be provided as changes to various library functions.

Windows provides a web-based software updating system (http://www.update.microsoft.com/microsoftupdate/v6/vistadefault.aspx?ln=en-us) that can be invoked manually or automatically.

Utilities

These are programs that aid in system management. Some may be provided by the OS, and others as third-party software. The boundary between what is considered system software and application software is not clearly defined.

  • Disk Utilities
    • Partition
    • Format
    • Defrag
  • Monitoring
  • Security
    • Anti-Virus
    • Anti-SpyWare
    • Firewall

 


Developed: 2005-02-14 © Gene Vershum - Updated 2011-02-06 Russ Erdman