Students Note

UCI  – Education

Welcome To You

Fundamental

  1. The word computer comes from the word “compute”, which means, “to calculate”. Thereby, a computer is an electronic device that can perform arithmetic operations at high speed. A computer is also called a data processor because it can store, process, and retrieve data whenever desired. The activity of processing data using a computer              is called data processing
  2. Computer can perform data processing jobs very fast, usually measured in microseconds (10-6), nanoseconds (10-9), and picoseconds (10-12)
  3. Blaise Pascal invented the first mechanical adding machine in 1642
  4. Baron Gottfried Wilhelm von Leibniz invented the first calculator for multiplication in 1671
  5. Keyboard machines originated in the United States around 1880
  6. Around 1880, Herman Hollerith came up with the concept of punched cards that were extensively used as input media until late 1970s
  7. Charles           Babbage is considered to be the      father of modern digital computers
    1. He designed “Difference Engine” in 1822
    2. He designed a fully automatic analytical engine in 1842 for performing basic arithmetic function. His efforts established a number of principles that are fundamental to the design of any digital computer
  8. The Mark I Computer (1937-44)- The IBM Automatic Sequence Controlled Calculator (ASCC), called Mark I by Harvard University’s staff, was a general-purpose electromechanical computer. One of the first programs to run on the Mark I was initiated on 29 March 1944 by John von Neumann.
  9. The Atanasoff-Berry Computer (1939-42)- The Atanasoff–Berry computer (ABC) was the first automatic electronic digital computer.
  10. The ENIAC (1943-46)- Electronic Numerical Integrator and Computer was the first programmable, electronic, general-purpose digital computer. It was Turing-complete, and able to solve “a large class of numerical problems” through reprogramming.
  11. The EDVAC (1946-52)- EDVAC (Electronic Discrete Variable Automatic Computer) was one of the earliest electronic computers. Unlike its predecessor the ENIAC, it was binary rather than decimal, and was designed to be a stored-program computer. ENIAC inventors John Mauchly and J. Presper Eckert proposed.
  12. The EDSAC (1947-49)- The Electronic delay storage automatic calculator (EDSAC) was an early British computer. Inspired by John von Neumann’s seminal First Draft of a Report on the EDVAC, the machine was constructed by Maurice Wilkes  the University of Cambridge Mathematical Laboratory.
  13. Manchester Mark I (1948)- The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Manchester Baby.
  14. The UNIVAC I (1951)- The UNIVAC I (UNIVersal Automatic Computer I) was the first general-purpose electronic digital computer design for business application. It was designed principally by J. Presper Eckert and John Mauchly, the inventors of the ENIAC.
  15. Inputting. The process of entering data and instructions into the computer system
  16. Storing. Saving data and instructions to make them readily available for initial or additional processing whenever required
  17. Processing. Performing arithmetic operations (add, subtract, multiply, divide, etc.) or logical operations (comparisons like equal to, less than, greater than, etc.) on data to convert them into useful information
  18. Outputting. The process of producing useful information or results for the user such as a printed report or visual display
  19. Controlling. Directing the manner and sequence in which all of the above operations are performed
  20. Nonpositional number systems- Use symbols such as I for 1, II for 2, III for 3, IIII for 4, IIIII for 5, etc. Each symbol represents the same value regardless of its position in the number. The symbols are simply added to find out the value of a particular number.
  21. Positional number systems- Use only a few symbols called digits. These symbols represent different values depending on the position they occupy in the number.
  22. Decimal Number System- A positional number system. Has 10 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7,8,9). Hence, its base = 10. The maximum value of a single digit is 9 (one less than the value of the base), Each position of a digit represents a specific power of the base (10). We use               this number system in our day-to-day life
  23. Binary Number System- A positional number system. Has only 2 symbols or digits (0  and 1).  Hence its base = 2. The maximum value of a single digit is 1 (one less than the value of the base). Each position of a digit represents a specific power of the base (2). This number system is used in computers
  24. Bit-  Bit stands for binary digit. A bit in computer terminology means either a 0 or a 1. A binary number consisting of n bits is called an n-bit number.
  25. Octal Number System-A positional number system. Has total 8 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7). Hence, its base = 8. The maximum value of a single digit is 7 (one less than the value of the base. Each position of a digit represents a specific power of the base (8). Since there are only 8 digits, 3 bits (23 = 8) are sufficient to represent any octal number in binary.
  26. Hexa-decimal Number System- A positional number system. Has total 16 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Hence its base = 16. The symbols A, B, C, D, E and F represent the decimal values 10, 11, 12, 13, 14 and 15 respectively. The maximum value of a single digit is 15 (one less than the value of the base). Each position of a digit represents a specific power of the base (16). Since there are only 16 digits, 4 bits (24 = 16) are sufficient to represent any hexadecimal number in binary.
  27. Computer Codes- Computer codes are used for internal representation of data in computers. As computers use binary numbers for internal data representation, computer codes use binary coding schemes. In binary coding, every symbol that appears in the data is represented by a group of bits. The group of bits used to represent a symbol is called a Byte. As most modern coding schemes use 8 bits to represent a symbol, the term byte is often used to mean a group of 8 bits.
  28. BCD- BCD stands for Binary Coded Decimal. It is one of the early computer codes. It uses 6 bits to represent a symbol. It can represent 64 (26) different characters
  29. EBCDIC-  EBCDIC stands for Extended Binary Coded Decimal Interchange Code. It uses 8 bits to represent a symbol. It can represent 256 (28) different characters.  Zoned decimal numbers are used to represent numeric values (positive, negative, or unsigned) in EBCDIC. A sign indicator (C for plus, D for minus, and F for unsigned) is used in the zone position of the rightmost digit. Zones for all other digits remain as F, the zone value for numeric characters in EBCDIC. In zoned format, there is only one digit per byte.
  30. ASCII- ASCII               stands     for American Standard Code for Information Interchange. ASCII is of two types – ASCII-7 and ASCII-8.
  31. ASCII-7 uses 7 bits to represent a symbol and can represent 128 (27) different characters.
  32. ASCII-8-  uses 8 bits to represent a symbol and can represent 256 (28) different characters. First 128 characters in ASCII-7 and ASCII-8 are same
  33. Unicode- Provides a consistent way of encoding  multilingual plain text. Defines         codes for characters used in all major languages of the world. Defines codes for special characters, mathematical symbols, technical symbols, and diacritics. Capacity to encode as many as a million characters. Assigns each character a unique numeric value and name. Encoding Forms- o        UTF-8, UTF-16, UTF-32.
  34. Central Processing Unit (CPU)- The brain of a computer system. Performs all major calculations and comparisons. Activates and controls the operations of other units of a computer system.
  35. Two basic components are Control Unit (CU) and Arithmetic Logic Unit (ALU)
  36. Control Unit (CU)-  One of the two basic components of CPU. Acts as the central nervous system of a computer system. Selects and interprets program instructions, and coordinates execution. Has some special purpose registers and a decoder to perform these activities.
  37. Arithmetic Logic Unit (ALU)- One of the two basic components of CPU. Actual execution of instructions takes place in ALU. Has some special purpose registers. Has necessary circuitry to carry out all the arithmetic and logic operations included in the CPU instruction set.
  38. Instruction Set- CPU has built-in ability to execute a particular set of machine instructions, called its instruction set. Most CPUs have 200 or more instructions (such as add, subtract, compare, etc.) in their instruction set. CPUs made by different manufacturers have different instruction sets. Manufacturers tend to group their CPUs into “families” having similar instruction sets. New CPU whose instruction set includes instruction set of its predecessor CPU is said to be backward compatible with its predecessor
  39. Registers- Special memory units, called registers, are used to hold information on a temporary basis as the instructions are interpreted and executed by the CPU. Registers are part of the CPU (not main memory) of a computer. The length of a register, sometimes called its word size, equals the number of bits it can store. With all other parameters being the same, a CPU with 32-bit registers can process data twice larger than one with 16-bit registers.
  40. Memory Address (MAR)- Holds address of the active memory location
  41. Memory Buffer (MBR)- Holds contents of the accessed (read/written) memory word
  42. Program Control (PC)- Holds address of the next instruction to be executed
  43. Accumulator (A)- Holds data to   be operated upon, intermediate results, and the results
  44. Instruction (I)- Holds an             instruction while it is being executed
  45. Input/output (I/O)- Used to communicate with the I/O devices
  46. Processor Speed- Computer has a built-in system clock that emits millions of regularly spaced electric pulses per second (known as clock cycles). It takes one cycle to perform a basic operation, such as moving a byte of data from one memory location to another. Clock speed (number of clock cycles per second) is measured in Megahertz (106 cycles/sec) or Gigahertz (109 cycles/sec)
  47. CISC (Complex Instruction Set Computer)- Mostly used in personal computers. Large instruction set. Variable-length instructions. Variety of addressing modes. Complex & expensive to produce
  48. RISC (Reduced Instruction Set Computer)- Mostly used in workstations.       Small instruction set. Fixed-length instructions. Reduced references to memory to retrieve operands
  49. EPIC (Explicitly Parallel Instruction Computing)- Mostly used in high-end servers and workstation. Allows software to communicate explicitly to the processor when operations are parallel. Uses tighter coupling between the compiler and the processor. Enables compiler to extract maximum parallelism in the original code, and explicitly describe it to the processor
  50. Multi-Core Processor- Mostly used in high-end servers and workstations. Processor chip has multiple cooler-running, more energy- efficient processing cores. Improve overall performance by handling more work in parallel. can share architectural components, such as memory elements and memory management.
  51. Main Memory-            Every computer has a temporary storage built into the computer hardware. It stores instructions and data of a program mainly when the program is being executed by the CPU. This temporary storage is known as main memory, primary storage, or simply memory. Physically, it consists of some chips either on the motherboard or on a small circuit board attached to the motherboard of a computer. It has random access property. It is volatile.
  52. Memory Capacity- Memory capacity of a computer is equal to the number of bytes that can be stored in its primary storage. Its units are:
    1. Kilobytes (KB)                               :               1024 (210) bytes
    2. Megabytes (MB)          :               1,048,576 (220) bytes
    3. Gigabytes (GB)                             :               1,073,741824 (230) bytes
  53. Random Access Memory (RAM)- Primary storage of a computer is often referred to as RAM because of its random-access capability. RAM chips are volatile memory. A computer’s motherboard is designed in a manner that the memory capacity can be enhanced by adding more memory chips. The additional RAM chips, which plug into special sockets on the motherboard, are known as single-in-line memory modules (SIMMs)
  54. Read Only Memory (ROM)- ROM a non-volatile memory chip. Data stored in a ROM can only be read and used – they cannot be changed. ROMs are mainly used to store programs and data, which do not change and are frequently used. For example, system boot program.
  55. Manufacturer-programmed ROM- Data is burnt by the manufacturer of the electronic equipment in which it is used.
  56. User-programmed ROM or Programmable ROM (PROM)- The user can load and store “read-only” programs and data in it
  57. Erasable PROM (EPROM)- The user can erase information stored in it and the chip can be reprogrammed to store new information
  58. Ultra Violet EPROM (UVEPROM)- A type of EPROM chip in which the stored information is erased by exposing the chip for some time to ultra-violet light
  59. Electrically EPROM (EEPROM) or   Flash memory- A type of EPROM chip in which the stored information is erased by using high voltage electric pulses
  60. Cache Memory- It is commonly used for minimizing the memory- processor speed mismatch. It is an extremely fast, small memory between CPU and main memory whose access time is closer to the processing speed of the CPU. It is used to temporarily store very active data and instructions during processing. Cache is pronounced as “cash”
  61. Direct-access Storage Devices- Approximately     equal      access    time is required for accessing information from any storage location. Suitable for direct processing applications such as on- line ticket booking systems, on-line banking systems.
  62. Sequential-access Storage Devices-  Arrival at the desired storage location may be preceded by sequencing through other locations. Data can only be retrieved in the same sequence in which it is stored. Access time varies according to the storage location of the information being accessed
  63. Magnetic Tape Basics- Commonly used sequential-access secondary storage device. Physically, the tape medium is a plastic ribbon, which is usually ½ inch or ¼ inch wide and 50 to 2400 feet long. Plastic ribbon is coated with a magnetizable recording material such as iron-oxide or chromium dioxide. Data are recorded on the tape in the form of tiny invisible magnetized and non-magnetized spots (representing 1s and 0s) on its coated surface.     Tape ribbon is stored in reels or a small cartridge or cassette
  64. Magnetic Disk – Basics- Commonly used direct-access secondary storage device. Physically, a magnetic disk is a thin, circular plate/platter made of metal or plastic that is usually coated on both sides with a magnetizable recording material such as iron-oxide. Data are recorded on the disk in the form of tiny invisible magnetized and non-magnetized spots (representing 1s and 0s) on the coated surfaces of the disk. The disk is stored in a specially designed protective envelope or cartridge, or several of them are stacked together in a sealed, contamination-free container.
  65. Optical Disk – Basics- Consists of a circular disk, which is coated with a thin metal or some other material that is highly reflective. Laser beam technology is used for recording/reading of data on the disk. Also known as laser disk / optical laser disk, due to the use of laser beam technology. Proved to be a promising random-access medium for high-capacity secondary storage because it can store extremely large amounts of data in a limited space.
  66. Optical Character Recognition (OCR) Device-  Scanner equipped with a character recognition software (called OCR software) that converts the bit map images of characters to equivalent ASCII codes. Enables word processing of input text and also requires less storage for storing the document as text rather than an image
  67. Optical Mark Reader (OMR)- Scanner capable of recognizing a pre-specified type of mark by pencil or pen. Very useful for grading tests with objective type questions, or for any input data that is of a choice or selection nature.
  68. Bar-code Reader– Scanner used for reading (decoding) bar-coded data.       Bar codes represent alphanumeric data by a combination of adjacent vertical lines (bars) by varying their width and the spacing between them.
  69. Magnetic-Ink Character Recognition (MICR)- MICR is used by banking industry for faster processing of large volume of cheques. Bank’s identification code (name, branch, etc.), account number and cheque number are pre-printed (encoded) using characters from a special character set on all chequeens.
  70. Digitizer- Input device used for converting (digitizing) pictures, maps and drawings into digital form for storage in computers. Commonly used in the area of Computer Aided Design (CAD) by architects and engineers to design cars, buildings medical devices, robots, mechanical parts, etc.
  71. Electronic-cards based devices-      Electronic cards are small plastic cards having encoded data appropriate for the application for which they are used. Electronic-card reader (normally connected to a computer) is used to read data encoded on an electronic card and transfer it to the computer for further processing.
  72. Speech recognition devices- Input device that allows a person to input data to a computer system by speaking to it.
  73. Monitors- Monitors are the most popular output devices used for producing soft-copy output. Cathode-ray-tube (CRT) monitors look like a television and are normally used with non-portable computer systems. Flat-panel monitors are thinner and lighter and are commonly used with portable computer systems like notebook computers. Now they are also used with non- portable desktop computer systems because they occupy less table space.
  74. Plotters- Plotters are an ideal output device for architects, engineers, city planners, and others who need to routinely generate high-precision, hard-copy graphic output of widely varying sizes.
  75. Laser Printers-  Page printers that print one page at a time. Consist of a laser beam source, a multi-sided mirror, a photoconductive drum and toner (tiny particles of oppositely charged ink). To print a page, the laser beam is focused on the electro statically charged drum by the spinning multi-sided mirror
  76. Notebook Computers-   Portable computers mainly meant for use by people who need computing resource wherever they go.
  77. Personal Computers (PCs)-  Non-portable, general-purpose computer that fits on a normal size office table.
  78. Workstations-     Powerful desktop computer designed to meet the computing needs of engineers, architects, and other professionals. Provides greater processing power, larger storage, and better graphics display facility than PCs. Commonly used for computer-aided design, multimedia applications, simulation of complex scientific and engineering problems, and visualization.
  79. Mainframe Systems- Mainly used by large organizations as banks, insurance companies, hospitals, railways, etc. Used for data handling and information processing requirements. Used in such environments where a large number of users need to share a common computing facility. Typically consist of a host computer, front-end computer, back-end computer, console terminals, magnetic disk drives, tape drives, magnetic tape library, user terminals, printers, and plotters.
  80. Supercomputers- Most powerful and most expensive computers available at a given time. Primarily used for processing complex scientific applications that require enormous processing power. Analysis of large volumes of seismic data. Supercomputers also support multiprogramming.
  81. Parallel Processing Systems- Use multiprocessing and parallel processing technologies to solve complex problems faster. Also known as parallel computers or parallel processing systems. Modern supercomputers employ hundreds of processors and are also known as massively parallel processors.
  82. Client and Server Computers- Client-server computing environment has multiple clients, one/more servers, and a network. Client is a PC/workstation with user-friendly interface running client processes that send service requests to the server. Server is generally a relatively large computer that manages a shared resource and provides a set of shared user services to the clients.
  83. Handheld Computers- Small computing device that can be used by holding in hand, also known as palmtop.
  84. Software refers to a collection of programs. Program is a sequence of instructions written in a language that can be understood by a computer. Software package is a group of programs that solve a specific problem or perform a specific type of job.
  85. System Software- Make the operation of a computer system more effective and efficient. Help hardware components work together and provide support for the development and execution of application software. Programs included in a system software package are called system programs and programmers who prepare them are called system programmers
  86. Application Software- Solve a specific problem or do a specific task. Programs included in an application software package are called application programs and the programmers who prepare them are called application programmers
  87. Firmware- Firmware is software substituted for hardware and stored in read-only memory
  88. Firmware technology has enabled production of various types of smart machines having microprocessor chips with embedded software.
  89. Middleware- Act as “glue” between client and server parts of application. Provide programming abstraction. Mask heterogeneity of underlying network, hardware, and OS. Encourages three-tier software architecture against two- tier popularized by Server-Client architecture
  90. Machine language- Only language of a computer understood by it without using a translation program. Normally written as strings of binary 1s and 0s. Written using decimal digits if the circuitry of the computer being used permits this
  91. Assembly language- Using alphanumeric mnemonic codes instead of numeric codes for the instructions in the instruction set. Allowing storage locations to be represented in form of alphanumeric addresses instead of numeric addresses. Providing pseudo-instructions that are used for instructing the system how we want the program to be assembled inside the computer’s memory
  92. Assembler- Software that translates as assembly language program into an equivalent machine language program of a computer
  93. High-level language- Machine independent. Do not require programmers to know anything about the internal structure of computer on which high-level language programs will be executed. Deal with high-level coding, enabling the programmers to write instructions using English words and familiar mathematical symbols and expressions
  94. Compiler- Translator program (software) that translates a high- level language program into its equivalent machine language program. Compiles a set of machine language instructions for every program instruction in a high-level language
  95. Interpreter- Interpreter is a high-level language translator
  96. Takes one statement of a high-level language program, translates it into machine language instructions. Immediately executes the resulting machine language instructions Compiler simply translates the entire source program into an object program and is not involved in its execution
  97. Object-Oriented Programming Languages- Programming languages are used for simulating real- world problems on computers. Essence of OOP is to solve a problem by: Identifying the real-world objects of the problem, Identifying processing required of them.
  98. FORTRAN- Stands for FORmula TRANslation. Originally developed by John Backus and his team at IBM followed by several revisions. Designed for solving scientific & engineering problems.
  99. COBOL- Stands for COmmon Business Oriented Language. Originally developed started under Grace Hopper followed by COnference on DAta SYstems Languages (CODASYL). Designed for programming business data processing applications
  100. BASIC- Stands for Beginners All-purpose Symbolic Instruction Code. Developed by Professor John Kemeny and Thomas Kurtz at Darmouth College in the United States. Flexible and reasonably powerful language and can be used for both business and scientific applications
  101. Pascal- Developed by Professor Nicklaus Wirth of Federal Institute of Technology in Zurich. Suitable for both scientific & business applications
  102. C Language- Developed in 1972 at AT&T’s Bell laboratories, USA by Dennis Ritchie and Brian Kernighan. High-level programming languages (mainly machine independence) with the efficiency of an assembly language. Language of choice of programmers for portable systems software and commercial software packages like OS, compiler, spreadsheet, word processor, and database management systems
  103. C++ Language- C++ – C++ as ++ is increment operator and C language is incremented to its next level with C++. Developed by Bjarne Stroustrup at Bell Labs in the early 1980s
  104. Contains all elements of the basic C language. Expanded to include numerous object-oriented programming features
  105. Java- Development started at Sun Microsystems in 1991 by a team led by James Gosling. Developed to be similar to C++ with fewer features to keep it simple and easy to use. Compiled code is machine-independent and developed programs are simple to implement and use
  106. Bugs- Program errors are known as bugs
  107. Debugging- Process of detecting and correcting these errors is called debugging
  108. Testing – Testing is the process of making sure that the program performs the intended task

Operating System

Operating System

  1. An Operating System (OS) is an interface between a computer user and computer hardware.
  2. An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.
  3. Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/OS, etc.
  4. An Operating System provides services to both the users and to the programs.
  5. An Operating System provides programs an environment to execute.
  6. An Operating System provides users the services to execute the programs in a convenient manner.
  7. Services provided by an operating system are Program execution, I/O operations, File System manipulation, Communication, Error Detection, Resource Allocation and Protection.
  8. Operating systems handle many kinds of activities from user programs to system programs. Each of these activities is encapsulated as a process.
  9. A process includes the complete execution context (code to execute, data to manipulate, registers, OS resources in use).
  10. Definition- An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.
  11. Memory Management, Processor Management, Device Management, File Management, Security, Control over system performance, Job accounting, Error detecting aids, Coordination between other software and users.
  12. Memory management refers to management of Primary Memory or Main Memory.
  13. Main memory is a large array of words or bytes where each word or byte has its own address.
  14. Main memory provides a fast storage that can be accessed directly by the CPU.
  15. For a program to be executed, it must in the main memory.
  16. In multiprogramming environment, the OS decides which process gets the processor when and for how much time. This function is called process scheduling.
  17. An Operating System does the activities for Processor Management keeps tracks of processor and status of process. The program responsible for this task is known as traffic controller.
  18. An Operating System manages device communication via their respective drivers.
  19. An Operating System does the activities for device management keeps tracks of all devices. Program responsible for this task is known as the I/O controller.
  20. A file system is normally organized into directories for easy navigation and usage.
  21. An Operating System does the activities for file management keeps track of information, location, uses, status etc. The collective facilities are often known as file system.
  22. Operating systems are there from the very first computer generation and they keep evolving with time.
  23. The users of a batch operating system do not interact with the computer directly.
  24. In Batch operating system, each user prepares his job on an off-line device like punch cards and submits it to the computer operator.
  25. In Batch operating system, to speed up processing, jobs with similar needs are batched together and run as a group.
  26. Time-sharing Operating System is a technique which enables many people, located at various terminals, to use a particular computer system at the same time.
  27. Time-sharing Operating System or multitasking is a logical extension of multiprogramming.
  28. Processor’s time which is shared among multiple users simultaneously is termed as time-sharing.
  29. The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in case of Multiprogrammed batch systems, the objective is to maximize processor use, whereas in Time-Sharing Systems, the objective is to minimize response time.
  30. Time-sharing Operating System uses CPU scheduling and multiprogramming to provide each user with a small portion of a time.
  31. Distributed operating System use multiple central processors to serve multiple real-time applications and multiple users.
  32. Data processing jobs are distributed among the processors accordingly.
  33. In the Distributed operating System processors communicate with one another through various communication lines (such as high-speed buses or telephone lines).
  34. The Distributed operating System are referred as loosely coupled systems or distributed systems.
  35. In the Distributed operating System, processors are referred as sites, nodes, computers, and so on.
  36. The Distributed operating System with resource sharing facility, a user at one site may be able to use the resources available at another.
  37. The Distributed operating System speedup the exchange of data with one another via electronic mail.
  38. A Network Operating System runs on a server and provides the server the capability to manage data, users, groups, security, applications, and other networking functions.
  39. The Network Operating System, primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks.
  40. Examples of network operating systems include Microsoft Windows Server, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
  41. A real-time system is defined as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment.
  42. Real-time system, the time taken by the system to respond to an input and display of required updated information is termed as the response time.
  43. A real-time operating system must have well-defined, fixed time constraints, otherwise the system will fail.
  44. There are two types of real-time operating systems.
  45. Hard real-time systems- Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems, secondary storage is limited or missing and the data is stored in ROM. In these systems, virtual memory is almost never found.
  46. Soft real-time systems- Soft real-time systems are less restrictive. A critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. A file represents a collection of related information. The storage media include magnetic tape, magnetic disk and optical disk drives like CD, DVD. Batch processing is a technique in which an Operating System collects the programs and data together in a batch before processing starts.
  1. Multitasking

Multitasking is when multiple jobs are executed by the CPU simultaneously by switching between them. In Multitasking the user gives instructions to the operating system or to a program directly, and receives an immediate response. The OS handles multitasking in the way that it can handle multiple operations/executes multiple programs at a time. Multitasking Operating Systems are also known as Time-sharing systems. Multitasking Operating Systems were developed to provide interactive use of a computer system at a reasonable cost. A time-shared operating system uses the concept of CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared CPU.

  1. Multiprogramming

Sharing the processor, when two or more programs reside in memory at the same time, is referred as multiprogramming. Multiprogramming assumes a single shared processor. Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute. The operating system keeps several jobs in memory at a time. Multiprogramming operating systems monitor the state of all active programs and system resources using memory management programs to ensures that the CPU is never idle, unless there are no jobs to process.

  1. Interactivity

Interactivity refers to the ability of users to interact with a computer system. Interactivity provides the user an interface to interact with the system. The Interactivity, manages input devices to take inputs from the user. The Interactivity, manages output devices to show outputs to the user.

  1. Real Time System

Real-time systems are usually dedicated, embedded systems. The Real Time System, Operating Systems typically read from and react to sensor data.

  1. Distributed Environment

A distributed environment refers to multiple independent CPUs or processors in a computer system. A distributed environment the OS distributes computation logics among several physical processors. A distributed environment the processors do not share memory or a clock. Instead, each processor has its own local memory. A distributed environment the OS manages the communications between the processors. They communicate with each other through various communication lines.

  1. Spooling

Spooling is an acronym for simultaneous peripheral operations on line. Spooling refers to putting data of various I/O jobs in a buffer. This buffer is a special area in memory or hard disk which is accessible to I/O devices. handles I/O device data spooling as devices have different data access rates. Maintains the spooling buffer which provides a waiting station where data can rest while the slower device catches up. Maintains parallel computation because of spooling process as a computer can perform I/O in parallel fashion. The spooling operation uses a disk as a very large buffer. Spooling is capable of overlapping I/O operation for one job with processor operations for another job.

  1. Process- A process is basically a program in execution.
  2. Program- A program is a piece of code which may be a single line or millions of lines. A computer program is usually written by a computer programmer in a programming language. A computer program is a collection of instructions that performs a specific task when executed by a computer. When we compare a program with a process, we can conclude that a process is a dynamic instance of a computer program. A part of a computer program that performs a well-defined task is known as an algorithm. A collection of computer programs, libraries and related data are referred to as a software.
  1. Process Control Block (PCB)- A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). A PCB keeps all the information needed to keep track of a process as listed below in the table.
  1. Schedulers- Schedulers are special system software which handle process scheduling in various ways. Their main task is to select the jobs to be submitted into the system and to decide which process to run.
  1. Long-Term Scheduler- A long-term scheduler is also called a job scheduler. A long-term scheduler determines which programs are admitted to the system for processing. Process loads into the memory for CPU scheduling.
  1. Short-Term Scheduler- Short Term Scheduler is also called as CPU scheduler. Short Term Scheduler main objective is to increase system performance in accordance with the chosen set of criteria. Short-term schedulers, also known as dispatchers, make the decision of which process to execute next. Short-term schedulers are faster than long-term schedulers.
  1. Medium-Term Scheduler- Medium-term scheduling is a part of swapping. A running process may become suspended if it makes an I/O request. A suspended processes cannot make any progress towards completion. In this condition, to remove the process from memory and make space for other processes, the suspended process is moved to the secondary storage. This process is called swapping, and the process is said to be swapped out or rolled out. Swapping may be necessary to improve the process mix.
  1. Context Switch- Context switching is an essential part of a multitasking operating system features.
  1. Virtual Memory- A computer can address more memory than the amount physically installed on the system. This extra memory is actually called virtual memory and it is a section of a hard disk that’s set up to emulate the computer’s RAM.
  1. I/O system- An I/O system is required to take an application I/O request and send it to the physical device, then take whatever response comes back from the device and send it to the application. I/O devices can be divided into two categories −
  1. Block devices − A block device is one with which the driver communicates by sending entire blocks of data. For example, Hard disks, USB cameras, Disk-On-Key etc.
  2. Character devices − A character device is one with which the driver communicates by sending and receiving single characters (bytes, octets). For example, serial ports, parallel ports, sounds cards etc.
  1. Device Controllers- Device drivers are software modules that can be plugged into an OS to handle a particular device. Operating System takes help from device drivers to handle all I/O devices. The Device Controller works like an interface between a device and a device driver. I/O units typically consist of a mechanical component and an electronic component where electronic component is called the device controller. There is always a device controller and a device driver for each device to communicate with the Operating Systems. A device controller may be able to handle multiple devices. As an interface its main task is to convert serial bit stream to block of bytes, perform error correction as necessary. Any device connected to the computer is connected by a plug and socket, and the socket is connected to a device controller.

