Chapter :-1 (Hindi)

Site: AssessmentKaro
Course: Operating Systems
Book: Chapter :-1 (Hindi)
Printed by: Guest user
Date: Saturday, 18 April 2026, 6:50 PM

Description

Bharatavani is a project with an ...Topic Wise Chapter (Hindi)

1. Introduction

Introduction to Operating System

Operating System computer hardware और user के बीच एक मध्यस्थ के रूप में कार्य करता है। संक्षेप में, यह computer hardware और user के बीच एक interface है।

  • Operating System का उद्देश्य एक ऐसा environment प्रदान करना है जिसमें user programs को सुविधाजनक और कुशल तरीके से execute कर सके।
  • Operating System (OS) एक ऐसा program है जो computer पर हमेशा run करता रहता है। अन्य सभी programs, जिनमें application programs भी शामिल हैं, Operating System के ऊपर run करते हैं।
  • यह memory, processor और input/output devices जैसे संसाधनों को उन processes को allocate करता है जिन्हें उनकी आवश्यकता होती है। Resources का आवंटन निष्पक्ष (fair) और सुरक्षित (secure) होना चाहिए।

functions_of_os.webp

Operating System and User Interaction

हर general-purpose computer में hardware, Operating System, system programs और application programs शामिल होते हैं।

  • Hardware में CPU, ALU, memory, I/O devices, peripheral devices और storage devices शामिल होते हैं।
  • System programs में compilers, loaders, editors और स्वयं Operating System (OS) शामिल होता है।
  • Application programs वे user-level software होते हैं जो विशेष कार्य (specific tasks) करते हैं।

operating_system_diagram

Operating System और User Interaction

Operating System हमेशा background में run करता रहता है और hardware resources का management तथा coordination system programs और application programs के बीच multiple users के लिए करता है।

OS केवल user interface नहीं है, बल्कि यह user interaction के लिए interface प्रदान करता है, जैसे:

  • Command-Line Interface (CLI) (उदाहरण: Bash, PowerShell)

  • Graphical User Interface (GUI) (उदाहरण: Windows desktop, macOS Finder)

Note: OS के core में Kernel होता है, जो hardware और software के बीच मुख्य interface है। Kernel low-level operations जैसे process management, memory management, file system control और device handling को manage करता है।


Goals of Operating System

Primary Goals

Operating System का मुख्य उद्देश्य user programs को execute करने के लिए एक आसान और convenient environment प्रदान करना है।

  • User Convenience: User-friendly interface देना ताकि system के साथ interaction आसान हो।

  • Program Execution: User programs को run करने के लिए आवश्यक services और environment प्रदान करना।

  • Resource Management: CPU, memory, disk storage और input/output devices जैसे resources का सही allocation और management करना।

  • Security: System और user data को unauthorized access से सुरक्षित रखना, confidentiality, integrity और availability सुनिश्चित करना।

Secondary Goals

  • Efficient Resource Utilization: CPU, Memory और I/O devices का maximum और efficient उपयोग सुनिश्चित करना।

  • Reliability: System को reliable और robust बनाना, errors को सही तरीके से handle करना, modular design रखना और debugging आसान बनाना।


Components of Operating System

Operating System के दो मुख्य components होते हैं:

  1. Shell: OS की outer layer होती है, जो user interaction को handle करती है। यह user input को interpret करती है और OS का output दिखाती है।

  2. Kernel: OS का core component है। Kernel Operating System और hardware के बीच मुख्य interface है।


List of Common Operating Systems

  • Windows OS: Microsoft द्वारा विकसित। Personal computing, business environment और gaming में उपयोग।

  • macOS: Apple द्वारा विकसित। Creative industries, personal computing और professional environments में उपयोग।

  • Linux: Linus Torvalds द्वारा विकसित और open-source community द्वारा maintain। Servers, data centers और development में उपयोग।

  • Unix: AT&T Bell Labs द्वारा विकसित। Servers, workstations, research और academic settings में उपयोग।


Applications of Operating System

  • Platform for Application Programs: Application programs को run करने के लिए platform प्रदान करता है।

  • Managing Input-Output Unit: Memory, monitor, keyboard, printer आदि resources का management करता है।

  • Multitasking: Multiple programs को एक साथ run करने और shared memory के माध्यम से communication की सुविधा देता है।

  • Memory and File Management: Main memory और secondary storage को manage करता है तथा memory allocate और deallocate करता है।

  • Provides Security: Authorization process के माध्यम से system और applications को सुरक्षित रखता है।


Why to Choose the Operating System?

Operating System चुनते समय निम्न factors पर विचार करना चाहिए:

  • Price Factor: कुछ OS free होते हैं जैसे Linux, जबकि कुछ paid होते हैं जैसे Windows और macOS।

  • Accessibility Factor: कुछ OS user-friendly होते हैं जैसे macOS, जबकि कुछ complex होते हैं जैसे Linux।

  • Compatibility Factor: OS को उन applications को support करना चाहिए जो user की आवश्यकता हैं।

  • Security Factor: macOS में अधिक security features होते हैं, जबकि Windows में तुलनात्मक रूप से कम security features होते हैं।

2. Different types of OS

Types of Operating Systems

Operating System (OS) एक प्रकार का software है जो computer के hardware और software resources को manage करता है। यह users और computer के बीच एक bridge की तरह कार्य करता है, जिससे system का smooth operation सुनिश्चित होता है।

अलग-अलग प्रकार के Operating System विभिन्न आवश्यकताओं को पूरा करते हैं। कुछ OS एक समय में केवल एक task को handle करते हैं, जबकि अन्य OS multiple users या real-time processes को manage करने में सक्षम होते हैं।

types_of_operating_system

1. Batch Operating System

Batch Operating System ऐसे system के रूप में डिजाइन किया गया है जो समान प्रकार के बहुत सारे jobs को कुशलता से handle करता है। इसमें user का computer से direct interaction नहीं होता, बल्कि jobs को एक operator द्वारा group किया जाता है।

