Computer System and Organization-Chap1
Computer System and Organization-Chap1
Image 2 Given below represents the basic structure of computer system. the directed lines
represent the flow of data and signal between the components.
1. Input Device
2. Output Device
3. CPU
4. Memory
5. Storage Devices
Input Device
The devices used for input data into computer system are termed as Input device.
Input devices converts the input data into digital signal that is understood by computer
system
Examples: Keyboard, mouse, scanner, touch screen, microphone etc.
Input data is temporarily stored in primary memory (RAM)
Output devices
The devices which are responsible for displaying or producing information are termed as
output device.
Output devices converts digital signals into human understandable form.
Examples: Monitor, Printer, Speaker, Plotter, Projector etc.
Output data is temporarily stored in primary memory that can be stored later
permanently in secondary memory.
CPU
Computer memory as it name implies, used to store data and instructions used for processing.
Types of memory
Computer systems have two types of memory
Primary memory
Secondary memory
Primary memory
It’s another type of Primary Memory which is considered as very high speed meory.
It is placed between CPU and Primary Memory (RAM) referred as catche.
The main purpose of Catch memory is to store the copies of frequently access data of
primary memory to reduce the time consumed to access that data.
Secondary Memory
It stores data and programs permanently that can be used in future also.
It is non-volatile in nature.
It has larger capacity but slower than primary memory.
Content of secondary memory can not be accessed directly by CPU.
Examples: SSD, HDD, CD/DVD, Flash Drive, Memory Card etc.
Unit of Memory
Unit Description
Software
Software refers to set of programs that instruct hardware what to do and how to do.
It comprises of instructions and data to be processed using computer hardware.
Each software is written for some computational purpose.
Softwares are intangible.
Need of software:
Types of software
System software
Application software
Programming tools
System Software
Operating System
System Utilities (Utility Software)
Device Drivers
Operating System
The software that acts as an interface between user and computer hardware.
It is a System Software.
Every computer system must have at least one operating system installed.
Windows, Linux, Solaris, MAC OS, Ubuntu, MS DOS are some of the examples of
Operating System.
It helps in performing the core functionalities like accepting input from various input
devices, directing the output to the display, managing the files and directories,
communicating with hardware, and installing /uninstalling of peripheral devices.
System Utilities
System Utilities are Softwares used to maintain computer systems to work more
smoothly, efficiently and effectively.
It helps in improving the performance of computer
It helps in providing security from virus
It helps in managing and freeing disk space and providing data backups
Disk defragmentation, formatting, system restore are some utilities inbuilt in Operating
System.
Device Driver
Device Drivers are programs that help functioning a hardware device with computer
system
It acts as an interface between the device and operating system.
Overall control, interpretation, operation and management of a device at the hardware
level is handled by device driver.
Programming Tools
Programming tools refers to the tools used to write instructions, converts high level to machine
language and develop softwares for computer system.
Programming languages
Language translators
Program development tools
Programming Languages:
Programming languages are used to write instructions which are applied by computer
system to get desire results.
Programming languages are developed to simplify coding for computers.
Programming language can be classified in two categories:
Machine language
Assembly language
Machine language
It uses binary code i.e. 0s and 1s to write instructions for computer system.
It is directly understood by computer system and hence no intermediate software is
required to execute them.
It is difficult to use machine language as one has to remember all operational codes and
machine addresses.
It is difficult to find errors in the code written in machine language
Assembly language
Assembly language uses English like words to write instructions for computer system.
It is platform dependent means code written for a particular CPU cannot be used for
another CPU.
High Level Language
High level languages uses English like words using its own grammar (set of rules) to write
instructions.
It is platform independent and simple to write code.
Translators (compilers) are needed to translate high level language into machine
language.
Examples: C++, Java, Python, C# etc.
Language Translators
Language translators are used to convert instructions written in assembly or high level
language to machine language.
The code converted into machine language is called object code.
Different translators for different languages are used for conversion.
There are three types of language translators:
Assembler
Compiler
Interpreter
Assembler
The translator used to convert the code written in assembly language to machine language is
called assembler.
Each assembler can understand a specific microprocessor instruction set only and hence,
the machine code is not portable.
Compiler
Compiler converts source code written in high level language into machine code.
If the code does not follow all syntactic rules of the language, compiler generates error.
Once source code is translated successfully, the compiler is not needed further.
Interpreter
Interpreter converts source code written in high level language into machine code line by
line.
Interpreter is always needed whenever a source code is to be executed.
Program Development Tools
Program development tools are also referred as Integrated Development Environment which
provides all resources needed for software development. It consist of:
Text editor
Debugger
Compiler
GUI Editor etc.
Examples: Python IDLE, Netbeans, Eclipse, Visual Studio, Atom
Application Software
These are application software designed for generic applications such as Spreadsheets,
Photoshop, and Chrome etc.
These are developed to meet the requirement of mass users in mind without any
geographical barrier.
Customized software
The software that acts as an interface between user and computer hardware.
It is a System Software.
Every computer system must have at least one operating system installed.
Windows, Linux, Solaris, MAC OS, Ubuntu, MS DOS are some of the examples of
Operating System.
It helps in performing the core functionalities like accepting input from various input
devices, directing the output to the display, managing the files and directories,
communicating with hardware, and installing /uninstalling of peripheral devices.
Functions of Operating System
Communication Management
Resource Management
Process Management
File Management
Memory Management
Communication Management
Establishes communication between different peripheral devices like printer, mouse, keyboard,
monitor etc. Operating System uses special programs called drivers to identify these devices
and their properties, to interact with them.
Resource Management
Here resource management refers to managing allocation and priority of different resources
such as memory, CPU time, files, Input/output devices etc., to the various processes to get an
optimum performance from the system. All these are discussed below:
Process Management
It refers to managing, controlling and scheduling different operations being executed in the
CPU. It decides which process gets the processor and for how long.
Memory Management
It refers to dynamically allocating memory to the process to be executed and release when not
needed.
File Management
It refers to managing all the files and folders in secondary memory. Creating, deleting, moving,
copying or renaming are some common task performed on files.
OS User Interface
OS User Interface refers to medium through which user can interact with an Operating System.
In CUI commands are used as medium to exchange information between user and
machine.
The user has to remember name of all such commands which OS supports.
The primary input device for CUI is keyboard.
CUI based applications can perform only one task at a time.
Examples of CUI based OS are: MS-DOS, UNIX
Graphical User Interface
In GUI different graphics like icons, images, buttons, menus are used to interact with
operating system.
The primary input device for GUI is mouse.
GUI based applications can perform more than one task at a time.
Examples of GUI based OS are: Windows, Macintosh, Ubuntu, Federa etc.
Touch based Interface
Now a days touch based interface applications are in use. Mostly build for smartphones
and tablets.
It allows user to interact with system simply using the touch input.
Examples of touch based interface OS are : Android, Windows, iOS etc.
Voice based Interface
Voice based interface OS allows user to interact with system by human voice.
It is basically designed for the users who can use keyboard, mouse or touch screens.
Voice based interface OS are: iOS(Siri), Android (Google), Window-10 (Cortana), OK
Google etc.
Gesture based Interface
Gesture based interface refers to interactive with system using different human gestures
like waving, tilting, eye motion and shaking.
Gesture based Interface is mostly supported by iOS and Android smartphones.
Applications in gaming and medicine are majorly developing interface based on
gestures.