Educational Blog Sites

Monday, July 31, 2017

Operating System Structure


Lesson 3 : Operating System Structure

3.1. Learning Objectives
On completion of this lesson you will know :
I)  different types of OS system structure
II) how a system call can be made
III) micro kernel.
3.2. Operating System Structure
A number of approaches can be taken for configuring the components of an operating system, ranging from a monolithic to a virtual machines. To conclude the introduction, we identify several of the approaches that have been used to build OS. There are four different structures of operating system, but in this lesson we will discuss only three of them.
3.2.1. Monolithic System
The monolithic organization does not attempt to implement the various functions process, file, device and memory management in distinct modules. Instead, all function are implemented within a single module that contains all system routines or process and all operating system data structure.
The operating system is written as a collection of procedures, each can call any of the other ones whenever it needs to. When this technique is used, each procedure in the system has a well defined interface in terms of parameters and results, and each one is free to call any other one, if the latter provides some useful computation that the former needs.
In monolithic systems, it is possible to have at least a little structure. The services (system calls) provided by the operating system are requested by putting the parameters in well-defined places, such as in registers or on the stack, and then executing a special trap instruction known as a kernel call or supervisor call.
This instruction switches the machine from user mode to kernel mode (also known as supervisor mode), and transfers control to the operating system, shown as event 1 in Fig. 2.3. Most CPUs have two modes; kernel mode, for the operating system, in which all instructions are allowed; and user mode, for user programs, in which I/O and certain other instructions are not allowed.
The operating system then examines the parameters of the call to determine which system call is to be carried out, shown as 2 in Fig. 2.3. Next the operating system indexes into a table that contains in slot x a pointer to the procedure that carries out system call x. This operation, shown as 3 in Fig..2.3, identifies the service procedure, which is then called. Finally, the system call is finished and control is given back to the user program.
How a system call can be made?
1. User program traps to kernel.
2. OS determines service number required.
3. Service is located and executed.
4. Control returns to user program.
This organization suggests a basic structure for the operating system :
i)  A main program that invokes the requested service procedure.
ii) A set of service procedures that carry out the system calls.
iii)  A set of utility procedures that help the service procedures.
In this model, for each system call there is one service procedure that takes care of it. The utility procedures do things that are needed by several service procedures, such as fetching data from user programs.
3.2.2. Client / Server or Micro-Kernel Approach
A micro-kernel is a "new" way of structuring an operating system. Instead of providing all operating system services (as do most current kernels) a micro-kernel provides a much smaller subset. Services usually provided are memory management, CPU management and communication primitives. Typically a micro-kernel will provide the mechanisms to perform these duties rather than the policy of how they should be used. Other operating system services are moved into user level processes that use the communication primitives of the micro-kernel to share information. In this system, the OS responsibilities are separated out into separate programs.

Difference between monolithic and micro kernel system
A monolithic operating system contains all the necessary code in the one kernel. This means that if any changes are made to the kernel the whole system must be rebooted for the changes to take effect.
A micro-kernel operating system contains a much reduced set of code in the kernel of the operating system. Most of the service provided by the OS are moved out into separate user level processes.
All communication within a micro-kernel is generally via message passing whereas a monolithic kernel relies on variables and local procedure calls. These attributes of a micro-kernel mean:
i) that it is easier to develop the user level parts of the micro-kernel as they can be built on top of a fully working operating system using programming tools,
ii) the user level processes can be recompiled and installed without rebooting the machine,
iii) different service can be moved to totally different machines due to the message passing nature of communication in s micro-kernel operating system.
Share:

Saturday, July 29, 2017

System Calls and System Program

Lesson 2 : System Calls and System Program

2.1. Learning Objectives
On completion of this lesson you will know:
i)  system calls
ii)  categorized system calls and system programs
iii) discuss system program.

2.2. System Calls
User programs communicate with the operating system and request services from it by making system calls. Fundamental services are handled through the use of system calls. The interface between a running programs and the operating system is defined by what is referred to as systems calls. A system call is a special type of function call that allows user programs to access the services provided by the operation system. A system call will usually generate a trap, a form of software interrupt. The trap will force the machine to switch into the privileged kernel mode-that allows access to data structures and memory of the kernel. In other words, system calls establish a well defined boundary between a running object program and the operating system. When a system call appears in a program, the situation is equivalent to a conventional procedure call whereby control is transferred to operating system routine invoked during the run time along with change of mode from user to supervisor. These calls are generally available as assembly language instructions, and are usually listed in the manuals used by assembly language programmers.
System calls can be roughly grouped into three major categories: process or job control, device and file manipulation, and information maintenance. In the following discussion, the types of system calls provided by an operating system are presented.
2.2.1. Process and Job Control
A running program needs to be able to halt its execution either normally (end) or abnormally (abort). If the program discovers an error in its input and wants to terminate abnormally.
A process or job executing one program may want to load and execute another program. This allows the control card interpreter to execute a program as directed by the control cards of the user job.
If control returns to the existing program when the new program terminates, we must save the memory image of the existing program and effectively have created a mechanism for one program to call another program. If both programs continue
concurrently, we have created a new job or process to be multi-programmed. Then system call (create process or submit job) are used.
If we create a new job or process, to control its execution, then control requires the ability to determine and reset the attributes of a job or process, including its priority, its maximum allowable execution time, and so on (get process attributes and set process attributes). We may also want to terminate a job or process that we created (terminate process) if we find that it is incorrect or on longer needed.
Having created new jobs or processes, we may need to wait for them to finish execution. We may want to wait for a certain amount of time (wait time), but more likely we want to wait for a specific event (wait event). The jobs or processes should then signal when that event has occurred (signal event).
2.2.2. File Manipulation
The file system will be discussed in more detail in unit 7. We first need to be able to create and delete files. Once the file is created, we need to open it and use it. We may also read, write, and reposition (rewinding it or skipping to the end of the file). Finally, we need to close the file, indicating that we are no longer using it.
We may need these same sets of operations for directories if we have a directory structure in the file system. In addition, for either files or directories, we need to be able to determine the values of various attributes, and perhaps reset them if necessary. File attributes include the file, name a file type, protection codes, accounting information, and so on. Two system calls, get file attribute and set file attribute are required for this function.
2.2.3. Device Management
Files can be thought of a abstract or virtual devices. Thus many of the system calls for files are also needed for devices. If there are multiple users of the system, we must first request the device, to ensure that we have exclusive use of it. After we are finished with the device, we must release it. Once the device has been requested (and allocated to us), we can read, write, and (possibly) reposition the device, just as with files.
Share:

Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure

