Wednesday, 14 January 2015

User Interfaces

The user interface is what you see when you turn on the computer;it consists of cursors, prompts, icons, menus etc which allows you to get something done using your computer.
User interfaces may be:

  • command-driven
  • menu-driven
  • graphical user
Command-driven Interface
With command-driven interface, you type in an instruction (which is usually abbreviated) in order to get something done.Command-driven user interfaces are not easy to use.You have to remember many commands. 

Menu-Driven Interface
It produces a list of commands or options available within a program and the user can make a selection by using either a mouse or a keyboard. Both Microsoft Windows and Apple Macintosh programs are menu driven.

Graphical User Interface
It provides a way for the user to communicate with the computer through pictures (icon) and through pull-down menus. Windows is an example of a GUI. Windows provides a common way of using programs, which make them easier to learn. It also take care of some common chores such as working with printer and disk drive.Apple Macintosh computers were amongst the first to use a GUI.

Operating Systems

An operating system is a program that controls the hardware directly.It provides an interface between user and the computer hardware.It performs following tasks:
  • provides a way for application software to communicate with the hardware
  • manages the system resources
  • manages the transfer of data to and from the various peripherals
  • manages system security
  • allocates certain rights to users 
Examples: Windows Millennium Edition, Windows 2000, Windows NT, Unix and OS2

Types of operating systems
Real-time: A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.[citation needed] Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.

Multi-user: A multi-user operating system allows multiple users to access a computer system at the same time. Time-sharing systems and Internet servers can be classified as multi-user systems as they enable multiple-user access to a computer through the sharing of time. Single-user operating systems have only one user but may allow multiple programs to run at the same time.[citation needed]

Multi-tasking vs single-tasking: A multi-tasking operating system allows more than one program to be running at the same time, from the point of view of human time scales. A single-tasking system has only one running program. Multi-tasking can be of two types: pre-emptive and co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking, as does AmigaOS. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking. 32-bit versions of both Windows NT and Win9x, used pre-emptive multi-tasking. Mac OS prior to OS X used to support cooperative multitasking.[citation needed]

Distributed: Distributed system: A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.

Templated: In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines (Gagne, 2012, p. 716). The technique is used both in virtualization and cloud computing management, and is common in large server warehouses.


Embedded: Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.

Data Storing

Computer Systems store data in two store:
1) Main Store e.g chips in side the centre processing unit
2) Backing Store e.g magnetic disk

Main Store (Memory)
Here data is held temporarily while processing takes place. The data held in the memory is instantly available to the computer unlike backing storage which has to be accessed on disk or tape.
There are two types of memory or main store:

  • read only memory (RAM)
  • random access memory (ROM)