0% found this document useful (0 votes)
8 views13 pages

OS UNIT - 1

Operating Systems (OS) act as intermediaries between hardware and application programs, managing resources and providing user interfaces. They come in various types, including batch, multitasking, time-sharing, real-time, distributed, and embedded systems, each serving specific needs. Key components such as the kernel, shell, and system calls work together to facilitate process management, memory management, file system management, I/O management, and security.

Uploaded by

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

OS UNIT - 1

Operating Systems (OS) act as intermediaries between hardware and application programs, managing resources and providing user interfaces. They come in various types, including batch, multitasking, time-sharing, real-time, distributed, and embedded systems, each serving specific needs. Key components such as the kernel, shell, and system calls work together to facilitate process management, memory management, file system management, I/O management, and security.

Uploaded by

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

🖥️ BCA 3rd Semester - Operating Systems

📚 UNIT – 1

🚀 (a) Introduction to Operating Systems


📖 i) Definition, Need, and Functions of OS
🔍 Definition of Operating System
An Operating System (OS) is a system software that acts as an
intermediary between computer hardware and application programs. It
provides a platform for other software to run and manages all the
hardware and software resources of a computer system.

The OS creates a virtual machine that hides the complexity of hardware


from users and applications, providing a simple and consistent interface for
interaction.

🎯 Need for Operating System


Resource Management: Modern computers have multiple resources like
CPU, memory, storage devices, and I/O devices that need to be managed
efficiently.

User Interface: Users need a friendly interface to interact with the


computer without dealing with complex hardware details.

Program Execution: Multiple programs need to run simultaneously,


requiring coordination and resource allocation.
Error Handling: Hardware and software errors need to be detected and
handled gracefully to prevent system crashes.

Security: Protection of data and programs from unauthorized access and


malicious activities.

Hardware Independence: Applications should work regardless of the


underlying hardware configuration.

⚙️ Functions of Operating System


Process Management: Creating, scheduling, and terminating processes.
Managing process synchronization and communication.

Memory Management: Allocating and deallocating memory space for


programs. Implementing virtual memory systems.

File System Management: Organizing, storing, and retrieving files on


storage devices. Managing file permissions and access control.

Device Management: Controlling and coordinating access to hardware


devices through device drivers.

User Interface: Providing command-line interface (CLI) or graphical user


interface (GUI) for user interaction.

Network Management: Managing network connections and


communication protocols.

Security and Protection: Implementing authentication, authorization, and


access control mechanisms.
🏗️ ii) Types of Operating Systems
Type Characteristics Examples

Jobs processed in batches, no user IBM MVS, Early


Batch OS
interaction during execution mainframe systems

Multitasking Windows, Linux,


Multiple programs run concurrently
OS macOS

Time-sharing Multiple users share system resources


UNIX, Linux servers
OS simultaneously

Guarantees response within specified VxWorks, QNX,


Real-time OS
time constraints FreeRTOS

Distributed Resources shared across multiple


Amoeba, Plan 9
OS networked computers

Designed for specific hardware with Android, iOS,


Embedded OS
limited resources Windows CE
 

📦 Batch Operating Systems


In batch operating systems, similar jobs are grouped together and
processed as a batch without user interaction during execution. The system
processes one batch at a time in a sequential manner.

Characteristics:

No direct interaction between user and job during execution

High throughput for large volumes of similar jobs


Efficient resource utilization for repetitive tasks

Long turnaround time for individual jobs


Advantages:

High system efficiency for bulk processing

Reduced idle time of CPU

Suitable for payroll processing, billing systems

🔄 Multitasking Operating Systems


Multitasking systems allow multiple programs to run concurrently by
rapidly switching between them, giving the illusion of simultaneous
execution.

Types of Multitasking:

Preemptive Multitasking: OS controls task switching

Cooperative Multitasking: Programs voluntarily yield control

Key Features:

Improved system utilization

Better user experience with multiple applications


Resource sharing among processes

⏰ Time-sharing Operating Systems


Time-sharing systems allow multiple users to access the system
simultaneously by allocating small time slices to each user in rotation.

Characteristics:

Each user gets a time quantum for CPU usage


Fair resource distribution among users

Interactive computing environment

Response time is crucial

⚡ Real-time Operating Systems


Real-time systems guarantee response within specified time limits. They
are critical for applications where timing is essential.

Types:

Hard Real-time: Missing deadline causes system failure

Soft Real-time: Missing deadline degrades performance but doesn't


cause failure

Applications:

Aircraft control systems

Medical monitoring devices

Industrial automation

Automotive systems

🌐 Distributed Operating Systems


Distributed systems manage resources across multiple networked
computers, presenting them as a single unified system to users.

Features:

Transparency in resource location

Fault tolerance through redundancy


Scalability by adding more nodes

