Tuesday, November 18, 2025

Features of Android OS एंड्रॉइड ऑपरेटिंग सिस्टम की सुविधाएँ

Android offers a wide range of features that contribute to its popularity and versatility.

These features make Android a versatile and powerful operating system for smartphones, tablets, wearables, and other devices. Its flexibility, customization options, and extensive ecosystem contribute to its widespread adoption and continued innovation. 
एंड्रॉइड कई प्रकार की सुविधाएँ प्रदान करता है जो इसकी लोकप्रियता और बहुमुखी प्रतिभा में योगदान करती हैं। ये सुविधाएं एंड्रॉइड को स्मार्टफोन, टैबलेट, पहनने योग्य डिवाइसेज और अन्य उपकरणों के लिए एक बहुमुखी और शक्तिशाली ऑपरेटिंग सिस्टम बनाती हैं। इसका लचीलापन, अनुकूलन विकल्प और व्यापक पारिस्थितिकी तंत्र इसके व्यापक रूप से अपनाने और निरंतर नवाचार में योगदान देता है। 

Some key features of Android OS are as follows:-
एंड्रॉयड ऑपरेटिंग सिस्टम की कुछ प्रमुख विशेषताएं निम्न हैं:-

1. Customizable User Interface अनुकूलन योग्य यूजर इंटरफ़ेस :- 
Android allows users to customize their device's home screen, widgets, wallpapers, and themes to suit their preferences.
एंड्रॉइड उपयोगकर्ताओं को उनकी प्राथमिकताओं के अनुरूप अपने डिवाइस की होम स्क्रीन, विजेट, वॉलपेपर और थीम को अनुकूलित करने की अनुमति देता है।

2. Google Play Store गूगल प्ले स्टोर:- 
Android users have access to the Google Play Store, which offers a vast collection of apps, games, movies, music, books, and more.
एंड्रॉइड उपयोगकर्ताओं के पास Google Play Store तक पहुंच है, जो ऐप्स, गेम, फिल्में, संगीत, किताबें इत्यादि का विशाल संग्रह प्रदान करता है। 

3. Google Services Integration गूगल की सेवाओं का एकीकरण:- 
Android seamlessly integrates with various Google services such as Gmail, Google Maps, Google Drive, Google Photos, and Google Assistant, providing a cohesive ecosystem for users.
 एंड्रॉइड विभिन्न गूगल सेवाओं जैसे जीमेल, गूगल मैप्स, गूगल ड्राइव, गूगल फ़ोटो और गूगल सहायक के साथ सहजता से एकीकृत होता है, जो उपयोगकर्ताओं के लिए एक समेकित पारिस्थितिकी तंत्र प्रदान करता है।   

4. Google Assistant गूगल असिस्टेंट:-
Android devices come with Google Assistant, a virtual assistant that helps users perform tasks, answer questions, control smart home devices, set reminders, and more using voice commands.
एंड्रॉइड डिवाइस गूगल असिस्टेंट के साथ आते हैं, एक वर्चुअल असिस्टेंट जो उपयोगकर्ताओं को वॉयस कमांड का उपयोग करके कार्य करने, सवालों के जवाब देने, स्मार्ट होम डिवाइस को नियंत्रित करने, रिमाइंडर सेट करने और बहुत कुछ करने में मदद करता है।

5. Hardware Support हार्डवेयर सपोर्ट:-
Android supports a wide range of hardware features, including cameras, sensors (accelerometer, gyroscope, proximity sensor, etc.), NFC (Near Field Communication), biometric authentication (fingerprint, face recognition), and various connectivity options (Wi-Fi, Bluetooth, 5G, etc.).
एंड्रॉइड हार्डवेयर सुविधाओं की एक विस्तृत श्रृंखला का समर्थन करता है, जिसमें कैमरा, सेंसर (एक्सेलेरोमीटर, जायरोस्कोप, प्रॉक्सिमिटी सेंसर, आदि), एनएफसी (नियर फील्ड कम्युनिकेशन), बायोमेट्रिक प्रमाणीकरण (फिंगरप्रिंट, फेस रिकग्निशन) शामिल हैं। और विभिन्न कनेक्टिविटी विकल्प (वाई-फाई, ब्लूटूथ, 5जी, आदि)।