ये jobs एक queue में रखी जाती हैं और फिर एक के बाद एक execute की जाती हैं। पूरे process के दौरान user का कोई interaction नहीं होता।

Batchoperatingsystem2-660x330

Advantages

  • Minimal Idle Time: System बिना human intervention के jobs को continuous sequence में process करता है, जिससे idle time कम हो जाता है।
  • Handling Repetitive Tasks: यह बड़े और repetitive tasks जैसे payroll और billing को कम प्रयास में manage करने के लिए उपयुक्त है।
  • Improved Throughput: Batch systems एक साथ अधिक संख्या में jobs को handle कर सकते हैं, जिससे overall system throughput बेहतर होता है।

Disadvantages

  • Inefficient CPU Utilization: जब कोई job input/output (I/O) के लिए wait कर रही होती है, तब CPU idle रहता है, जिससे resources का सही utilization नहीं हो पाता।
  • Increased Response Time: Job submit करने और output मिलने के बीच का समय अधिक हो सकता है क्योंकि सभी jobs sequentially process होती हैं।
  • Lack of Real-Time Feedback: Users system के साथ real-time interaction नहीं कर सकते, जिससे यह interactive tasks के लिए कम उपयुक्त होता है।

Examples: 

  • Insurance Claim Processing – बीमा दावों (insurance claims) की processing

  • Library Book Records – पुस्तकालय की book records का management

  • Stock Market Reports – शेयर बाजार की reports तैयार करना


2. Multi-Programming Operating System

Multi-Programming Operating System में multiple programs एक ही समय में memory में load रहते हैं। CPU इन programs के बीच switch करता रहता है, जिससे system resources का बेहतर उपयोग होता है और overall system performance में सुधार होता है।

MultiProgramming operating system

Advantages

  • Better CPU Utilization: जब कोई job I/O wait में होती है, तो CPU दूसरी job पर switch हो जाता है, जिससे CPU व्यस्त रहता है।
  • Improved Throughput: Multiple jobs एक साथ (concurrently) run करती हैं, जिससे प्रति unit time में अधिक काम पूरा होता है।
  • Efficient Resource Use: CPU, memory, और I/O devices को processes के बीच प्रभावी रूप से share किया जाता है।

Disadvantages

  • Complex Design: इसमें advanced memory management और CPU scheduling की आवश्यकता होती है, जिससे system का design जटिल हो जाता है।
  • Security Issues: Memory में अधिक programs होने से unauthorized access की संभावना बढ़ जाती है।
  • High Memory Requirement: Multiple programs को साथ में run करने के लिए अधिक RAM की आवश्यकता होती है।

Examples

  • Banking systems

  • Railway servers

  • Billing machines


3. Multi-tasking / Time-sharing Operating System

Multitasking OS एक प्रकार का multiprogramming system है जिसमें प्रत्येक process round-robin तरीके से run होती है। हर task को एक निश्चित समय अवधि दी जाती है जिसे time slice या quantum कहा जाता है।

जब quantum समाप्त हो जाता है, तो Operating System (OS) अगली task पर switch कर देता है। इस प्रकार एक ही system पर एक user या multiple users की कई tasks smoothly run कर सकती हैं।

Types-of-OS-01

Advantages

  • Equal CPU Access: प्रत्येक task को CPU का समान और fair समय मिलता है।
  • Reduced Software Duplication: कई users एक ही software को बिना अलग-अलग copies की आवश्यकता के run कर सकते हैं।
  • Low CPU Idle Time: Efficient scheduling के कारण CPU व्यस्त रहता है और idle time कम होता है।

Disadvantages

  • Lower Reliability: यदि system में failure होता है, तो उसका प्रभाव सभी users पर पड़ता है।
  • Security Concerns: Multiple users होने से data integrity और privacy के लिए जोखिम बढ़ जाता है।
  • Communication Issues: Users के बीच data sharing के दौरान conflicts उत्पन्न हो सकते हैं।

  • Examples
  • IBM VM/CMS

  • TSO (Time Sharing Option)

  • Windows Terminal Services


4. Multi-Processing Operating System

Multi-Processing Operating System वह प्रकार का Operating System है जिसमें एक से अधिक CPU का उपयोग resources के execution के लिए किया जाता है। यह system की overall throughput को बेहतर बनाता है और performance में वृद्धि करता है।

Multiprocessing operating system

Advantages

  • Faster Processing: Multiple CPUs एक साथ काम करते हैं, जिससे overall system speed बढ़ जाती है।
  • High Reliability: यदि एक processor fail हो जाता है, तो अन्य processors काम जारी रख सकते हैं (fault tolerance)।
  • Supports Heavy Tasks: यह computation-intensive applications जैसे scientific या industrial tasks के लिए उपयुक्त है।

Disadvantages

  • High Cost: Multiple processors और complex hardware के कारण system की cost बढ़ जाती है।
  • Complex Design: Communication और task distribution के लिए advanced OS support की आवश्यकता होती है।
  • Not Always Efficient: यदि task distribution सही न हो, तो कुछ processors idle रह सकते हैं और resources waste हो सकते हैं।

Examples

  • UNIX

  • Linux (Ubuntu, Red Hat, Debian)

  • macOS


5. Distributed Operating System

Distributed Operating System कई independent computers को एक shared communication network के माध्यम से जोड़ता है। प्रत्येक system के पास अपना CPU और memory होती है, लेकिन वे सभी मिलकर एक single unit की तरह कार्य करते हैं।

इसका मुख्य लाभ remote access है, जिससे users अन्य connected systems पर stored files और software का उपयोग कर सकते हैं।

Distributed OS

Advantages

  • Independent Systems: यदि एक machine fail हो जाती है, तो अन्य systems प्रभावित नहीं होते।
  • Easily Scalable: Network में नए systems को आसानी से add किया जा सकता है।
  • Lower Processing Delays: Multiple machines के माध्यम से tasks तेजी से handle किए जाते हैं।