Lesson 1 : Interrupts and I/O Structure
1.1. Learning Objectives
On completion of this lesson you will know :
i)  what interrupt is
ii)  the causes of occurring interrupt
iii) instruction cycle with interrupt
iv)  I/O structure.

1.2. Interrupts
A method by which other events can cause an interruption of the CPU's normal execution. An Interrupt is a method by which the normal operation of the CPU can be changed. Interrupts are a better solution than polling for handling I/O devices. There are many methods to handle interrupts. Four general classes of interrupts are :
i)  Program, trap instructions, page faults etc.
ii) Timer
iii)  I/O devices and
iv)  Hardware failure.
When an interrupt occurs a register in the CPU will be updated. When the CPU finishes the current execute cycle, and when interrupts are enabled, it will examine the register. If the register indicates that an interrupt has occurred and is enabled the interrupt cycle will begin, Otherwise it will be bypassed. The interrupt cycle will call some form of interrupt handler (usually supplied by the operating system) that will examine the type of interrupt and decide what to do. The interrupt handler will generally call other processes to actually handle the interrupt.

Simple Interrupt Processing
Steps for processing interrupts are shown below where steps 1 to 5 is done by hardware and from 6 to 9 is done by software
1. Interrupt occurs
2. Processor finishes current instruction
3. processor signals acknowledgment of interrupt
4. processor pushes program status word (Program Status Word) and program counter (Program Counter) onto stack
5. processor loads new Program Counter value based on interrupt
6. save remainder of process information
7. process interrupt
8. restore process state information
9. restore Program Status Word and Program Counter.
1.3. I/O Structure
One of the main functions of an OS is to perform all the computer's I/O devices. It issues commands to the devices, catch interrupts and handle errors. It provide an interface between the devices and the rest of the system. We will discuss the I/O hardware and I/O Software..
1.3.1. I/O Hardware
The I/O hardware is classified as
i)  I/O devices
ii)  Device controllers and
iii)  Direct memory access (DMA).

I/O Devices
Normally all input and output operations in operating system are done through two types of devices; block oriented devices and character oriented devices. A block oriented device is one in which information is stored and transferred at some fixed block size (usually some multiple of 512 bytes), each one with its own address. The block oriented device can read or write each block independently of all other ones out or expand.
The character oriented device is one in which information is transferred via a character stream. It has no block structure. It is not addressable. For example, punched cards, terminals, printers, network interfaces, mouse etc.
The above classification scheme is not always true. Some device do not fit in. So, the idea of device driver was introduced. The idea of device driver is to provide a standard interface to all hardware devices. When a program reads or writes a file, OS invokes the corresponding driver in a standardized way, telling it what it wants done, thus decoupling the OS from the details of the hardware.
Device Controller
I/O units consist of mechanical and electronic components. The electronic component is called device controller. It is also called printed circuit card. The operating system deals with the controller.
The controller's job is to convert the serial bit stream into a block of bytes and perform any error connection necessary. The controller for a CRT terminal also works as a bit serial device at an equally low level.
Each controller has a few registers that are used for communicating with the CPU and these registers are part of the regular memory address space. This is a called memory mapped I/O. IBM PC uses a special address space for I/O with each controller allocated a certain portion of it. The following table shows some examples of the controllers and their I/O addresses.
Share:

Wednesday, July 26, 2017

Online Degree in Computer Programming

Lesson 4 : FlowCharts-II

4.1 Learning Objectives
On completion of this lesson you will learn
i)  advanced features of flowcharts like program loops and decisions
ii)  how modularity of flowchart can be achieved.

4.2 Looping in Flowchart
Computers are efficient in executing repetitive operations. In programs, there are invariably repetitive operations, which are needed to be represented in flowcharts. Consider the following flowchart where the start block shows where the algorithm begins.
In figure 4.1 an unconditional infinite loop is shown. The exception in this flowchart is the flow direction from lower to upper. The last block of this flowchart will never be executed.
Figures 4.2 and figure 4.3 represent flowcharts containing conditional looping. Looping occurs according to the output of condition checking.
In figure 4.2 condition checking is done at the end and in figure 4.3 condition checking is done in the beginning.

