0% found this document useful (0 votes)
0 views21 pages

Foc 4th Chapter Notes

The document covers the fundamentals of computer organization and operating systems, detailing key components such as the CPU, memory hierarchy, input/output systems, and peripheral devices. It also introduces concepts like the stored program concept, Flynn's classification of computers, and the differences between BIOS and UEFI. Understanding these principles is essential for optimizing computer systems and developing software.

Uploaded by

divya13112021
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views21 pages

Foc 4th Chapter Notes

The document covers the fundamentals of computer organization and operating systems, detailing key components such as the CPU, memory hierarchy, input/output systems, and peripheral devices. It also introduces concepts like the stored program concept, Flynn's classification of computers, and the differences between BIOS and UEFI. Understanding these principles is essential for optimizing computer systems and developing software.

Uploaded by

divya13112021
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

FUNDAMENTALS OF COMPUTER(20CS11T)

Chapter 04: INTRODUCTION TO COMPUTER ORGANIZATION &


OPERATING SYSTEM
4.1 Introduction: "Computer Organization and Operating System" is a
fundamental area of study in computer science and information technology. It
encompasses two major aspects:

1.Computer Organization: Computer organization refers to the physical


components and their arrangement in a computer system. It deals with how
hardware components work together to execute instructions and manage data.
Key concepts in computer organization include:

•Central Processing Unit (CPU):


The CPU is the heart of a computer. It executes instructions stored in
memory, performs arithmetic and logic operations, and manages the flow of
data within the system.

•Memory Hierarchy: This includes primary memory (RAM) and secondary


storage (hard drives, SSDs). Understanding how data is stored, accessed, and
managed in memory is crucial.

•Input and Output Systems: This covers how data is input into the
computer (e.g., through keyboards and mice) and how it's output (e.g.,
displayed on a monitor or printed on a printer).

•Peripheral Devices: These are hardware components like graphics cards,


network adapters, and sound cards that extend the computer's functionality.

•Bus Architecture: Buses are pathways that allow data to move between
CPU, memory, and peripheral devices. Understanding bus architecture is
essential for optimizing data transfer.

•Assembly Language: Knowledge of assembly language programming is


often included in computer organization. It's a low-level programming
language that directly communicates with the CPU.
2.Operating System: An operating system (OS) is system software that
manages hardware resources and provides essential services to software
applications. Key concepts in operating systems include:

•Process Management: The OS manages multiple processes (programs)


running on the computer, scheduling CPU time, and ensuring they don't
interfere with each other.

•Memory Management: This involves allocating and deallocating memory


space for processes, ensuring efficient memory usage.

•File System: Operating systems provide a file system for organizing and
storing data on storage devices. This includes file creation, deletion, and
access

Device Management:
The OS controls and coordinates access to peripheral devices like printers,
keyboards, and monitors.

•User Interface: It provides a user-friendly interface, either through a

command-line interface(CLI) or a graphical user interface (GUI),

allowing users to interact with the computer.

•Security and Access Control: OSs implement security measures to


protect data and resources, including user authentication and permission
management.
•Networking: Many modern operating systems support networking features,
enabling computers to connect and communicate over networks.
•File and Data Backup: Some operating systems include backup and
recovery tools to prevent data loss. Understanding both computer
organization and operating systems is essential for anyone working with
computers, from software developers to IT professionals. These concepts
provide the foundation for building and optimizing computer systems and
developing software that runs on them.

Overview of functional units of a computer


A computer is composed of several functional units, each with a specific role
in the overall operation of the system. These functional units work together to
execute instructions and perform tasks. Here's an overview of the primary
functional units of a computer:

1. Central Processing Unit (CPU):


•The CPU is often referred to as the brain of the computer.
•It executes instructions stored in memory.
•It performs arithmetic and logic operations on data.
•The CPU consists of several components, including the Arithmetic Logic
Unit (ALU) and the Control Unit (CU).

2.Memory Unit:

•Memory is where data and instructions are stored for processing.