6. Developer Tools डेवलपर टूल्स:-
Android provides robust developer tools such as Android Studio, SDK (Software Development Kit), APIs (Application Programming Interfaces), and support for multiple programming languages (Java, Kotlin, C++) to create and publish apps on the Google Play Store.
एंड्रॉइड स्टूडियो, एसडीके (सॉफ्टवेयर डेवलपमेंट किट), एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफेस) जैसे मजबूत डेवलपर टूल प्रदान करता है, और गूगल प्ले स्टोर पर ऐप्स बनाने और प्रकाशित करने के लिए कई प्रोग्रामिंग भाषाओं (जावा, कोटलिन, सी ++) का समर्थन करता है। 

7. Security Features सुरक्षा सुविधाएँ:- 
Android incorporates several security features, including app sandboxing, secure boot, encryption, Google Play Protect (malware protection), and regular security updates to keep devices secure.
एंड्रॉइड डिवाइसों को सुरक्षित रखने के लिए ऐप सैंडबॉक्सिंग, सुरक्षित बूट, एन्क्रिप्शन, Google Play प्रोटेक्ट (मैलवेयर सुरक्षा) और नियमित सुरक्षा अपडेट सहित कई सुरक्षा सुविधाओं को शामिल करता है। 

In addition, Android OS offers Multitasking,  Notifications, Accessibility, Custom ROMs and Rooting etc facilities toits user's.
इसके अतिरिक्त एंड्रायड ऑपरेटिंग सिस्टम के द्वारा अपने यूजर्स को मल्टीटास्किंग, नोटिफिकेशन, एक्सेसिबिलिटी, कस्टम रोम और रूटिंग आदि सुविधाएं प्रदान की जाती हैं।

Android OS Introduction एंड्रॉयड का परिचय, History of Android OS एंड्रॉयड ऑपरेटिंग सिस्टम का इतिहास

 Introduction परिचय :- 

Android is a mobile operating system developed by Google. It's based on the Linux kernel and designed primarily for touchscreen devices like smartphones and tablets. Android offers a customizable user interface, a wide range of apps through the Google Play Store, and seamless integration with Google services. It's known for its open-source nature, allowing developers to create and distribute their own apps easily. Since its release in 2008, Android has become the most widely used mobile operating system globally.Android provides a robust development platform with tools like Android Studio, which allows developers to create apps using Java, Kotlin, or C++. Its large user base and extensive documentation make it an attractive platform for both developers and users. Android also supports various hardware features like cameras, sensors, and NFC, enabling developers to build innovative and feature-rich applications. Additionally, Android's security features, including app sandboxing and permission controls, help protect user data and privacy.

एंड्रॉइड Google द्वारा विकसित एक मोबाइल ऑपरेटिंग सिस्टम है। यह लिनक्स कर्नेल पर आधारित है और मुख्य रूप से स्मार्टफोन और टैबलेट जैसे टचस्क्रीन उपकरणों के लिए डिज़ाइन किया गया है। एंड्रॉइड एक अनुकूलन योग्य उपयोगकर्ता इंटरफ़ेस, Google Play Store के माध्यम से ऐप्स की एक विस्तृत श्रृंखला और Google सेवाओं के साथ सहज एकीकरण प्रदान करता है। यह अपनी ओपन-सोर्स प्रकृति के लिए जाना जाता है, जो डेवलपर्स को अपने स्वयं के ऐप्स आसानी से बनाने और वितरित करने की अनुमति देता है। 2008 में रिलीज़ होने के बाद से, एंड्रॉइड विश्व स्तर पर सबसे व्यापक रूप से उपयोग किया जाने वाला मोबाइल ऑपरेटिंग सिस्टम बन गया है। एंड्रॉइड एंड्रॉइड स्टूडियो जैसे टूल के साथ एक मजबूत विकास मंच प्रदान करता है, जो डेवलपर्स को जावा, कोटलिन या सी ++ का उपयोग करके ऐप बनाने की अनुमति देता है। इसका बड़ा उपयोगकर्ता आधार और व्यापक दस्तावेज़ीकरण इसे डेवलपर्स और उपयोगकर्ताओं दोनों के लिए एक आकर्षक मंच बनाता है। एंड्रॉइड कैमरा, सेंसर और एनएफसी जैसी विभिन्न हार्डवेयर सुविधाओं का भी समर्थन करता है, जो डेवलपर्स को नवीन और सुविधा संपन्न एप्लिकेशन बनाने में सक्षम बनाता है। इसके अतिरिक्त, ऐप सैंडबॉक्सिंग और अनुमति नियंत्रण सहित एंड्रॉइड की सुरक्षा सुविधाएं उपयोगकर्ता डेटा और गोपनीयता की सुरक्षा में मदद करती हैं।

History of Android एंड्रॉइड का इतिहास:-

