Operating System





The operating system is a result of many years devotion of scientists working on different models of computer systems. The types of operating systems are changed due to changing working environments and needs of users. The basic definition of Operating system is given as the software that controls the hardware.

  • First Generation (1950): The digital computer is invented in 1940, but it works without any operating systems. In 1950, the first operating system is designed and implemented in IBM 70 by General Motor Research. It is very primitive and single stream batch processing system.

 

  • Second generation (early 1960): The shared system with multiprogramming real time systems concepts are applied in this generation. The real time system is used to control chemical processing in industries, and military weaponry systems.

 

  • Third generation (mid 1960 to mid-1970): The fourth generation multimode OS is implemented in IBM System / 360 in 1964. The batch processing systems were developed to process many jobs at a time to utilize maximum computer resources to accomplish multiprogramming concepts.

 

  • Fourth generation (mid 1970 to present): The design of LSI (Large Scale Integration) had major role in development of advance level operating system. The OS of this generation is very efficient due to many fantastic changes to control memory, files, input output devices and other peripherals. The PC (Personal Computer) becomes available for all due to microprocessor and OS is dramatically spread over market. The MS-DOS and UNIX operating system were most dominant OS in the beginning of fourth generation. MS-DOS is coded by Microsoft for Intel 8088 CPU, and UNIX for Motorola 6899 CPU. The user friendly OS with many program icons, tray, menu, prompts are available in market. The OS with voice reorganization capacity is also available.

Operating system is an interpreter between user and computer. It is like a main gate to enter into computer system. It provides environment to interact with other software and perform several types of management and controlling functions. It runs all the times and provides platform for application software. The primary purpose of an operating system is to maximize the productivity of a computer system by operating in the most efficient manner. An operating system minimizes the amount of human intervention required during processing.

The operating system runs all the time, and provides a software platform on top of which other programs, called application programs, can run. It is responsible for bridging the gap between the hardware and application needs. It manages the hardware and supplies ‘service’ to application program. Example: Its services include file management, memory management, processes communication  and networking.

Example: UNIX, Mach, MS-DOS, MS-Window, Windows/NT, Chicago, OS/2, MacOS, VMS, VM etc.

 

The important parts of operating system:

 

(i) Traffic Controller: It finds the status of processors and processes.

 

(ii) Job Scheduler: It chooses a job from the many jobs submitted to the system for execution. A job is a collection of activities needed to do the work required. A job can be divided into smaller steps, called job steps that have to be executed sequentially. A job step in turn can be divided into several processes, each of which is executed concurrently.

 

(iii) Process Scheduler: It selects the process to be executed by the processor first, among the various processes in the job selected by the system for execution.

 

(iv) Dispatcher: It allocates the processor for a particular process. The process scheduler chooses it.

 

(v) I/O Traffic Controller: It constantly keeps track of the I/O devices, channels and control processors.

 

(vi) I/O Schedulers: It decides which device must be allocated to which process.

 

(vii) Kernel: The portion of Operating system that remains continuously in main memory is termed as kernel or nucleus. It contains most frequently used part of Operating system. The other less frequently used part of OS such as file management routines and compilers reside in secondary memory and are brought into main memory where needed. The term Core or Nucleus or Supervisor or Executive is also used for it.

 

–> Function of OS


The Operating system acts as an interface between the hardware and software. When power is supplied to system, all the activities from booting to processing are controlled by OS.

The main function of OS is only four:

(a) Memory Management functions: The Segmentation, Virtual memory, Paged memory management (Swapping), Demand paged memory management etc are memory management technique applied by OS.

 

(b) Processor Management Functions: CPU scheduling

 

(c) Device Management Function: Manage Input/ output device

 

(d) Information Management Function: It provides convenient procedure for storing and accessing the information from files. Some techniques are: FCFS (First Come First Served), SSTF(Shortest Seek Time First), SCAN etc.

 