•It includes two main types:
•RAM (Random Access Memory):
Provides fast, volatile storage for data and programs currently in use.
•ROM (Read-Only Memory):
Contains firmware and BIOS instructions that are essential for booting the
computer.

3.Input Unit:

•The input unit is responsible for receiving data and instructions from
external sources.
Output Unit:
•The output unit is responsible for delivering processed data to
external destinations.
•Output devices like monitors, printers, speakers, and display screens are part
of this unit.

5.Control Unit (CU):


•The control unit manages and controls the operation of the CPU.
•It decodes instructions, coordinates data movement, and controls the flow of
data between the CPU and memory.

6.Arithmetic Logic Unit (ALU):


•The ALU performs arithmetic (addition, subtraction, multiplication,
division) and logic(comparison, AND, OR, NOT) operations.
•It is a critical component for data processing and calculation.

7.Cache Memory:
•Cache memory is a high-speed, small-sized memory located between the
CPU and RAM.
•It stores frequently used data and instructions to improve processing speed.

8.Secondary Storage:
•Secondary storage devices, such as hard drives and solid-state drives,
provide non-volatile storage for long-term data retention.

9.I/O Controller:
•The I/O controller manages communication between the CPU and
input/output devices.
•It ensures data is transferred between the CPU and peripherals efficiently.

10.Bus System:
•Buses are data pathways that allow communication between different
functional units.
•There are various types of buses, including the data bus, address bus, and
control bus.

11.Clock Unit:
•The clock unit generates clock signals that synchronize the operations of
various components in the computer.

12.Control Panel:
•In some computer systems, a control panel allows users to configure and
manage hardware settings. These functional units work together in a
coordinated manner to process data, execute programs, and perform various
computing tasks. Understanding how these units interact is essential for
comprehending the inner workings of a computer system and optimizing its
performance.

Stored Program Concept


The Stored Program Concept is a fundamental concept in computer science
and computer architecture. It refers to the idea that both the instructions
(program) and the data that the computer processes are stored in the
computer's memory in the same format. In other words, instructions for
performing tasks and the data to be processed are treated as the same type of
information and can be manipulated by the central processing unit(CPU) in a
similar way. Key elements of the Stored Program Concept include:

1.Program Instructions: In a computer system, the instructions that define


tasks to be executed are stored in memory, just like any other data. These
instructions are typically encoded in binary form ora machine-readable
format.

2.Data: Data that the program operates on, whether it's numbers, text, or any
other form of information ,is also stored in memory. The CPU can read and
manipulate this data based on the instructions provided.
3.Uniformity: The Stored Program Concept treats program instructions and
data as interchange able within the computer's memory. This uniformity
allows for great flexibility and versatility in how the computer processes
information.

4.Sequential Execution
: The CPU reads instructions from memory sequentially and executes them in
order. This sequential execution of instructions is the basis for the step-by-
step processing that computers perform.

5.Fetching and Executing: The CPU follows a fetch-decode-execute cycle,


where it fetches an instruction from memory, decodes it to determine the
operation to be performed, executes the operation, and then proceeds to the
next instruction.

6.Program Control: The control unit of the CPU manages the flow of
instructions, ensuring that the program runs in the specified order.

7.Self-modifying Code: Since programs are stored in memory just like data,
it's possible for a program to modify its own instructions or the instructions of
other programs. While this can be powerful, it can also be a source of
security vulnerabilities and errors. The Stored Program Concept, often
associated with the work of computer pioneers like John von Neumann, is a
fundamental principle that underlies the design of modern digital computers.
It enables computers to be programmable and versatile, as users can load
different programs into memory to perform a wide range of tasks without
having to modify the hardware of the computer itself. This concept is a
cornerstone of computer architecture and has had a profound impact on the
development and usability of computers.

Flynn's Classification of Computers:


Flynn's Classification is a system used to categorize computer

architectures based on the number of instruction streams and data streams