Android's history begins in 2003 when Andy Rubin, Rich Miner, Nick Sears, and Chris White founded Android Incorporation. The company aimed to develop an advanced operating system for digital cameras. However, recognizing the potential in the mobile industry, they shifted focus to creating an operating system for smartphones. 
एंड्रॉइड का इतिहास 2003 में शुरू होता है जब एंडी रुबिन, रिच माइनर, निक सियर्स और क्रिस व्हाइट ने एंड्रॉइड   इनकॉरपोरेशन की स्थापना की। इस कंपनी का लक्ष्य डिजिटल कैमरों के लिए एक उन्नत ऑपरेटिंग सिस्टम विकसित करना था। हालाँकि, मोबाइल उद्योग में क्षमता को पहचानते हुए, उन्होंने स्मार्टफ़ोन के लिए एक ऑपरेटिंग सिस्टम बनाने पर ध्यान केंद्रित किया। 

In 2005, Google acquired Android Inc., and Andy Rubin continued to lead the development of what would become the Android operating system under Google's umbrella.The first commercially available Android device, the HTC Dream (also known as the T-Mobile G1), was released in 2008. It featured a touchscreen interface with a slide-out physical keyboard, and it ran Android 1.0.
सन 2005 में, Google ने Android Inc. का अधिग्रहण किया, और एंडी रुबिन ने Google की छत्रछाया में Android ऑपरेटिंग सिस्टम के विकास का नेतृत्व करना जारी रखा। पहला व्यावसायिक रूप से उपलब्ध Android डिवाइस, HTC ड्रीम (जिसे T-Mobile G1 के नाम से भी जाना जाता है), 2008 में जारी किया गया था। इसमें एक स्लाइड-आउट भौतिक कीबोर्ड के साथ एक टचस्क्रीन इंटरफ़ेस था, और यह एंड्रॉइड 1.0 चलाता था। 

Since then, Google has released numerous updates and versions of Android, each with new features, improvements, and optimizations. 
इसके बाद, Google ने एंड्रॉइड के कई अपडेट और संस्करण जारी किए हैं, जिनमें से प्रत्येक नई सुविधाओं, सुधारों और अनुकूलन के साथ है। 

Some significant Android versions are as follows:-
कुछ महत्वपूर्ण एंड्रॉयड वर्जन निम्न है:-

Android 1.5 (Cupcake): Introduced features like on-screen keyboards and support for third-party widgets.
एंड्रॉइड 1.5 (कपकेक): ऑन-स्क्रीन कीबोर्ड और तृतीय-पक्ष विजेट के लिए समर्थन जैसी सुविधाएं पेश की गईं। 

Android 2.0/2.1 (Eclair): Added support for multiple accounts and introduced features like live wallpapers and Bluetooth 2.1 support.
एंड्रॉइड 2.0/2.1 (एक्लेयर): कई खातों के लिए समर्थन जोड़ा गया और लाइव वॉलपेपर और ब्लूटूथ 2.1 समर्थन जैसी सुविधाएं पेश की गईं। 

Android 2.2 (Froyo): Introduced support for Adobe Flash, USB tethering, and improved performance.
एंड्रॉइड 2.2 (फ्रोयो): एडोब फ्लैश, यूएसबी टेदरिंग और बेहतर प्रदर्शन के लिए समर्थन पेश किया गया। 

Android 4.0 (Ice Cream Sandwich): Unified the smartphone and tablet interfaces, introduced features like facial recognition unlock, and improved multitasking.
एंड्रॉइड 4.0 (आइसक्रीम सैंडविच): स्मार्टफोन और टैबलेट इंटरफेस को एकीकृत किया गया, चेहरे की पहचान अनलॉक जैसी सुविधाएं पेश की गईं और मल्टीटास्किंग में सुधार किया गया। 

Android 4.4 (KitKat): Focused on optimizing performance for devices with lower hardware specifications.
एंड्रॉइड 4.4 (किटकैट): कम हार्डवेयर विशिष्टताओं वाले उपकरणों के लिए प्रदर्शन को अनुकूलित करने पर ध्यान केंद्रित किया गया। 

Android 5.0 (Lollipop): Introduced Material Design for a more consistent and intuitive user interface across devices.
एंड्रॉइड 5.0 (लॉलीपॉप): सभी डिवाइसों में अधिक सुसंगत और सहज उपयोगकर्ता इंटरफ़ेस के लिए सामग्री डिज़ाइन पेश किया गया। 

Android 6.0 (Marshmallow): Improved app permissions management and introduced features like Google Now on Tap.
एंड्रॉइड 6.0 (मार्शमैलो): बेहतर ऐप अनुमति प्रबंधन और टैप पर Google नाओ जैसी सुविधाएं पेश की गईं। 

