Corbis Images FALL 2000
Lecture Notes 2: User Interface


GENERAL USER INTERFACE

GUI vs command line
  • Depends on existing technology when OS created
  • Depends on which environment OS is created for
  • GUI not necessarily always better

For DOS, WINNT, UNIX and IBM/VMS will review
  • History
  • Design goals
  • User interface


MS-DOS

Difference between PC-DOS and MS-DOS
(clones versus pure IBM)

Advantages:
  • Fundamental operation
  • Straight forward user commands

Disadvantages:
  • Lack of flexibility
  • Written for Intel chips

HISTORY

Successor of CP/M(8 bit operating system for Apple)
Seattle Computer Products 86-DOS bought up by Microsoft.

Versions Date Features
1.01981CP/M compatible
1.11982Allowed double-sided disk
3.11983Supported networking
4.01988HD > 32 megabyte
5.01991Better memory management
6.221994Greatest utility


All allow backward compatibility. Written in assembly language.


DESIGN GOALS

Designed to accommodate a single novice user in a single process environment.

Standard I/O support includes: keyboard, monitor, pnnter and secondary storage unit.

User commands based on English.
Has layered structure:

USER
Command Processor
DOS kernel
BIOS
Hardware


Layering protects user from machine.

BIOS(Basic Input/Output system) contains device drivers and interfaces with hardware (except disk drives)

DOS kernel contains routines to interface with disk drives. Read into memory during booting. Provides a collection of hardware independent services and compensates for variations in hardware manufacture. Makes disk file management transparent to user.

Command processor (shell) accepts and executes commands, prompting and giving appropriate responses. Name COMMAND.COM. Not interpretive (i.e. cannot change or abbreviate commands).


USER INTERFACE

Very little possibility for user customization.
Directory instead of folder.
User commands include some or all of these elements:

command source-file destination switches


eq:
copy   myfile.txt   C:\documents
or
dir /p /os     where '/' indicates a switch.


Commands are available to:
  • list what's in the current directory
  • display the whole directory tree
  • create or remove directories or change the current directory
  • copy, delete and rename files
  • display or print a file
  • change the system time or date
  • change the system prompt
  • find and sort utilities
  • chkdsk (primitive ScanDisk!)
  • help
  • load simple text editor
  • format disks
Programs are run by just typing the name of the exe file. Some DOS commands are contained within COMMAND.COM, others must be retrieved from secondary storage. (internal and external commands).

Commands are typed in, kept in keyboard buffer until enter key is pressed and then passed to the command interpreter portion of COMMAND.COM.

Can redirect command eg: dir>lptl

Users can create customized batch files that contain DOS commands, plus other commands that support programming (e.g. IF, FOR etc) to allow for repetive operations to be automated. AUTOEXEC.BAT executes during boot process.

@echo off
echo.
echo.
echo.
echo.
echo Do you want to see a directory listing by date of creation?(Y/N)
echo.
echo.
echo.
choice/C:YN
if errorlevel I if not errorlevel 2 dir /od/p
if errorlevel 2 echo What a pity!



UNIX

Not limited to specific computers - runs on all sizes - mainframes to micros.

Advantages:
  • portable (written in C)
  • powerful utilities (single operations can be combined)
  • device independent (drivers part of system)
Disadvantages:
  • fairly unfriendly interface.
  • No single standardized version

UNIX is case sensitive.


HISTORY

Bell Labs, GE and MIT working together on MULTICS OS for mainframe. Bell Labs withdrew and developed their own version (1971). Designed to run PDP 11. Originally written in assembly, was re-written into C. Two mainframe versions AT&T system V and the BERKELEY VERSION. Linux was derived from the Berkeley version. Linus Torvalds wrote the kernel for Linux when he was a student at Helsinki U.


DESIGN GOALS

Originally designed as an operating system for programmers. The system included many utilities for which programmers would typically have to write code.
Could be used in combination with other programs.

Long term goal was portability. Reduces conversion costs and doesn't cause applications to become obsolete with changes in hardware.