that can be processed concurrently. It was developed by Michael J. Flynn

in 1966and is often used to classify different types of computer systems,


particularly in the context of parallel computing.

Flynn's Classification defines four basic categories:

1.Single Instruction, Single Data (SISD):


•In SISD computers, only one instruction stream (program) is executed at a
time, and it operates on a single data stream.
•This category is representative of traditional sequential or serial processing

computers, where one instruction is executed on one piece of data at a time.


•Examples of SISD computers include most conventional personal

computers and workstations.

2.Single Instruction, Multiple Data (SIMD):


•SIMD computers execute a single instruction on multiple data streams
concurrently.
•This is often associated with vector processing or array processing, where a

single instruction is applied to multiple elements of data simultaneously.


•SIMD architectures are common in graphics processing units (GPUs) and
some specialized scientific and engineering computing systems.

3.Multiple Instruction, Single Data (MISD):


•MISD computers are relatively rare and involve multiple instruction

streams operating on a single data stream.

•In practice, MISD architectures have limited applications and are not
commonly used.

4.Multiple Instruction, Multiple Data (MIMD):


•MIMD computers have multiple instruction streams and multiple data

streams, allowing for the concurrent execution of different instructions on


different data.
•MIMD architectures are typical of parallel computing systems,

including multi-core processors, cluster computing, and distributed


computing
•Each processing unit in a MIMD system can operate independently and

execute its own set of instructions on its own data.

Flynn's Classification provides a way to understand and categorize the

parallelism and concurrency capabilities of different computer

architectures. It is particularly relevant in the field of high-performance

computing, where parallelism is used to tackle computationally intensive


tasks. Depending on the application and the nature of the problem to be
solved, different categories within Flynn's Classification may be more
suitable for achieving optimal performance.

4.2 Memory Hierarchy


Memory hierarchy is a concept in computer architecture that refers to the

organization and arrangement ofvarious types of computer memory, each

with different characteristics, speeds, and storage capacities. The primary


purpose of a memory hierarchy is to bridge the speed gap between the fast,
but limited, CPU registers and cache memory, and the larger, slower, and
less expensive main memory (RAM) and auxiliary memory(secondary
storage). Here's a brief explanation of the key components of the memory
hierarchy:

1.Main Memory (RAM - Random Access Memory):


•Main memory, or RAM, is the primary volatile memory used by a

computer to store data and program instructions that are currently being
used or processed.
•It is directly accessible by the CPU and provides fast data access speeds,

but it is relatively limited in capacity compared to secondary storage


(hard drives, SSDs).
•Data in RAM is loaded from auxiliary storage (usually a hard drive or SSD)
when a program is executed and is essential for the computer's immediate
operation.

2.Auxiliary Memory (Secondary Storage):


•Auxiliary memory, also known as secondary storage, includes storage
devices like hard disk drives (HDDs), solid-state drives (SSDs), optical
drives (e.g., DVDs), and other non-volatile storage media.
•It is used for long-term storage of data and programs that are not currently in
use by the CPU.
•Data in auxiliary memory is non-volatile, meaning it retains its contents
even when the computer is powered off.
•Accessing data from auxiliary memory is significantly slower than accessing
data from RAM due to the mechanical nature of HDDs or the flash memory
technology in SSDs.
3.Cache Memory:
•Cache memory is a small, high-speed volatile memory located between the
CPU and main memory.
•Its purpose is to store frequently accessed data and instructions from main
memory to accelerate the CPU's access times.
•Cache memory operates on the principle of spatial and temporal locality,
meaning it stores data that is likely to be used again in the near future.
•There are typically multiple levels of cache, including L1, L2, and
sometimes L3 caches, with each level having different capacities and
proximity to the CPU.
•The closer the cache is to the CPU, the faster it can provide data, but it is
also smaller in size. In summary, the memory hierarchy is designed to
optimize the balance between speed, capacity, and cost. CPU registers and
cache memory offer fast access but have limited capacity. Main memory
(RAM) provides a larger storage area but is slower than cache. Auxiliary
memory (secondary storage) offers the largest
capacity but is the slowest in terms of data access. The hierarchical organizati
on allows the computer to efficientlymanage data movement between these
different levels of memory to ensure that the CPU operates as efficiently as
possible.