Following is a model for connecting the CPU, memory, controllers, and I/O devices where CPU and device controllers all use a common bus for communication.

  1. Synchronous I/O − In this scheme CPU execution waits while I/O proceeds
  2. Asynchronous I/O − I/O proceeds concurrently with CPU execution.

A computer must have a way of detecting the arrival of any type of input. There are two ways that this can happen, known as polling and interrupts.

  1. Polling I/O- Polling is the simplest way for an I/O device to communicate with the processor.
  1. Interrupts I/O- An alternative scheme for dealing with I/O is the interrupt-driven method.
  1. Memory Management- Memory management is the functionality of an operating system which handles or manages primary memory and moves processes back and forth between main memory and disk during execution. Memory management keeps track of each and every memory location, regardless of either it is allocated to some process or it is free. Memory management checks how much memory is to be allocated to processes. Memory management decides which process will get memory at what time. Memory management tracks whenever some memory gets freed or unallocated and correspondingly it updates the status. The basic concepts related to Memory Management.
  1. Process Address Space- The process address space is the set of logical addresses that a process references in its code. The set of all logical addresses generated by a program is referred to as a logical address space. The set of all physical addresses corresponding to these logical addresses is referred to as a physical address space.
  1. Swapping- Swapping is a mechanism in which a process can be swapped temporarily out of main memory (or move) to secondary storage (disk) and make that memory available to other processes. At some later time, the system swaps back the process from the secondary storage to main memory.
  1. Fragmentation- As processes are loaded and removed from memory, the free memory space is broken into little pieces. It happens after sometimes that processes cannot be allocated to memory blocks considering their small size and memory blocks remains unused. This problem is known as Fragmentation.
  1. Paging- A computer can address more memory than the amount physically installed on the system. This extra memory is actually called virtual memory and it is a section of a hard that’s set up to emulate the computer’s RAM. Paging technique plays an important role in implementing virtual memory. Paging is a memory management technique in which process address space is broken into blocks of the same size called pages. Main memory is divided into small fixed-sized blocks of (physical) memory called frames and the size of a frame is kept the same as that of a page to have optimum utilization of the main memory and to avoid external fragmentation.
  1. Address Translation- Page address is called logical address and represented by page number and the offset.
  1. Logical Address = Page number + page offset

