-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
688 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# Input Devices | ||
|
||
Input devices are the devices that are used to send signals to the computer for performing tasks. The receiver at the end is the CPU (Central Processing Unit), which works to send signals to the output devices. Some of the classifications | ||
of Input devices are: | ||
• **Keyboard Devices** | ||
• **Pointing Devices** | ||
• **Composite Devices** | ||
• **Game Controller** | ||
• **Visual Devices** | ||
• **Audio Input Devices** | ||
|
||
## Keyboard | ||
- Keyboard is the most common and very popular input device which helps to input data to the computer. The layout of the keyboard is like that of traditional typewriter, although there are some additional keys provided for performing additional functions. | ||
- Keyboards are of two sizes 84 keys or 101/102 keys, but now keyboards with 104 keys or 108 keys are also available for Windows and Internet. | ||
|
||
## Mouse | ||
- Mouse is the most popular pointing device. It is a very famous cursor-control device having a small palm size box with a round ball at its base, which sensthe movement of the mouse and sends corresponding signals to the CPU when the mouse buttons are pressed. Generally, it has two buttons called the left and the right button and a wheel is present between the buttons. A mouse can be used to control the position of the cursor on the screen, but it cannot be used to enter text into the computer. | ||
|
||
## Joystick | ||
- Joystick is also a pointing device, which is used to move the cursor position on a monitor screen. It is a stick having a spherical ball at its both lower and upper ends. The lower spherical ball moves in a socket. The joystick can be moved in all four directions. | ||
- The function of the joystick is similar to that of a mouse. | ||
- It is mainly used in Computer Aided Designing (CAD) and playing computer games. | ||
|
||
## Light Pen | ||
- Light pen is a pointing device similar to a pen. It is used to select a displayed menu item or draw pictures on the monitor screen. It consists of a photocell and an optical system placed in a small tube | ||
- .When the tip of a light pen is moved over the monitor screen and the pen button is pressed, its photocell sensing element detects the screen location and sends the corresponding signal to the CPU. | ||
|
||
## Track Ball | ||
- Track ball is an input device that is mostly used in notebook or laptop computer, instead of a mouse. | ||
- There is a ball which is half inserted and by moving fingers on the ball, the pointer can be moved.Since the whole device is not moved, a track ball requires less space than a mouse. | ||
- A track ball comes in various shapes like a ball, a button, or a square.\ | ||
|
||
## Scanner | ||
- Scanner is an input device, which works more like a photocopy machine. | ||
- It is used when some information is available on paper and it is to be transferred to the hard disk of the computer for further manipulation.Scanner captures images from the source which are then converted into a digital form that can be stored on the disk. These images can be edited before they are printed. | ||
|
||
## Digitizer | ||
- Digitizer is an input device which converts analog information into digital form. | ||
- Digitizer can convert a signal from the television or camera into a series of numbers that could be stored in a computer. | ||
- They can be used by the computer to create a picture of whatever the camera had been pointed at. | ||
- Digitizer is also known as Tablet or Graphics Tablet as it converts graphics and pictorial data into binary inputs. A graphic tablet as digitizer is used for fine works of drawing and image manipulation applications. | ||
|
||
## Microphone | ||
- Microphone is an input device to input sound that is then stored in a digital form. | ||
- The microphone is used for various applications such as adding sound to a multimedia presentation or for mixing music. | ||
|
||
## Magnetic Ink Card Reader (MICR) | ||
- MICR input device is generally used in banks as there are large number of cheques to be processed every day. | ||
- The bank's code number and cheque number are printed on the cheques with a special type of ink that contains particles of magnetic material that are machine readable.This reading process is called Magnetic Ink Character Recognition (MICR). | ||
- The main advantages of MICR is that it is fast and less error prone. | ||
|
||
## Optical Character Reader (OCR) | ||
- OCR is an input device used to read a printed text. | ||
- OCR scans the text optically, character by character, converts them into a machine readable code, and stores the text on the system memory. | ||
|
||
## Bar Code Readers | ||
- Bar Code Reader is a device used for reading bar coded data (data in the form of light and dark lines). | ||
- Bar coded data is generally used in labelling goods, numbering the books, etc. | ||
- It may be a handheld scanner or may be embedded in a stationary scanner. | ||
- Bar Code Reader scans a bar code image, converts it into an alphanumeric value, which is then fed to the computer that the bar code reader is connected to. | ||
|
||
## Optical Mark Reader (OMR) | ||
- OMR is a special type of optical scanner used to recognize the type of mark made by pen or pencil. | ||
- It is used where one out of a few alternatives is to be selected and marked. | ||
|
||
|
||
# Output devices | ||
- Output Devices are the devices that show us the result after giving theinput to a computer system. Output can be of many different forms like image, graphic audio, video, etc. Some of the output devices are described below. | ||
|
||
## Monitors | ||
- The computer monitors are responsible for displaying the | ||
results received after processing and completing all the operations in the | ||
central processing unit. The technology in designing the display devices | ||
has evolved from monochrome monitors to colored monitors to the latest | ||
LED/LCDs. | ||
|
||
## Printers | ||
- Printers are another output device, similar to monitors, but the difference is that the output data received are produced into hard copies. | ||
- The performance standards of the printer device are qualified based on the processing speed, the printing resolution, the processing memory capacity, printing color feature, etc. | ||
|
||
## Speaker | ||
- Speakers are used for obtaining the audio formatted output data, which comes with various extensions like.MP3, MPEG, .WMA, etc. | ||
- This device aids in sending out audible alerts to the user, accessing the data with music or audio, communication systems, etc. | ||
|
||
## Projector | ||
- A projector is a device that permits the users to project their output in a large area or a large screen. | ||
- Users can use it to display the results of a computer and other devices onto a screen. | ||
- It heightens texts, images, and films employing light and lenses. | ||
- As a result, it becomes an ideal output device for providing presentations or teaching many audiences. |
141 changes: 141 additions & 0 deletions
141
Notes/PPS/Computer_System_Components/Language_processors.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Low Level Language | ||
|
||
## Definition:- | ||
|
||
- In computer science, a low-level programming language isa programming language that provides little or no abstraction from a computer's instruction set architecture-commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language. | ||
- Low-level language is a programming language that deals with a computer's hardware components and constraints. | ||
- Low-level language may also be referred to as a computer's native language. | ||
- Machine language and assembly language are popularexamples of low level languages. | ||
|
||
# High Level Language | ||
|
||
## Definition: | ||
|
||
- A high-level language is a programming language such as C, FORTRAN, or Pascal that enables a programmer to write programs that are more or less independent of a particular type of computer. | ||
- Such languages are considered high-level because they are closer to human languages and further from machine languages. | ||
- High-level language is any programming language that enables development of a program in much simpler programming | ||
|
||
# Assembly Language | ||
|
||
## Definition: | ||
|
||
- A low level language that is similar to machine language. | ||
- Uses symbolic operation code to represent the machine operation code. | ||
|
||
# Language Processor Or language Translator | ||
|
||
## Definition: | ||
- A translator is a computer program that performs the translation of a program written. in a given programming language into a functionally equivalent program in a different computer language, without losing the functional or logical structure of the original code (the "essence" of each program) Programming language processor (assembler, compiler, or interpreter) that converts a computer program written in one language to another language. | ||
|
||
## Types of Language Processors | ||
|
||
The language processors can be any of the following three types: | ||
1. Compiler | ||
2. Interpreter | ||
3. Assembler | ||
|
||
## Compiler | ||
- A compiler is a computer program that transforms source code written in programming language into another computer language. Typically from high level to low level source code. In a compiler, the source code is translated to object code successfully if it is free of errors. The compiler specifies the errors at the end of the compilation with line numbers when there are any errors in the source code. The errors must be removed before the compiler can successfully recompile the source code again the object program can be executed number of times without translating it again. | ||
- For example C | ||
|
||
```mermaid | ||
flowchart LR; | ||
A[Source code]-->B{Compiler} | ||
B-->C[Object code] | ||
``` | ||
|
||
## Interpreter | ||
- The translation of a single statement of the source program into machine code is done by a language processor and executes immediately before moving on to the next line is called an interpreter. If there is an error in the statement, the interpreter terminates its translating process at that statement and displays an error message. The interpreter moves on to the next line for execution only after the removal of the error.An interpreter translates one line at a time and then executes it. | ||
- Example: Perl, Python and Matlab. | ||
|
||
```mermaid | ||
flowchart LR; | ||
A[Source code /High Level Programming Language]-->B[Interpreter] | ||
B-->C[Executable Code/Machine Code/Output] | ||
C-->D[Get Next Instruction] | ||
D-->A | ||
``` | ||
|
||
## Assembler | ||
- The Assembler is used to translate the program written in Assembly language into machine code. Assembly language is some sort of instructions like ADD, MUL, MUX and so on, and the assembler is basically able to convert these in binary code. | ||
- For example, the architecture of intel 8085 and intel 8086 are different. | ||
|
||
|
||
```mermaid | ||
flowchart LR; | ||
A[Source code]-->B{Assembler} | ||
B-->C[Object code] | ||
``` | ||
|
||
# Linker | ||
- A linker is special program that combines the object files, generated by compiler/assembler and other pieces of code to originate an executable file has .exe extension. In the object file, linker searches and append all libraries needed for execution of file. It regulates the memory space that will hold the code from each module. It also merges two or more separate object programs and establishes link among them. | ||
|
||
# Loader | ||
- It is special program that takes input of executable files from linker, loads it to main memory, and prepares this code for execution by computer. | ||
- Loader allocates memory space to program. It is in charge of loading programs and libraries in operating system. The embedded computer systems don't have | ||
loaders. In them, code is executed through ROM. | ||
|
||
```mermaid | ||
flowchart LR; | ||
A>SOURCE CODE]-->B[Compiler] | ||
B-->C[Assembler] | ||
C-->D[Linker] | ||
D-->E[Loader] | ||
E-->F[Memory] | ||
``` | ||
|
||
# Difference between COMPILER and Interpreter | ||
|
||
|
||
# Compiler vs Interpreter | ||
|
||
| Characteristics | Compiler | Interpreter | | ||
| --- | --- | --- | | ||
| Code Conversion | Converts entire source code to machine code | Translates source code line by line | | ||
| Analysis Time | Longer analysis time | Shorter analysis time | | ||
| Execution Time | Faster execution time | Slower execution time | | ||
| Error Handling | Error messages after scanning entire program | Error messages during translation | | ||
| Debugging | Harder debugging | Easier debugging | | ||
| Memory Requirements | More memory required | Less memory required | | ||
| Intermediate Code | Generates object code | No intermediate code | | ||
| Security | More secure | Less secure | | ||
| Examples | C, C++, C# | Python, Perl, JavaScript | | ||
|
||
## Key Differences | ||
|
||
### Compiler | ||
|
||
* Converts entire source code to machine code before execution | ||
* Longer analysis time, faster execution time | ||
* Harder debugging, more memory required | ||
* Generates object code, more secure | ||
|
||
### Interpreter | ||
|
||
* Translates source code line by line during execution | ||
* Shorter analysis time, slower execution time | ||
* Easier debugging, less memory required | ||
* No intermediate code, less secure | ||
|
||
# Difference between LINKER and LOADER | ||
|
||
|
||
# Linker vs Loader | ||
|
||
| **Characteristics** | **Linker** | **Loader** | | ||
| --- | --- | --- | | ||
| **Main Function** | Generate executable files | Load executable files to main memory | | ||
| **Input** | Object code generated by compiler/assembler | Executable files generated by linker | | ||
| **Process** | Combine various pieces of code and source code to obtain executable code | Load executable codes to main memory for further execution | | ||
| **Types** | Linkage Editor, Dynamic Linker | Absolute, Relocating, Direct Linking, Bootstrap | | ||
| **Additional Responsibilities** | Combine object modules, allocate addresses, arrange objects in address space | Adjust references used within the program | | ||
| **Definition** | Process of combining code and source code to obtain executable code | Process of loading executable codes to main memory for further execution | | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.