The following are its most important functions:

  • User Interface: The user interface is the part of the operating system that allows you to communicate with it so you can load programs, access files, and accomplish other tasks. Three main types of user interfaces are the command-driven, menu-driven and graphical user interfaces. The trend in user interfaces for operating systems, operating environments, and other software is moving away from the entry of brief end user commands, or even the selection of choices from menu options.
  • Communication: It communicates with all the hardware and software components of computers. It establishes link between computer and operators, hardware and software, memory and software, I/ O unit and software. It has capacity to communicate with other computer also. This ability has opened door of networking.
  • Memory Management: It provides main memory for executing programs and control auxiliary memory also. It applies many techniques to enhance capability of available physical memory.
  • File Management: The operating systems create environments to allocate memory for files and program and how many spaces will be allocated for specific program or files are also determined.
  • Scheduling and Loading: The programs or files are arranged on the priority basis and most priority program is executed before least priority programs.
  • Error handling: If any errors occur, reported by Operating systems.
  • Protection and security: It protects hardware and software from improper use. Some large operating system provides password also for the purpose of security.
  • Time-sharing: The time-sharing is also a function of operating systems. It provides time slice to each terminal, but on the same computer system, at the same time.
  • Command interpreter: A command interpreter is an interface of the operating system with the user. The user gives commands which are executed by Operating System. The main function of a command interpreter is to get and execute the user specified command In the MS-DOS operating system, command.com is a command interpreter.

 

–>  Kernel

 

The kernel is a heart of Operating system. It is present between application and hardware. The kernel sits in the system memory in a protected space all to itself, called the kernel Mode. It is this memory space that is used for the many functions it performs. The remaining space is called the user mode, and this is used by various applications that we run on our OS. When system starts up, the kernel is loaded into the main memory, and remains there till the system shut down.

Kernel

Kernel


There are three types of kernel: monolithic, microkernel, and hybrid kernel.

 

(a) Monolithic Kernel: It is the one-stop solution for all the features of the OS. All these features run in kernel mode. The features are written in modules, which are logical divisions of the different functions of the OS.

Example:

UNIX, LINEX, BSD (Berkley Software Distribution)

 

(b)Microkernel: It is a bare-bones kernel that only takes care of very critical functions such as basic hardware abstraction, managing processes, and handling communication between processes. All other functions are carried out by separate applications called servers, which are run in the user mode.

 

(c) Hybrid Kernel: It is designed to compromise between the monolithic and the microkernel. It still uses servers in the user mode, but it also integrates some of these in the kernel mode itself to improve performance. This way, researchers aimed at striking a balance between the speed of the monolithic kernel and the stability of the microkernel. In Windows 2000 and Windows XP, hybrid kernel is applied for robustness, stability, efficiency and high order performances.

 

Functions of Kernel

  • To make sure that all running applications (and the OS itself) get adequate CPU time to perform their applications.
  • To manage the system memory and ensure that applications are getting what they need.
  • To provide a Hardware Abstraction Layer (HAL), which hides the details of hardware from applications, providing them instead with a set of instructions they can use to access the devices. This way, the application does not depend on which manufacturer the devices come from.
  • To help applications talk to each other- this is called Inter-Process Communication (IPC).
  • To manage files stored on the system hard disk.

 

–> Types of Operating System

 

There are many types of Operating systems:

(a) Single user                      (b) Multi-user

(c) Multiprogramming       (d) Multiprocessing

(e) Multitasking                   (I) Real Time

(g) Multithreading               (h) Distributed system

 

(a) Single User: It supports only one program at a time. The MS-DOS, PC-DOS etc are single user OS.

 

(b) Multi-user System: When more than one operator is processing data at a same time using one CPU is called Multi-user or Time- Sharing System. Such Operating systems are called server or mainframe operating systems. In addition to managing different tasks, multi-user Operating Systems need to ensure that each user is getting the most out of the machine, and the problems with one user do not affect other users. In this system, each operator has a time slice to accomplish his or her process using processor.

 

Time Slice: Small time allotted by operating system to each operator for utilization of processor is called Time-slice. Its value is very small, so each operator feels that processor is processing his or her job only. In film story, we see a fraud lover allots times to his two or more girlfriends and each girlfriend feels that her lover is devoted in her love. Just like it, each operator feels that processor is processing only his or her job.

 

Tum around time: It is a time between submitting a job and receiving the output.

Example: UNIX, LINUX

 

(d) Multiprogramming: The process of maximum utilization of CPU keeping it busy is called Multiprogramming or Concurrent Programming. In this environment, processor processes several programs simultaneously. For this purpose, multi-programming operating system is used. We know that CPU is much faster than I/O unit, so after processing one program, it becomes ideal. To utilize CPU to the maximum extend, multiprogramming concept is applied.

All the programs are kept in the job pool of mass storage device and these programs are ready for processing but CPU is busy, so these programs are waiting their turns. When one processing is completed, next ready program is fetched from main memory for processing.

 