Frame address is called physical address and represented by a frame number and the offset. Physical Address = Frame number + page offset

A data structure called page map table is used to keep track of the relation between a page of a process to a frame in physical memory.

  1. Segmentation- Segmentation is a memory management technique in which each job is divided into several segments of different sizes, one for each module that contains pieces that perform related functions. Each segment is actually a different logical address space of the program.
  1. File- A file is a named collection of related information that is recorded on secondary storage such as magnetic disks, magnetic tapes and optical disks.  A file is a sequence of bits, bytes, lines or records whose meaning is defined by the files creator and user.
  1. File Structure- A File Structure is according to a required format that the operating system can understand. A file has a certain defined structure according to its type. A text file is a sequence of characters organized into lines. A source file is a sequence of procedures and functions. An object file is a sequence of bytes organized into blocks that are understandable by the machine. When operating system defines different file structures, it also contains the code to support these file structure. Unix, MS-DOS support minimum number of file structure.
  1. File Type- File type refers to the ability of the operating system to distinguish different types of file such as text files source files and binary files etc. Many operating systems support many types of files. Operating system like MS-DOS and UNIX have the following types of files −
  2. Ordinary files- are the files that contain user information. These may have text, databases or executable program. The user can apply various operations on such files like add, modify, delete or even remove the entire file.
  3. Directory files- These files contain list of file names and other information related to these files.
  4. Special files- These files are also known as device files. These files represent physical device like disks, terminals, printers, networks, tape drive etc.
  5. File Access Mechanisms- File access mechanism refers to the manner in which the records of a file may be accessed. There are several ways to access files File Access Mechanisms. File access mechanism refers to the manner in which the records of a file may be accessed.
  6. Sequential access- A sequential access is that in which the records are accessed in some sequence, i.e., the information in the file is processed in order, one record after the other. This access method is the most primitive one.
  7. Direct/Random access- Random access file organization provides, accessing the records directly. Each record has its own address on the file with by the help of which it can be directly accessed for reading or writing. The records need not be in any sequence within the file and they need not be in adjacent locations on the storage medium.
  8. Indexed sequential access- This mechanism is built up on base of sequential access. An index is created for each file which contains pointers to various blocks. Index is searched sequentially and its pointer is used to access the file directly.
  9. Operating System – Security- Security refers to providing a protection system to computer system resources such as CPU, memory, disk, software programs and most importantly data/information stored in the computer system. If a computer program is run by an unauthorized user, then he/she may cause severe damage to computer or data stored in it.
  10. Program Threats-Operating system’s processes and kernel do the designated task as instructed. If a user program made these process do malicious tasks, then it is known as Program Threats.