Disadvantages

  • Network Dependency: यदि मुख्य network fail हो जाए, तो communication रुक जाता है।
  • Lack of Standardization: ऐसे systems को बनाने के लिए कोई well-defined language या model उपलब्ध नहीं है।
  • High Cost & Complexity: Hardware महंगा होता है और software complex तथा कम समझा जाने वाला होता है।

Issues With Distributed Operating System

  • Networking के कारण distributed system के विभिन्न nodes के बीच data transfer में delays हो सकते हैं। इससे अलग-अलग nodes पर data का inconsistent view बन सकता है और events के chronological order को समझना कठिन हो सकता है।

  • Control functions जैसे scheduling, resource allocation, और deadlock detection को कई nodes पर perform करना पड़ता है ताकि computation speed बढ़े और system reliable रहे, भले ही कुछ computers या networking components fail हो जाएं।

  • अलग-अलग nodes में मौजूद processes के बीच exchanged messages public networks से गुजर सकते हैं। कोई intruder इस feature का गलत उपयोग करके messages को tamper कर सकता है या fake messages बनाकर authentication procedure को fool कर सकता है और system user की तरह masquerade कर सकता है।


Examples

  • LOCUS

  • MICROS

  • Amoeba


6. Network Operating System (NOS)

Network Operating System (NOS) एक server पर run करता है और data, users, security, applications तथा अन्य network functions को manage करता है।

यह small private network के भीतर files, printers और resources को shared access प्रदान करता है। Users अन्य users की configuration और connections को देख सकते हैं, इसलिए ऐसे systems को tightly coupled systems कहा जाता है।

server_

Advantages

  • Centralized and Stable Servers: ये reliable तरीके से resources का management करते हैं।
  • Easy Upgrades: नए hardware और technologies को आसानी से add किया जा सकता है।
  • Remote Access: Users अलग-अलग locations और devices से server को access कर सकते हैं।

Disadvantages

  • High Server Cost: Server को setup और maintain करना महंगा होता है।
  • Dependency on Server: अधिकांश operations एक central server पर निर्भर करते हैं।
  • Regular Maintenance Needed: Frequent updates और technical support की आवश्यकता होती है।

Examples

  • Microsoft Windows Server 2003

  • UNIX, Linux

  • Mac OS X


7. Real-Time Operating System (RTOS)

इस प्रकार के Operating System (OS) real-time systems के लिए बनाए जाते हैं। Input को process करने और respond करने में जो बहुत कम समय लगता है, उसे response time कहा जाता है।

Real-time systems का उपयोग उन स्थानों पर किया जाता है जहाँ समय की आवश्यकता बहुत सख्त (strict) होती है, जैसे missile systems, air traffic control systems, robots आदि।


Types of Real-Time Operating Systems

1. Hard Real-Time Operating System

इसका उपयोग वहाँ किया जाता है जहाँ strict timing बहुत आवश्यक होती है और किसी भी प्रकार की delay स्वीकार्य नहीं होती, जैसे airbags या automatic parachutes।

ये systems immediate response सुनिश्चित करने के लिए virtual memory का उपयोग नहीं करते।


2. Soft Real-Time Operating System

इसका उपयोग वहाँ किया जाता है जहाँ timing महत्वपूर्ण होती है लेकिन छोटी delays स्वीकार्य होती हैं।

ये systems quick और predictable response देने का प्रयास करते हैं, लेकिन perfect accuracy आवश्यक नहीं होती।

इनका उपयोग सामान्यतः multimedia applications, gaming, video streaming और अन्य interactive tasks में किया जाता है।

Real-Time Operating System

Advantages

  • Maximum Utilization: Devices और system resources का maximum उपयोग होता है, जिससे सभी resources से अधिक output प्राप्त होता है।
  • Error-Free: इस प्रकार के systems सामान्यतः error-free होते हैं।
  • Memory Allocation: इन systems में memory allocation का management बहुत बेहतर तरीके से किया जाता है।

Disadvantages

  • Limited Tasks: एक समय में बहुत कम tasks run होते हैं और error से बचने के लिए कुछ ही applications पर अधिक ध्यान दिया जाता है।
  • Complex Algorithms: इन systems के algorithms बहुत complex होते हैं और designer के लिए उन्हें लिखना कठिन होता है।
  • Thread Priority: इन systems में thread priority set करना उपयुक्त नहीं माना जाता, क्योंकि ये task switching के लिए कम उपयुक्त होते हैं।

Examples

  • Scientific experiments

  • Medical imaging systems

  • Robots


8. Mobile Operating Systems

Mobile Operating Systems विशेष रूप से mobile devices जैसे smartphones और tablets के लिए बनाए जाते हैं।

ऐसे Operating Systems के उदाहरण हैं Android और iOS

ये Operating Systems device के hardware और software resources को manage करते हैं, applications को run करने के लिए platform प्रदान करते हैं और seamless user experience सुनिश्चित करते हैं।

modern_mobile_operating_systems

Advantages

  • User-Friendly Interfaces: Mobile Operating Systems को intuitive और easy to use बनाया जाता है, जिससे ये विभिन्न प्रकार के users के लिए आसानी से accessible होते हैं।
  • Extensive App Ecosystems: बड़ी संख्या में उपलब्ध applications (apps) users को अपने devices को अपनी आवश्यकताओं के अनुसार customize करने की सुविधा देती हैं।
  • Connectivity Options: Mobile Operating Systems कई प्रकार के connectivity options (जैसे Wi-Fi, Bluetooth, mobile data) को support करते हैं, जिससे users कहीं भी connected रह सकते हैं।