(d) Multi-tasking and Real-time System: A System able to process a number of tasks at a time is called Multi-tasking within a well-defined fixed time constrain is called Real-Time System. The processing is enforced to complete within given time constrains. In industries, multitasking real time systems are used to control processes like as measurement of temperature of furnace and fluid, viscosity, steam pressure, speeds etc. In this system, more than one task is performed on the priority basis, a high priority tasks interrupt low priority task.

 

The Real-time systems are used in every field of life. The very common example of real-time control is multimedia and virtual reality. In banking industries, railways or airlines reservation systems are real time systems because data are updated automatically. Microsoft windows, the Mac OS, UNIX and Linux provide a more general multitasking environment.

 

Application of real time system are :

  • Airline reservation and railway reservation
  • Industrial Process Control System
  • Police inquiry system
  • Traffic light control
  • Under sea Exploration
  • Virtual reality
  • Weapon Control System

 

(e) Multithreading: It is the ability of an operating system to execute different parts of a single program, called threads, concurrently. We can define thread as a single sequence stream within in a process. The programmer must carefully design the program in such a way that all the threads can run at the same time without interfering with each other.

 

(f) Distributed system: The operating system in which data is processed in several processors connected with communication media (high speed bus, telephone lines) etc is called distributed or loosely coupled system. The processor in a distributed system may be varying in size and function. They may include small microprocessors, workstations, minicomputers, and large general purpose computer systems.

 

–> CPU Scheduling

 

The scheduling is a fundamental function of operating system. Almost all computer resources are scheduled before use. The CPU is, of course, one of the primary computer resources. Thus, its scheduling is central to Operating system design. The technique of maximum utilization of processor is termed as CPU scheduling. It is a basic of multi-programmed OS. The idea of multiprogramming is very simple. A job is executed until it must wait, typically for the completion of some I/O request.

In a system the CPU would then sits idle. All of this waiting time is wasted. No useful works is accomplished. Several jobs are kept in memory at one time. When one job has to wait, the OS takes the CPU away from the job and gives it to another job. This method continues. Every time one job has to wait, another job may take over the use of CPU. This type of OS is called multi-programmed OS, in which maximum exploitation of CPU takes place.

Some scheduling algorithms are:

  • FCFS(First Come, First Serve )
  • SJF (Shortest Job First)
  • Priority scheduling
  • Round Robin Scheduling
  • Multilevel Queue Scheduling
  • Multilevel feedback Queue

FCFS (First Come, First Serve): The simplest CPU scheduling algorithm is first Come First Served algorithm. Here, the process which the CPU first is allocated the CPU first for processing. The performance of FCFS is often quite poor.

Shortest-Job-First (SJF): A different approach to CPU scheduling is the SJF algorithm. SJF associates with each job the length of the next CPU brust. When the CPU is available, it is assigned to that job with the smallest next CPU brust.

Shortest-Job-First is optimal. It gives the minimum average waiting time for a given set of jobs.

 

–> Data Processing

 

 

The data is the loaf and butter of any business organization. It is a very costly assets of organization either government organization or non-government organization. There are many types of data processing techniques:

(a) Batch Processing (b) On Line processing (c) Real-time Processing (d) Distributed data processing (e) Time Sharing

 

(a) Batch Processing: It is also called deferred Processing or off-line processing in which tasks are stored in the form of batches and processed each batches as requirement. It is a slow process of data processing. The purpose of batches is to give full control over the data; it is easier to handle a batch at a time. Now a day, DAS (Direct Access Storage) is available in which master file is stored. The day by day data are recorded in magnetic disk (DAS), and someday later these data are processed in batches. The term batch is confusing for new students. Suppose, in business organization there are many departments like as production, marketing, sale, account etc. All the employees’ transactions file or records of production are used as one batch, records of employees of marketing are used as next batch and so on.

Advantage of batch processing:

  • Large volume of data.
  • The complete set of data is passed through each program in turn.
  • Turn around times which are not critical.

 

(b)Online processing: The online processing is a fast processing in which input device is directly connected to computer. It is also called direct access or random access processing. In this processing result of data processing transaction is available immediately. Online system is one where computers operations are carried on promptly as the events occur and the feeding of input data does not wait until there is accumulation to work upon.

ATM (Automated Telling Machine), reservation system of airlines, railways, theaters and car-rental agencies are example of on-line processing.

 

(c) Real-time processing or multi-tasking: Real time means immediate response from computer. The essential feature is that the input data must be processed quickly enough so that further action can be promptly taken on the result. It may be noted here that a real-time system uses on-line processing, but an on-line system need not necessarily operate in real-time mode.