Following is the list of some well-known program threats.

  1. Trojan Horse − Such program traps user login credentials and stores them to send to malicious user who can later on login to computer and can access system resources.
  2. Trap Door − If a program which is designed to work as required, have a security hole in its code and perform illegal action without knowledge of user then it is called to have a trap door.
  3. Logic Bomb − Logic bomb is a situation when a program misbehaves only when certain conditions met otherwise it works as a genuine program. It is harder to detect.
  4. Virus − Virus as name suggest can replicate themselves on computer system. They are highly dangerous and can modify/delete user files, crash systems. A virus is generatlly a small code embedded in a program. As user accesses the program, the virus starts getting embedded in other files/ programs and can make system unusable for user
  5. System Threats- System threats refers to misuse of system services and network connections to put user in trouble. System threats can be used to launch program threats on a complete network called as program attack. System threats creates such an environment that operating system resources/ user files are misused.
  1. Worm − Worm is a process which can choked down a system performance by using system resources to extreme levels. A Worm process generates its multiple copies where each copy uses system resources, prevents all other processes to get required resources. Worms processes can even shut down an entire network.
  2. Port Scanning − Port scanning is a mechanism or means by which a hacker can detects system vulnerabilities to make an attack on the system.
  3. Denial of Service − Denial of service attacks normally prevents user to make legitimate use of the system.

Unix

  1. Unix is an operating system. Unix supports multitasking and multi-user functionality.
  2. The Unix operating system is a set of programs that act as a link between the computer and the user.
  3. The computer programs that allocate the system resources and coordinate all the details of the computer’s internals is called the operating system or the kernel.
  4. Users communicate with the kernel through a program known as the shell.
  5. The shell is a command line interpreter; it translates commands entered by the user and converts them into a language that is understood by the kernel.
  6. Unix was originally developed in 1969 by a group of AT&T employees Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna at Bell Labs.
  7. There are various Unix variants available in the market. Solaris Unix, AIX, HP Unix and BSD are a few examples. Linux is also a flavor of Unix which is freely available.
  8. Several people can use a Unix computer at the same time; hence Unix is called a multiuser system.
  9. A user can also run multiple programs at the same time; hence Unix is a multitasking environment.
  10. Kernel − The kernel is the heart of the operating system. It interacts with the hardware and most of the tasks like memory management, task scheduling and file management.
  11. Shell − The shell is the utility that processes your requests. When you type in a command at your terminal, the shell interprets the command and calls the program that you want. The shell uses standard syntax for all commands. C Shell, Bourne Shell and Korn Shell are the most famous shells which are available with most of the Unix variants.
  12. Files and Directories − All the data of Unix is organized into files. All files are then organized into directories. These directories are further organized into a tree-like structure called the filesystem.
  13. Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX.