4.3 Examples of Looping
Suppose you wish to visit the botanical garden, and therefore, are looking for one of your friends to accompany you. So you take out your book of few phones and select a likely prospect. Dial the number, make few talk, and finally invite the friend to visit. If he (or she) accepts the offer, you have finished your work. If you are refused, then go back and select another number. These actions are shown in a flow chart in Figure 4.4. The essential concept in this algorithm is the branch back to an

earlier statement to create a loop. A loop is a sequence of instructions which is repeated several times. Note that each time the programme goes through the loop a different telephone number is used; the instructions remain unchanged but the data operated on differs. If you eventually get an acceptance, you would reach the end block. However, if you keep on getting rejections, then you re-execute the loop instructions. Since you only have a finite number of telephone numbers in your book, you must stop when the data run out. Converting this flowchart to a series of instructions in English is straight forward:
0. Start.
1. Take out phone book.
2. Select prospect.
3. Dial number.
4. Make few talk.
5. If prospect does not accept, go to step 2.
6. end.
A similar algorithm could be constructed to find the right blood donor in a medical emergency. The program might be used if there were an urgent need for a donor with type B-positive blood. If the medical records of the students at a college were kept on a machine readable device, the computer could be used to search for the collection of data (called the file). Input and output are represented by specially shaped blocks :
The algorithm reads the name and blood type of a student. If the blood type is B-positive, then the name is printed; otherwise it loops back to read the next record. This process continues until all the records have been read. A programmer might begin by mapping the steps visually, using flowchart like in Fig. 4.5.
 The algorithm could be written out :
0. Start.
1. Read NAME, blood TYPE.
2. If TYPE not equal to B-positive, go to step 1.
3. Print NAME.
4. Go to step 1
5. End.

Share:

Degree Computer Programming

Unit 2 : Programming Tools

Introduction
This unit will help learner about the programming tools like flowcharts, pseudocodes, use of which improves the efficiency of programming and programming skill. Flowcharts give a pictorial representation of the logic. This is described with several symbols and rules associated with them. Some examples on flowchart are also included for making the idea clear. Pseudocode is another method which is very similar to programming languages. The method of writing programmes with the help of pseudocode has been given in the lessons. Decision tables are another representation of programmes. Decision table describes how conditional statements are represented in short cut format in a table. The last lesson of this unit describes some methods of representing data structures of input and output of the programme. Warnier-Orr diagrams are such diagrams. Structured chart gives a pictorial representation of programme by dividing main module into different modules and by parameter passing between the modules.

Lesson 3: Flow Charts-I
3.1 Learning Objectives 
On completion of this lesson you will learn
i) the basic concepts of flowcharts
ii)  some examples and their representation by flowcharts
iii) symbols used to represent different actions.
3.2 FlowChart for Describing Algorithms
An algorithm is a set of instructions which when followed will produce the solution to a given problem. Algorithms occur in noncomputing contexts as well as in programming. You can think of the recipe for baking a cake as an algorithm- certainly a recipe is a set of instructions which, when followed, will result in a cake. Likewise, the instructions in a stereo kit are steps which, when followed, will produce a properly assembled electronic device. If the instructions are poorly written or if they are not followed precisely, the result is a soggy cake. Consider the following instructions that you need to make a cup of tea.
1. Pour water in a kettle.
2. Turn the oven on.
3. Place the kettle on the oven.
4. Turn the oven off.
Do you see what is wrong? The instructions never mentioned the time when the oven must be turned off. Of course, a human being would probably compensate for the inadequate instructions by making some assumptions or by his common-sense (which are not common to even sophisticated machines like computers). A machine, however, would not and this “program” would not work properly. The step 4 can be executed only after being confirmed that the water in the kettle is already boiled. So, a condition must be tested satisfactorily before the step 4 can be executed. So the correct algorithm will be:
Note that in this diagram we have enclosed each instruction in a box and drawn an arrow to the instruction that follows. This type of diagram, called a flowchart, is very useful as a means of visualising the relationships among the statements of algorithms.
Share:

Monday, July 24, 2017

Computer Classes

Unit 1: Introduction to Computers

Introduction
Computer science is a subject of wide spread interest. To provide a general flavour of the subject, this unit presents the introductory concepts of a computer system with its working principle and the basic elements. It provides detail description of different types of computers, based on purpose, types and capacity. Traces of historical development and generations of computers are also explored in this unit. Throughout the unit three different lessons provide a broad overview of computer systems and introduce most of the concepts that are described in details in the later units.

Lesson 1: Introduction and Basic Organization
1.1 Learning Objectives
On completion of this lesson you will be able to
• grasp the introductory concepts of a computer and its working principle
• understand the basic elements of a computer system.

