Unit 1: Computer Systems and Organisation
Basic computer organisation
Introduction to Computer System
• A computer is basically an electronic machine meant for computing. It can be programmed
to take data as input, process it and generate information as output.
•Computer system comes in various forms and sizes such as Desktop, Laptop, Tablet,
Mainframe, Super Computer, Smartphone etc.
• A computer system is ideally combination of Hardware and Software.
BASIC COMPUTER ORGANISATION
Computer organisation refers to logical structure of a computer how its components are
connected to one another
Components of Computer System
A computer System primarily comprises of (Figure above):
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.
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
• CPU stands for Central Processing Unit referred as brain of computer
• It is responsible for all the processing done on data
• It performs arithmetic and logical operation on data as per the instructions given by the
program it fetches from memory
• CPU has three main components
• Registers: these are part of CPU and used to store data and instructions during operation
being performed in limited size.
• ALU: stands for arithmetic and logical unit that performs all the arithmetic and logical
operations on data as per instructions of a program
• CU: stands for Control unit which
• Controls flow of data between memory, input and output devices.
• Controls execution of instructions in sequential manner.
Computer Memory
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 stores data and programs temporarily during operation.
• CPU can read and write data directly to and from primary memory
• It is volatile in nature as its content gets deleted as soon as power supply is turned off.
It is of two types
• RAM:
• Stands for Random Access Memory, used to store data temporarily during operation being
performed. It is volatile in nature
• It is considered as main memory of computer system
• The required program and data of any application while being started takes space in RAM.
• It is faster than secondary memory
• ROM
• Stands for Read Only Memory, which stores startup programs that loads operating system
into primary memory.
• It is non-volatile in nature
• Content of ROM cannot be modified.
Cache Memory
• It's another type of Primary Memory which is considered as very high speed memory.
• It is placed between CPU and Primary Memory (RAM) referred as cache.
• The main purpose of Cache 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 cannot be accessed directly by CPU.
•Examples: SSD, HDD, CD/DVD, Flash Drive, Memory Card etc.
Difference between RAM and ROM
Types of Primary /Main Memory:
Types of RAM:
SRAM-Static Random access memory
DRAM- Dynamic Random access memory
Type of ROM:
PROM-Programmable Read only memory
EPROM-Erasable Programmable Read Only Memory
EEPROM-Electrical Erasable Programmable Read Only Memory
Unit of Memory
• Byte is unit of memory.
• 8 bits grouped together forms 1 Byte.
4 bits grouped together forms 1 nibble and 2 nibbles makes 1 Byte.
Given table shows different measurement units of data
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
Software acts as an interface between user and hardware.
It makes computer hardware operational and useful.
                                    Types of software
Software can be broadly classified in three categories:
•System software
•Application software
•Programming tools
System Software
It manages computer system by interacting directly with its constituent hardware.
It helps in providing various services to user and resources to other softwares.
Following are different types of 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.
Following are the programming tools used
•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:
• Low level language
•High level language
Low level language:
These are machine dependent language that includes:
• Machine language
• Assembly language
Machine language
• It uses binary code i.e. Os 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.
Difference between compiler and interpreter :
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
• Software which is developed for a particular type of application such as drawing,
presentation, documentation, calculation etc,
• It is used by user to accomplish their task.
• It always runs on the top of the system 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.
• These are application software designed to meet the requirement of individual or
organization.
• Examples: school management software, hospital management, inventory management,
payroll etc.
                                    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.
Functions of Operating System
Functions of an Operating system can be broadly categorized as:
• 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.
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.
Following are the commonly used interfaces of OS:
• Character (Command) user interface
• Graphical user interface
• Touch based interface
• Voice based interface
• Gesture based interface
Character (command) user interface
• 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.