Lecture 3-User Interfaces Flashcards
What are the three role of users classes?
Programmers: produce software for their use or others
System software programmers develop system software, e.g., OSs
and compilers. They requires very low level machine instructions
Application software programmers develop application software,
e.g., MIS. They use high level languages, e.g., C/C++, or tools,
e.g., database languages.
Operational users:
Concerned with the provision, operation and management of
computing facilities for others
Include mainframe computer operators, system installation and
maintenance engineers
Involves sensitive functions, e.g., deleting and moving files.
End-users:
Apply the software to some problem area.
End-users may have varying diversity of expertise
For end-users, simplicity and user-friendliness are key concerns
What are the 4 types and Software Model of User Interface?
System calls, command language, job control language,
and graphical user interface
All interactions with the hardware are ultimately implemented via system calls
Programmers may use system calls directly
What is System Calls?
System call is how a program requests a service from an operating system’s kernel. This may include hardware related services (e.g. accessing the hard disk) It is a layer of services/procedures just on top of the hardware.
Different OSs have different set of system calls
An OS has only limited system calls, but may provide additional subroutines, APIs, between the programmer and system call interface
Invoking a system call is similar to calling a general function. But the general function code is part of the calling program, while the system call code is in the OS
What is Command Language?
Allow users to interact directly with an OS via a terminal
The main aim is to initiate the execution of programs
They are of most value to operational users
In UNIX and similar systems, they are suciently powerful for application programming
UNIX command language, shell, has the format likecommandname options arguments #comment
e.g., \ls -l” lists all le information in the directory
A series of commands can be assembled in a text le | shell program or script
What is Job Control Language?
Job Control Languages (JCLs) are used to specify and control the running of batch jobs on large computers
A batch job means a specication of the set-up, execution and control of a suite of programs which form a complete processing operation.
The principal characteristics of JCL
- The execution is intensive, no delays by human interaction
- Most suitable for routine jobs, e.g., payroll production
- Response to possible abnormal errors must be planned
- Resource scheduling is predictable
JCL and command language share certain commonality
What is Graphical User Interface (GUI)?
GUIs are a common, signicant feature in modern computing
GUIs are usually layered on top of an existing command based interface, e.g., X Windows for UNIX and Windows for MS-DOS
Common features of GUI systems
- On-screen overlapping windows
- Pointing devices, usually a mouse
- Various graphical features: buttons, icons, slide bars
- Higher level devices: menus, selection lists, dialogue boxes
A GUI system is a desktop metaphor: the screen display represents a working desk with documents the user can switch
What is the summary?
User interface enables the user computer interaction
System calls are the ultimate user interface to computer
Different users may prefer different user interfaces
- System calls may be directly used by programmers
- Command languages are ecient for operational users
- Job control languages are good for batch jobs
- GUIs are most common, esp. for end-users