Load distribution across network

🔧 Embedded Operating Systems


Embedded systems are designed for specific hardware platforms with
limited resources and dedicated functions.

Characteristics:

Minimal resource consumption

Real-time capabilities

High reliability and stability

Customized for specific applications

🏛️ iii) System Components


🎯 Kernel
The kernel is the core component of an operating system that manages
system resources and provides essential services to other parts of the OS.

Types of Kernels:
Kernel
Structure Advantages Disadvantages
Type

Fast execution,
All services in single Large size, difficult
Monolithic efficient
address space to maintain
communication

Minimal kernel with


Modular, stable, Slower due to
Microkernel services in user
secure message passing
space

Combination of Balance of
Hybrid monolithic and performance and Complex design
microkernel modularity
 

Kernel Functions:

Process Scheduling: Determining which process runs when

Memory Management: Allocating and protecting memory

Interrupt Handling: Responding to hardware and software interrupts

System Call Interface: Providing services to applications

Device Driver Management: Controlling hardware devices

🐚 Shell
The shell is a command interpreter that provides an interface between
users and the kernel. It translates user commands into system calls.

Types of Shells:

Command Line Interface (CLI): Text-based interaction


Bash (Bourne Again Shell)
Zsh (Z Shell)

PowerShell

Graphical User Interface (GUI): Visual interaction


Windows Explorer

GNOME Desktop

KDE Plasma

Shell Functions:

Command interpretation and execution

File and directory operations


Environment variable management

Script execution and automation

I/O redirection and piping

📞 System Calls
System calls are programming interfaces that allow applications to
request services from the operating system kernel.

Categories of System Calls:

Process Control: fork(), exec(), wait(), exit()

File Management: open(), read(), write(), close()

Device Management: ioctl(), read(), write()

Information Maintenance: getpid(), alarm(), sleep()

Communication: pipe(), shmget(), msgget()


System Call Execution Process:

1. Application makes system call

2. Parameters passed to kernel


3. CPU switches to kernel mode

4. Kernel executes requested service


5. Results returned to application
6. CPU switches back to user mode

🛡️ (b) Operating System Services


🔄 Process Management
Process management involves creating, scheduling, and controlling
processes throughout their lifecycle.

Key Concepts:

Process: Program in execution with associated resources


Process States: New, Ready, Running, Waiting, Terminated

Process Control Block (PCB): Data structure containing process


information

Context Switching: Saving and restoring process state

Process Management Functions:

Process creation and termination


Process scheduling and dispatching
Inter-process communication (IPC)

Process synchronization

Deadlock prevention and resolution

💾 Memory Management
Memory management ensures efficient utilization of primary memory
and provides memory protection.

Memory Management Techniques:

Contiguous Allocation: Fixed and variable partitioning

Paging: Dividing memory into fixed-size pages


Segmentation: Dividing memory into variable-size segments

Virtual Memory: Using secondary storage to extend primary memory

Key Functions:

Memory allocation and deallocation

Memory protection and sharing

Address translation

Garbage collection
Swapping and paging

📁 File System Management


File system management provides organized storage and retrieval of data
on secondary storage devices.

File System Components:


Files: Named collections of related information
Directories: Containers for organizing files

Metadata: Information about files (size, permissions, timestamps)

File Allocation Methods: Contiguous, linked, indexed

File System Services:

File creation, deletion, and modification


Directory operations

File access control and permissions


Backup and recovery

File system consistency checking

🔌 I/O System Management


I/O system management handles communication between the computer
and external devices.

I/O System Components:

Device Controllers: Hardware interfaces for devices


Device Drivers: Software interfaces for device control

I/O Schedulers: Algorithms for optimizing I/O requests


Buffers: Temporary storage for I/O operations

I/O Management Functions:

Device allocation and deallocation

I/O request scheduling


Error handling and recovery
Data transfer optimization

Device status monitoring

🔒 Security and Protection


Security and protection mechanisms ensure data integrity and prevent
unauthorized access.

Security Measures:

Authentication: Verifying user identity

Authorization: Controlling resource access


Encryption: Protecting data confidentiality

Audit Trails: Monitoring system activities


Intrusion Detection: Identifying security threats

Protection Mechanisms:

Access control lists (ACLs)


Capability-based security

Role-based access control (RBAC)

Mandatory access control (MAC)

Discretionary access control (DAC)

🎯 Summary
Operating Systems serve as the foundation of modern computing,
providing essential services for hardware management, process
coordination, and user interaction. Understanding OS concepts is crucial
for developing efficient and secure software applications.

The various types of operating systems cater to different computing needs,


from batch processing to real-time applications. System components like
kernel, shell, and system calls work together to create a cohesive
computing environment that abstracts hardware complexity while
providing powerful services to applications and users.

You might also like