Example: Air traffic control systems, Airline reservation, railways reservations, hotel reservation etc.

 

(d) Distributed Data Processing: Distributed system is one in which there several autonomous are but interacting processors and data stores at different geographical locations.

Example:

A typical application is in banks where all the branches have intelligent terminals linked to a big computers at the head office. Data from the branches are sent to the master where these are processes.

Advantages:

(i) Reduction of the load on the host computer.

(ii) Reduction of delay in data processing.

(iii) Better service to the customers.

(iv) Less risk of system breaking down.

(v) Distributed systems give users greater control over the processing of their data.

(vi) Minimization of cost in data processing due to the users of low cost minicomputers.

 

–> Some Technical Terms

 

Some technical terms related with memory and operating systems are described below:

 

Buffer

 

It is small, high-speed, storage device, located in I/O units, used to hold data at the time of input/output operations. So, divided into (a) Input buffer and (b) Output buffer. Input buffer accept data at low speed and release it at high speed to CPU, Output buffer works in reverse orders. It accepts data at high speed from main memory and release at low speed to Output devices.

 

Spooling

 

There are large difference between speed of processors and I/O devices. When high-speed I/O devices are designed and manufactured, the processor of very high speed and efficiency is designed to win the race with I/O devices. The difference in speed causes processor idles for some time. The problem of idle time management is solved by some technique offered by operating system.

S = Simultaneous

P=Peripheral

O=Operation

O=On

L=Line

The spooling technique is used in multi-programming environment to offer first chance to the program of higher priority and reduce processor idle time. Each application output files are spooled to separate disk file called spool files and spooling system (spool is a buffer for holding output for I/ O devices) make queue for output process. In background, the Operating System sends documents from spool files to printer for printing. The spool files are temporary files created on printer by Operating System.

 

SWAPPING

 

The swapping is a memory management technique applied by Operating system.

(i) Swapping is at technique in which high priority process is swap in main memory and low priority process from main memory is swap out. When high priority process is completed, low priority process is swap in again.

(ii) Swapping is a memory management technique. If memory is not so enough to hold the entire program and data, swamping is needed to provide memory to all programs on the basis of priority.

Example:

We can see Swapping in Microsoft window 3.1, when new process is loaded in memory, running process is swap out according to priority.

 

Virtual memory

 

The memory which is not actually present but virtually available to support execution of large program is called virtual memory. The available small physical memory is not enough to load and execute all types of program, so concept of virtual memory is applied to enhance capability of physical memory. The operating system manages memory of computer system.

Suppose, you have a bucket with capacity of 5 liters water, you can store 7 liters water in it, is not miracle? Have seen rat swallowed snake?

Virtual memory is a hierarchy of two memory systems; a main memory of size m1 and secondary, slower and cheaper memory of much larger size, m2. The two systems are managed by an OS in such a way that it appears to a user that a main memory of size m1 + m2 and speed nearly equivalent to that of main memory is available. The virtual memory is assigned in hard disk at the execution of program.

Virtual memory is implemented by dividing the logical memory space into a group of page frame. The term page frame is sometimes used to denote a block. Program is divided into page of size 1K. Only those pages which were required at particular time were kept in main memory and remaining pages were stored on hard disks A demand paging algorithm is used to place a page required by user automatically in the main memory from the secondary disk memory.

Interrupt

 

Interrupt allows the current program to be suspended while a higher priority task is executed. The real time and multi-tasking operating system follows interrupts technique. Interrupt I / O is a device initiated l/ O transfer. The external device is connected to a pin called interrupt pin on the processor chip. When the device needs an I/ O transfer with the computer, it activates the interrupt pin of the processor chip. There are two types of interrupt: hardware interrupt (external), and software interrupt (internal).

Interrupt

Interrupt


The external interrupt come from input-output (I/ O) devices, from a timing devices, from a circuit power supply, or from any other external sources.

(a) Hardware or External Interrupt: External interrupts are initiated through the computer’s interrupt pins by external devices. External interrupt can further be divided into:

(i) Maskable, and (ii) Non-maskable

The non-maskable interrupt has higher priority then the maskable interrupt. If both maskable and non-maskable interrupts are activated at the same time, the processor will service the non-maskable interrupt first. It is used as power failure interrupt.

 