MS-DOS

  1. Short for Microsoft Disk Operating System, MS-DOS is a non-graphical command line operating system created for IBM compatible computers. MS-DOS was first introduced by Microsoft in August 1981 and was last updated in 1994 with MS-DOS 6.22. The command shell commonly known as the Windows command line.
  2. MS-DOS is an operating system for x86-based personal computers developed by Microsoft.
  3. MS-DOS was the main operating system for IBM PC compatible personal computers during the 1980s.
  4. DOS exists in two forms. The one supplied for IBM Personal Computers is known as PC-DOS and other compatible personal computers use MS-DOS.

Booting Process in DOS

  1. Booting may be defined as process of loading the operating system into memory.
  2. The booting process starts from the moment when we power on computer and continues till moment, computer is ready for use.
  3. In the DOS, booting process starts when we start computer and continues till DOS prompt is displayed.
  4. The booting process of DOS mainly deals with loading three main system files of DOS into memory. These files are IO.SYS, MSDOS.SYS and COMMAND.COM.
  5. Once the computer system is turned on, BIOS (Basic Input /Output System) performs a series of activities or functionality test on programs stored in ROM, called on Power-on Self Test (POST) that checks to see whether peripherals in system are in perfect order or not.
  6. The BIOS is done with pre-boot activities or functionality test, it read bootable sequence from CMOS (Common Metal Oxide Semiconductor) and looks for master boot record in first physical sector of the bootable disk as per boot device sequence specified in CMOS.
  7. Master boot record will be searched first in a floppy disk drive. If not found, then hard disk drive will be searched for master boot record. But if the master boot record is not even present on hard disk, then CDROM drive will be searched. If the system is not able to read master boot record from any of these sources, ROM displays the message “No Boot device found” and system is halted. On finding master boot record from a particular bootable disk drive, operating system loader, also called Bootstrap loader is loaded from boot sector of that bootable drive· into memory. A bootstrap loader is a special program that is present in boot sector of bootable drive.
  8. Bootstrap loader first loads the IO.SYS file. After this, MSDOS.SYS file is loaded which is core file of DOS operating system.
  9. SYS file searches to find Command Interpreter in CONFIG.SYS file and when it finds, it loads into memory. If no Command Interpreter specified in the CONFIG.SYS file, the COMMAND.COM file is loaded as default Command Interpreter of DOS operating system.
  10. The last file is to be loaded and executed is the AUTOEXEC.BAT file that contains a sequence of DOS commands. After this, the prompt is displayed, and we can see drive letter of bootable drive displayed on the computer system, which indicates that operating system has been successfully on the system from that drive.

Types of Booting:

  1. Cold Booting/Switch Booting –When the user starts computer by pressing power switch on system unit, the operating system is loaded from disk to main memory this type of booting is called Cold Booting. This booting takes more time than Hot or Warm Booting.
  2. Hot or Warm Booting –Hot booting is done when computer system comes to no response state/hang state. Computer does not respond to commands supplied by user. There are many reasons for this state, only solution is to reboot computer by using the Reset button on cabinet or by pressing a combination of ALT + CTRL + DEL keys from keyboard.
  3. MS-DOS is a command-line operating system that allows you to perform various tasks according to given commands. Here some useful commands-
    • cd : Change directory or display current directory path.
    • cls : Clear the window.
    • dir : Display list of contents of current directory.
    • help : Display list of commands or help about a command.
    • notepad : Run the Windows Notepad text editor.
    • type : Displays the contents of a text file.
    • assoc : Displays or modifies filename extension associations.
    • attrib : Displays or changes file attributes.
    • call : Calls one batch program file from another.
    • chkdsk : Checks a disk and displays a status report.
    • chkntfs : Displays or modifies the checking of disk at startup.
    • color : Sets the text and background colors.
    • comp : Compares the contents of two files or sets of files.
    • copy : Copies one or more files to another location. See also: xcopy
    • date : Displays or sets the computer’s date. See also: time
    • del (or erase) : Deletes one or more files.
    • defrag : Defragment the specified storage device.
    • doskey : Display command history; define macros.
    • echo : Displays messages, or turns command echoing on/off.
    • edit : Runs the MS-DOS text editor. See also: notepad
    • exit : Closes the MS-DOS window.
    • fc : Compares two files or sets of files and displays the differences.
    • find : Searches for a text string in a file or files.
    • findstr : Search for a regular expression text string in a file or files.
    • goto : Used in a batch program file to jump to a particular line.
    • if : Used in a batch program file to perform conditional testing.
    • md (or mkdir) : Creates a directory.
    • more : Displays the contents of a file one screen at a time.
    • move : Moves one or more files from one directory to another directory.
    • rd (or rmdir) : Removes a directory.
    • rem : Used in a batch program file to identify comments.
    • ren (or rename) : Renames a file or files.
    • sort : Sorts input.
    • start : Starts a new window to run a specified program or command.
    • time : Displays or sets the computer’s time. See also: date
    • tree : Graphically displays the directory structure of a drive or directory.
    • xcopy : Copies files and directory trees. See also: copy

The internet related commands

  • arp : Displays ARP (address resolution protocol) translation tables.
  • ftp : FTP (file transfer program) to transfer files to/from server.
  • ipconfig : Displays internet configuration, including IP address.
  • netsh : Network services shell.
  • nslookup : Lookup IP address to/from domain name.
  • netstat : Displays current TCP/IP network connections and statistics.
  • ping : Ping the specified internet IP address or host name.
  • telnet : Starts a text-based telnet session to the specified host.
  • tftp : Transfers files to/from remote computer running TFTP service.
  • tracert : Traces the route to the specified IP address or host.

The following command are third-parties. Some are equivalent to the Linux utility by the same name.

  • config : Defragment one or more files (rather than entire drive).
  • clip : Copy command output to Windows clipboard. See: paste
  • du : Displays disk usage for selected files or directories.
  • lynx : Text based web browser.
  • paste : Paste Windows clipboard to command input. See: clip
  • strings : Find all strings of a specified minimum length.
  • whois : Lookup domain ownership information.

Windows

  1. The Windows operating system (Windows OS) is developed by Microsoft Corporation. The history of Windows OS is from 1985 to present day.
  2. Windows is a desktop operating system developed by Microsoft.
  3. Each version of Windows comes with a graphical user interface that includes a desktop with icons and a task bar that is displayed at the bottom of the screen by default.
  4. The Windows “File Explorer” allows users to open multiple windows, browse folders, and open files and applications.
  5. Windows Start menu, which provides quick access to files, settings, and the Windows search feature.
  6. The task bar at the bottom of the screen is an easy way to identify a Windows desktop.
  7. Windows is available in “Home” and “Pro” editions. The Home edition is sufficient for most users, while the Pro edition includes additional networking and administrative features useful in corporate workspaces.
  8. Windows runs on standard x86 hardware.
  9. Software programs written for Windows may be called apps, applications, or executable files.
  10. Regardless of their label, Windows software programs have an .EXE file extension.
  11. 64-bit versions of Windows run both 32 and 64-bit apps, while 32-bit versions only run 32-bit applications.

Control Panel

  1. The Control Panel is a component of Microsoft Windows that provides the ability to view and change system settings. It consists of a set of applets that include adding or removing hardware and software, controlling user accounts, changing accessibility options, and accessing networking settings. Additional applets are provided by third parties, such as audio and video drivers, VPN tools, input devices, and networking tools.
  • Programs and Feature- This opens the Uninstall a Program applet. May be used to uninstall installed programs, or add or remove features from Windows
  • Date and Time- Opens the Date and Time applet. Allows you to set date and time, change time zone, add additional clocks, and sync Internet time.
  • Device Manager- The Device Manager lists all installed hardware. May be used to install and remove devices, install drivers, and more
  • Display- provides you with options to set display related settings such as the color profile or scaling. Loads the Settings app on Windows 10.
  • Firewall- Opens the Windows Firewall. Turn it on or off, and open the advanced settings to block or allow connections.
  • Infrared- Lets you manage infrared devices.
  • Internet Options- Opens the classic Internet Options window. Manage Internet settings that Internet Explorer and other browsers may use.
  • Controllers- Manage game controllers connnected to the operating system
  • Keyboard- Change keyboard repeat delay and rate, cursor blink rate, and check installed keyboard hardware.
  • Language- control input.dll Opens the Language control panel applet. Add, remove or change the priority of languages.
  • Mouse- The mouse controls enable you to change mouse icons, button behavior, wheel scrolling, and more.
  • Network- Opens the Network and Sharing Center. May use it to add a new network, set up connections, and manage existing networks
  • Network Connections- Lists all known network connections and their status.
  • Power- Opens the Power Options. Set a power plan, and customize it.
  • Region- The Region control panel applets lets you change date and time formats, and your location
  • Screensaver- Opens the Screensaver dialog to enable, disable and configure screensavers.
  • Sound- The Sound properties lists all playback and recording devices, options to configure those, and manage sounds and communications.
  • System Properties- lists information about the device and Windows, and links to other control panel areas.
  • Tablet PC- Only available if you run in tablet PC mode.
  • Location Information– Set your country, area code, carrier code and dial number for telephony and modem services.
  • Security and Maintenance- Manage Security and Maintenance related features
  • User Accounts- Opens the list of user accounts on the system.