Android 7.0 (Nougat): Introduced split-screen multitasking, improved notifications, and support for Vulkan API for graphics rendering.
एंड्रॉइड 7.0 (नूगट): स्प्लिट-स्क्रीन मल्टीटास्किंग, बेहतर नोटिफिकेशन और ग्राफिक्स रेंडरिंग के लिए वल्कन एपीआई के लिए समर्थन पेश किया गया। 

Android 8.0 (Oreo): Introduced picture-in-picture mode, notification channels, and improved battery life through background app limitations.
एंड्रॉइड 8.0 (ओरेओ): पिक्चर-इन-पिक्चर मोड, नोटिफिकेशन चैनल और बैकग्राउंड ऐप सीमाओं के माध्यम से बेहतर बैटरी जीवन पेश किया गया। 

Android 9.0 (Pie): Focused on AI-powered features like Adaptive Battery and Adaptive Brightness, along with gesture-based navigation.
एंड्रॉइड 9.0 (पाई): जेस्चर-आधारित नेविगेशन के साथ-साथ एडेप्टिव बैटरी और एडेप्टिव ब्राइटनेस जैसी एआई-संचालित सुविधाओं पर ध्यान केंद्रित किया गया है। 

Android 10: Introduced a system-wide dark mode, enhanced privacy controls, and improved gesture navigation.
एंड्रॉइड 10: एक सिस्टम-वाइड डार्क मोड, बेहतर गोपनीयता नियंत्रण और बेहतर जेस्चर नेविगेशन पेश किया गया। 

Android 11: Enhanced messaging notifications, introduced chat bubbles, and focused on improving device control and privacy.
एंड्रॉइड 11: बेहतर मैसेजिंग नोटिफिकेशन, चैट बबल पेश किया गया और डिवाइस नियंत्रण और गोपनीयता में सुधार पर ध्यान केंद्रित किया गया। 

Android 12: Introduced a refreshed design language called Material You, along with privacy indicators, and improvements to performance and security.
एंड्रॉइड 12: गोपनीयता संकेतक और प्रदर्शन और सुरक्षा में सुधार के साथ मटेरियल यू नामक एक ताज़ा डिज़ाइन भाषा पेश की गई।

Sunday, March 10, 2024

Startup and Shutdown process in Linux system लिनक्स सिस्टम में स्टार्टअप एवं शट्डाउन प्रक्रिया

In Linux, starting up and shutting down the system can be done using various commands. Here are the basic commands for startup and shutdown:-
लिनक्स में, सिस्टम को शुरू करना और बंद करना विभिन्न कमांड का उपयोग करके किया जा सकता है। यहां स्टार्टअप और शटडाउन के लिए बेसिक कमांड्स दिए गए हैं:-

Startup Process:-

1. Simply turning on your computer initiates the startup process.after that 
अपने कंप्यूटर को चालू करने से स्टार्टअप प्रक्रिया शुरू हो जाती है। इसके पश्चात 

2. Grand Unified Bootloader or another boot loader loads the Linux kernel.
ग्रैंड यूनिफाइड बूटलोडर या अन्य बूट लोडर लिनक्स कर्नेल को लोड करता है। 

3. The Linux kernel initializes essential system components and starts the init process.
लिनक्स कर्नेल आवश्यक सिस्टम घटकों को आरंभ करता है और init प्रक्रिया शुरू करता है। 

4. The init process or systemd is responsible for bringing up the system services and processes based on the runlevel or target.
अब init प्रक्रिया या systemd रन लेवल या लक्ष्य के आधार पर सिस्टम सेवाओं और प्रक्रियाओं को प्रदर्शित करने के लिए जिम्मेदार होते है।

Shutdown Process:-

1. Open a terminal and type command 
टर्मिनल को ओपन करे एवं निम्न कमांड टाइप करें 

sudo shutdown -h now

This command shuts down the system immediately.
यह कमांड सिस्टम को तुरंत शट डाउन कर देती है।

2. To reboot the system immediately, use command 
सिस्टम को पुनः प्रारंभ करने हेतु यह कमांड प्रयुक्त करे

sudo reboot

3. We can schedule a shutdown at a specific time,use command
हम सिस्टम को निश्चित समयानुसार भी पुनः प्रारंभ कर सकते है इस हेतु यह कमांड प्रयुक्त करे

sudo shutdown -h HH:MM

Replace HH:MM with the desired time.
यहां HH:MM को निश्चित समय से बदल लेवे।