Disadvantages

  • Battery Life Constraints: Power management में सुधार के बावजूद, heavy usage के दौरान battery life एक चुनौती बनी रहती है।
  • Security Risks: Mobile devices विभिन्न security threats जैसे malware और phishing attacks के प्रति संवेदनशील होते हैं, जिससे user data compromise हो सकता है।
  • Fragmentation: विशेष रूप से Android में, अलग-अलग devices और customizations के कारण fragmentation की समस्या उत्पन्न होती है, जिससे developers के लिए सभी devices पर compatibility सुनिश्चित करना कठिन हो जाता है।

Examples

  • Android

  • iOS

  • Blackberry

3. Functions & Services of OS

Functions of Operating System

Operating System (OS) एक प्रकार का software है जो user और computer hardware के बीच एक bridge की तरह कार्य करता है। यह एक ऐसा environment प्रदान करता है जहाँ users programs को efficiently और conveniently execute कर सकते हैं।

  • यह सभी computer resources को manage और control करता है।

  • यह user programs को आवश्यक services और resources प्रदान करता है।

  • यह program execution को coordinate और monitor करता है ताकि errors को रोका जा सके।

  • यह एक user interface (virtual machine) प्रदान करता है और software की complexity को hide करता है।

  • यह programs के लिए multiple execution modes को support करता है।

OPERATING-SYSTEM_

Note: Operating System (OS) सभी computer resources को control करता है, program execution को coordinate करता है, system की complexity को hide करता है, security सुनिश्चित करता है और resource utilization को बेहतर बनाता है।


Functions of an Operating System

1. Process Management

Operating System में process management का अर्थ processes को manage करना है।

Process एक running program होता है। Process का life cycle उस समय से शुरू होता है जब program start होता है और तब तक चलता है जब तक वह finish नहीं हो जाता।

Process-Management

Core Functions in Process Management:

  • Scheduling :-यह तय करता है कि अगला process कौन सा CPU का उपयोग करेगा (जैसे algorithms – Round Robin या Priority Scheduling)।
  • Synchronization :- यह orderly execution सुनिश्चित करता है, जिसमें locks, semaphores, या monitors का उपयोग करके race conditions को रोका जाता है।
  • Deadlock Handling :-यह उन स्थितियों का पता लगाता और रोकता है जहाँ processes resources के लिए हमेशा wait करते रहते हैं (deadlock situation)।
  • Inter-Process Communication (IPC) :-यह processes को आपस में data exchange करने की अनुमति देता है, जैसे shared memory या message passing के माध्यम से।

2. Memory Management

Operating System में memory management यह नियंत्रित करता है कि data को main (primary memory) और secondary storage में कैसे store और organize किया जाए।

यह सुनिश्चित करता है कि programs को आवश्यक memory मिले और जब memory की आवश्यकता न रहे, तो उसे free कर दिया जाए।

Memory-Management

Key Activities in Memory Management

  • Allocation & Deallocation: आवश्यकता के अनुसार memory को assign (allocate) करना और काम पूरा होने पर free (deallocate) करना।
  • Protection: Processes को एक-दूसरे की memory में interfere करने से रोकना।
  • Virtual Memory: बड़े programs को run करने के लिए disk space को अतिरिक्त memory की तरह उपयोग करना।
  • Fragmentation Handling: compaction जैसी techniques के माध्यम से wasted space को कम करना।
  • Disk Management: file storage, free space management, disk scheduling, और backups को handle करना।

3. File System Management

Operating System में file management यह नियंत्रित करता है कि data को storage devices पर कैसे store, name और access किया जाए।

यह users के लिए files को ढूँढना और उपयोग करना आसान बनाता है।

File-System-Management

File System Management में शामिल हैं:

  • File Attributes: File का name, type, size, और permissions को manage करना।
  • File Types: जैसे text files, binary files, और executable files
  • Operations: Files को create, read, write, और delete करना।
  • Access Methods: Data को तेजी से प्राप्त करने के लिए sequential, direct, और indexed access methods का उपयोग।

4. Device Management (I/O System)

Operating System में device management यह नियंत्रित करता है कि computer hardware devices जैसे printer या disk के साथ कैसे communicate करे।

यह device drivers और अन्य techniques का उपयोग करके smooth और efficient operation सुनिश्चित करता है।

Device-Management

Major Components in Device Management

  • Device Drivers: यह hardware और Operating System (OS) के बीच interface का काम करते हैं।
  • Buffering & Caching: Data को अस्थायी रूप से store किया जाता है ताकि devices की अलग-अलग speeds को match किया जा सके और system performance बेहतर हो सके।
  • Spooling: Spooling उन data को manage करता है जो process होने के लिए wait कर रहे होते हैं, विशेष रूप से printer जैसे devices में। OS print jobs को एक spool (temporary storage area) में रखता है, जिससे CPU अन्य tasks को continue कर सकता है जबकि printer queue के अनुसार काम करता रहता है।

5. Protection and Security

Operating System में protection and security mechanisms system resources को unauthorized access या misuse से सुरक्षित रखने के लिए बनाए जाते हैं।

ये mechanisms यह नियंत्रित करते हैं कि कौन से processes या users specific resources (जैसे memory, files, और CPU time) को access कर सकते हैं।

यह भी सुनिश्चित करता है कि केवल authorized users ही विशेष actions perform कर सकें।

Protection-and-Security

Operating System (OS) system resources और user data को unauthorized access और attacks से सुरक्षित रखता है।

  • Access Control: User और process की permissions को सीमित करता है।
  • Authentication: Users को उनकी credentials (जैसे UIDs/SIDs) के माध्यम से verify करता है।
  • Resource Protection: Files, memory, या devices के misuse को रोकता है।
  • Security: malware, denial-of-service (DoS) attacks, और data theft से सुरक्षा प्रदान करता है।

Additional Functions

