Unit – 2 Operating System and Software Applications
Functionality of Operating System:
An Operating System acts as a communication interface between the user and computer
hardware. Its purpose is to provide a platform on which a user can execute programs
conveniently and efficiently. The main goal of an operating system is to make the computer
environment more convenient to use and to utilize resources most efficiently.
Process Management
Process management in operating system is about managing processes. A Process is a running
program. The life cycle of process is from the moment program start until it finishes. Operating
system makes sure each process:
• gets its turn to use the CPU
• synchronized when needed
• has access to the resources it needs, like memory, files, and input/output devices.
It also handles issues like process coordination and communication, while preventing conflicts
such as deadlocks. This way, the OS ensures smooth multitasking and efficient resource use.
Memory Management
Memory management is an essential task of the operating system that handles the storage and
organization of data in both main (primary) memory and secondary storage. The OS ensures
that memory is allocated and deallocated properly to keep programs running smoothly. It also
manages the interaction between volatile main memory and non-volatile secondary storage.
File System Management
File management in the operating system ensures the organized storage, access and control of
files. The OS abstracts the physical storage details to present a logical view of files, making it
easier for users to work with data. It manages how files are stored on different types of storage
devices (like hard drives or SSDs) and ensures smooth access through directories and
permissions.
Device Management (I/O System)
Device management of an operating system handles the communication between the system
and its hardware devices, like printers, disks or network interfaces. The OS provides device
drivers to control these devices, using techniques like Direct Memory Access (DMA) for
efficient data transfer and strategies like buffering and spooling to ensure smooth operation.
Protection and Security
Protection and security mechanisms in an operating system are designed to safeguard system
resources from unauthorized access or misuse. These mechanisms control which processes or
users can access specific resources (such as memory, files, and CPU time) and ensure that only
authorized users can perform specific actions. While protection ensures proper access control,
security focuses on defending the system against external and internal attacks.
Additional Functions of the Operating System
Beyond core tasks like process and memory management, operating systems also focus on
system performance, resource utilization and error detection. These functions ensure smooth
operation, efficient resource allocation and system reliability.
• Control Over System Performance: The OS monitors system performance by
recording delays between service requests and system responses. This helps identify
bottlenecks and optimize resource usage, ensuring efficient system operation.
• Job Accounting: The OS keeps track of time and resources used by various tasks and
users. This information is valuable for auditing, billing, and optimizing resource
allocation among users and applications.
• Error-Detecting Aids: The OS produces dumps, traces, error messages, and other
debugging aids to detect and diagnose errors. This proactive approach helps maintain
system stability and aids in troubleshooting issues.
Types of Operating System:
Batch Operating System
A Batch Operating System is designed to handle large groups of similar jobs efficiently. It does
not interact with the computer directly but instead processes jobs that are grouped by an
operator. These jobs are queued and executed one after the other, without user interaction
during the process.
Batch Operating System
Advantages of Batch Operating System
• Efficient Job Management: Multiple users can efficiently share the system, making it
cost-effective.
• Minimal Idle Time: The system minimizes idle time by processing jobs in a continuous
sequence without human intervention.
• Handling Repetitive Tasks: Ideal for managing large, repetitive tasks, such as payroll
and billing, with minimal effort.
• Improved Throughput: Batch systems can handle high volumes of jobs at once,
improving overall system throughput.
Disadvantages of Batch Operating System
• Inefficient CPU Utilization: When a job is waiting for input/output (I/O), the CPU
remains idle, leading to poor utilization of resources.
• Unpredictable Job Completion: If one job fails, others may be delayed indefinitely,
making job completion time unpredictable.
• Increased Response Time: The time between job submission and output can be high
as all jobs are processed sequentially.
• Lack of Real-Time Feedback: Users cannot interact with the system in real-time,
making it less suitable for interactive tasks.
Examples:
Payroll Systems
Bank Statements
2. Multi-Programming Operating System
In a Multi-Programming Operating System, multiple programs run in memory at the same time.
The CPU switches between programs, utilizing its resources more effectively and improving
overall system performance.
Multi Programming
Advantages of Multi-Programming Operating System
• CPU is better utilized and the overall performance of the system improves.
• It helps in reducing the response time.
3. Multi-tasking/Time-sharing Operating systems
Multitasking OS is a type of Multiprogramming system with every process running in round
robin manner. Each task is given some time to execute so that all the tasks work smoothly. Each
user gets the time of the CPU as they use a single system. These systems are also known as
Multitasking Systems. The task can be from a single user or different users. The time that each
task gets to execute is called quantum. After this time interval is over, the OS switches over to
the next task.
Advantages of Time-Sharing OS
• Each task gets an equal opportunity.
• Fewer chances of duplication of software.
• CPU idle time can be reduced.
• Resource Sharing: Time-sharing systems allow multiple users to share hardware
resources such as the CPU, memory and peripherals, reducing the cost of hardware and
increasing efficiency.
• Improved Productivity: Time-sharing allows users to work concurrently, thereby
reducing the waiting time for their turn to use the computer. This increased productivity
translates to more work getting done in less time.
• Improved User Experience: Time-sharing provides an interactive environment that
allows users to communicate with the computer in real time, providing a better user
experience than batch processing.
Disadvantages of Time-Sharing OS
• Reliability problem.
• One must take care of the security and integrity of user programs and data.
• Data communication problem.
• High Overhead: Time-sharing systems have a higher overhead than other operating
systems due to the need for scheduling, context switching and other overheads that
come with supporting multiple users.
• Complexity: Time-sharing systems are complex and require advanced software to
manage multiple users simultaneously. This complexity increases the chance of bugs
and errors.
• Security Risks: With multiple users sharing resources, the risk of security breaches
increases. Time-sharing systems require careful management of user access,
authentication and authorization to ensure the security of data and software.
Examples:
IBM VM/CMS
TSO (Time Sharing Option
Windows Terminal Services
4. Multi-Processing Operating System
A Multi-Processing Operating System is a type of Operating System in which more than one
CPU is used for the execution of resources. It betters the throughput of the System.
Multiprocessing Operating System
Advantages of a Multi-Processing Operating System
• It increases the throughput of the system as processes can be parallelized.
• As it has several processors, so, if one processor fails, we can proceed with another
processor.
5. Distributed Operating System
Distributed operating systems are a recent advancement in the world of computer technology
and are being widely accepted all over the world and, that too, at a great pace. Various
autonomous interconnected computers communicate with each other using a shared
communication network. Independent systems possess their own memory unit and
CPU. Systems. These systems' processors differ in size and function. The major benefit of
working with these types of operating systems is that it is always possible that one user can
access the files or software which are not present on his system but on some other system
connected within this network, i.e., remote access is enabled within the devices connected to
that network.
Distributed OS
Advantages of Distributed Operating System
• Failure of one will not affect the other network communication, as all systems are
independent of each other.
• Electronic mail increases the data exchange speed.
• Since resources are being shared, computation is highly fast and durable.
• Load on host computer reduces.
• These systems are easily scalable as many systems can be easily added to the network.
• Delay in data processing reduces.
Disadvantages of Distributed Operating System
• Failure of the main network will stop the entire communication.
• To establish distributed systems, the language is not yet well-defined.
• These types of systems are not readily available as they are very expensive. Not only
that the underlying software is highly complex and not understood well yet.
Network Operating System
These systems run on a server and provide the capability to manage data, users, groups,
security, applications and other networking functions. These types of operating systems allow
shared access to files, printers, security, applications and other networking functions over a
small private network. One more important aspect of Network Operating Systems is that all
the users are well aware of the underlying configuration, of all other users within the network,
their connections, etc. and that’s why these computers are popularly known a tightly coupled
systems.
Network Operating System
Advantages of Network Operating System
• Highly stable, centralized servers.
• Security concerns are handled through servers.
• New technologies and hardware upgrades are easily integrated into the system.
• Server access is possible remotely from different locations and types of systems.
Disadvantages of Network Operating System
• Servers are costly.
• The user has to depend on a central location for most operations.
• Maintenance and updates are required regularly.
Examples:
Microsoft Windows Server 2003
Microsoft Windows Server 2008
UNIX, Linux
Mac OS X
Novell NetWare
7. Real-Time Operating System
These types of OSs serve real-time systems. The time interval required to process and respond
to inputs is very small. This time interval is called response time. Real-time systems are used
when there are time requirements that are very strict like missile systems, air traffic control
systems, robots, etc.
Types of Real-Time Operating Systems
• Hard Real-Time Systems: Hard Real-Time OSs are meant for applications where time
constraints are very strict and even the shortest possible delay is not acceptable. These
systems are built for saving lives like automatic parachutes or airbags which are
required to be readily available in case of an accident. Virtual memory is rarely found
in these systems.
• Soft Real-Time Systems: These OSs are for applications where time is less strict.
Real-Time Operating System
Advantages of RTOS
• Maximum Consumption: Maximum utilization of devices and systems, thus more
output from all the resources.
• Task Shifting: The time assigned for shifting tasks in these systems is very less. For
example, in older systems, it takes about 10 microseconds to shift from one task to
another and in the latest systems, it takes 3 microseconds.
• Focus on Application: Focus on running applications and give less importance to
applications that are in the queue.
• Real-time operating system in the embedded system: Since the size of programs is
small, RTOS can also be used in embedded systems like in transport and others.
• Error-Free,: These types of systems are error-free.
• Memory Allocation: Memory allocation is best managed in these types of systems.
Disadvantages of RTOS
• Limited Tasks: Very few tasks run at the same time and their concentration is very less
on a few applications to avoid errors.
• Use heavy system resources: Sometimes the system resources are not so good and
they are expensive as well.
• Complex Algorithms: The algorithms are very complex and difficult for the designer
to write.
• Device driver and interrupt signals: It needs specific device drivers and interrupt
signals to respond earliest to interrupts.
• Thread Priority: It is not good to set thread priority, as these systems are much less
prone to switching tasks.
Examples:
Scientific experiments
Medical imaging systems
Industrial control systems
Weapon systems
Robots
Air traffic control systems
8. Mobile Operating Systems
Mobile operating systems are designed specifically for mobile devices such as smartphones
and tablets. Examples of such operating systems are Android and iOS. These operating systems
manage the hardware and software resources of the device, providing a platform for running
applications and ensuring a seamless user experience.
Advantages of Mobile Operating Systems
• User-Friendly Interfaces: Mobile operating systems are designed to be intuitive and
easy to use, making them accessible to a wide range of users.
• Extensive App Ecosystems: The availability of a vast number of applications allows
users to customize their devices to meet their specific needs.
• Connectivity Options: Mobile operating systems support multiple connectivity
options, enabling users to stay connected wherever they go.
• Regular Updates: Mobile operating systems receive regular updates, including new
features, security patches and performance improvements.
Disadvantages Mobile Operating Systems
• Battery Life Constraints: Despite advancements in power management, battery life
remains a challenge for mobile devices, especially with heavy usage.
• Security Risks: Mobile devices are susceptible to various security threats, such as
malware and phishing attacks, which can compromise user data.
• Fragmentation: In the case of Android, the wide range of devices and customizations
can lead to fragmentation, making it difficult for developers to ensure compatibility
across all devices.
• Limited Hardware Resources: Mobile devices have limited processing power,
memory and storage compared to desktop computers, which can affect the performance
of resource-intensive applications.
Important Components of the Operating System
• Process Management
• File Management
• Command Interpreter
• System Calls
• Signals
• Network Management
• Security Management
• I/O Device Management
• Secondary Storage Management
• Main Memory Management
Process Management
A process is a program in execution. It consists of the followings:
• Executable program
• Program data
• Stack and stack pointer
• Program counter and other CPU registers
• Details of opened files
A process can be suspended temporarily and the execution of another process can be taken up.
A suspended process can be restarted later. Before suspending a process, its details are saved
in a table called the process table so that it can be executed later on. An operating system
supports two system calls to manage processes Create and Kill -
• Create a system call used to create a new process.
• Kill system call used to delete an existing process.
Five State Process Model
A process can create a number of child processes. Processes can communicate among
themselves either using shared memory or by message-passing techniques. Two processes
running on two different computers can communicate by sending messages over a network.
Files Management
Files are used for long-term storage. Files are used for both input and output. Every operating
system provides a file management service. This file management service can also be treated
as an abstraction as it hides the information about the disks from the user. The operating system
also provides a system call for file management. The system call for file management includes:
• File creation
• File deletion
• Read and Write operations
Files are stored in a directory. System calls provide to put a file in a directory or to remove a
file from a directory. Files in the system are protected to maintain the privacy of the user. Below
shows the Hierarchical File Structure directory.
File Structure Directory
User Interfaces:
A User interface (UI) facilitates communication between an application and its user by acting
as an intermediary between them. Each application including the operating system is provided
with a specific UI for effective communication. The two basic function of a user interface of
an application is to take the inputs from the user and to provide the output to the users. However,
the types of inputs taken by the UI and the types of output provided by the UI may vary from
one application to another.
Types of User Interface
A user interface of any operating system can be classified into one of the following types:
1. Graphical user interface (GUI)
2. Command line user interface (CLI)
1. Graphical user interface (GUI)
The graphical user interface is a type of GUI that enables the users to interact with the operating
system by means of point-and-click operations. GUI contains several icons representing
pictorial representation of the variables such as a file, directory, and device. The graphical icon
provided in the UI can be manipulated by the users using a suitable pointing device such as a
mouse, trackball, touch screen and light pen. The other input devices like keyboard can also be
used to manipulate these graphical icons. GUIs are considered to be very user- friendly
interface because each object is represented with a corresponding icon. Unlike the other UIs
the users need not provide text command for executing tasks.
Advantages Graphical user interface (GUI)
Some advantages of GUI based operating system
• The GUI interface is easy to understand and even the new users can operate on them on
their own.
• The GUI interface visually acknowledges and confirms each type of activities
performed by the users. For example when the user deletes a file in the Windows
operating system, then the operating system asks for the confirmation before deleting
it.
• The GUI interface enables the users to perform a number of tasks at the same time. This
features of the operating system are also known as multitasking.
2. Command line Interface (CLI)
Command line interface is a type of UI that enables the users to interact with the operating
system by issuing some specific commands. In order to perform a task in this interface, the user
needs to type a command at the command line. When the user enters the key, the command line
interpreter received a command. The software program that is responsible for receiving and
processing the commands issued by the user. After processing the command are called
command line interpreter, the command line interpreter displays the command prompt again
along with the output of the previous command issued by the user. The disadvantages of the
CLI is that the user needs to remember a lot to interact with the operating system. Therefore
these types of interface are not considered very friendly from the users perspective.
Example: In order to perform a task, we need to type a command at the command prompt
denoted by C:\> to copy a text file, say [Link], from the C drive of our computer system. To
the D drive, we need to type the copy command at the command prompt.
Application Software – Overview
Definition:
Application software is a type of computer program designed to help the user perform specific
tasks, such as writing, calculating, creating graphics, or communicating.
Characteristics:
• Designed for end users
• Task-oriented
• Requires system software (OS) to run
• Improves productivity and efficiency
Categories of Application Software:
• General-purpose software: Word processors, spreadsheets, presentation software,
databases
• Special-purpose software: Accounting packages, video editing tools, medical
diagnostic systems
2. Word Processors
Definition:
A word processor is software that allows users to create, edit, format, and print textual
documents efficiently.
Examples:
• Microsoft Word
• Google Docs
• LibreOffice Writer
• WPS Office Writer
Key Features:
1. Text Editing: Insert, delete, copy-paste, find & replace text.
2. Formatting: Font style, size, bold/italic/underline, color, paragraph alignment.
3. Page Layout: Margins, orientation (portrait/landscape), header & footer, page
numbering.
4. Spell & Grammar Check: Detects errors and suggests corrections.
5. Insert Objects: Images, tables, charts, hyperlinks, symbols.
6. Styles & Templates: Predefined layouts for professional documents.
7. Mail Merge: Automate bulk letters, invitations, certificates.
8. Collaboration: Cloud-based tools allow multiple users to edit in real time (e.g., Google
Docs).
Practical Applications:
• Education: Writing essays, reports, theses, question papers.
• Business: Preparing letters, proposals, manuals, meeting minutes.
• Publishing: Brochures, flyers, newsletters, eBooks.
• Personal Use: Writing resumes, personal journals, invitations.
3. Spreadsheets
Definition:
A spreadsheet is software that organizes data in a tabular form (rows and columns) and
performs calculations using formulas and functions.
Examples:
• Microsoft Excel
• Google Sheets
• LibreOffice Calc
Key Features:
1. Cell-based Structure: Data is stored in rows & columns.
2. Formulas: Manual calculations using =A1+B1, etc.
3. Functions: Predefined formulas like SUM, AVERAGE, IF, VLOOKUP, HLOOKUP.
4. Data Analysis: Sorting, filtering, conditional formatting.
5. Charts & Graphs: Bar, pie, line, scatter for visual representation.
6. Pivot Tables: Summarize large datasets dynamically.
7. Data Validation: Restrict input values (e.g., only numbers).
8. Macros: Automate repetitive tasks (advanced feature).
Practical Applications:
• Finance: Budgeting, financial modeling, loan calculation.
• Business: Inventory management, payroll, sales analysis.
• Education: Student mark sheets, statistical analysis of data.
• Research: Organizing experimental data, data visualization.
• Daily Life: Expense tracking, meal planning, event organization.
4. Presentation Tools
Definition:
Presentation software is used to create visual slideshows that combine text, images, audio, and
video to communicate information effectively.
Examples:
• Microsoft PowerPoint
• Google Slides
• Canva (for creative slide design)
• LibreOffice Impress
Key Features:
1. Slides: Multiple slides for organizing content step by step.
2. Templates & Themes: Pre-designed layouts for quick creation.
3. Multimedia Support: Add images, audio, video, charts, and animations.
4. Transitions & Animations: Smooth movement effects between slides.
5. Speaker Notes: Allows presenter to keep personal notes.
6. Collaboration: Real-time editing & commenting in cloud-based tools.
7. Export Options: Save as PDF, video, or share online.
Practical Applications:
• Education: Classroom lectures, student presentations, e-learning modules.
• Business: Product demos, project proposals, annual reports.
• Events: Event agenda, visual displays, ceremonies.
• Training: Corporate workshops, tutorials, webinars.
System Software
Definition:
System software is the software that acts as a bridge between the user/application software and
the computer hardware. It manages hardware resources and provides a platform for running
application software.
Types of System Software:
1. Operating System (OS):
o Controls overall computer operation.
o Manages memory, processor, input/output devices, files.
o Examples: Windows, macOS, Linux, Android, iOS.
o Functions:
▪ Process Management
▪ Memory Management
▪ File System Management
▪ Device Management
▪ User Interface (CLI/GUI)
2. Utility Programs:
o Perform maintenance tasks to keep the system running smoothly.
o Examples:
▪ Disk Cleanup
▪ Antivirus Software
▪ Backup Tools
▪ Compression Tools (WinRAR, 7-Zip)
3. Device Drivers:
o Specialized programs that allow the OS to communicate with hardware devices.
o Examples: Printer driver, graphics card driver, sound card driver.
4. Language Translators:
o Convert high-level language programs into machine code.
o Types: Compiler, Interpreter, Assembler.
2. Open-Source Software vs Proprietary Software
Open-Source Software (OSS):
• Definition: Software whose source code is available for anyone to view, modify, and
distribute.
• Examples: Linux, Apache Web Server, LibreOffice, GIMP.
• Advantages:
o Free or low cost
o Customizable
o Community support
o No vendor lock-in
• Disadvantages:
o Limited official support
o May require technical expertise
o Security depends on community maintenance
Proprietary Software:
• Definition: Software that is owned by a company or individual. Source code is not
available to users.
• Examples: Microsoft Windows, MS Office, Adobe Photoshop.
• Advantages:
o Reliable with official customer support
o Regular updates and patches
o User-friendly interface
• Disadvantages:
o Expensive (license fees)
o Cannot modify or redistribute source code
o Vendor lock-in (dependence on the company)
Comparison Table:
Aspect Open-Source Software Proprietary Software
Source Code Available & editable Closed & not shared
Cost Usually free Paid (license fees)
Customization Highly customizable Limited customization
Support Community-based Vendor/company support
Examples Linux, LibreOffice, GIMP Windows, MS Office, Photoshop
3. Commonly Used Software Platforms
A software platform is an environment where applications run, including the OS, runtime
libraries, and development tools.
Examples of Common Platforms:
1. Desktop Platforms:
o Windows: Most widely used desktop OS; supports a wide range of software.
o macOS: Apple’s OS known for stability and design; used by creatives.
o Linux: Open-source OS used for servers, desktops, and development.
2. Mobile Platforms:
o Android: Google’s open-source platform; dominant in smartphones.
o iOS: Apple’s mobile OS; secure and optimized for Apple devices.
3. Web Platforms:
o Browsers: Chrome, Firefox, Edge (used to run web applications).
o Cloud Platforms: Google Workspace, Microsoft 365, AWS, Azure.
4. Development Platforms:
o .NET Framework / .NET Core
o Java Platform (JDK + JVM)
o [Link] for JavaScript
5. Game Platforms:
o PlayStation OS, Xbox OS, SteamOS
Importance of Understanding Software Platforms
• Helps in choosing the right tools for a project.
• Ensures compatibility of applications with hardware/OS.
• Guides career choices (e.g., Android developer vs. Windows app developer).
• Allows better security and performance management.
RISC and CISC:
RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set Computer) are
two different ways of designing computer processors. RISC uses a small set of simple, fixed-
size instructions designed to execute in a single clock cycle. On the other hand, CISC includes
a larger set of instructions, many of which are complex and can perform multiple operations
(e.g., memory access and computation) in a single instruction, often requiring multiple clock
cycles.
Reduced Instruction Set Architecture (RISC)
RISC simplifies processor design by using a small, uniform set of instructions. Each instruction
performs a basic operation (e.g., load, compute, store) and is designed to execute in a single
clock cycle, enabling efficient pipelining and simpler hardware.
Characteristics of RISC
• Simpler instruction, hence simple instruction decoding.
• Instruction comes in the form of one word.
• An instruction takes a single clock cycle to get executed.
• More general-purpose registers for register-to-register operations.
• Simple Addressing Modes.
• Optimized for pipelining due to uniform instruction size and simplicity.
Advantages of RISC
• Simpler instructions: RISC processors use a smaller set of simple instructions, which
makes them easier to decode and execute quickly. This results in faster processing
times.
• Faster execution: Because RISC processors have a simpler instruction set, they can
execute instructions faster than CISC processors.
• Lower power consumption: RISC processors consume less power than CISC
processors, making them ideal for portable devices.
Disadvantages of RISC
• More instructions required: RISC processors require more instructions to perform
complex tasks than CISC processors.
• Increased memory usage: More instructions may need more memory to store
programs.
• Compiler Dependency: RISC relies on optimized compilers to generate efficient code.
Complex Instruction Set Architecture (CISC)
CISC reduces the number of instructions a program needs by using a large set of complex,
variable-length instructions. A single instruction can perform multiple operations (e.g., load,
compute, and store), which may take multiple clock cycles.
Characteristics of CISC
• Complex instruction, hence complex instruction decoding.
• Instructions are larger than one-word size.
• Instruction may take more than a single clock cycle to get executed.
• Less number of general-purpose registers as operations get performed in memory itself.
• Complex Addressing Modes.
Advantages of CISC
• Reduced code size: CISC processors use complex instructions that can perform
multiple operations, reducing the amount of code needed to perform a task.
• More memory efficient: Because CISC instructions are more complex, they require
fewer instructions to perform complex tasks, which can result in more memory-efficient
code.
• Widely used: CISC processors have been in use for a longer time than RISC
processors, so they have a larger user base and more available software.
Disadvantages of CISC
• Slower execution: CISC processors take longer to execute instructions because they
have more complex instructions and need more time to decode them.
• More complex design: CISC processors have more complex instruction sets, which
makes them more difficult to design and manufacture.
• Higher power consumption: CISC processors consume more power than RISC
processors because of their more complex instruction sets.
CPU Performance
Both approaches try to increase the CPU performance
• RISC: Reduce the cycles per instruction at the cost of the number of instructions per
program.
CPU Time
• CISC: The CISC approach attempts to minimize the number of instructions per
program but at the cost of an increase in the number of cycles per instruction.
Earlier when programming was done using assembly language, a need was felt to make
instruction do more tasks because programming in assembly was tedious and error-prone due
to which CISC architecture evolved but with the uprise of high-level language dependency on
assembly reduced RISC architecture prevailed.
Example:
Suppose we have to add two 8-bit numbers:
• CISC approach: There will be a single command or instruction for this like ADD
which will perform the task.
• RISC approach: Here programmer will write the first load command to load data in
registers then it will use a suitable operator and then it will store the result in the desired
location.
So, add operation is divided into parts i.e. load, operate, store due to which RISC programs are
longer and require more memory to get stored but require fewer transistors due to less complex
command.
RISC vs CISC
RISC and CISC are two processor designs. Here is a comparision table between them.
RISC CISC
Small and simple instruction set Large and complex instruction set
Fixed-length instructions Variable-length instructions
Usually 1 cycle per instruction Multiple cycles per instruction
More general-purpose registers Fewer registers
Simple and limited addressing modes Complex and many addressing modes
RISC CISC
Larger code size (more instructions) Smaller code size (fewer instructions)
Simple hardware, easier pipelining Complex hardware, harder pipelining
Examples: ARM, RISC-V, MIPS Examples: x86, Intel 80386