4. If a scheduled shutdown has been initiated and we want to cancel it then type 
यदि सिस्टम को निश्चित समयानुसार पुनः प्रारंभ होने की स्थिति में सेट किया गया हैं एवं हम इसे रोकना चाहते है तब यह कमांड प्रयुक्त करे

sudo shutdown -c 

5. On systems using systemd, you can use `systemctl` for more control:
वे सिस्टम जो systemd का प्रयोग करते है निम्न systemctl कंट्रोल कमांड का प्रयोग करते है

sudo systemctl poweroff   # Shut down
sudo systemctl reboot     # Reboot

    

Hard Disc partitioning for Linux installation लिनक्स इनस्टॉल करने के लिए हार्ड डिस्क का विभाजन

When partitioning your disk for Linux, it typically involves creating at least two partitions:-
लिनक्स के लिए अपनी डिस्क को विभाजित करते समय, इसमें आम तौर पर कम से कम दो विभाजन बनाना शामिल होता है: - 
1. Root Partition ("/"):- Allocate a reasonable amount for the root partition; 20-30 GB is often sufficient, depending on your needs. Ext4 is a common choice for the root partition.
रूट विभाजन ("/"):- रूट विभाजन के लिए उचित राशि आवंटित करें; आपकी ज़रूरतों के आधार पर, 20-30 जीबी अक्सर पर्याप्त होता है। रूट विभाजन के लिए Ext4 एक सामान्य विकल्प है। 

2. Swap Partition:- Traditionally, the swap space is recommended to be at least equal to your RAM size, but it can vary. For systems with ample RAM (8GB or more), a swap partition of 4-8 GB is often sufficient. Swap doesn't use a typical file system.
स्वैप विभाजन: - परंपरागत रूप से, स्वैप स्थान को कम से कम आपके रैम आकार के बराबर रखने की सिफारिश की जाती है, लेकिन यह भिन्न हो सकता है। पर्याप्त रैम (8 जीबी या अधिक) वाले सिस्टम के लिए, 4-8 जीबी का स्वैप विभाजन अक्सर पर्याप्त होता है। स्वैप एक सामान्य फ़ाइल सिस्टम का उपयोग नहीं करता है।

Optionally, we may also create a separate partition for "/home" to keep user data separate from the system files:-
वैकल्पिक रूप से, हम उपयोगकर्ता डेटा को सिस्टम फ़ाइलों से अलग रखने के लिए "/ होम" के लिए एक अलग विभाजन भी बना सकते हैं: - 

3. Home Partition ("/home"):- This partition holds user data, so allocate space based on your storage needs. If you have a separate data partition, you can keep "/home" smaller. Ext4 is common, just like the root partition.
होम पार्टीशन ("/होम"):- यह पार्टीशन उपयोगकर्ता डेटा रखता है, इसलिए अपनी भंडारण आवश्यकताओं के आधार पर स्थान आवंटित करें। यदि आपके पास एक अलग डेटा विभाजन है, तो आप "/home" को छोटा रख सकते हैं। Ext4 सामान्य है, बिल्कुल रूट विभाजन की तरह।

Installation process of Linux (Ubuntu) by using Bootable USB बूट करने योग्य यूएसबी का उपयोग करके उबंटू (लिनक्स) स्थापित करने हेतु सामान्य चरण

To install Ubuntu (Linux) using a bootable USB, follow these general steps:-
बूट करने योग्य यूएसबी का उपयोग करके उबंटू (लिनक्स) स्थापित करने के लिए, इन सामान्य चरणों का पालन करें: -