USER INTERFACE

Mostly command driven, although Xwindows is available as an overlay GUI interface for Linux.
Prompt is small, command are short (one or two letters).

General syntax is:

Command optional arguments optional files names


Can carry out same operations as DOS but more commands available with more options. Text editor (horrible!) available.

Commands are interpreted by the "shell" which is much more complex than the DOS version.

Can redirect commands to devices other than the standard.

The UNIX version of batch files are script files. You can call a script file from a configuration file to get the equivalent of AUTOEXEC.BAT.

There are also commands to determine how the job will be processed.

The UNIX system does not follow the trend of hiding the system from the user.



IBM/VMS

Developed by IBM to manage the company's line of large mainframes. Famous for its heritage - roots go back to the days of punched cards and batch processing. Oriented towards multiprogramming commercial computing environments and makes repetitive tasks easy to run.

Disadvantage is lack of well-structured user commands and key words.


HISTORY

Originally designed to support 360/370 mainframes. First version in 1964. Newest version OS/390 released 1996. Expansions occurred between these times to support hardware modifications.


DESIGN GOALS

MVS was designed to run the large computer systems of the 1970's with up to 64Mb of main memory, fast 10 devices capable of transferring 3Mb per second. Designed to support a large number of concurrent users. User interface not designed with casual user in mind. Called JCL (Job Control Language) it has reduced many users to tears!


USER INTERFACE

Users command language allows six primary functions:
  • Introduce a job to the operating system
  • Identify its owner
  • Request peripheral device support
  • Identify files that will be used during execution
  • Request secondary storage space
  • Execute the job

As well, the system operator has other commands that allow intervention when necessary. Main administrator (super user) has access to full set of commands.

JCL statement consist of:
  • JOB statements that are used to separate and identify jobs. Also used for accounting and assigning priority.
  • EXEC statements that are used to identify programs to be executed. They follow the JOB statements.
  • DD statements used to define in detail the characteristics of each peripheral device used by the job.

There are always two slashes in the first two columns.

SAMPLE JCL


//INVENT JOB 3943,LOGAN,CLASS=A,TIME=3
//* WRITTEN BY A. LOGAN.
//STEP6 EXEC PROG=SORTNAME
//PRINTER DD UNIT=008
//OUTPUT DD UNIT=3330,DCB=(DSORG=PS,
//LRECL=80,BLKSIZE=1600,RECFM=FB)

Frequently used JCL routine can be re-used, and applications load their own.

 

WINDOWS NT

Complete network operating system with graphical user interface.

HISTORY

First widely adopted Windows product, 3.0 (1990) standardized interface so that IBM users could have the same as Mac users! In 1992, version 3.1 was released. Very commercially successful. The Windows for Workgroups (1992) which allowed GUI for small networks, followed in 1993 by Windows NT which is well received by developers because of its security, stability, and richer Win32 API, which makes it easier to write powerful programs. August 95 is the time of the Win95 frenzy.

The first Windows version that didn't require the user to install DOS first, Win 95 is the most user-friendly Windows yet and helps spur the mainstreaming of PCs. Improved interface closes the gap with the Mac platform, ultimately marginalizing the Mac further.

July 31, 1996, Microsoft ships Windows NT 4.0. A much-improved version, it features the Windows 95 user interface, expanded device support, and numerous bundled server processes. The NT kernel does not rely on MS-DOS for support. All future versions of Windows after 98 will be built on the NT kernel.



DESIGN GOALS

Design of NT influenced by several goals

  • Extensibility

The design of an OS that can easily be enhanced in response to new hardware or new software.

  • Portability

WinNT code is modular and can be replaced by similar modules for different processors. Is written in C and C++. Has a Hardware Abstraction Layer (HAL) that provides isolation from hardware dependencies.

  • Reliability

NTFS can recover from all kinds of errors. Can protect itself and its users from accidental or deliberate damage from user programs. Will not allow programs to share memory unless explicitly requested.



USER INTERFACE

You know it well!