Internet And Networking

Internet

  1. Internet is a world-wide global system of interconnected computer networks. Internet uses the standard Internet Protocol (TCP/IP). Every computer in internet is identified by a unique IP address. IP Address is a unique set of numbers (such as 110.22.33.114) which identifies a computer location. A special computer DNS (Domain Name Server) is used to give name to the IP Address so that user can locate a computer by a name. For example, a DNS server will resolve a name https://www.ucidream.com to a particular IP address to uniquely identify the computer on which this website is hosted. Internet is accessible to every user all over the world.
  2. Internet Evolution
  3. The concept of Internet was originated in 1969 and has undergone several technological & Infrastructural changes as :
  4. The origin of Internet devised from the concept of Advanced Research Project Agency Network (ARPANET). ARPANET was developed by United States Department of Defense. Basic purpose of ARPANET was to provide communication among the various bodies of government. Initially, there were only four nodes, formally called Hosts. In 1972, the ARPANET spread over the globe with 23 nodes located at different countries and thus became known as Internet. By the time, with invention of new technologies such as TCP/IP protocols, DNS, WWW, browsers, scripting languages etc., Internet provided a medium to publish and access information over the web.
  5. Extranet
  6. Extranet refers to network within an organization, using internet to connect to the outsiders in controlled manner. It helps to connect businesses with their customers and suppliers and therefore allows working in a collaborative manner.
  7. Extranet vs Intranet
  8. Extranet- Internal network that can be accessed externally. Extranet is extension of company’s Intranet. For limited external communication between customers, suppliers and business partners.
  9. Intranet- Internal network that cannot be accessed externally. Only limited users of a company. Only for communication within a company.

Internet Models

OSI Reference Model

  1. OSI Reference Model- OSI is acronym of Open System Interface. This model is developed by the international organization of Standardization (ISO) and therefore also referred as ISO-OSI Model. The OSI model consists of seven layers. Each layer has a specific function; however, each layer provides services to the layer above.
  2. Physical Layer- The Physical layer is responsible for this type’s activities. Activating, maintaining and deactivating the physical connection. Defining voltages and data rates needed for transmission. Converting digital bits into electrical signal. Deciding whether the connection is simplex, half duplex or full duplex.
  3. Data Link Layer- The data link layer performs for these functions. Performs synchronization and error control for the information which is to be transmitted over the physical link. Enables error detection, and adds error detection bits to the data which are to be transmitted.
  4. Network Layer- These are the functions of Network Layer- To route the signals through various channels to the other end. To act as the network controller by deciding which route data should take. To divide the outgoing messages into packets and to assemble incoming packets into messages for higher levels.
  5. Transport Layer- The Transport layer performs for these functions. It decides if the data transmission should take place on parallel paths or single path.     It performs multiplexing, splitting on the data. It breaks the data groups into smaller units so that they are handled more efficiently by the network layer. The Transport Layer guarantees transmission of data from one end to another end.
  6. Session Layer- The Session layer performs for these functions. Manages the messages and synchronizes conversations between two different applications. It controls logging on and off, user identification, billing and session management.
  7. Presentation Layer-  This layer makes it sure that the information is delivered in such a form that the receiving system will understand and use it.
  8. Application Layer– The Application layer performs for these functions- It provides different services such as manipulation of information in several ways, retransferring the files of information, distributing the results etc. The functions such as LOGIN or password checking are also performed by the application layer.

TCP/IP Reference Model

  1. TCP/IP model is practical model and is used in the Internet. TCP/IP is acronym of Transmission Control Protocol and Internet Protocol. The TCP/IP model combines the two layers (Physical and Data link layer) into one layer i.e., Host-to-Network layer. The various layers of TCP/IP model:
  2. Application Layer- This layer is same as that of the OSI model and performs for these functions. It provides different services such as manipulation of information in several ways, retransferring the files of information, distributing the results etc. The functions such as LOGIN or password checking are also performed by the application layer.
  3. Protocols used: TELNET, FTP, SMTP, DN, HTTP, NNTP are the protocols employed in this layer.
  4. Transport Layer- It does the same functions as that of transport layer in OSI model. Here are the key points regarding transport layer. It uses TCP and UDP protocol for end-to-end transmission. TCP is reliable and connection-oriented protocol. TCP also handles flow control. The UDP is not reliable and a connection less protocol also does not perform flow control.
  5. Protocols used: TCP/IP and UDP protocols are employed in this layer.
  6. Internet Layer- The function of this layer is to allow the host to insert packets into network and then make them travel independently to the destination. However, the order of receiving the packet can be different from the sequence they were sent.
  7. Protocols used: Internet Protocol (IP) is employed in Internet layer.
  8. Host-to-Network Layer- This is the lowest layer in TCP/IP model. The host has to connect to network using some protocol, so that it can send IP packets over it. This protocol varies from host to host and network to network.
  9. Protocols used: ARPANET, SATNET, LAN, packet radio are the protocols which are used in this layer.

Domain Name System

  1. The Domain name system comprises of Domain Names, Domain Name Space, Name Server that have been described below:
  2. Domain Names– Domain Name is a symbolic string associated with an IP address. There are several domain names available; some of them are generic such as com, edu, gov, net etc, while some country level domain names such as au, in, za, us etc.
  3. The Generic Top-Level Domain names- Com-Commercial business, Edu-         Education, Gov- U.S. government agency, Int+ International entity, Mil- U.S. military, Net- Networking organization, Org- Non profit organization
  4. The Country top-level domain names- Au- Australia, in           – India, cl- Chile, fr- France, us- United States, za- South Africa, uk- United Kingdom, jp+ Japan, es- Spain, de- Germany, ca- Canada, ee- Estonia, hk- Hong Kong
  5. Domain Name Space- The domain name space refers a hierarchy in the internet naming structure. This hierarchy has multiple levels (from 0 to 127), with a root at the top.
  6. Name Server- Name server contains the DNS database. This database comprises of various names and their corresponding IP addresses. Since it is not possible for a single server to maintain entire DNS database, therefore, the information is distributed among many DNS servers. Hierarchy of server is same as hierarchy of names. The entire name space is divided into the zones
  7. Zones- Zone is collection of nodes (sub domains) under the main domain. The server maintains a database called zone file for every zone. The information about the nodes in the sub domain is stored in the servers at the lower levels however; the original server keeps reference to these lower levels of servers.
  8. Types of Name Servers- These are the three categories of Name Servers that manages the entire Domain Name System- Root Server,                 Primary Server and Secondary Server
  9. Root Server- Root Server is the top level server which consists of the entire DNS tree. It does not contain the information about domains but delegates the authority to the other server
  10. Primary Servers- Primary Server stores a file about its zone. It has authority to create, maintain, and update the zone file.
  11. Secondary Server- Secondary Server transfers complete information about a zone from another server which may be primary or secondary server. The secondary server does not have authority to create or update a zone file.
  12. DNS Working
  13. DNS translates the domain name into IP address automatically. Here the steps included in domain resolution process- 1. When we type www.ucidreamt.com into the browser, it asks the local DNS Server for its IP address. 2. Here the local DNS is at ISP end. 3. When the local DNS does not find the IP address of requested domain name, it forwards the request to the root DNS server and again enquires about IP address of it. 4. The root DNS server replies with delegation that I do not know the IP address of www.tutorialspoint.com but know the IP address of DNS Server. 5. The local DNS server then asks the com DNS Server the same question. 6. The com DNS Server replies the same that it does not know the IP address of www.tutorialspont.com but knows the address of tutorialspoint.com. 7. Then the local DNS asks the tutorialspoint.com DNS server the same question. 8. Then ucidream.com DNS server replies with IP address of www.ucidream.com. 9. Now, the local DNS sends the IP address of www.ucidream.com to the computer that sends the request.

Internet Services

  1. Communication Services- There are various Communication Services available that offer exchange of information with individuals or groups. These are various these services:
  2. Electronic Mail- Used to send electronic message over the internet.
  3. Telnet- Used to log on to a remote computer that is attached to internet.
  4. Newsgroup– Offers a forum for people to discuss topics of common interests.
  5. Internet Relay Chat (IRC)- Allows the people from all over the world to communicate in real time.
  6. Mailing Lists- Used to organize group of internet users to share common information through e-mail.
  7. Internet Telephony (VoIP)- Allows the internet users to talk across internet to any PC equipped to receive the call.
  8. Instant Messaging– Offers real time chat between individuals and group of people. Eg. Yahoo messenger, MSN messenger.
  9. Information Retrieval Services- There exist several Information retrieval services offering easy access to information present on the internet. These are various these services:
  10. File Transfer Protocol (FTP)- Enable the users to transfer files.
  11. Archie- It’s updated database of public FTP sites and their content. It helps to search a file by its name.
  12. Gopher- Used to search, retrieve, and display documents on remote sites.
  13. Very Easy Rodent Oriented Netwide Index to Computer Achieved (VERONICA)- VERONICA is gopher-based resource. It allows access to the information resource stored on gopher’s servers.
  14. Web Services- Web services allow exchange of information between applications on the web. Using web services, applications can easily interact with each other. The web services are offered using concept of Utility Computing.
  15. World Wide Web (WWW)- WWW is also known as W3. It offers a way to access documents spread over the several servers over the internet. These documents may contain texts, graphics, audio, video, hyperlinks. The hyperlinks allow the users to navigate between the documents.
  16. Video Conferencing- Video conferencing or Video teleconferencing is a method of communicating by two-way video and audio transmission with help of telecommunication technologies.
  17. Modes of Video Conferencing
  18. Point-to-Point- This mode of conferencing connects two locations only.
  19. Multi-point- This mode of conferencing connects more than two locations through Multi-point Control Unit (MCU).