4.3 Introduction to BIOS and UEFI


BIOS (Basic Input/Output System) and UEFI (Unified Extensible Firmware
Interface) are two firmware technologies used in computers to
initialize hardware components and boot the operating system. They serveas
an essential bridge between the hardware and software of a computer system.
Here's an introduction to both BIOS and UEFI:

BIOS (Basic Input/Output System):

1.Introduction:
•BIOS is a legacy firmware technology that has been in use since the early
days of personal computing.
•It is stored in a read-only memory (ROM) chip on the computer's
motherboard.
•The primary purpose of BIOS is to perform the initial hardware checks and
initialization when the computer is powered on or restarted. This process is
known as the POST (Power-On Self-Test).
•BIOS also provides a basic set of functions and routines for hardware
interaction, such as keyboard input, display output, and disk I/O.

2.Features:
•BIOS has a text-based user interface, typically accessed by pressing a
specific key (e.g., Del,F2) during startup. This interface allows users to
configure hardware settings.
•It stores the boot process instructions in the Master Boot Record (MBR) of
the boot device,such as a hard drive.
•BIOS has limitations, including a 16-bit architecture, a limited ability to
boot from modern storage devices like SSDs, and a lack of advanced security
features.

3.Legacy Considerations:
•BIOS is considered legacy technology and is gradually being replaced by
UEFI in modern computers.
•Legacy BIOS systems often have compatibility modes (Legacy mode) to
support older operating systems and software.

UEFI (Unified Extensible Firmware Interface):

1.Introduction:
•UEFI is a more modern and flexible firmware standard that aims to replace
BIOS It is also stored in firmware chips on the motherboard but uses a
different architecture and approach compared to BIOS.
•UEFI is designed to provide a richer and more capable pre-boot environment
for modern computing needs.

2.Features:
• UEFI offers a graphical user interface (GUI) and a more user-friendly
interface for configuring hardware settings and diagnostics.

•It supports 64-bit architecture, enabling compatibility with modern hardware


and storage devices.
•UEFI can boot from larger and more complex storage systems, including
GPT (GUID Partition Table) disks, which BIOS cannot natively handle.
•Security features like Secure Boot are integral to UEFI, helping prevent the
loading of unauthorized or malicious code during the boot process.
•UEFI supports network booting, which allows computers to boot over a
network connection.

3.Compatibility:
•UEFI systems often include a Compatibility Support Module (CSM) to run
legacy BIOS-based software, ensuring backward compatibility.
•Some operating systems, especially older ones, may require UEFI settings to
be configured appropriately for compatibility. In summary, BIOS is the older
and simpler firmware technology that has been widely used in traditional
PCs. UEFI is a more advanced and versatile replacement that offers improved
functionality, better security, and compatibility with modern hardware and
storage devices. Most new computers come with UEFI firmware, but many
include backward compatibility with BIOS to support legacy systems and
software.

4.4 OS Concepts
Operating System (OS) concepts are fundamental principles and components
that form the basis of how an operating system functions and interacts with
computer hardware and software. Understanding these concepts is essential
for anyone working with or studying operating systems. Here are some key
OS concepts:

1.Process Management:
•A process is a program in execution. The OS manages processes, scheduling
CPU time, creating and terminating processes, and ensuring they don't
interfere with each other.
•Concepts include process states (e.g., running, ready, blocked), context
switching, and inter- process communication (IPC).

Memory Management:
•Memory management involves allocating and deallocating memory space
for processes, ensuring efficient memory usage, and preventing memory
leaks.
•Concepts include virtual memory, paging, segmentation, and memory
protection.