1. Download the Ubuntu ISO file from the official website (https://ubuntu.com/download).
आधिकारिक वेबसाइट (https://ubuntu.com/download) से उबंटू आईएसओ फ़ाइल डाउनलोड करें।

2. Create a Bootable USB by Using a tool like Rufus (Windows) or balenaEtcher (Windows/Mac/Linux).
Rufus (Windows) या balenaEtcher (Windows/Mac/Linux) जैसे टूल का उपयोग करके एक बूटेबल USB बनाएं। 

3. Insert the bootable USB into your computer and restart. Access the boot menu (usually by pressing a key like F2, F12, or Esc during startup) and choose the USB drive as the boot device.
बूट करने योग्य यूएसबी को अपने कंप्यूटर में डालें और पुनरारंभ करें। बूट मेनू तक पहुंचें (आमतौर पर स्टार्टअप के दौरान F2, F12, या Esc जैसी कुंजी दबाकर) और बूट डिवाइस के रूप में USB ड्राइव चुनें। 

4. Once booted from the USB, choose "Try Ubuntu" to run a live session. This allows you to explore Ubuntu without installing it.
एक बार यूएसबी से बूट होने के बाद, लाइव सत्र चलाने के लिए "उबंटू आज़माएं" चुनें। यह आपको उबंटू को इंस्टॉल किए बिना एक्सप्लोर करने की अनुमति देता है। 

5. On the desktop, you'll find an icon to install Ubuntu. Double-click it to launch the installer.
डेस्कटॉप पर, आपको उबंटू इंस्टॉल करने के लिए एक आइकन मिलेगा। इंस्टॉलर लॉन्च करने के लिए इसे डबल-क्लिक करें।

6. Follow installation wizard and either choose to install Ubuntu alongside your existing operating system or choose to erase the disk and install Ubuntu.
इंस्टॉलेशन विज़ार्ड का पालन करें और या तो अपने मौजूदा ऑपरेटिंग सिस्टम के साथ उबंटू इंस्टॉल करना चुनें या डिस्क को मिटाकर उबंटू इंस्टॉल करना चुनें। 

7. Enter your details, including username and password to create user account.
उपयोगकर्ता खाता बनाने के लिए उपयोगकर्ता नाम और पासवर्ड सहित अपना विवरण दर्ज करें।

8. The installer will copy files and install Ubuntu. Once finished, it will prompt you to remove the installation media and press Enter.
इंस्टॉलर फाइलों को कॉपी करेगा और उबंटू इंस्टॉल करेगा। एक बार समाप्त होने पर, यह आपको इंस्टॉलेशन मीडिया को हटाने और एंटर दबाने के लिए संकेत देगा। 

Now Restart your computer and Login to Ubuntu, ensuring that it boots from the hard drive now.
अब अपने कंप्यूटर को पुनरारंभ करें और उबंटू में लॉग इन करें, यह सुनिश्चित करें कि यह अब हार्ड ड्राइव से बूट हो।

Friday, March 8, 2024

Linux Boot block, Super block, inode table and data blocks.

In Linux file systems, the boot block is the initial sector on a storage device, containing the bootloader. The superblock stores metadata about the file system, including its size and status. The inode table holds information about files and directories, while data blocks store actual file content. These components work together to manage file system structure and data organization.
लिनक्स फ़ाइल सिस्टम में, बूट ब्लॉक स्टोरेज डिवाइस पर प्रारंभिक सेक्टर होता है, जिसमें बूटलोडर होता है। सुपरब्लॉक फ़ाइल सिस्टम के बारे में मेटाडेटा संग्रहीत करता है, जिसमें उसका आकार और स्थिति भी शामिल है। इनोड तालिका फ़ाइलों और निर्देशिकाओं के बारे में जानकारी रखती है, जबकि डेटा ब्लॉक वास्तविक फ़ाइल सामग्री को संग्रहीत करता है। ये घटक फ़ाइल सिस्टम संरचना और डेटा संगठन को प्रबंधित करने के लिए एक साथ काम करते हैं। 

1.) The boot block is crucial for initializing the boot process, often containing the bootloader code necessary for loading the operating system. The boot block is the initial sector on a storage device, typically the first 512 bytes, and it plays a crucial role in the boot process of an operating system. It contains the bootloader, a small program responsible for loading the operating system into memory. The boot block is essential for initiating the system startup sequence and transitioning control to the kernel, allowing the operating system to take over and start executing.
1.) बूट प्रक्रिया को आरंभ करने के लिए बूट ब्लॉक महत्वपूर्ण है, जिसमें अक्सर ऑपरेटिंग सिस्टम को लोड करने के लिए आवश्यक बूटलोडर कोड होता है। बूट ब्लॉक एक स्टोरेज डिवाइस पर प्रारंभिक सेक्टर है, आमतौर पर पहले 512 बाइट्स, और यह एक ऑपरेटिंग सिस्टम की बूट प्रक्रिया में महत्वपूर्ण भूमिका निभाता है। इसमें बूटलोडर शामिल है, एक छोटा प्रोग्राम जो ऑपरेटिंग सिस्टम को मेमोरी में लोड करने के लिए जिम्मेदार है। बूट ब्लॉक सिस्टम स्टार्टअप अनुक्रम शुरू करने और नियंत्रण को कर्नेल में स्थानांतरित करने के लिए आवश्यक है, जिससे ऑपरेटिंग सिस्टम को कार्यभार संभालने और निष्पादन शुरू करने की अनुमति मिलती है। 