Core tasks जैसे process management और memory management के अलावा, Operating System निम्न कार्यों पर भी ध्यान देता है:

  • Performance Monitoring: System की efficiency को track करता है और bottlenecks की पहचान करता है।
  • Job Accounting: Resource usage का record रखता है ताकि auditing और optimization किया जा सके।
  • Error Detection: error logs, traces, और dumps generate करता है ताकि issues को detect और fix किया जा सके।

Note: ये सभी functions smooth operation, efficient resource allocation और system reliability सुनिश्चित करते हैं।

4. UNIX/LINUX Architecture

Difference between Unix and Linux

Linux और UNIX

Linux और UNIX शक्तिशाली multi-user और multitasking operating systems हैं, जो मुख्य रूप से server और enterprise environments में उपयोग किए जाते हैं।

UNIX मूल operating system है, जिसे 1970s में विकसित किया गया था, जबकि Linux इसका open-source successor है, जो UNIX के design principles से प्रेरित है।

  • दोनों multi-user और multitasking capabilities को support करते हैं।

  • सामान्यतः servers, networking, और enterprise systems में उपयोग होते हैं।

  • UNIX अधिकतर closed-source है, जबकि Linux पूरी तरह open-source है।

  • Linux पारंपरिक UNIX systems की तुलना में अधिक flexible और widely adopted है।

  • दोनों समान architecture और command-line structure का पालन करते हैं।


UNIX Operating System

UNIX एक multi-user, multitasking operating system है, जिसे 1970s में AT&T Bell Labs में Ken Thompson और Dennis Ritchie द्वारा विकसित किया गया था।

यह अपनी stability, security, और enterprise environments में strong performance के लिए जाना जाता है।

  • मूल रूप से बड़े systems और servers के लिए विकसित किया गया।

  • अधिकतर closed-source है और licensed versions की आवश्यकता होती है।

  • अपनी reliability और stability के लिए प्रसिद्ध है।

  • कई commercial operating systems का आधार (base) है।

  • System control के लिए powerful command-line interface (CLI) का उपयोग करता है।


Linux Operating System

Linux एक free और open-source operating system kernel है, जिसे Linus Torvalds ने 1991 में विकसित किया, जो UNIX से प्रेरित है।

यह desktops, servers, mobile devices, और embedded systems में व्यापक रूप से उपयोग किया जाता है।

  • यह पूरी तरह open-source है।

  • अधिक flexible और customizable है।

  • Servers और enterprise systems में बहुत लोकप्रिय है।

  • UNIX जैसी architecture और command-line structure को follow करता है।

Linux की विशेषताएँ

  • पूरी तरह open-source और free to use है।

  • अत्यधिक customizable और flexible है।

  • servers, security, और cloud computing में व्यापक रूप से उपयोग होता है।

  • विभिन्न प्रकार के hardware platforms को support करता है।

  • बड़ी global community और strong development support उपलब्ध है।


Linux Vs Unix

Linux और Unix दोनों powerful multi-user operating systems हैं, लेकिन इनकी origin, licensing, architecture, community support, usage scope, file system, shell, hardware compatibility और security vulnerabilities में अंतर है।

Linux Unix
Linux को 1990s में Linus Torvalds ने free और open-source alternative के रूप में विकसित किया। Unix को 1970s में Bell Labs (AT&T) में विकसित किया गया।
Linux एक open-source software है, जिसमें बहुत से programmers online मिलकर योगदान देते हैं। Unix को AT&T Labs, commercial vendors और non-profit organizations ने विकसित किया।
Linux को बिना किसी licensing fees के free में उपयोग किया जा सकता है। Unix एक proprietary operating system है, जिसे उपयोग करने के लिए license आवश्यक होता है।
Linux kernel lightweight और modular है। Linux kernel lightweight और modular है।
Linux enterprise और personal computers दोनों में व्यापक रूप से उपयोग होता है। Unix मुख्य रूप से enterprise-level servers और workstations में उपयोग होता है।
Linux की बड़ी और active community है, जो development और support प्रदान करती है। Unix की community अपेक्षाकृत छोटी और enterprise-focused है।
Linux एक open-source operating system है, जो सभी के लिए freely accessible है।
  • Unix केवल उसके copyright holders द्वारा नियंत्रित होता है।

Linux में threat recognition और solution तेज होता है क्योंकि यह community-driven है। Unix में bug-fixing और patch आने में अधिक समय लग सकता है।
Linux: Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, Btrfs, FAT, FAT32, NTFS
  • Unix: JFS, GPFS, HFS, HFS+, UFS, XFS, ZFS

Linux में KDE और GNOME प्रमुख GUI हैं। इसके अलावा LXDE, Xfce, Unity, Mate आदि भी उपलब्ध हैं। Unix प्रारंभ में command-based OS था, बाद में Common Desktop Environment (CDE) GUI आया।
Linux servers, PCs, smartphones, tablets और mainframes तक उपयोग होता है।
  • Unix मुख्य रूप से servers, workstations और PCs में उपयोग होता है।

Linux का default shell BASH (Bourne Again Shell) है। इसे home users, developers और students सभी उपयोग कर सकते हैं। Unix प्रारंभ में Bourne Shell का उपयोग करता था और अन्य GUI के साथ compatible है।
Linux का source code आम जनता के लिए उपलब्ध है। Unix का source code सार्वजनिक रूप से उपलब्ध नहीं है।
Linux मूल रूप से Intel x86 processors के लिए बना था, लेकिन अब यह 20+ प्रकार के CPU (जैसे ARM) को support करता है। Unix मुख्य रूप से PA-RISC और Itanium machines पर उपलब्ध है।
Linux: लगभग 60–100 viruses (अनुमान)

Unix: लगभग 85–120 viruses (अनुमान)

उदाहरण (Examples)

Linux versions: Ubuntu, Debian GNU, Arch Linux आदि।

उदाहरण (Examples)

Unix versions: SunOS, Solaris, SCO UNIX, AIX, HP-UX, ULTRIX आदि।