1.2 What is a Computer?
A computer is an electronic machine that stores, retrieves, and manipulates or processes data. It cannot think or reason; it can only carry out instructions given to it. A set of instructions that directs its actions is called a program. Different programs are used to solve different problems. Ability to accept, store, and execute various sets of instructions (or programs) makes the computer the invaluable, allpurpose business tool.
The first step of solving a problem by a computer is to develop a suitable computer program and then store in its memory. The computer then carries out the instructions in the program. The instructions of a program generally direct the computer to perform three basic functions over and over again; these functions are input, processing, and output. Collectively, these functions constitute the data processing cycle. Input: input devices are connected to feed the computer facts or data to be processed.Processing: the control and storing of data, numerical comparisons, and arithmetic operations are performed on the input data to produce the desired results. 
Output: the computer feeds the processed data or information, to the output devices.
i) The computer reads a program and stores it in the memory. The computer executes program instructions to:
i i) Input data from the disk, the keyboard, or other storage media,
iii)  process the data and
iv) Output results to the display screen, disk or other media.

1.3 Components of a Computer System
A computer is used to process data and a data processing system must consist of more than just machines. A computer system must contain: hardware, software, humanware and operational procedures.
Hardware
Hardware generally refers to the machine or physical equipment that performs the basic functions of the data processing cycle. In addition to the computer itself, other hardware devices are also required. These devices may be off-line that is detached from the computer and operating independently or they may be on-line that is directly connected to and controlled by the computer. A printer is an off-line device and a keyboard is an on-line device.Software
A program is a sequence of instructions which directs a computer to perform certain functions. A computer must have access to prewritten, stored programs to input and store data, make decisions, arithmetically manipulate and output data in the correct sequence. Programs are referred to as software. Computer system must be supported by extensive software systems. Software is generally categorized as either system software or application software.
System software consists of programs that facilitate the use of computer by a user. These programs are sometimes referred to as utility programs. They perform such standard tasks as organizing and maintaining data files, translating programs written in various languages to a language acceptable to the computer, scheduling jobs through the computer, as well as aiding in other areas of general operations. Of all the systems software supplied by the manufacturer of a computer, the most important one is known as the operating system.
Application software consists of programs to perform specific user applications. A computer program giving instructions for the steps involved in preparing results of a public examination is an example of applications software. Application programs are either purchased or written by the computer users for specific applications.

Humanware
Humanware refers to the persons who design, program, and operate a computer installation. There are numerous categories of jobs, but the three principal positions required in a large computer installation are system analyst, programmer, and computer operator. People in each of these areas generally perform special-purpose tasks under the supervision of a director or manager.
The position of a systems analyst requires the broad background and extensive understanding of the above three job categories. The main task of the system analyst is to study information and processing requirements. A systems analyst defines the applications problem, determines systems specifications, recommends hardware and software changes, and designs information processing procedures.
A programmer requires a comprehensive knowledge of one or more programming languages and standard coding procedures. This position does not require the broader understanding of the structure and inner workings of an application. A programmer's principal job is to code or prepare programs based on the specifications made by the systems analyst.A computer operator requires the least extensive background of the three categories. A computer operator generally performs a series of well
defined tasks that will keep the computer operating at maximum efficiency. The operational efficiency of a computer installation is dependent on the quality and abilities of the operational staff.
Procedures
Operations of a data processing center require an extensive and clearly defined set of procedures for performing the essential functions of the installation. These functions generally include obtaining, preparing, and entering data into the computer, processing jobs, initiating new programs and changing or deleting old ones etc. Such procedures must have provision for actions to be taken in the event of hardware or software malfunctions.
Share:

Typical Computer Problems

Unit 1 : Introduction and Main

Devices
Microcomputer, its types, components and some performance determining central devices are discussed in this unit. Lesson 1 and 2 are introductory lessons. Lesson 3 to 6 describes the main components of a microcomputer system. A microcomputer has many components. Of them some are main. The control the rest of the components of the computer system. On their performance, the performance of the whole computer system depends. These components are discussed in the last four lessons

Lesson 1 : Microcomputer

1.1. Learning Objectives
On completion of this lesson you will be able to describe :
i) What is a microcomputer
ii)  Different types of microcomputer.