Internet Protocols

  1. Transmission Control Protocol (TCP)- Transmission Control Protocol (TCP) corresponds to the Transport Layer of OSI Model. TCP is a reliable and connection-oriented protocol. TCP offers- Stream Data Transfer, Reliability, Efficient Flow Control, Full-duplex operation and Multiplexing. TCP offers connection oriented end-to-end packet delivery. TCP ensures reliability by sequencing bytes with a forwarding acknowledgement number that indicates to the destination the next byte the source expect to receive. It retransmits the bytes not acknowledged with in specified time period.
  2. Internet Protocol (IP)- Internet Protocol is connectionless and unreliable protocol. It ensures no guarantee of successfully transmission of data. In order to make it reliable, it must be paired with reliable protocol such as TCP at the transport layer.
  3. User Datagram Protocol (UDP)- Like IP, UDP is connectionless and unreliable protocol. It doesn’t require making a connection with the host to exchange data. Since UDP is unreliable protocol, there is no mechanism for ensuring that data sent is received. UDP transmits the data in form of a datagram. 
  4. File Transfer Protocol (FTP)- FTP is used to copy files from one host to another. FTP offers the mechanism for the same in following manner:
  5. FTP creates two processes such as Control Process and Data Transfer Process at both ends i.e., at client as well as at server. FTP establishes two different connections: one is for data transfer and other is for control information. Control connection is made between control processes while Data Connection is made between<=”” b=””>. FTP uses port 21 for the control connection and Port 20 for the data connection.
  6. Trivial File Transfer Protocol (TFTP)- Trivial File Transfer Protocol is also used to transfer the files but it transfers the files without authentication. Unlike FTP, TFTP does not separate control and data information. Since there is no authentication exists, TFTP lacks in security features therefore it is not recommended to use TFTP. Key points- TFTP makes use of UDP for data transport. Each TFTP message is carried in separate UDP datagram. The first two bytes of a TFTP message specify the type of message. The TFTP session is initiated when a TFTP client sends a request to upload or download a file. The request is sent from an ephemeral UDP port to the UDP port 69 of an TFTP server.
  7. Telnet- Telnet is a protocol used to log in to remote computer on the internet. There are a number of Telnet clients having user friendly user interface.
  8. Hyper Text Transfer Protocol (HTTP)- HTTP is a communication protocol. It defines mechanism for communication between browser and the web server. It is also called request and response protocol because the communication between browser and server takes place in request and response pairs. HTTP Request- HTTP request comprises of lines which contains- Request line, Header Fields and Message body Key Points- The first line i.e. the Request line specifies the request method i.e. Get or Post. The second line specifies the header which indicates the domain name of the server from where index.htm is retrieved.
  9. HTTP Response- Like HTTP request, HTTP response also has certain structure. HTTP response contains- Status line, Headers and Message body

Email

  1. Email is a service which allows us to send the message in electronic mode over the internet. It offers an efficient, inexpensive and real time mean of distributing information among people.
  2. E-mail Protocols
  3. SMPTP- SMTP stands for Simple Mail Transfer Protocol. It was first proposed in 1982. It is a standard protocol used for sending e-mail efficiently and reliably over the internet. Key Points– SMTP is application level protocol. SMTP is connection oriented protocol. SMTP is text based protocol. It handles exchange of messages between e-mail servers over TCP/IP network. Apart from transferring e-mail, SMPT also provides notification regarding incoming mail. When you send e-mail, your e-mail client sends it to your e-mail server which further contacts the recipient mail server using SMTP client. These SMTP commands specify the sender’s and receiver’s e-mail address, along with the message to be send. The exchange of commands between servers is carried out without intervention of any user. In case, message cannot be delivered, an error report is sent to the sender which makes SMTP a reliable protocol.
  4. IMAP- IMAP stands for Internet Message Access Protocol. It was first proposed in 1986. There exist five versions of IMAP as follows- Original IMAP, IMAP2, IMAP3, IMAP2bis and IMAP4 Key Points- IMAP allows the client program to manipulate the e-mail message on the server without downloading them on the local computer. The e-mail is hold and maintained by the remote server. It enables us to take any action such as downloading, delete the mail without reading the mail. It enables us to create, manipulate and delete remote message folders called mail boxes. IMAP enables the users to search the e-mails. It allows concurrent access to multiple mailboxes on multiple mail servers.
  5. POP- POP stands for Post Office Protocol. It is generally used to support a single client. There are several versions of POP but the POP 3 is the current standard.
  6. Key Points- POP is an application layer internet standard protocol. Since POP supports offline access to the messages, thus requires less internet usage time. POP does not allow search facility.              In order to access the messaged, it is necessary to download them.     It allows only one mailbox to be created on server.           It is not suitable for accessing non mail data. POP commands are generally abbreviated into codes of three or four letters. Eg. STAT.
  7. E-mail Security
  8. E-mail Hacking- Email hacking can be done in any of the following ways- Spam, Virus and Phishing
  9. Spam- E-mail spamming is an act of sending Unsolicited Bulk E-mails (UBI) which one has not asked for. Email spams are the junk mails sent by commercial companies as an advertisement of their products and services.
  10. Virus– Some emails may incorporate with files containing malicious script which when run on your computer may lead to destroy your important data.
  11. Phishing- Email phishing is an activity of sending emails to a user claiming to be a legitimate enterprise. Its main purpose is to steal sensitive information such as usernames, passwords, and credit card details. Such emails contain link to websites that are infected with malware and direct the user to enter details at a fake website whose look and feels are same to legitimate one.
  12. E-mail Spamming and Junk Mails- Email spamming is an act of sending Unsolicited Bulk E-mails (UBI) which one has not asked for. Email spams are the junk mails sent by commercial companies as an advertisement of their products and services.
  13. Spams may cause the following problems- It floods your e-mail account with unwanted e-mails, which may result in loss of important e-mails if inbox is full. Time and energy is wasted in reviewing and deleting junk emails or spams. It consumes the bandwidth that slows the speed with which mails are delivered. Some unsolicited email may contain virus that can cause harm to your computer.
  14. E-mail Providers- There are several email service providers available in the market with their enabled features such as sending, receiving, drafting, storing an email and much more.
  15. The popular email service providers- Gmail, Hotmail, Yahoo Mail, iCloud Mail, ATM Mai, Mail.com and GMX Mail, Shortmail, Inbox.com, Facebook Messages, My Way Mail etc.

Website Designing

  1. Web designing has direct link to visual aspect of a web site. Effective web design is necessary to communicate ideas effectively. Web designing is subset of web development. However, these terms are used interchangeably.
  2. Wireframe- Wireframe refers to a visual guide to appearance of web pages. It helps to define structure of web site, linking between web pages and layout of visual elements.

Web development

  1. Web development refers to building website and deploying on the web. Web development requires use of scripting languages both at the server end as well as at client end.
  2. Web Development Process- Web development process includes all the steps that are good to take to build an attractive, effective and responsive website.
  3. Web development tools- Web development tools helps the developer to test and debug the web sites. Now a days the web development tooll come with the web browsers as add-ons. All web browsers have built in tools for this purpose. These tools allow the web developer to use HTML, CSS and JavaScript etc.. These are accessed by hovering over an item on a web page and selecting the “Inspect Element” from the context menu.
  4. Featues- Following are the common featuers that every web development tool exhibits:
  5. HTML and the DOM- HTML and DOM viewer allows you to see the DOM as it was rendered. It also allows to make changes to HTML and DOM and see the changes reflected in the page after the change is made.

Websites Hosting

  1. Web hosting is a service of providing online space for storage of web pages. These web pages are made available via World Wide Web. The companies which offer website hosting are known as Web hosts. The servers on which web site is hosted remain switched on 24 x7. These servers are run by web hosting companies. Each server has its own IP address. Since IP addresses are difficult to remember therefore, webmaster points their domain name to the IP address of the server their website is stored on. It is not possible to host your website on your local computer, to do so you would have to leave your computer on 24 hours a day. This is not practical and cheaper as well. This is where web hosting companies comes in. Types of Hosting availed as per the need-
  2. Shared Hosting- In shared hosting, the hosting company puts thousand of website on the same physical server. Each customer has their own allocation of physical web space and a set of bandwidth limit. As all websites share same physical memory, MYSQL server and Apache server, one website on the server experiencing high traffic load will affect performance of all websites on the server.
  3. Virtual Private Server (VPS)- It is also known as Virtual Dedicated Server. It is a server which is partitioned into smaller servers. In this customer is given their own partition, which is installed with its own operating system. Unlike shared hosting, VPS doesn’t share memory or processor time rather it allocates certain amount of memory and CPU to use which means that any problem on a VPS partition on the same drive will not affect other VPS customers.
  4. Dedicated Server– In this kind of hosting, single dedicated server is setup for just one customer. It is commonly used by the businesses that need the power, control and security that a dedicated server offers.
  5. Reseller Hosting- A reseller acts as a middle man and sells hosting space of someone else’s server.
  6. Grid Hosting– Instead of utilizing one server, Grid Hosting spreads resources over a large number of servers. It is quite stable and flexible. The servers can be added or taken away from the grid without crashing the system.