Examples (संस्करण)

  • Linux: Ubuntu, Debian, Arch Linux

  • Unix: SunOS, Solaris, SCO UNIX, AIX, HP-UX, ULTRIX


Applications of Linux

1️⃣ Servers और Cloud Computing

  • अधिकतर modern web servers और cloud platforms (AWS, Google Cloud, Azure) Linux पर चलते हैं।

  • virtualization, containerization, और DevOps pipelines में उपयोग।

2️⃣ Development और Programming

  • लगभग सभी major programming languages को support करता है।

  • automation और open-source development में उपयोग।

3️⃣ Desktop Use

  • Ubuntu, Linux Mint जैसे distributions personal use के लिए लोकप्रिय हैं।

4️⃣ Cybersecurity

  • Kali Linux, Parrot OS penetration testing में उपयोग।

5️⃣ Embedded Systems & IoT

  • Routers, Smart TVs, IoT devices में उपयोग।

6️⃣ Supercomputers

  • लगभग सभी global supercomputers Linux पर आधारित हैं।

7️⃣ Education & Research

  • Universities में OS और programming सिखाने के लिए उपयोग।


Applications of Unix

1️⃣ Enterprise Servers

  • Banking systems, stock exchanges में उपयोग।

2️⃣ Telecommunications

  • Telecom switching और routing systems में उपयोग।

3️⃣ Scientific Research

  • Stability और multitasking के कारण research environments में उपयोग।

4️⃣ Government & Defense

  • Secure और long-term deployments में उपयोग।

5️⃣ Enterprise Data Centers

  • बड़े data centers में stable systems के लिए पसंद किया जाता है।


Limitations of Unix

  • Text-based interface (TUI) कठिन और non-intuitive हो सकता है।

  • आधुनिक hardware पर performance कम हो सकती है।

  • विभिन्न Unix variants में uniformity की कमी।

  • Shell commands में छोटी गलती से file loss हो सकता है।


Limitations of Linux

  • कोई standard edition नहीं, distribution के अनुसार बदलता है।

  • Driver support inconsistent हो सकता है।

  • Windows programs के लिए WINE emulator की आवश्यकता।

  • Beginners के लिए learning curve अधिक हो सकता है।


Market Trends: Unix vs Linux

Unix in Enterprise (2025 तक)

  • लगभग 69.5% legacy-heavy mission-critical systems में उपयोग।

    • Finance & Banking

    • Telecom

    • Scientific Research

⚠️ Note: Unix धीरे-धीरे कम हो रहा है और मुख्यतः legacy systems में ही रहेगा।


Linux Growth (तेजी से बढ़ता हुआ)

  • Cloud-native development (AWS, GCP, Azure) में default OS।

  • Kubernetes और Docker Linux आधारित हैं।

  • IoT, embedded systems, Android (Linux kernel आधारित)।

  • Web hosting में 90% से अधिक top web servers Linux पर।

⚡ Note: Linux भविष्य में AI/ML, DevOps, Cloud और Edge Computing में प्रमुख भूमिका निभाएगा।

5. Kernel

Kernel in Operating System

Kernel क्या है?

Kernel किसी भी Operating System का मुख्य (core) भाग होता है।
यह software applications और computer के hardware के बीच एक bridge (सेतु) की तरह कार्य करता है।


Kernel के कार्य

  • Kernel system के सभी resources जैसे CPU, memory और devices को manage करता है, ताकि पूरा system smoothly और efficiently कार्य करे।

  • यह programs को run करने, files को access करने और printers, keyboard जैसे devices से connect करने जैसे कार्यों को handle करता है।


Operating System और Kernel का संबंध

एक Operating System के अंदर kernel उसका मुख्य भाग होता है, लेकिन OS केवल kernel तक सीमित नहीं होता।

Operating System अतिरिक्त रूप से प्रदान करता है:

  • User Interface (UI)

  • File System Management

  • Network Services

  • विभिन्न utility applications

ये सभी मिलकर users को system के साथ interact करने की सुविधा देते हैं।

kernel

Kernel के मुख्य कार्य

  • Hardware और user applications के बीच communication को आसान बनाता है।

  • Efficient और secure multitasking सुनिश्चित करता है।

  • System की stability बनाए रखता है और unauthorized resource access को रोकता है।


Types of Kernel

नीचे विभिन्न प्रकार के Kernel दिए गए हैं:

1. Monolithic Kernel

इस प्रकार के kernel में सभी OS services kernel space में run करती हैं → यह fast होता है, लेकिन fault-isolation कम होती है।

Examples: Unix, Linux, OpenVMS, XTS-400


2. Microkernel

इसमें kernel की functionality minimal होती है; अधिकांश services को user space में shift कर दिया जाता है → reliability बेहतर होती है, लेकिन overhead बढ़ सकता है।

Examples: Minix 3, Mach (जैसे Mach 3.0)


3. Hybrid Kernel

यह Monolithic + Microkernel का मिश्रण (mix) होता है। कुछ services speed के लिए kernel में रहती हैं और कुछ safety के लिए isolate की जाती हैं।

Examples: Windows NT family (Windows 2000, XP, Vista, 7, 8, 10), macOS / XNU, ReactOS, Haiku OS


4. Nanokernel

यह अत्यंत minimal kernel होता है, जो केवल basic hardware abstraction प्रदान करता है; बाकी सभी services बाहर रहती हैं।

Examples: Nemesis, MIT Exokernel projects (XOK, Aegis)


5. Exokernel

यह protection और management को अलग करता है; इसमें applications को hardware abstractions पर direct control दिया जाता है ताकि वे अपनी आवश्यकता के अनुसार abstraction बना सकें।


Functions of Kernel

Kernel कई महत्वपूर्ण कार्यों के लिए जिम्मेदार होता है, जो computer system के smooth operation को सुनिश्चित करते हैं, जैसे:

  • Process Management

  • Memory Management

  • Device Management

  • System Calls Handling

  • Interrupt Handling

  • Security and Protection