2.)The super block serves as a central repository of metadata, storing details like the file system type, size, status, and information about free blocks.The super block is a critical data structure in a file system, holding metadata about the file system itself. It includes information such as the file system type, size, status, block size, and pointers to other important data structures like the inode table. The superblock is typically located at a fixed position within the file system and is crucial for the operating system to understand and manage the file system during the mounting process. It serves as a central repository for essential details about the file system's layout and configuration.
2.) सुपर ब्लॉक मेटाडेटा के केंद्रीय भंडार के रूप में कार्य करता है, फ़ाइल सिस्टम प्रकार, आकार, स्थिति और मुक्त ब्लॉक के बारे में जानकारी जैसे विवरण संग्रहीत करता है। सुपर ब्लॉक फ़ाइल सिस्टम में एक महत्वपूर्ण डेटा संरचना है, जो फ़ाइल के बारे में मेटाडेटा रखता है सिस्टम ही. इसमें फ़ाइल सिस्टम प्रकार, आकार, स्थिति, ब्लॉक आकार और इनोड तालिका जैसी अन्य महत्वपूर्ण डेटा संरचनाओं के संकेतक जैसी जानकारी शामिल है। सुपरब्लॉक आम तौर पर फ़ाइल सिस्टम के भीतर एक निश्चित स्थान पर स्थित होता है और माउंटिंग प्रक्रिया के दौरान फ़ाइल सिस्टम को समझने और प्रबंधित करने के लिए ऑपरेटिंग सिस्टम के लिए महत्वपूर्ण है। यह फ़ाइल सिस्टम के लेआउट और कॉन्फ़िगरेशन के बारे में आवश्यक विवरणों के लिए एक केंद्रीय भंडार के रूप में कार्य करता है।

3.) The **inode table** is a data structure that stores information about each file or directory, excluding the actual data content. It includes details like file permissions, ownership, size, and pointers to data blocks.The **inode table** is a data structure in a file system that stores information about files and directories. Each file or directory in the file system is represented by an inode (index node), and the inode table keeps track of these inodes. For each inode, the table contains details such as file permissions, ownership, size, timestamps, and pointers to the data blocks where the actual file content is stored. The inode table essentially serves as a lookup table, enabling the operating system to quickly access and manage information about files and directories in the file system without having to search through the entire storage medium.
3.) **इनोड तालिका** एक डेटा संरचना है जो वास्तविक डेटा सामग्री को छोड़कर, प्रत्येक फ़ाइल या निर्देशिका के बारे में जानकारी संग्रहीत करती है। इसमें फ़ाइल अनुमतियाँ, स्वामित्व, आकार और डेटा ब्लॉक के संकेतक जैसे विवरण शामिल हैं। **इनोड तालिका** फ़ाइल सिस्टम में एक डेटा संरचना है जो फ़ाइलों और निर्देशिकाओं के बारे में जानकारी संग्रहीत करती है। फ़ाइल सिस्टम में प्रत्येक फ़ाइल या निर्देशिका को एक इनोड (इंडेक्स नोड) द्वारा दर्शाया जाता है, और इनोड तालिका इन इनोड का ट्रैक रखती है। प्रत्येक इनोड के लिए, तालिका में फ़ाइल अनुमतियाँ, स्वामित्व, आकार, टाइमस्टैम्प और डेटा ब्लॉक के पॉइंटर्स जैसे विवरण शामिल होते हैं जहां वास्तविक फ़ाइल सामग्री संग्रहीत होती है। इनोड तालिका अनिवार्य रूप से एक लुकअप तालिका के रूप में कार्य करती है, जो ऑपरेटिंग सिस्टम को संपूर्ण स्टोरेज माध्यम में खोज किए बिना फ़ाइल सिस्टम में फ़ाइलों और निर्देशिकाओं के बारे में जानकारी तक त्वरित रूप से पहुंचने और प्रबंधित करने में सक्षम बनाती है। 

