Notes On Computer PDF
Notes On Computer PDF
In short computer can be defined as, An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a
variable program.
Computer is an electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations. 1) It accepts data or instructions by way of input, 2) It stores data, 3) It can process data as required by the user, 4) It gives results in the form of output, and 5) It controls all operations inside a computer. We discuss below each of these Computer operations What is Block diagram? Block diagram is a diagram of a system, in which the principal parts or functions are represented by blocks connected by lines that show the relationships of the blocks. 1. Input: This is the process of entering data and programs in to the computer system. You should know that computer is an electronic machine like any other machine which takes as inputs raw data and performs some processing giving out processed data. Therefore, the input unit takes data from us to the computer in an organized manner for processing. 2. Storage: The process of saving data and instructions permanently is known as storage. Data has to be fed into the system before the actual processing starts. It is
because the processing speed of Central Processing Unit (CPU) is so fast that the data has to be provided to CPU with the same speed. Therefore the data is first stored in the storage unit for faster access and processing. This storage unit or the primary storage of the computer system is designed to do the above functionality. It provides space for storing data and instructions. The storage unit performs the following major functions: All data and instructions are stored here before and after processing. Intermediate results of processing are also stored here.
3. Processing: The task of performing operations like arithmetic and logical operations is called processing. The Central Processing Unit (CPU) takes data and instructions from the storage unit and makes all sorts of calculations based on the instructions given and the type of data provided. It is then sent back to the storage unit. 4. Output: This is the process of producing results from the data for getting useful information. Similarly the output produced by the computer after processing must also be kept somewhere inside the computer before being given to you in human readable form. Again the output is also stored inside the computer for further processing. 5. Control: The manner how instructions are executed and the above operations are performed. Controlling of all operations like input, processing and output are performed by control unit. It takes care of step by step processing of all operations inside the computer. FUNCTIONAL UNITS In order to carry out the operations mentioned in the previous section the computer allocates the task between its various functional units. The computer system is divided into three separate units for its operation. They are 1) Arithmetic logical unit 2) Control unit. 3) Central processing unit. Arithmetic Logical Unit (ALU) Logical Unit
Logical Unit: After you enter data through the input device it is stored in the primary storage unit. The actual processing of the data and instruction are performed by Arithmetic Logical Unit. The major operations performed by the ALU are addition, subtraction, multiplication, division, logic and comparison. Data is transferred to ALU from storage unit when required. After processing the output is returned back to storage unit for further processing or getting stored.
Control Unit (CU) The next component of computer is the Control Unit, which acts like the supervisor seeing that things are done in proper fashion. Control Unit is responsible for co coordinating various operations using time signal. The control unit determines the sequence in which computer programs and instructions are executed. Things like processing of programs stored in the main memory, interpretation of the instructions and issuing of signals for other units of the computer to execute them. It also acts as a switch board operator when several users access the computer simultaneously. Thereby it coordinates the activities of computers peripheral equipment as they perform the input and output. Central Processing Unit (CPU) The ALU and the CU of a computer system are jointly known as the central processing unit. You may call CPU as the brain of any computer system. It is just like brain that takes all major decisions, makes all sorts of calculations and directs different parts of the computer functions by activating and controlling the operations. What are the Components of computer system? Computer can be divided into two main categories: Hardware and Software. Hardware - A generic term used to describe any component of a computer system with a physical presence and which can, therefore, been seen and touched. Hardware components are often categorized as being input, output, storage or processing components. Devices which are not an integral part of the CPU are referred to as being peripherals.
Peripherals are usually used for input, storage or output (such as a hard disk, keyboard or printer). A device does not necessarily have to be outside the same physical box as the CPU. The best example of this is the hard disk, which is a peripheral even though it is not usually housed within the main case.
Input devices are hardware devices which take information from the user of the computer system, convert it into electrical signals and transmit it to the processor. The primary function of input devices is to allow humans to interact with the computer system. For instance a mouse allows the user to control the movement of the pointer (a common element in user interface design). Output devices take data from the computer system and convert it to a form that can be interpreted by humans. For instance a monitor creates a visual electronic display to output information created by the processor to the user.
Below we discuss the variety of peripheral devices used for computer input and output. Input Devices : a) b) c) d) e) f) g) h) i) j) Graphics Tablets Cameras Video Capture Hardware Trackballs Barcode reader Digital camera Gamepad Joystick Keyboard Microphone
k) l) m) n) o) p) q) r)
MIDI keyboard Mouse (pointing device) Scanner Webcam Touchpad Pen Input Microphone Electronic Whiteboard
OUTPUT DEVICES: 1. 2. 3. 4. 5. 6. 7. Monitor Printers (all types) Plotters Projector LCD Projection Panels Computer Output Microfilm (COM) Speaker(s)
Processing devices are the components responsible for the processing of information within the computer system. This includes devices such as the CPU, memory and motherboard. Storage devices are components which allow data to be stored within a computer system. This includes devices such as hard disk drives and compact disk drives. Software - A set of instructions, stored digitally within the computer's memory, which tells the computer system what to do. Software, is another word for programs which are still on the computer and cannot be touched Software components of a computer system have no physical presence; they are stored in digital form within computer memory. There are different categories of software, including system software, utilities and applications software. Software can also be described as being either generic or bespoke. System software is the software used to manage and control the hardware components and which allow interaction between the hardware and the other types of software. The most obvious type of system software is the computer's operating system but device drivers are also included within this category.
Utility software is software such as anti-virus software, firewalls, disk defragmenters and so on which helps to maintain and protect the computer system but does not directly interface with the hardware. Applications software (also known as 'apps') are designed to allow the user of the system complete a specific task or set of tasks. They include programs such as web browsers, office software, games and so on. They are usually the reason you bought the computer system in the first place and aren't concerned with the management or maintenance of the system itself. Generic software Any individual software package, whichever of the above types it falls into, can be either generic (or 'off-the-shelf') or it can be bespoke (custom-built). Generic software is mass produced with the intention that it will be used by a wide variety of different users in a range of different situations. Bespoke software is created for a specific purpose which will be used in a known environment. Generations of Computers Using size and features as the bases, computers are classified into various generations. These generations of computers are discussed below:
FIRST GENERATION The first generation computers were bulky in size. They were able to execute hundreds of instructions per second and were expensive as well. They used vacuum tubes as their main components. Machine language is a first generation language, for example EDVAC (Electronic Discrete Variable Automatic Computer), UNIVAC (Universal Automatic Computer) etc.
SECOND GENERATION The second-generation computers were smaller in size as compared to the first generation computers. These were capable of executing thousands of instructions per second, with a transistor as its main component. Assembly language is the second generation language in which programs were written using mnemonic codes, for example, PDP (Programmed data processor), PDP1 etc.
THIRD GENERATION
The third generation computers were more advanced and used integrated circuits. These computers contained thousands of components per circuit. They were cheaper than second-generation computers. The languages used in this generation were BASIC, COBOL etc. for example, IBM 307 Series, PDP II etc.
FOURTH GENERATION
The fourth generation computers used complex circuits like the large-scale integrated circuits called microprocessors or chips, which surprisingly cost less than the third generation computers. These computers were able to execute millions of instructions per second. The languages used in this generation are C++, SQL etc. for example, CRAY 2, IBM 3090/600 Series.
FIFTH GENERATION
These computers work on artificial languages (AI) like LISP, PROLOG etc. They use super/ultra large-scale integrated circuits, which is also called parallel processing method. They execute billions of instructions per second, for example, Laptops, Palmtops; PDA (Personal Digital Assistant) etc. Different kinds of languages emphasize different parts about the problem, and so are better at describing different aspects of the solution or even different kinds of problems and solutions. Computer Science is ever evolving, so there is continual evolution of the concepts we need to use and the notations for describing these concepts. Operational languages, for example, express how something is achieved, and makes the reader figure out what is being achieved. Declarative languages express what must be achieved and make the system work out how to achieve it. The earliest languages had few restrictions, so they were very powerful, but turned out to be very dangerous to use. After a while, people developed languages that were much safer to use, but there were complaints about their lack of power. Nowadays, we see languages that are both safe and powerful. Sometimes we have to use assembly language (Low-Level Language, LLL) because there is just no other reasonable way of telling the computer what it must do. However, most programming is done in High-Level Languages (HLLs) because of productivity. It is usually easier, or more cost-effective, to use a HLL. Some of the reasons for this are: Easy to write: Useful concepts and facilities, relevant to application Easy to read: For reuse, maintenance, enhancement etc. Portability: Other compiler/toolset suppliers, users, computers - standards Error detection and reporting
COMPUTER LANGUAGES
The computer performs its functions based on the instructions given by the user. The set of such instructions written for a particular task is known as a computer program. Program is the set of instructions that tells the computer how to process the data, into the form desired by the user. The language in which a computer program is written is known as programming language. The programming languages are classified as Low- level language and High- level language.
Low- level language is further classified as Machine language and Assembly language. Machine language is expressed in terms of binary numbers i.e. 0 and 1 as the processor understands binary numbers only. However, it is difficult to read and write the program in terms of 0s and 1s. The machine language code is further simplified by converting it to the code called op code. The op code depends upon the type of processor. The program written in the op code is known as Assembly language code. During the run time, it is necessary to convert the op code into machine language so that the processor will understand and process the code. The internal program that translates op code to machine code is known as Assembler. Some examples of Assembler are Microsoft Assembler (MASM), Z-80, 8085, 8086 etc. The Assembler for each processor is different. Usage of the Assembly language requires knowledge of the Assembly la nguage and computer hardware. It is more convenient to write a program in a High level language, which comprises of instructions in simple English. Examples of High level language are BASIC, FORTRAN, and COBOL etc. A compiler is the internal program that translates High level language to Machine language.
Software' is another name for program. In most cases, the terms software and program are interchangeable. There are two types of software - system software and application/ utility software. Application software is the end user software. The programs written under application software are designed for general purpose and special purpose applications. An example of application software is Microsoft Internet Explorer. System Software enables application software to interact with the computer hardware. System software is the background software that helps the computer to manage its internal resources. The most important system software is the operating system. The system software performs impor tant tasks such as running the program, storing data, processing data etc. Windows XP is an example of system software.
The computer works on either batch processing or time-sharing basis. Batch Processing: In batch processing, the computer acts as a s tand-alone unit. As such, it is available for a single user. Therefore, a number of programs can be executed simultaneously. They have to stand in queue.
Batch Processing Time-sharing: Unlike batch processing, time sharing offers simultaneous usage of computer. The computer is provided with multiple terminals from which the system can be accessed simultaneously by a number of users.
Time Sharing
Storage devices
Storage Devices are the data storage devices that are used in the computers to store the data. The computer has many types of data storage devices. Some of them can be classified as the removable data Storage Devices and the others as the non removable data Storage Devices. The memory is of two types ; one is the primary memory and the other one is the secondary memory. The primary memory is the volatile memory and the secondary memory is the non volatile memory. The volatile memory is the kind of the memory that is erasable and the non volatile memory is the one where in the contents cannot be erased. Basically when we talk about the data storage devices it is generally assumed to be the secondary memory. The secondary memory is used to store the data permanently in the computer. The secondary storage devices are usually as follows: hard disk drives this is the most common type of storage device that is used in almost
all the computer systems. The other ones include the floppy disk drives, the CD ROM, and the DVD ROM. The flash memory, the USB data card etc. Examples of storage devices A floppy disk is a data storage medium that is composed of a disk of thin, flexible floppy) magnetic storage medium encased in squarer rectangular plastic shell. Floppy disks are read and written by a floppy disk drive. Any use where small files such as word processing, small spreadsheets and databases need to be moved from one computer to another. Useful to backup small data files. A hard disk drive is the device used to store large amounts of digital information in computers and related equipment like iPods and games consoles such as the Xbox 360 and PS3. Hard disk drives are used to store operating systems, software and working data. These are suitable for any application which requires very fast access to data for both reading and writing to. However, Hard disk drives may not be suitable for applications which need portability. Almost all computers used a fixed hard disc. Used for on-line and real time processes requiring direct access. Used in file servers for computer networks to store large amount of data. Portable hard discs are good fun because you can carry data about all over the place and transfer information, programs, pictures, etc between computers. Magnetic tape has been used for data storage for over 50 years. When storing large amounts of data, tape can be substantially less expensive than disk or other data storage options. Tape storage has always been used with large computer systems. Modern usage is primarily as a high capacity medium for backups and archives.
CDs tend to be used for large files (but smaller than 1Gb) which are too big for a floppy disc to hold such as music and general animation. DVDs are used to hold very large files (several Gb) such as movie films. Both CDs and DVDs are portable i.e. they can be transported from one computer to another. Both can be used to store computer data. CD ROM/DVD ROM Applications which require the prevention of deletion of data, accidental or otherwise. CDs used by software companies for distributing software programs and data; by Music companies for distributing music albums and by book publishers for distributing encyclopaedias, reference books etc. DVDs used by film distributors. CD R/DVD R Applications which require a single burning of data, e.g. CDs - recording of music downloads from the Internet, recording of music from MP3 format, recording of data for archiving or backup purposes. DVDs recording of film movies and television programs. CD RW/DVD RW Applications which require the updating of information and ability to record over old data. Not suitable for music recording but is very useful for keeping generations of files. DVDs have between five and ten times the capacity of CDs.
USB flash drives are typically removable and rewritable, much smaller than a floppy disk. Storage capacities typically range from 64 MB to 64 GB. USB flash drives offer potential advantages over other portable storage devices, particularly the floppy disk. They have a more compact shape, operate faster, hold much more data, have a more durable design, and operate more reliably due to their lack of moving parts. Flash drives are widely used to transport files and backup data from computer to computer.
A me mory card or flash memory card is a solid-state electronic flash memory data storage device used with digital cameras, handheld and Mobile computers, telephones, music players, video game consoles, and other electronics. Nowadays, most new PCs have built- in slots for a variety of memory cards; Memory Stick, Compact Flash, SD, etc. Some digital gadgets support more than one memory card to ensure compatibility.
INTRODUCTION TO COMPUTER OPERATING SYSTEM
An operating system (sometimes abbreviated as "OS")is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. An operating system is a program that acts as an interface between a user of a computer and the computer hardware. The application programs make use of the operating system by making requests for services through a defined application program interface (API). In addition, users can interact directly with the operating system through a user interface such as a command language (shell CMD.EXE or Terminal) or graphical user interface (GUI). An operating system is an important part of almost every computer system. A computer system can roughly be divided into three components: The hardware (memory, CPU, arithmetic-logic unit, various bulk storage, I/O, peripheral devices) Systems programs (operating system, compilers, editors, loaders, utilities) Application programs (database systems, business programs, GUIs, IDEs)
File Allocation table (FAT) uses the file allocation table which records, which clusters are used and unused and where files are located within the clusters. NTFS is a file system introduced by Microsoft and it has a number of advantages over the previous file system, named FAT32 (File Allocation Table). One major advantage of NTFS is that it includes features to improve reliability. For example, the new technology file system includes fault tolerance, which automatically repairs hard drive errors without displaying error messages. It also keeps detailed transaction logs, which tracks hard drive errors. This can help prevent hard disk failures and makes it possible to recover files if the hard drive does fail. NTFS also allows permissions (such as read, write, and execute) to be set for individual directories and files.
Real-time
A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
Multi-user
A multi-user operating system allows multiple users to access a computer system at the same time. Time sharing systems and Internet servers can be classified as multi-user systems as they enable multiple-user access to a computer through the sharing of time. Single-user operating systems have only one user but may allow multiple programs to run at the same time.
Distributed
A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.
Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. Component of Computer Operating System: The components of an operating system all exist in order to make the different parts of a computer work together. All user software needs to go through the operating system in order to use any of the hardware, whether it is as simple as a mouse or keyboard or as complex as an Internet component.
Kernel
With the aid of the firmware and device drivers, the kernel provides the most basic level of control over all of the computer's hardware devices. It manages memory access for programs in the RAM, it determines which programs get access to which hardware resources, it sets up or resets the CPU's operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.
Program execution
The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify development and execution of application programs. Executing an application program involves the creation of a process by the operating system kernel which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program which then interacts with the user and with hardware devices.
Interrupts
Interrupts are central to operating systems, as they provide an efficient way for the operating system to interact with and react to its environment. The alternative having the operating system "watch" the various sources of input for events (polling) that require action can be found in older systems with very small stacks (50 or 60 bytes) but are unusual in modern systems with large stacks. Interrupt-based programming is directly supported by most modern CPUs. Interrupts provide a computer with a way of automatically saving local register contexts, and running specific code in response to events. Even very basic computers support hardware interrupts, and allow the programmer to specify code which may be run when that event takes place.
Modes
Modern CPUs support multiple modes of operation. CPUs with this capability use at least two modes: protected mode and supervisor mode. The supervisor mode is used by the operating system's kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is written and erased, and communication with devices like graphics cards. Protected mode, in contrast, is used for almost everything else. Applications operate within protected mode, and can only use hardware by communicating with the kernel, which controls everything in supervisor mode. CPUs might have other modes similar to protected mode as well, such as the virtual modes in order to emulate older processor types, such as 16-bit processors on a 32-bit one, or 32-bit processors on a 64-bit one.
Memory management
Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory
Virtual memory
The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks. If a program tries to access memory that isn't in its current range of accessible memory, but nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault.
Multitasking
Multitasking refers to the running of multiple independent computer programs on the same computer; giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer's time to execute.
Networking
Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer's operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local
computer. This includes everything from simple communication, to using networked file systems or even sharing another computer's graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer's command line interface.
Security
A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel. The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between "privileged" and "non-privileged", systems commonly have a form of requester identity, such as a user name. To establish identity there may be a process of authentication
User interface
Every computer that is to be operated by an individual requires a user interface. The user interface is usually referred to as a shell and is essential if human interaction is to be supported. The user interface views the directory structure and requests services from the operating system that will acquire data from input hardware devices, such as a keyboard, mouse or credit card reader, and requests operating system services to display prompts, status messages and such on output hardware devices, such as a video monitor or printer. The two most common forms of a user interface have historically been the command-line interface, where computer commands are typed out line-by-line, and the graphical user interface, where a visual environment (most commonly a WIMP) is present.
Data:
Data is raw fact or figures or entity. When activities in the organization takes place, the effect of these activities need to be recorded which is known as Data.
Information:
Processed data is called information The purpose of data processing is to generate the information required for carrying out the business activities.
Object-Oriented DBMS Able to handle many new data types, including graphics, photographs, audio, and video, object-oriented databases represent a significant advance over their other database cousins. Hierarchical and network databases are all designed to handle structured data; that is, data that fits nicely into fields, rows, and columns. They are useful for handling small snippets of information such as names, addresses, zip codes, product numbers, and any kind of statistic or number you can think of. On the other hand, an object-oriented database can be used to store data from a variety of media sources, such as photographs and text, and pro duce work, as output, in a multimedia format.
Cost: Implementing a DBMS system can be expensive and time-consuming, especially in large organizations. Training requirements alone can be quite costly. Security: Even with safeguards in place, it may be possible for some unauthorized users to access the database. In general, database access is an all or nothing proposition. Once an unauthorized user gets into the database, they have access to all the files, not just a few. Depending on the nature of the data involved, these breaches in security can also pose a threat to individual privacy. Steps should also be taken to regularly make backup copies of the database files and store them because of the possibility of fires and earthquakes that might destroy the system.
Introduction to FOXPRO
FoxPro was a text-based procedurally oriented programming language and DBMS, originally published by Fox Software and later by Microsoft, for MS-DOS, Windows, Macintosh, and UNIX. The final published release of FoxPro was 2.6, after which the development has continued under Visual FoxPro. Although FoxPro is a Database Management System (DBMS) and it does support relationships between tables, it is not considered a Relational Database Management System (RDBMS), lacking transactional processing.