Function-Of-Kernel

Functions of Kernel

1. Process Management

Processes की scheduling और execution को manage करता है।

2. Memory Management

Memory space का allocation और deallocation करता है, virtual memory को manage करता है तथा memory protection और sharing को संभालता है।

3. Device Management

Input/Output devices को manage करता है, hardware devices के लिए एक unified interface प्रदान करता है और device driver communication को handle करता है।

4. File System Management

File operations को manage करता है और applications को file system interface प्रदान करता है।

5. Resource Management

System resources जैसे CPU time, disk space और network bandwidth को manage करता है। आवश्यकता अनुसार resources का allocation और deallocation करता है।

6. Security and Access Control

Access control policies (जैसे user permissions और authentication) को लागू करता है।

7. Inter-Process Communication (IPC)

Processes के बीच communication को संभव बनाता है, जैसे message passing और shared memory mechanisms के माध्यम से।


Working of Kernel

  • Kernel OS का पहला भाग होता है जो boot के दौरान memory में load होता है और system चलने तक resident रहता है।

  • यह एक privileged mode में operate करता है जिसे kernel mode कहते हैं, जो user mode से अलग होता है। User applications सीधे hardware या critical resources को access नहीं कर सकतीं।

  • Applications अपनी request को system calls (या software interrupts) के माध्यम से kernel तक भेजती हैं।

  • Kernel request को handle करने के लिए user mode से kernel mode में switch करता है।

  • Kernel requested operation execute करता है, जैसे file I/O, process creation, या memory allocation।

  • Operation complete होने के बाद kernel result (या error) को वापस user space में भेजता है।

  • Multitasking के लिए kernel context switching करता है, जहाँ scheduler अगला process या thread चुनता है।

6. Services and System Calls

Operating System Services

Operating System (OS) एक software है जो user और computer hardware के बीच intermediary (मध्यस्थ) की तरह कार्य करता है। यह एक program है जिसकी मदद से हम विभिन्न applications को run कर पाते हैं। यह वह program है जो हमेशा system में चलता रहता है। प्रत्येक computer में अन्य programs को smoothly execute करने के लिए एक Operating System होना आवश्यक है।

OS के मुख्य कार्य:

  • OS, hardware और application programs के उपयोग को users के लिए coordinate करता है।

  • यह application software को run करने के लिए एक platform प्रदान करता है।

  • यह special programs का एक set होता है जो computer को सही तरीके से function करने में मदद करता है।

  • यह input–output devices और system operations को control करता है।

  • यह program execution और file handling को manage करता है।

OPERATING-SYSTEM-SERVICES

1. Program Execution

Operating System, program execution को manage करता है। यह programs को memory में load करता है और उन्हें CPU scheduling algorithms जैसे FCFS (First Come First Serve), SJF (Shortest Job First) के अनुसार schedule करता है। यह सुनिश्चित करता है कि user और system programs smoothly execute हों और deadlock जैसी स्थिति न बने, जहाँ processes अनंत समय तक wait करते रहें।

  • Programs को execution के लिए memory में load करता है।

  • CPU scheduling algorithms (FCFS, SJF आदि) से execution order तय करता है।

  • Execution के दौरान deadlock को handle और prevent करता है।

  • System resources का efficient allocation करता है।


2. Input Output Operations

Operating System सभी input-output (I/O) operations को manage करता है। यह users, programs और device drivers के बीच communication कराता है। Device drivers hardware और OS के बीच software interface की तरह काम करते हैं।

  • सभी input-output operations को manage करता है।

  • Hardware से device drivers के माध्यम से communicate करता है।

  • Devices और system के बीच proper coordination सुनिश्चित करता है।

  • Programs को I/O devices का controlled access देता है।


3. Communication Between Processes

Operating System, processes के बीच communication manage करता है। इसे Inter-Process Communication (IPC) कहा जाता है।

  • IPC को manage करता है।

  • Processes के बीच data transfer कराता है।

  • Networked computers के बीच communication support करता है।

  • Secure और efficient information exchange सुनिश्चित करता है।


4. File Management

Operating System सभी file operations को manage करता है और programs को read-only या read-write जैसी permissions देता है।

  • Programs को read-only / read-write access प्रदान करता है।

  • Users को file create, delete और organize करने की सुविधा देता है।

  • Hard disk, pen drive आदि पर file storage manage करता है।

  • Data को store और manipulate करने का तरीका तय करता है।


5. Memory Management

Operating System memory को manage करता है। यह तय करता है कि किस program को कितनी memory दी जाए और कहाँ load किया जाए।

  • Check करता है कि program memory requirements पूरी करता है या नहीं।

  • Program को आवश्यक memory allocate करता है।

  • Program को उचित memory location में load करता है।

  • Extra या unnecessary memory usage को रोकता है।


6. Process Management

Process management को ऐसे समझ सकते हैं जैसे CPU एक kitchen stove है और OS एक chef। Chef (OS) कई dishes (programs) को balance करके बनाता है।

  • CPU execution का स्थान है।

  • OS हर program को fair execution time देता है।

  • किसी एक program को CPU पर ज्यादा समय तक occupy नहीं करने देता।

  • सभी programs को efficiently schedule करता है।


7. Security and Privacy

Security

Operating System unauthorized users से system को सुरक्षित रखता है।

  • Unauthorized access को block करता है।

  • Viruses और malware से protect करता है।

  • Firewalls और antivirus tools का उपयोग करता है।

  • System और data की सुरक्षा सुनिश्चित करता है।

Privacy

OS personal data को सुरक्षित रखता है।

  • Personal data को hidden रखता है।

  • Passwords जैसे access control options देता है।

  • Authorized users को ही files देखने की अनुमति देता है।

  • Sensitive information को misuse से बचाता है।


8. Resource Management