(b) Software or Internal interrupt: Internal Interrupts arise from illegal or erroneous use of an instruction or data. Internal interrupts are called traps. Example of interrupts caused by internal error condition are registered overflow, attempt to divide by zero, stack overflow and invalid operation code. The interrupts caused by special type of micro-programmed instruction is called software interruption also.

In 8085 there are RST n instructions for this purpose. If RST n instruction is inserted in a program, the program is executed up to the point where RST n has been inserted. Then microprocessor stops. This is used in checking of program. In 8086 uses INT instruction for interruption of microprocessor.

A processor is typically provided with one or more interrupt pins on the chip. Therefore, a special mechanism is necessary to handle interrupts from several devices that share one of these interrupt lines. The purpose of the interrupt is to attract attention of CPU so that it can take appropriate action.

 

DMA (Direct Memory Access)

 

(a) DMA is a data transfer technique in which entire block of data is directly transferred to main Memory by the help of DMA Controller.

(b) The HOLD and HLDA signals are used in DMA operation. DMA controller send a high HOLD signal to also processor, processor also send HLDA (Hold Acknowledge) signal to DMA controller to process action.

When block of data is transferred from DMA controller to Main Memory, DMA controller send low HOLD signals to Processor to indicate that data transfer process is completed.

(c) DMA technique of data transfer is a fastest type of I/ O operation.

 

–> Thread

 

Thread is a single sequence stream within in a process. The term process was first time used by the designer of MULTICS in 1960′s. Since then, process is used for job or task execution. Threads have some properties of processes they are sometimes called lightweight process. In a process, threads allow multiple executions of streams. An operating system that has thread facility, the basic unit of CPU utilization is called thread.

A thread is a sub-process created by a parent process. It runs in the same memory area as the process that creates it, and stores data thread with other threads created by that process. One process may create many threads to do different things to do different things at the same time. For example, while one thread of Microsoft Word brings our input onto the screen, another thread checks spellings as we type, and yet another is saving backups of our document-just in case.

Characteristics of thread:

  • It has Program Counter (PC), a register set, and a stack space.
  • It shares CPU and only one thread active (running) at a time.
  • It can create other thread (children).
  • If one thread is blocked, another thread can run.
  • Threads are not independent of one another.
  • All threads can access every address in the task.

There are many ways for an OS to schedule the time that threads enjoy the use of system resources. The simplest of the lot is the round robin method. Each thread is loaded turn by turn, and once the OS has reached the last thread, it returns to the first thread and starts all over again. Most Operating systems use priority based scheduling, where higher priority threads are given bigger chunks of time. The priority of the thread is sometimes coded by programmer, but the OS is the ultimate authority in this matter. It puts its own critical processes at a higher priority, and if it can give a thread the priority level it asks for, it does.

 

–> GUI (Graphical User Interface)

 

GUI (Graphical User Interface) is a user friendly interaction platform of computer which is first time used by Apple. In beginning, it was just a subject of criticism, but now- a -days, it is a boon for all developers and users. In 1987, Apple published a book named “Apple Human Interface Design Guide book” for software programmers. It is a first book on GUI with detail philosophy seated behind it.

We use HCI in lieu of GUI because GUI is just like term xerox and HCI (Human Computer Interface) is like copying. So, HCI is more near to actual meaning. The UI is not always graphical, for example, the phone based voice response system. The use of term HCL is more appropriate than the term GUI. There are many terms like as VUI (Video User Interface), AUI (Audio User Interface), TUI (Tangible User Interface) etc are just part of HCI.

This is a Coffeepot for Masochist designed by Jacques Carlman. At the time of designing HCI, we have to consider all the aspect of application and efficiencies also. The improper design is not only unworkable and time consuming, but also, boring and economically unprofitable for us. The wise design of HCI is not add polish to Carelman’s coffeepot, but also make that product has the spout on the other side of handles.

Generally, problem study is a brainstorming sessions with users. There are many types of questions asked to check needs of users. The system developers have to always think to replace weak parts with the stronger parts. Either livings or non-livings, every product in universe have to face life cycle. The enormous and almighty source of energy is the sun, and it is also losing mass by the process of nuclear fusion in which some mass lost in the form of energy per second. It can be converted into black hole of high gravity and engulfs nearby heavenly objects in future. Almost half of all new products introduced into market fail, according to market research associations. Some product fails because they are ahead of time. Other fails because of poor pricing or distribution. Most often, the causes of product failure are poor connections with customers and dull design.