3.File System:
•The OS provides a file system for organizing and storing data on storage
devices. It includes file creation, deletion, access, and protection.
•Concepts include directories, file attributes, file permissions, and file
systems (e.g., FAT, NTFS, ext4).

4.Device Management:
•The OS controls and coordinates access to peripheral devices like printers,
keyboards, and network adapters.
•Concepts include device drivers, device I/O, and interrupt handling.

5.User Interface:
•The OS provides a user-friendly interface for users to interact with the
computer. This can be a command-line interface (CLI) or a graphical user
interface (GUI).
•Concepts include shells (CLI), desktop environments (GUI), and user
authentication.

6.Concurrency and Parallelism:


•OSes manage multiple processes and threads concurrently. Concepts include
synchronization, deadlock prevention, and parallel processing.

7.Networking:
•Many modern OSes support networking features, allowing computers to
connect and communicate over networks.
•Concepts include network protocols (e.g., TCP/IP), sockets, and network
stack.

8.Security and Access Control:


•OSes implement security measures to protect data and resources, including
user authentication, access control lists (ACLs), and encryption.

9.File and Data Backup:


•Some OSes include backup and recovery tools to prevent data loss and
ensure data integrity.

10.System Calls:
•System calls are functions provided by the OS that allow programs to
request services from the kernel. These include functions like file operations,
process management, and I/O operations.

11.Shell and Command Line Interface (CLI):


•The shell is a program that provides a text-based interface for interacting
with the OS. Users can execute commands and scripts through the CLI
12.Virtualization:
•OS virtualization allows multiple operating systems or instances to run on a
single physical machine. This is essential for server consolidation and cloud
computing.

13.Fault Tolerance and Recovery:


•OSes may have mechanisms to detect and recover from hardware or
software failures to ensure system reliability.

14.Real-Time Operating Systems (RTOS):


•RTOSes are specialized OSes designed for systems with strict timing and
response requirements, such as embedded systems and industrial control.

15.Distributed Systems:
•Some OS concepts extend to distributed systems, where multiple computers
work together to perform a task, often connected over a network. These OS
concepts provide a foundation for understanding how operating systems
manage hardware and software resources, provide a user-friendly interface,
and ensure the efficient and secure operation of computer systems. They are
applicable in various computing environments, from personal computers to
servers and embedded systems.

Types of OS
(Batch Operating System, Multitasking/Time Sharing OS,
Multiprocessing OS, Real Time OS, Distributed OS, Network OS,
Mobile OS)
Operating systems (OS) come in various types, each designed for specific
purposes and computing environments. Here is an overview of different types
of operating systems:

1.Batch Operating System:


•Purpose:
Batch operating systems are designed for batch processing, where a series of
jobs(programs) are submitted to the system to be executed without user
intervention.
•Characteristic: They process jobs in batches, one after the other, without
real-time interaction.

2.Multitasking/Time Sharing OS:


•Purpose: These OSes allow multiple tasks or processes to run concurrently,
sharing the CPU's time. Users can interact with the computer in a time-shared
manner.
•Characteristic:
They provide the illusion of parallel execution by rapidly switching between
tasks, making it appear as if multiple programs are running simultaneously.

3.Multiprocessing OS:
•Purpose:
Multiprocessing OSes are designed to take advantage of multiple CPUs or
processor cores to execute tasks in parallel
Characteristic
: They distribute tasks across multiple processors to improve performance
and throughput.

4.Real-Time OS (RTOS):
•Purpose:
RTOSes are designed for systems with strict timing requirements, where
tasks must be completed within predefined time constraints. Common
in embedded systems and control systems.

•Characteristic:
They provide deterministic response times, ensuring that critical tasks are
executed without delay.

5.Distributed OS:
•Purpose:
Distributed OSes manage and coordinate the execution of tasks across
multiple interconnected computers or nodes in a network.

•Characteristic:
They enable distributed computing, where resources and tasks are distributed
across the network for improved scalability and fault tolerance.

6.Network OS:

•Purpose:
Network OSes provide network-specific functionalities and services for
managing network resources, sharing files, and enabling communication
between devices.
•Characteristic:
They facilitate network operations and ensure efficient data transfer and
access.

7.Mobile OS:
•Purpose:Mobile OSes are designed for smartphones, tablets, and other
mobile devices. They provide a user-friendly interface and manage hardware
and software resources efficiently.
•Characteristic:
Mobile OSes are optimized for touchscreens, support app ecosystems, and
offer features like power management and connectivity.

8.Single-User OS:

•Purpose:
Single-user OSes are designed for personal computers and workstations,
where a single user interacts with the system at a time.

•Characteristic
: They provide a user-friendly interface and manage hardware and software
resources for individual users.

9.Multi-User OS:
•Purpose:
Multi-user OSes are designed for servers and mainframes, allowing multiple
users to simultaneously access and use the system's resources.
•Characteristic
: They provide user authentication, access control, and resource sharing
among multiple users.

10.Embedded OS:
•Purpose:
Embedded OSes are tailored for specific embedded systems and devices,
such as automotive systems, medical devices, and IoT devices.

•Characteristic: They are often lightweight, real-time, and optimized for the
specific hardware they run on. These different types of operating systems cater
to a wide range of computing needs, from personal computing to industrial
control systems, mobile devices, and large-scale distributed networks. The
choice of an OS depends on the specific requirements of the application or
environment in which it will be used.
Services of OS
Operating systems (OS) provide a wide range of services to manage hardware
and software resources ,facilitate user interaction, and ensure the efficient
operation of a computer system. These services help abstract hardware
complexities and provide a consistent environment for running applications.

Here are some of the essential services provided by an operating system:

1. Program Execution:
- The OS loads programs into memory and schedules them for execution on
the CPU. It manages the execution of multiple programs concurrently
through process management.

2. I/O Operations:- The OS handles input and output operations, allowing


programs to read from and write to devices like keyboards, disks, displays,
and network interfaces.

3. File System Manipulation:- It provides file-related services, including file


creation, deletion, reading, writing, and organization with in directories.

4. Error Handling:- The OS detects and manages hardware and software


errors, providing error messages, logging errors, and taking appropriate
actions to prevent system crashes.

5. Security and Access Control:- It enforces user authentication and access


control to protect data and system resources from unauthorized access. This
includes user account management and permission systems.

6. Resource Allocation:- The OS allocates system resources (CPU time,


memory, devices) to different processes or tasks to ensure fair and efficient
resource utilization.

7. Task Scheduling:- The OS schedules processes and threads to execute on


the CPU, employing various scheduling algorithms to optimize system
performance and responsiveness.
8. Memory Management:
- It manages physical and virtual memory, including allocation, deallocation,
and protection, to ensure efficient use of available memory resources.

9. Networking:- In networked environments, the OS provides networking


services, including protocol implementation, socket management, and
network device control.

10. User Interface:- For interactive systems, the OS provides a user interface
(either command-line or graphical) for user interaction, including
the management of windows, icons, and menus.

11. Time and Date Management:- The OS maintains system time and date,
and it can synchronize with external time servers for accurate timekeeping.

12. Device Management:- It manages and controls peripheral devices such


as printers, scanners, and external storage devices, ensuring proper
communication and resource allocation.

13. Backup and Recovery:- Some OSes include backup and recovery
utilities to safeguard data and restore the system to a previous state in case of
failures.

14. Power Management:- Modern OSes support power-saving features to


optimize energy consumption in portable devices and desktop computers

15. Virtualization:- In virtualized environments, the OS provides services


for creating, managing, and running virtual machines (VMs) on physical
hardware.

16. Distributed Computing:- In distributed systems, the OS offers services


for communication, process coordination, and resource sharing among
networked nodes. These services collectively enable users to run applications,
manage data, interact with hardware, and ensure the stable and secure
operation of the computer system. The specific services offered by an OS
may vary depending on the OS type and its intended use.

You might also like