Operating System system resources को processes के बीच share करता है।

  • Resources को multiple processes में distribute करता है।

  • CPU time को scheduling algorithms से allocate करता है।

  • Memory और I/O devices manage करता है।

  • सभी resources का proper और efficient use सुनिश्चित करता है।


9. User Interface

Operating System, user को system से interact करने के लिए CLI (Command Line Interface) और GUI (Graphical User Interface) प्रदान करता है।

  • CLI और GUI दोनों उपलब्ध कराता है।

  • CLI में command interpreter user commands execute करता है।

  • GUI में windows, icons और menus होते हैं।

  • User और OS के बीच smooth communication कराता है।


10. Networking

Operating System network पर devices के बीच communication manage करता है।

  • Network connections manage करता है।

  • Internet access support करता है।

  • Data packets send और receive करता है।

  • Stable और smooth network operations सुनिश्चित करता है।


11. Error Handling

Operating System CPU, memory और I/O errors को detect और handle करता है।

  • CPU, memory और I/O errors detect करता है।

  • Frequent errors और deadlocks को prevent करता है।

  • Execution के दौरान issues fix करता है।

  • External threats से सुरक्षा प्रदान करता है।


12. Time Management

Time management को traffic light से समझ सकते हैं।

  • Red light = programs simple queue में wait कर रहे हैं।

  • Yellow light = programs ready queue में हैं।

  • Green light = program execution में है।

  • OS सही समय पर state change करके smooth program flow सुनिश्चित करता है।

7. System programs

System Programs in Operating System

System Programming को इस प्रकार परिभाषित किया जा सकता है कि यह System Software को System Programming Languages की सहायता से बनाने की प्रक्रिया है।

Computer Hierarchy के अनुसार सबसे पहले Hardware आता है, उसके बाद Operating System, फिर System Programs, और अंत में Application Programs आते हैं।

Operating System के संदर्भ में, system programs विशेष प्रकार का software होते हैं जो हमें computer के hardware और resources को manage तथा control करने की सुविधा प्रदान करते हैं।

जैसा कि पहले बताया गया है, ये programs Operating System के साथ अधिक निकटता से कार्य करते हैं, इसलिए ये operations को तेज़ी से execute करते हैं और उन आवश्यक कार्यों को पूरा करने में सहायक होते हैं जिन्हें application software संभाल नहीं सकता।

Note :

User केवल System Programs तक ही देख सकता है, वह System Calls को सीधे नहीं देख सकता।


System Program Definition

Operating System में System Programs ऐसे software tools होते हैं जो users को files manage करने, programs run करने और system resources control करने में मदद करते हैं। इनमें file managers, program loaders, compilers और अन्य system utilities शामिल होते हैं, जो computer को efficiently operate करने और smoothly चलाने में सहायता करते हैं।


Examples of System Programs

1. File Management

File computer memory में stored specific information का collection होता है।
File management वह प्रक्रिया है जिसमें files को create, modify और delete किया जाता है।


2. Command Line Interface (CLI)

CLI user के लिए एक महत्वपूर्ण tool है। यह user को system में सीधे commands लिखकर operations perform करने की सुविधा देता है।
यह एक text-based तरीका है जिससे Operating System से interact किया जाता है।
CLI द्वारा file manipulation, system configuration आदि कार्य किए जा सकते हैं।


3. Device Drivers

Device Drivers OS और hardware devices के बीच translator की तरह कार्य करते हैं।
यह OS और devices के बीच intermediary बनकर दोनों को एक-दूसरे की language समझने में मदद करते हैं ताकि वे बिना interruption के efficiently काम कर सकें।


4. Status Information

कुछ users date, time, available memory या disk space जैसी जानकारी प्राप्त करना चाहते हैं।
अन्य users detailed performance, logging और debugging information चाहते हैं।
यह सारी information output devices, terminal, files या GUI window में display की जाती है।


5. File Modification

यह files के content को modify करने के लिए उपयोग किया जाता है।
Disk या अन्य storage devices पर stored files को edit करने के लिए विभिन्न प्रकार के editors का उपयोग किया जाता है।
Files के content को search या transform करने के लिए special commands का उपयोग होता है।


6. Programming-Language Support

Common programming languages के लिए Compilers, Assemblers, Debuggers और Interpreters उपलब्ध होते हैं।
ये users को सभी आवश्यक support प्रदान करते हैं ताकि वे किसी भी programming language को run कर सकें।


7. Program Loading and Execution

जब program assembling और compilation के बाद तैयार हो जाता है, तो उसे execution के लिए memory में load करना पड़ता है।
Loader Operating System का हिस्सा होता है जो programs और libraries को memory में load करता है।
System द्वारा absolute loaders, relocatable loaders, linkage editors और overlay loaders उपलब्ध कराए जाते हैं।


8. Communications

Programs processes, users और computer systems के बीच connection प्रदान करते हैं।
User दूसरे user को message भेज सकता है, e-mail कर सकता है, web browsing कर सकता है, remote login कर सकता है या files transfer कर सकता है।


Types of System Programs

1. Device Drivers

Operating System और hardware components के बीच intermediary का काम करते हैं।
Drivers के बिना OS printers, keyboard या graphic cards से communicate नहीं कर सकता।


2. Utility Programs

ये system के smooth functioning के लिए maintenance tasks perform करते हैं।
इनमें disk cleanup, defragmentation और antivirus tools शामिल होते हैं जो system performance और security बनाए रखते हैं।


3. Communication Programs

Devices या users के बीच data exchange enable करते हैं।
User e-mail भेज सकता है, web browse कर सकता है, remote login कर सकता है या file transfer कर सकता है।


4. File Management Programs

ये programs files और directories को create, delete, copy, rename, print, dump और list करने का कार्य करते हैं।


5. Program Loading and Execution

ये executable programs को memory में load करने और run करने की प्रक्रिया को manage करते हैं।
System में absolute loaders, relocatable loaders, linkage editors और overlay loaders उपलब्ध हो सकते हैं।