World Wide Web

  1. A technical definition of the World Wide Web is: all the resources and users on the Internet that are using the Hypertext Transfer Protocol (HTTP). A broader definition comes from the organization that Web inventor Tim Berners-Lee helped found, the World Wide Web Consortium (W3C). The World Wide Web is the universe of network-accessible information, an embodiment of human knowledge. In simple terms, The World Wide Web is a way of exchanging information between computers on the Internet, tying them together into a vast collection of interactive multimedia resources. Internet and Web is not the same thing: Web uses internet to pass over the information.
  2. WWW Evolution– World Wide Web was created by Timothy Berners Lee in 1989 at CERN in Geneva. World Wide Web came into existence as a proposal by him, to allow researchers to work together effectively and efficiently at CERN. Eventually it became World Wide Web.
  3. Identifiers and Character Set- Uniform Resource Identifier (URI) is used to uniquely identify resources on the web and UNICODE makes it possible to built web pages that can be read and write in human languages.
  4. Data Interchange- Resource Description Framework (RDF) framework helps in defining core representation of data for web. RDF represents data about resource in graph form.
  5. Taxonomies- RDF Schema (RDFS) allows more standardized description of taxonomies and other ontological constructs.
  6. Ontologies- Web Ontology Language (OWL) offers more constructs over RDFS. It comes in following three versions-                 OWL Lite for taxonomies and simple constraints. OWL DL for full description logic support. OWL for more syntactic freedom of RDF
  7. Rules- RIF and SWRL offers rules beyond the constructs that are available from RDFs and OWL. Simple Protocol and RDF Query Language (SPARQL) is SQL like language used for querying RDF data and OWL Ontologies.
  8. Proof- All semantic and rules that are executed at layers below Proof and their result will be used to prove deductions.
  9. Cryptography- Cryptography means such as digital signature for verification of the origin of sources is used.
  10. WWW Operation- WWW works on client- server approach. Here explains how the web works: User enters the URL (say, https://www.ucidream.com) of the web page in the address bar of web browser. Then browser requests the Domain Name Server for the IP address corresponding to www.ucidream.com. After receiving IP address, browser sends the request for web page to the web server using HTTP protocol which specifies the way the browser and web server communicates.    Then web server receives request using HTTP protocol and checks its search for the requested web page. If found it returns it back to the web browser and close the HTTP connection. Now the web browser receives the web page, It interprets it and display the contents of web page in web browser’s window.
  11. Web Browsers
  12. web Browser is an application software that allows us to view and explore information on the web. User can request for any web page by just entering a URL into address bar. Web browser can show text, audio, video, animation and more. It is the responsibility of a web browser to interpret text and commands contained in the web page. Earlier the web browsers were text-based while now a days graphical-based or voice-based web browsers are also available. Web browser available today- Internet Explorer, Google Chrome, Mozilla Firefox, Netscape Navigator, Opera, Safari, Sea Monkey, K-meleon.

Web Server

  1. Web server is a computer where the web content is stored. y web server is used to host the web sites but there exist other web servers also such as gaming, storage, FTP, email etc. Web site is collection of web pages while web server is a software that respond to the request for web resources.
  2. Web Server Working- Web server respond to the client request in either of the following two ways- Sending the file to the client associated with the requested URL. Generating response by invoking a script and communicating with database
  3. Key Points- When client sends request for a web page, the web server search for the requested page if requested page is found then it will send it to client with an HTTP response. If the requested web page is not found, web server will the send an HTTP response: Error 404 Not found. If client has requested for some other resources, then the web server will contact to the application server and data store to construct the HTTP response.
  4. Architecture- Web Server Architecture follows the following two approaches:
  5. Concurrent Approach– Concurrent approach allows the web server to handle multiple client requests at the same time. It can be achieved by following methods:
  6. Multi-processing- In this a single process (parent process) initiates several single-threaded child processes and distribute incoming requests to these child processes. Each of the child processes are responsible for handling single request. It is the responsibility of parent process to monitor the load and decide if processes should be killed or forked.
  7. Multi-threaded– Unlike Multi-process, it creates multiple single-threaded process.
  8. Hybrid- It is combination of above two approaches. In this approach multiple process are created and each process initiates multiple threads. Each of the threads handles one connection. Using multiple threads in single process results in less load on system resources.

Proxy Server

  1. Proxy server is an intermediary server between client and the internet. Proxy servers offers the following basic functionalities- Firewall and network data filtering. Network connection sharing. Data caching. Proxy servers allow to hide, conceal and make your network id anonymous by hiding your IP address.
  2. Purpose of Proxy Servers– Following are the reasons to use proxy servers- Monitoring and Filtering, Improving performance, Translation, Accessing services anonymously and Security.
  3. Type of Proxies:
  4. Forward Proxies- In this the client requests its internal network server to forward to the internet.
  5. Open Proxies- Open Proxies helps the clients to conceal their IP address while browsing the web.
  6. Reverse Proxies- In this the requests are forwarded to one or more proxy servers and the response from the proxy server is retrieved as if it came directly from the original Server.
  7. Proxy server listener- It is the port where new request from the client browser is listened. This module also performs blocking of clients from the list given by the user.
  8. Connection Manager- It contains the main functionality of the proxy server. It performs the following functions:
  9. It contains the main functionality of the proxy server. It performs the following functions- Read request from header of the client., Parse the URL and determine whether the URL is blocked or not, Generate connection to the web server, Read the reply from the web server, If no copy of page is found in the cache then download the page from web server else will check its last modified date from the reply header and accordingly will read from the cache or server from the web, Then it will also check whether caching is allowed or not and accordingly will cache the page.
  10. Cache Manager- This module is responsible for storing, deleting, clearing and searching of web pages in the cache.
  11. Log Manager- This module is responsible for viewing, clearing and updating the logs.
  12. Configuration– This module helps to create configuration settings which in turn let other modules to perform desired configurations such as caching.

Search Engines

  1. Search Engine refers to a huge database of internet resources such as web pages, newsgroups, programs, images etc. It helps to locate information on World Wide Web. User can search for any information by passing query in form of keywords or phrase. It then searches for relevant information in its database and return to the user.
  2. Search Engine Components-There are three basic components of a search engine Web Crawler, Database and Search Interfaces
  3. Web crawler– It is also known as spider or bots. It is a software component that traverses the web to gather information.
  4. Database- All the information on the web is stored in database. It consists of huge web resources.
  5. Search Interfaces- This component is an interface between user and the database. It helps the user to search through the database.
  6. Internet Collaboration
  7. Online Chatting- Online chatting is a text-based communication between two or more people over the network. In this, the text message is delivered in real time and people get immediate response. Talkomatic was the world first online chat system. It was developed by Doug Brown and David R. Woolley in 1973.
  8. Instant Messaging (IM)- Instant messaging is a software utility that allows IM users to communicate by sending text messages, files, and images.
  9. Internet Relay Chat (IRC)- Internet Relay Chat is a protocol developed by Oikarinen in August 1988. It defines set of rules for communication between client and server by some communication mechanism such as chat rooms, over the internet. IRC consist of separate networks of IRC servers and machines. These allow IRC clients to connect to IRC. IRC client runs a program client to connect to a server on one of the IRC nets. After connecting to IRC server on IRC network, user can join with one or more channels and converse over there.
  10. Video Conferencing- Video conferencing or Video teleconferencing is a method of communicating by two-way video and audio transmission with help of telecommunication technologies.
  11. Modes of Video Conferencing
  12. Point-to-Point- This mode of conferencing connects two locations only.
  13. Multi-point- This mode of conferencing connects more than two locations through Multi-point Control Unit (MCU).
  14. Video Sharing- Video sharing is an IP Multimedia System (IMS) service that allows user to switch voice calls to unidirectional video streaming session. The video streaming session can be initiated by any of the parties. Moreover, the video source can be the camera or the pre-recorded video clip.

Mailing List

  1. In order to send same email to a group of people, an electron list is created which is know as Mailing List. It is the list server which receives and distributes postings and automatically manages subscriptions. Mailing list offers a forum, where users from all over the globe can answer questions and have them answered by others with shared interests.
  2. Types of Mailing List- The various types of mailing lists:
  3. Response List- It contains the group of people who have responsed to an offer in some way. These people are the customers who have shown interest in specific product or service.
  4. Compiled List- The compiled list is prepared by collecting information from various sources such as surveys, telemarketing etc.
  5. Announcements- These lists are created for sending out coupans , new product announcements and other offers to the customers.
  6. Discussion List- This list is created for sharing views on a specific topic suchas computer, environment, health, education etc.

Usenet (USEr NETwork)

  1. Like mailing lists Usenet is also a way of sharing information. It was started by Tom Truscott and Jim Ellis in 1979. Initially it was limited to two sites but today there are thousands of Usenet sites involving millions of people. Usenet is a kind of discussion group where people can share views on topic of their interest. The article posted to a newsgroup becomes available to all readers of the newsgroup.