4.) Data blocks are where the actual content of files and directories is stored. These blocks hold the information that makes up the files, allowing for data retrieval during normal system operation. Data blocks are portions of storage in a file system that store the actual content of files and directories. When you create or modify a file, the data is written to these blocks. Each file has a logical structure composed of one or more data blocks, and the file system keeps track of their locations through pointers in the inode. The size of a data block is determined by the file system and affects the efficiency of data storage and retrieval. File systems use data blocks to organize and manage the storage of information, enabling the operating system to efficiently locate and access the content of files on the storage device.
4.) डेटा ब्लॉक वे हैं जहां फ़ाइलों और निर्देशिकाओं की वास्तविक सामग्री संग्रहीत होती है। ये ब्लॉक वह जानकारी रखते हैं जो फ़ाइलें बनाती है, जिससे सामान्य सिस्टम ऑपरेशन के दौरान डेटा पुनर्प्राप्ति की अनुमति मिलती है। डेटा ब्लॉक फ़ाइल सिस्टम में भंडारण के भाग होते हैं जो फ़ाइलों और निर्देशिकाओं की वास्तविक सामग्री को संग्रहीत करते हैं। जब आप कोई फ़ाइल बनाते या संशोधित करते हैं, तो डेटा इन ब्लॉकों में लिखा जाता है। प्रत्येक फ़ाइल में एक या अधिक डेटा ब्लॉक से बनी एक तार्किक संरचना होती है, और फ़ाइल सिस्टम इनोड में पॉइंटर्स के माध्यम से उनके स्थानों का ट्रैक रखता है। डेटा ब्लॉक का आकार फ़ाइल सिस्टम द्वारा निर्धारित किया जाता है और डेटा भंडारण और पुनर्प्राप्ति की दक्षता को प्रभावित करता है। फ़ाइल सिस्टम सूचना के भंडारण को व्यवस्थित और प्रबंधित करने के लिए डेटा ब्लॉक का उपयोग करते हैं, जिससे ऑपरेटिंग सिस्टम स्टोरेज डिवाइस पर फ़ाइलों की सामग्री को कुशलतापूर्वक ढूंढने और उन तक पहुंचने में सक्षम होता है। 

Together, these components form the foundation of a Linux file system, facilitating the organization, storage, and retrieval of data on storage devices.
साथ में, ये घटक लिनक्स फ़ाइल सिस्टम की नींव बनाते हैं, जो भंडारण उपकरणों पर डेटा के संगठन, भंडारण और पुनर्प्राप्ति की सुविधा प्रदान करते हैं।


Tuesday, February 20, 2024

Types of Shells in Linux like sh, csh, ksh, bash, tsh, zsh


SHELL is an interface between the user and an operating system. When the user logs in, Linux OS starts a shell for user then shell communicates with the kernel and interprets user commands. 
Kernel controls all essential computer operations, and provides the restriction to hardware access, coordinates all executing utilities, and manages Resources between process. Using kernel only user can access utilities provided by operating system. 

Types of Shell:-

1.) The Bourne Shell ( sh ) -
It was written by Steve Bourne at AT&T Bell Labs. It is the original UNIX shell. It is faster and more preferred by the Unix/Linux users.It is default shell for Solaris OS. It doesn't support advanced features like aliases, command history and built-in arithmetic expressions. 
In Bourne shell, Command full-path name is /bin/sh and /sbin/sh,
Non-root user default prompt is $,
Root user default prompt is #. 

2.) The C Shell (csh) was created by Bill Joy at the University of California at Berkeley. It incorporated features such as aliases and command history. It includes helpful programming features like built-in arithmetic and C-like expression syntax. 
In C shell, Command full-path name is /bin/csh,
Non-root user default prompt is hostname %,
Root user default prompt is hostname #. 

3.) The Korn Shell ( ksh ) -
It was written by David Korn at AT&T Bell Labs. It is a superset of the Bourne shell. So it supports everything in the Bourne shell.It has interactive features. It includes features like built-in arithmetic and C-like arrays, functions, and string-manipulation facilities. It is faster than C shell. It is compatible with script written for C shell.
In Korn shell, Command full-path name is /bin/ksh,
Non-root user default prompt is $,
Root user default prompt is #. 

4.) GNU Bourne-Again Shell ( bash ) -
It is compatible to the Bourne shell. It includes features from Korn and Bourne shell. 
In GNU Bourne-Again shell, Command full-path name is /bin/bash,
Default prompt for a non-root user is bash-g.gg$ 
(g.ggindicates the shell version number like bash-3.50$),
Root user default prompt is bash-g.gg#. 

T Shell – 
Denoted as tsh
It was originally developed for the Plan 9 operating system, but has since been ported to other systems, including Linux, FreeBSD, and macOS.
Command full-path name is /bin/tcsh,
Default prompt for a non-root user is abhishekaslk(user):~>
Root user default prompt is root@abhishekaslk(user):~#.

Z Shell –
Denoted by zsh
Z Shell (zsh) was created by Paul Falstad in 1990 while he was a student at Princeton University. Z Shell is an extended version of the Bourne-Again Shell (bash), with additional features and capabilities.
Command full-path name is /bin/zsh,
Default prompt for a non-root user is abhishekaslk(user)%
Root user default prompt is root@abhishekaslk(user):~#