Designing to satisfy customer expectations is a sound business strategy. Generally, we see that product failure starts with the wrong attitude. Today, people expect things to simply work. For example, in beginning our favorite word processor Word Star and Word Perfect are easily replaced by Microsoft Word because it is simple in use and equipped with all facilities, but old word processor were not easy in learning and earning.

The successful software have users friendly GUI out from any ambiguity and complexity. If GUI is more complex, the market value of product may be zero. The GUI is a combination of graphics, psychology, and software development skills. When GUI is designed according to mood of users, its market cannot shrink.

Types of User Interface: Currently the following types of user interfaces are the most common:

  • Command-line Interface: Command-line interfaces, where the user provides the input by typing a command string with the computer keyboard and the system provide output by printing text on the computer monitor.
  • Graphical User Interface: Graphical user interfaces, which accept input via devices such as computer keyboard and mouse and provide articulated graphical output on the computer monitor.
  • Web-based User Interface: Web-based user interfaces, which accept input and provide output by generating web pages which are transported via the Internet and viewed by the user using the web browser program.

 

Other types of user interfaces:

  • Batch interface: Batch interface is a non-interactive user interface, where the user specifies all the details of the batch job in advance to batch processing, and receives the output when all the processing is done. The computer does not prompt for further input after the processing has started.
  • Gesture interfaces: Gesture interfaces are user interfaces which accept input in a form of hand gestures, or mouse gestures sketched with a computer mouse or a stylus.
  • Reflexive user interfaces: Reflexive user interfaces where the users control and redefine the entire system via the user interface alone, for instance to change its command verbs. Typically this is only possible with a very rich graphic user interfaces.
  • Tactile interfaces: Tactile interfaces supplement or replace other forms of output with haptic feedback methods.
  • Tangible User Interface: Tangible User Interface which places a greater emphasis on touch and physical environment or its element.
  • Text user interfaces: Text user interfaces are user interfaces which output text, but accept other form of input in addition to or in place of typed command strings.
  • Touch interface: Touch interface is a graphical user interface which uses touch screen instead of a computer mouse for input.

 

–> GUI Components

 

All the software contains standard GUI elements, only color and position is changed but performances have same fragrance. The push Button, Label, TextBox, TextArea, ListBox, ComboBox, standard Save As box, standard Open box, driveListBox, DirListBox, Menu, CheckBox, RadioButton, program icons, input box, message box, different types of prompts etc are components of standard GUI.

(a) Program Icon: Icon is a bitmapped graphic program labels. In computing, icon is used to describe a small picture on the screen to start program. When icon is clicked (usually twice), program window is displayed. It represents file, program and windows.

(b) Pointer and pointing device: The pointer is used to represent mood of operation. The small arrow pointer is common pointer in windows operating system. The I-beam pointer is usually used in word processors. The mouse or track ball is pointing device.

(c) Desktop: The operating system has desktop to contain several types of icons, and information.

(d) Window: Several types of windows for different purpose is also GUI components of any software system.

(e) Button: The button is a strong means of communication between program and users. There are rectangular, oval, animated buttons are available but rectangular push button with label is considered as standard button.

(f) Label: Label is the label of GUI components.

(g) Checkbox: It offers a set of option to perform a set of tasks.

(h) RadioButton: It offers any one option can be selected at a time from a group of buttons.

(i) Input box: Input box is a textbox to accept user input. This type of button is used in wizard to accept data.

(j) Message box: It displays user response or system response in the form of information. This type of user friendly box is designed to help user to perform some specific task which may be dangerous for the health of computer.

 

GUI and CUI

 

GUL ( example: Windows OS) and CUL (example: MS-DOS), both are Human Computer Interface (HCL). The former (GUL) is more graphical and user friendly and later (CUI: Command Line User Interface) is more textual and less user friendly. In GUI graphical command line is used. CUI is not simple and user friendly as GUI.

The idea of WYSIWYG (What You See Is What You Get) is not supported by CGI. The concept of WYSIWYG was introduced in WordStar. WYSIWYG (pronounced as “wiz-ee-wig”) means the output will look like while the document is being created. The following figure demonstrate concept of CUI.



Related posts:

  1. Introduction to Processes in operating system   Early computer system allowed any one program to be...
  2. Introduction to operating system Operating System: An operating system is a collection of system...
  3. supervisor and user mode of operating system supervisor and user mode: The process is executed in the...
  4. Operating System Structure operating system structure: An operating system might have many structure....
  5. Types of operating systems An operating system can also be divided into many types...