1.2. Microcomputer
A computer is an electronic machine that stores, retrieves and manipulates or processes data. Microcomputers are microprocessor based small computer. The brain of a microcomputer is the microprocessor, a silicon chip containing the necessary circuits to perform arithmetic and logic operations and to control input-output operations. A microprocessor is an integrated circuit consisting of thousands of transistors squeezed onto a tiny chip of silicon. The chip is packaged as a single integrated circuit. Adding input-output capability and a memory to the microprocessor, a microcomputer system is formed. Early microcomputers had a limited processing potential and limited choice of input-output devices. Present day microcomputers have wider processing capabilities and support a wide range of input-output devices. In addition to general-purpose computations, microcomputers are used for Microcomputers are microprocessor based small computer. special purpose applications in automobiles, airplanes, toys, clocks, appliances etc.
High-end super micros are known as workstations. The workstation represents the bridge between the microcomputers and minicomputers. It is a microcomputer with many of the capabilities of larger minicomputers hut costing much less. Initially designed for use by engineers and designers, and today they are popular for general uses. These workstations can run more than one application for a user. This is known as multitasking. A workstation is also a multi-user system that can be shared by several users at the same time.
1.3. Different Types of Microcomputers
Today most of the microcomputers are IBM compatible. The microcomputers compatible with the line of IBM personal computers are known as IBM compatible computers. Compatibility here means that, components (hardware and software) of one ‘IBM computer’ is normally installable in another ‘IBM compatible computer’ and vice-versa. All IBM compatible computers have same line of microprocessor, input-output device, software etc. So it is possible to use one component of a computer in a compatible of that computer.
Different series of IBM compatible computers exist. They are:
i) IBM PC
ii)  IBM PC/AT
iii)  IBM PC/XT
iv)  IBM PS/2.
1.3.1. IBM PC
IBM PC was introduced in 1981. It has following characteristics:
i) Intel 8088 processor
ii) 16 KB RAM expandable up to 64 KB
iii) Monochrome video adapter, incapable of displaying bit-mapped graphics
iv) Floppy disk drive with 160 KB storage capability
v)  No hard disk.
‘PC’ is the name of a compatible series of microcomputers. But this name ‘PC’ is also used to refer any microcomputer, where PC means personal computer. In this book where we used the term ‘PC’, it means any microcomputer except in this section.
1.3.2. IBM PC/XT
IBM PC/XT was introduced in 1983. It has following characteristics:
i)  Intel 8088 processor
ii) RAM expandable up to 640 KB
iii) Supports hard disk.
1.3.3. IBM PC/AT
IBM PC/AT was introduced in 1984. It has following characteristics:
i) Intel 80286 processor
ii)  It is approximately 75% faster than PC/XT
iii) AT bus standard was used in many clones.
‘Bus standard’ means the industry standard of connection point and connection organization of different devices connected with the motherboard.
‘Clone’ means a copy of the original one. In computer literature, it means compatibility. For example, ‘AT clone’ means a computer compatible to the IBM PC/AT series.
1.3.4. IBM PS/2
It was introduced in 1987. Different types of Intel processors are used here. It uses MCA (Micro Channel Architecture) bus standard.
Share:

Process Automation

Unit 1 : Office Automation

Introduction
Office automation is a broadly used term and it represents a new profession, a new integration of technologies and a new perception of the potential of information tools available to man. It is primarily based on two factors: computers and communication technology. The computer is moving from being an independent system to a component embedded in a whole range of office devices. Communication technology integrates these devices and people. It provides an effective communications infrastructure. So, office automation is the use of various technologies (e.g. computer and telecommunication) to simplify and support routine office functions, improve communication, increase office productivity and enhance the quality of clerical output. Many office tasks including preparation of reports and correspondence, communications, file maintenance, duplication and distribution of written materials, can be facilitated and improved through word processing and other office automation techniques.

Lesson 1 : Goals of Office Automation

Learning Objectives
On completion of this lesson you will be able to :
• know the goals of office automation
• know the advantages of office automation.
Goals of Office Automation
The goals of office automation may be expressed in terms of
• Greater efficiency,
• Better service,
• Better accuracy,
• Demanding for timeliness,
• Facility in control,
• Standardization of office routine,
• Relieves of monotony,
• Prevention of fraud,
• Better information retrieval,
• Lower operating cost,
• Reduction in paper work,
• Improved communication environment.
Greater Efficiency
The use of computers and other office automation technologies on large scale has made prices lower by 10 to 30 percent and often much more than they would be without computers. The use of office automation technologies improves productivity i.e. the amount of goods or services that individuals and machines can produce in a given time period. These productivity gains can lead to (i) a stronger competitive position and (ii) higher levels of real income for an increased number of individuals. So, office automation brings speed and efficiency to all types of office work. Improved efficiency leads to greater profitability and at the same time creates good images in the minds of the people who deal with office. 
Better Service
Offices use office automation technologies to improve the service they provide to customers, clients, patients etc. For example, Computer processing techniques and office automation tools make possible
• shorter waiting lines at airline ticket offices and at the reservation desks of hotels, motels and car-rental agencies
• faster and more accurate answers to the inquiries of people served by the offices
• more convenient handling of purchase transactions through the use of credit cards
• more efficient customer service and control in retail outlets. Thus, office automation provides better service and help to improve the quality of work done in the office.
Better Accuracy
If a data processing operation is strained to and beyond the capacity for which it was originally planned, inaccuracies begin to appear and the control of official activities suffers. Computer processing, becomes quite accurate if the task to be performed are properly prepared. So, office automation ensures better accuracy. Chances of errors are almost eliminated. Thus work goes on smoothly and bottlenecks and delays are eliminated.
Demanding for Timeliness
Timeliness of information is of great importance to all offices and organizations for decision making. For example, timely announcement of promotion, timely information about training opportunities, timely modification of staff lists and their addresses, timely payment to customer and so on, avoid many serious problems. For an administrator, timely information may help him to take timely decisions and actions and prevent undesirable consequences. Only office automation can perform these and provide timely information.
Facility in Control
Office automation facilitates the task of mangers. Office automation helps managers to exercise better degree of control over their subordinates. Certain office automation tools allow for minimization of fraud in the accounting department. Facilitates Standardization of Office Routines Office automation helps to facilitate standardization of office routines and procedures. Standardization of office routines facilitates better coordination of works.
Relieving Monotony
Office automation reduces the monotony of carrying out repetitive processes which are boring and time consuming. The office worker is thus relieved of mental tensions of going through same process again and again by using office automation tools and technologies.
Prevention of Fraud
Computer and office automation tools are more reliable than man. A man can deceive cheat but a computer works on its own motion. So, for the prevention of fraud, office automation is a must.
Better Information Retrieval
A New-York surgeon contacted a medical library when a near-term pregnant woman lapsed into a hepatic coma. He needed immediate information on exchange blood transfusion for woman. Using a computer terminal and a retrieval program, the librarian searched more than a half million medical documents in a few minutes to get information needed by the surgeon to perform an emergency blood
transfusion. The patient recovered fully from hepatitis. Most information retrieval tasks obviously do not involve life or death decision; but quick computer assisted retrieval can save time and aggravation for many individuals. So, office automation ensures better information retrieval.
Lower Operating Cost
Operating cost per hour of work declines with the use of office automation technologies. For example, a PC can help a manager budget and balance his check book, control his installment purchases, control his home's energy use and analyze his investment. Of course, there is no doubt that office automation technologies require a large amount of initial capital investment. However, now-a-days, office automation prove beneficial. The costs of electronic-office equipment have been falling
rapidly in recent years. Executives are now more receptive to the idea of investing in new office automation technology to reduce rising labour costs and improve productivity.
Reduction in Paper Work
Paper based office work is certainly costly. It is not due to the increasing cost of paper but due to the procedure involved in preparing reports and letters. First, a letter is dictated (or written by hand). Then it is typed (draft), proofread and delivered to the executive. After corrections and alternations, the process is repeated again till it is approved. Office workers use to output written documents on paper - a physical medium that
(i) takes space,
(ii) requires postage for mailing or effort for delivering,
(iii) often gets stored in file cabinets that is space consuming,
(iv) requires additional work to update and destroy. So, finding no otherway, managers are trying to reduce paper work to minimize the cost and improve office productivity. Only office automation provides a number of ways for accomplishing these through the use of office automation technologies such as computer processing, distributed data processing, e-mail, and teleconferencing etc.
Improved Communication Environment
Studies shows that a lot of office activities involve the communication of information to others. For example, more than half of a typical manager's time is spent communicating in meetings, phone calls, letters and memos. Secretaries and office staff support these communication efforts by taking messages, drafting documents, planning meetings and documenting verbal agreements. A key ingredient of office automation is the ability to communicate easily relevant data and information to every worker who needs it. It has obvious superiority in certain respects over traditional channels for business communication. The postal service can be slow, letters are sometimes lost, and the mail usually takes long time. Telephone calls require both senders and receiver to be on the line at he same time. Hand written memos depend on some internal distribution process and are easily lost in the shuffle of paper. To avoid all these drawbacks, a whole array of advanced communications, including email, Internet, voice mail, facsimile transmission, local area network, teleconferencing, are now being offered by a modern automated office.
Share:

Saturday, July 22, 2017

Computer Programming Class

Lesson 2 : Nature of Algorithms

2.1 Learning Objectives
On completion of this lesson you will learn
i) algorithm
ii)  methods of writing algorithms
iii) properties of algorithms.

2.2 Definition and Properties of Algorithm
In Webster's dictionary, the word "Algorithm" is defined as "any special method of solving a certain kind of problem". But in computer science it has a special meaning. It means a step by step procedure for solving a problem by a computer. An algorithm has following properties.
1. An algorithm must be composed of a finite number of steps. Each step may be another algorithm composed of several steps.
2. Each step of the algorithm must be definite. The meaning of the operation must be clear. We cannot have an operation like "add 2 or 3 to x" in an algorithm.
3. The steps must be effective; each step can at least in principle be done by a person using pencil and paper in finite amount of time. Performing arithmetic on integers is an example of an effective operation, but arithmetic with real numbers is not necessarily effective, since some values may be expressible only by an infinitely long decimal expression
4. The algorithm may have one or more inputs but it must have at least one output.
5. An algorithm must terminate after a finite number of operations. There is another word for an algorithm which obeys all of the above properties except termination, and that is computational procedure. An operating system of a digital computer is an example of a computational procedure since it does not terminate, but continues in a waiting state until a new job is entered.

2.3 Use of Algorithm in Programming
Whenever a problem is found the method of solving it should be written in an easier way. This is called an algorithm. The step of algorithm is converted to any programming language. A lot of intelligences is required to design an algorithm. Programming means translation of an algorithm into a programming language. The study of algorithms includes many important and active areas of research. Some of these are follows in the next subsection.
2.4 How to Design an Algorithm
Designing new algorithms means finding new methods of solving problems. This is done by mathematicians or computer scientists sometimes with the help of existing algorithms. Sometimes they are developed by changing the steps which improves the computational requirements. There are several fields where algorithms can be designed. These are sorting, searching, linear programming, pattern recognition, artificial intelligence etc. To design efficient algorithms clear theoretical background on these topics is necessary. Only programming knowledge is not sufficient for this purpose.
2.5 Writing or Expressing Algorithm
Pseudocode or structured English is suitable for expressing an algorithm. Here, unlike natural languages, each statement has an unambiguous meaning. Generally algorithm is expressed in any high level language.
2.6 Analysis of Algorithm
Whenever you design an algorithm you must analyse it. You have to determine the cost of algorithm. If the cost is less than the exisiting algorithm, this algorithm will be implementable. Generally the cost of multiplication, addition and data transfer is calculated. If the cost of a new algorithm is of lower order than previous one then we are assured that the algorithm will give better results. Let us begin to implement the algorithm in a program.
Share:

Computer Networking Courses

Unit 1 : Introduction to Computer Networks

Introduction
Computer workloads are continuously being decentralized. The need for communicating among the geographically dispersed computers has evolved computer networks. In this unit, preliminary ideas of computer networks are introduced. Classification of computer networks and their topologies are also presented in this unit.

Lesson 1 : Computer Networks
1.1. Learning Objectives
On completion of this lesson you will be able to :
i) grasp the elementary idea of computer networks
ii) understand the goals of computer networks
iii) grasp the idea of message transmission over a computer network
1.2. What is a Computer Network?
A computer network is an interconnected collection of autonomous computers. An autonomous computer is one whose start, stop and control do not depend on any other computer. Two computers are said to be interconnected if they are able to exchange information. This connection between two computers may be using copper wire, fiber optics, microwaves, and communication satellites.
1.3. Computer Networks and Distributed Systems
There is a considerable confusion between a computer network and a distributed system. In a computer network, users explicitly log onto one computer, explicitly submit jobs remotely, explicitly move files around and generally handle all the network management personally. A computer network is an interconnected collection of autonomous computers.
In a distributed system, the existence of multiple autonomous computers is not visible to the user. A user can type a command to run a program, and it runs. It is up to the operating system to select best processor, find and transport all the input files to that processor, and put the results in the appropriate place. In a distributed system, nothing has to be done explicitly, it is all automatically done by the system without the user’s knowledge. In effect, a distributed system is a software system built on top of a computer network.
1.4. Goals of Computer Networks
Computer networks have the following goals :
(i) Resource sharing : Programs, equipment, and data available to anyone on the network can be shared without regard to the physical location of resource and the user.
(ii) High reliability : Alternative sources of resource supply provide high reliability. For example, files could be placed on two or three computers, so if one of them is unavailable due to a hardware failure, the other copies could be used. In addition, for presence of multiple CPUs, if one goes down the other may be able to take over its work.
(iii) Saving money : Resource sharing provides considerable saving of money.
(iv) Salability : Computer network provides ability to increase system performance gradually as the workload grows just by adding more processor in the network.
(v) Communication medium : A computer network provides a powerful communication medium among widely separated people. For example, it is easy for two or more people who live far apart to write a report using a computer network.
1.5. Message Transmission over a Computer Network
A message in a computer network is a single unit of communication. For example, in an e-mail system, a message would consist of a document sent from one user to another. A message in an image transmission system could be a single figure, image, or diagram.
To transmit a message over a computer network, it is usually represented as a string of bits. Transmitting long message as one complete unit is generally not done for various reasons. Long messages are normally broken up into shorter bit strings called packets. These packets are then sent through the network as individual units and are reassembled into complete message at the destination computer.
Share:

Graphic Design Classes Online

Unit 1 : Overview

Desktop publishing has several components like hardware, software and brainwork (i.e., design). Different forms and variations of each are available. In this unit an overview of the desktop publishing process the equipment is given.

Lesson 1 : Introduction
1.1. Learning Objectives
On completion of this lesson you will be able to describe:
i) Steps in desktop publishing process.
ii) Brainwork in design.
iii) Six steps for success in desktop publishing.
1.2. Introduction
There is a greater need for effective design today than ever before. The spread of desktop publishing and word processing software coupled with the availability numerous typeface options and low-cost inkjet and laser printers have made readers more sensitive to effective design. As a result, design blunders that would once be tolerated are now noticed. Bad design is almost considered an insult by readers, who now know how to recognize careless design and production.
1.3. The Desktop Publishing Process
The desktop publishing process can be organized in the following steps:
Assemble tools: Analyze hardware and software resources.
i) Define project: Identify audience, message and budget limitations.
ii) Select Layout: Choose page size, borders and columns.
iii) Add headlines: Select typeface, type size, weights, widths and line spacing.
iv) Place body copy: Choose typeface, type size, line and letter spacing, punctuation and hyphenation.
v) Add visuals: Select correct type of visual, resize, place on page, fine tune.
vi) Choose colors: Make sure that color enhances, rather than confuses, the message.
vii) Production and printing: Choose output resolution (i.e., dots per inch) and paper (weight, color and texture).
1.4. What is Design?
Design is the process of taking responsibility for the appearance and the content of your pages. You need to continually ask questions, make appropriate decisions, and pay attention to details. You have to break large projects into their component parts and then refine each part. Design is taking the time to do the job right. Try it, and if it works, make it better. Effective design is the result of planning before acting. You first analyze the purpose of the document and the obstacles to overcome. You then analyze the environment where the publication will appear, including the reader's level of motivation
and where the reader will encounter the publication. You must examine documents competing for the reader's attention.
1.5. Six Steps to Success
Regardless of whether you're designing, successful the result of following the same six step procedure:
i)  Establish goals and organize your material: Analyze your message and your readers. You shouldn’t even being to think about what your publication should look like until you have answered the Who, What, Where, When, and Why questions.
ii) Choose an appropriate format and page layout: What's the overall "look" of your publication? How many columns of type will you use? How many colors will you use? What color, weight, and texture paper will be printed? What graphic accents will you use to direct the reader's eyes?
iii) Make appropriate typeface, type size, and spacing decision: Although we live in a picture-oriented world, the majority of your message will appear as headlines and body copy. Your job is to create titles and headlines that attract attention and body copy that’s transparent and doesn't interfere with your reader's ability to quick message.
iv) Add and manipulate visuals: When possible, replace words with visuals. Visuals encompass illustrations, charts, graphs, tables, organizational timelines, and more. Keep in mind that each type has advantages and disadvantages, and each type requires careful placement on the page.
v) Build momentum into your page: After you have readers' attention, you need to keep them interested in your publication. Break large amounts of material into bite-sized chunks by using organizational devices such as subheads, pull quotes, and sidebars.
iv) Refine and fine-tune until you drop: Perfect wholes are the results of perfect details, and you get perfect details by breaking a project into its component parts and fine-tuning each part. A single glaring error can undermine the credibility and readability of your document.
Share:

Friday, July 21, 2017

Online Computer Programming Classes

Unit 1: Principles of Programming

Introduction
In this unit you will learn some general terms related to computer programming such as languages and algorithms. You will be familiar with these terms after reading this unit. The importance of an algorithm in a programming language can be realised in lesson 2. Chronological development of different languages and their uses are described in this unit. A general rule of writing algorithm is also described here.

Lesson 1: Objectives of Computer Programming

1.1 Learning Objective
On completion of this lesson you will learn
i) programming and programming language
ii)  why programming is popular
iii) history of programming.
1.2 Definition of Programming
Programming is writing instructions for a machine specially a computer. The machine which works differently according to the instructions given to it is called a programmable machine. The jobs of these machines are not fixed. We can change the working plan of the machine by changing the instructions or programs. Computers are machines that can understand the instruction and work properly according to the instructions given.
In short, programming means step by step instructions for solving a problem by computer.
1.3 What is a Language?
The instruction given to the computer must have a particular format. Computers are unable to understand human language. There are several levels of format or language which a computer can understand. The interest of understanding computer languages increases day by day. History of computer languages is as old as computer science. This is described in the following sections.

1.4 Different Types of Language

1.4.1 Low level languages
In old days computers were very large and were not much reliable. Programming was done by switches and there was no facility to use the program. This approach of computer programming was completely a hardware technology. Next the approach of machine language comes up. In this approach instruction set of the computer consists of some numerical digits. This instruction set is used to build up a program. This code is difficult to understand for human beings. Next assembly language was introduced. In assembly language the numerical codes are replaced by suitable names which are understandable. This has made programming easier.

1.4.2 High level languages
This type of languages are like English language. But this is more structured. Actually this type of languages support mathematical notations used in arithmetic expressions. There are some special rules for writing programs in high level languages. Pascal, C, C++, Mathematica, Java, Math lab etc. Ada are all high level languages. High level languages are easy to write, compile and suitable for error correction.

1.4.3 Fourth Generation Languages
Scientists are trying to develop computer languages like human languages. They have not been successful but may be successful in near future. These languages have greater built-in facility such as database query, searching, sorting and interfacing. FoxPro, Cobol, Visual Basic, MS Access, Oracle Forms and Reports, SQL systems make use of such programs or languages. These are also known as the Fourth Generation Languages (4GL).

1.5 Purpose of Programming
There are several purposes of programming. These are discussed below.

1.5.1 Computer program for automated systems
Different offices need different system. So a ready made software is not enough for this purpose. Special programs should be written for office automation. These softwares may be used for accounting, payroll systems, machine control, industrial control, billing system of electricity, telephone and water, result processing of examination etc. It is important to develop these softwares properly because the output of the whole system depends on the output of the computer system.

1.5.2 Developing the system
Demand increases day by day. So new systems should be introduced. This is done by introducing new programs and new versions of programs. Sometimes new machines come up with extra facilities.
Existing systems may not support these facilities. At that time developed programs are necessary for better utilisation of machines.

1.5.3 Scientific research
Scientific research requires computers for implementing the theory into practice. Huge numbers of calculations are required for this purpose. Only a computer program can help the scientists out. There are some programs which are useful for scientific calculations. For example, FORTRAN, C++, Mathematica, Math Lab. Simulation is also very necessary for research, which can be performed using simulation packages.

1.5.4 Development of programming languages
This is one of the main purposes of programming. High level languages are made from low level languages. Even top versions of high level languages are programmed by low version of high level languages. This idea of developing programming tool is called boot strapping. That is the objective of programming is to make the programs easier so that a layman can run his machine without the help of a programmer. This is actually the future trend of programming. Now the programmers are not concerned about the data structures and algorithms used. The compiler will use the proper data structure and efficient algorithm to solve the problem.

1.5.5 Object of this programming course
This course of programming is not all in all in computer programming. We have discussed some aspects of high level languages and then discussion on Pascal programming language will be found in subsequent lessons. This is actually an introductory course. Extra ordinary features of Pascal have been omitted from the book for reduction of complexity. Having learnt all the lessons, one will not only know the structure of Pascal but also be capable of writing short programs. This will develop the conception of programming within a very short time. The people who are totally ignorant about computers may get help from this course.
Share:

Translate

Total Pageviews

Search This Blog

Blog Archive

Recent Posts