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):~#

Sunday, February 18, 2024

Difference Between Shell and Kernel शैल और कर्नेल के बीच अंतर

A shell is basically an interface present between the kernel and the user. A kernel is the very core of a typical OS.
शेल मूल रूप से कर्नेल और उपयोगकर्ता के बीच मौजूद एक इंटरफ़ेस है। कर्नेल एक विशिष्ट OS का मूल है। 

Meaning:- A shell is a CLI (command-line interpreter). A kernel is a type of low-level program that has its interfacing with the hardware on top of which all the applications run (disks, RAM, CPU, etc.).
अर्थ:- शेल एक सीएलआई (कमांड-लाइन दुभाषिया) है। कर्नेल एक प्रकार का निम्न-स्तरीय प्रोग्राम है जिसका इंटरफ़ेस हार्डवेयर के साथ होता है जिसके शीर्ष पर सभी एप्लिकेशन चलते हैं (डिस्क, रैम, सीपीयू, आदि)। 

Uses and Purpose:- A shell allows all of its users to establish communication with the kernel. A kernel functions to control all the tasks that come with a system.
उपयोग और उद्देश्य:- एक शेल अपने सभी उपयोगकर्ताओं को कर्नेल के साथ संचार स्थापित करने की अनुमति देता है। एक कर्नेल सिस्टम के साथ आने वाले सभी कार्यों को नियंत्रित करने का कार्य करता है। 

Types:-  Korn Shell, C Shell, Bourne Shell, etc., are types of shells.Hybrid kernel, Micro-kernel, Monolithic kernel, etc., are types of kernels.
प्रकार:- कॉर्न शेल, सी शेल, बॉर्न शेल आदि शेल के प्रकार हैं। हाइब्रिड कर्नेल, माइक्रो-कर्नेल, मोनोलिथिक कर्नेल आदि कर्नेल के प्रकार हैं। 

Functions:- We can use shell commands such as mkdir, ls, and many more for requesting the completion of the specific operation to the operating system (OS). A kernel carries out the commands on a group of various files by specifying the pattern that can match.
कार्य:- हम ऑपरेटिंग सिस्टम (ओएस) के लिए विशिष्ट ऑपरेशन को पूरा करने का अनुरोध करने के लिए शेल कमांड जैसे एमकेडीआईआर, एलएस और कई अन्य का उपयोग कर सकते हैं। एक कर्नेल विभिन्न फ़ाइलों के समूह पर उस पैटर्न को निर्दिष्ट करके कमांड निष्पादित करता है जो मेल खा सकता है। 

Management:- A shell performs memory management.A kernel performs process management.
प्रबंधन:- एक शेल मेमोरी प्रबंधन करता है। एक कर्नेल प्रक्रिया प्रबंधन करता है। 

Layer of OS:-The shell forms the outer layer of the operating system.The kernel forms the inner layer of the operating system.
ओएस की परत:-शेल ऑपरेटिंग सिस्टम की बाहरी परत बनाती है। कर्नेल ऑपरेटिंग सिस्टम की आंतरिक परत बनाती है। 

Machine-Understandability मशीन-समझने की क्षमता:- A shell interacts with all of its users and then interprets into a language that is understandable by the machine.A kernel interacts with the hardware directly because it accepts the machine-understandable language from the available shell.
एक शेल अपने सभी उपयोगकर्ताओं के साथ इंटरैक्ट करता है और फिर मशीन द्वारा समझने योग्य भाषा में व्याख्या करता है। एक कर्नेल सीधे हार्डवेयर के साथ इंटरैक्ट करता है क्योंकि यह उपलब्ध शेल से मशीन-समझने योग्य भाषा को स्वीकार करता है।

Wednesday, April 12, 2023

OS Notes in Hindi English Download Link

 OS Notes Download 

Unit1_OS_Hindi , Unit1_OS_English



Multitasking Operating System मल्टीटास्किंग ऑपरेटिंग सिस्टम


A Multitasking Operating System allows a single user to perform multiple tasks at the same time. The operating system rapidly switches the CPU between tasks, creating the illusion that all tasks are running simultaneously.

मल्टीटास्किंग ऑपरेटिंग सिस्टम एक ही यूज़र को एक साथ कई कार्य करने की सुविधा देता है। ऑपरेटिंग सिस्टम बहुत तेज़ी से CPU को विभिन्न कार्यों के बीच स्विच करता है, जिससे सभी कार्य एक साथ चलते हुए प्रतीत होते हैं।


In multitasking systems, each task gets a small amount of CPU time called a time slice. This efficient time-sharing mechanism improves system responsiveness.

मल्टीटास्किंग सिस्टम में प्रत्येक कार्य को CPU समय का एक छोटा भाग दिया जाता है, जिसे टाइम स्लाइस कहा जाता है। यह टाइम-शेयरिंग प्रणाली सिस्टम की प्रतिक्रिया क्षमता को बढ़ाती है।


How Multitasking Operating System Works ⚙️

The operating system divides CPU time among multiple tasks. When one task’s time slice ends, the CPU is switched to another task.

ऑपरेटिंग सिस्टम CPU समय को कई कार्यों में विभाजित करता है। जब एक कार्य का टाइम स्लाइस समाप्त हो जाता है, तब CPU दूसरे कार्य को दे दिया जाता है।


This switching happens so quickly that users feel all applications are running at the same time.

यह स्विचिंग इतनी तेज़ होती है कि यूज़र को सभी एप्लिकेशन एक साथ चलते हुए महसूस होते हैं।


Types of Multitasking Operating System 🔀

Multitasking operating systems can be classified into two types.

मल्टीटास्किंग ऑपरेटिंग सिस्टम को दो प्रकारों में बाँटा जा सकता है।


1. Preemptive Multitasking ⚡

In preemptive multitasking, the operating system decides when a task will be interrupted and moved out of the CPU.

प्रीएम्प्टिव मल्टीटास्किंग में ऑपरेटिंग सिस्टम यह तय करता है कि किसी कार्य को कब CPU से हटाया जाएगा।


2. Cooperative Multitasking 🤝

In cooperative multitasking, a running task voluntarily releases the CPU.

कोऑपरेटिव मल्टीटास्किंग में चल रहा कार्य स्वयं CPU को छोड़ता है।


Features of Multitasking Operating System ✨

Multitasking operating systems provide several important features.

मल्टीटास्किंग ऑपरेटिंग सिस्टम की कुछ प्रमुख विशेषताएँ होती हैं।


• Multiple tasks for a single user
• Time-sharing mechanism
• Fast task switching
• Improved system responsiveness

• एक यूज़र के लिए कई कार्य
• टाइम-शेयरिंग प्रणाली
• तेज़ कार्य स्विचिंग
• बेहतर सिस्टम प्रतिक्रिया


Advantages of Multitasking Operating System ✅

Multitasking operating systems greatly enhance user productivity.

मल्टीटास्किंग ऑपरेटिंग सिस्टम यूज़र की उत्पादकता को काफी बढ़ाते हैं।


Users can perform multiple activities like browsing, listening to music, and editing documents simultaneously.

यूज़र एक साथ ब्राउज़िंग, म्यूज़िक सुनना और डॉक्यूमेंट एडिट करना जैसे कई कार्य कर सकते हैं।


Disadvantages of Multitasking Operating System ❌

Multitasking also comes with certain limitations.

मल्टीटास्किंग की कुछ सीमाएँ भी होती हैं।


• High CPU and memory usage
• System may slow down
• Complex task scheduling

• CPU और मेमोरी का अधिक उपयोग
• सिस्टम धीमा हो सकता है
• जटिल कार्य शेड्यूलिंग


Example of Multitasking Operating System 🖥️

Multitasking operating systems are widely used in personal computers.

मल्टीटास्किंग ऑपरेटिंग सिस्टम का उपयोग सामान्यतः पर्सनल कंप्यूटरों में किया जाता है।


Windows, Linux, and macOS are popular examples of multitasking operating systems.

Windows, Linux और macOS मल्टीटास्किंग ऑपरेटिंग सिस्टम के प्रमुख उदाहरण हैं।


Difference Between Multiprogramming and Multitasking 📊

Multiprogramming focuses on maximizing CPU utilization, while multitasking focuses on user interaction and responsiveness.

मल्टीप्रोग्रामिंग का मुख्य उद्देश्य CPU उपयोग बढ़ाना है, जबकि मल्टीटास्किंग यूज़र इंटरैक्शन और प्रतिक्रिया पर केंद्रित होती है।


Conclusion ✨

Multitasking operating systems are essential for modern computing as they allow users to perform multiple tasks efficiently and smoothly.

आधुनिक कंप्यूटिंग के लिए मल्टीटास्किंग ऑपरेटिंग सिस्टम अत्यंत आवश्यक हैं क्योंकि ये यूज़र्स को कई कार्य कुशलतापूर्वक और आसानी से करने की सुविधा देते हैं।

Software and It's types - application, system and utility software सॉफ्टवेयर एवं उसके प्रकार

 Software is an important component of computer system. It is a collection of different programs which are used to perform a specific task. we can't touch or sense computer software because it runs inside hardware device. Software's and hardware's are Supplementary. it means we can't achieve one in the absence of another. 

सॉफ्टवेयर कंप्यूटर सिस्टम का एक महत्वपूर्ण घटक है। यह विभिन्न प्रोग्रामों का एक संग्रह है जो किसी विशिष्ट कार्य को करने के लिए उपयोग किए जाते हैं। हम कंप्यूटर सॉफ्टवेयर को न तो छू सकते हैं और न ही महसूस कर सकते हैं क्योंकि यह हार्डवेयर डिवाइस के अंदर चलता है। सॉफ्टवेयर और हार्डवेयर पूरक हैं। इसका अर्थ है कि हम एक के अभाव में दूसरे को प्राप्त नहीं कर सकते है। 









Software is categorized into three types-

1) Application Software

2) System Software

3) Utility Software.

सॉफ्टवेयर को तीन प्रकारों में वर्गीकृत किया गया है-

1) एप्लीकेशन सॉफ्टवेयर

2) सिस्टम सॉफ्टवेयर

3) यूटिलिटी सॉफ्टवेयर।

1) Application Software-  This type of software's are used to perform tasks given by the user. It is also called application software or User  Software or Apps. Application Software requests system software to access hardware devices of computer after that system software approves its request and then it can give input to hardware device and get output from it after processing.Absence of application software doesn't affect working of Computer System. Example- M.S.office, PDF reader, Computer games, audio-video players, image editors, social networking apps, tally, auto-cad etc.

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

2) System Software-  This type of software's are used to control hardware devices of computer System. It is called  System software.  It has full control over computer hardware and they can approve or disapprove request of application software's for accessing a particular hardware device of computer. In absence of system software computer and its hardware devices doesn't work properly.Thus system software is must required for working of computer system. Example- Assembler, Compiler, Linker, loader, Interpreter, scheduler and operating system.

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

3) Utility Software- These are special type of application software which are useful for both computer system and it's users because it increases their performance. This are provided as complementary or by default apps with computer system.Example- Antivirus, memory cleaner, screen saver, themes, digital clock, calculator, notes etc.

यूटिलिटी सॉफ्टवेयर- ये एक विशेष प्रकार के एप्लीकेशन सॉफ्टवेयर होते हैं जो कंप्यूटर सिस्टम और इसके उपयोगकर्ताओं दोनों के लिए उपयोगी होते हैं क्योंकि यह उनके प्रदर्शन को बढ़ाता है। यह कंप्यूटर सिस्टम के साथ पूरक या डिफ़ॉल्ट ऐप्स के रूप में प्रदान किया जाता है।उदाहरण- एंटीवायरस, मेमोरी क्लीनर, स्क्रीन सेवर, थीम, डिजिटल क्लॉक, कैलकुलेटर, नोट्स आदि।



Operating System and its goals/objectives ऑपरेटिंग सिस्टम एवं उसके लक्ष्य/उद्देश्य

 Operating System is a system software. It is a collection of different programs which work between different users and computer hardware. It means, it is an interface between user and hardware of computer system. So that application programs can run on Computer in effective and convenient manner. OS is very important part of any computer system because it manages all the resources of computer like input-output devices, Ram-Rom, hard disc, microprocessors, network connection etc. 


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

Computer system architecture is divided into four parts :-
1) Hardware devices
2) System software (Operating System)
3) Application software / User software / Utility software
4) Users

कंप्यूटर सिस्टम आर्किटेक्चर को चार भागों में बांटा गया है:-
1) हार्डवेयर उपकरण
2) सिस्टम सॉफ्टवेयर (ऑपरेटिंग सिस्टम)
3) एप्लीकेशन सॉफ्टवेयर / यूजर सॉफ्टवेयर / यूटिलिटी सॉफ्टवेयर
4) उपयोगकर्ता

Goals / Objectives of Operating System-

There are two main objective of OS 
1) Convenience- The primary goal of OS is to make computer system easier for its user. It means, OS provides a simple interface for communication between user and computer.

2) Efficiency- The secondary goal of OS is to allocate all the resources of system to various application programs as efficiently as possible, due to which application programs can provide desired output to it's users very fast and with accuracy.

ऑपरेटिंग सिस्टम के लक्ष्य/उद्देश्य-
OS के दो मुख्य उद्देश्य हैं
1) सुविधा- OS का प्राथमिक लक्ष्य अपने उपयोगकर्ता के लिए कंप्यूटर सिस्टम को आसान बनाना है। इसका अर्थ है, OS उपयोगकर्ता और कंप्यूटर के बीच संचार के लिए एक सरल इंटरफ़ेस प्रदान करता है।

2) क्षमता- OS का द्वितीयक लक्ष्य सिस्टम के सभी संसाधनों को, विभिन्न एप्लिकेशन प्रोग्रामों को यथासंभव कुशलता से आवंटित करना है, जिसके कारण एप्लिकेशन प्रोग्राम अपने उपयोगकर्ताओं को बहुत तेजी से और सटीकता के साथ वांछित आउटपुट प्रदान कर सकते हैं।

kde vs gnome (केडीई vs जीनोम ), gnome vs kde (जीनोम vs केडीई ) in hindi in english

  


Sr.No.

GNOME (जीनोम)

KDE (केडीई)

1

The full form of GNOME is GNU Network Object Model Environment. It is a desktop environment or a graphical user interface that runs on view level of a computer system.

GNOME का पूरा नाम GNU नेटवर्क ऑब्जेक्ट मॉडल एनवायरनमेंट है। यह एक डेस्कटॉप वातावरण या एक ग्राफिकल यूजर इंटरफेस है जो कंप्यूटर सिस्टम के व्यू लेवल पर रन होता है।

 

The full form of KDE is K-Desktop Environment. It is a desktop environment designed by the KDE Community for cross-platform applications run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS etc.

KDE का पूरा नाम के-डेस्कटॉप एनवायरनमेंट है। यह एक डेस्कटॉप वातावरण है जिसे केडीई समुदाय द्वारा लिनक्सफ्रीबीएसडीमाइक्रोसॉफ्ट विंडोजसोलारिस और मैक ओएस आदि पर रन किये जाने  वाले क्रॉस-प्लेटफॉर्म एप्लीकेशन के लिए डिजाइन किया गया है।

2

It is free and open source software.

यह फ्री और ओपन सोर्स सॉफ्टवेयर है।  

It is free and open source software.

यह फ्री और ओपन सोर्स सॉफ्टवेयर है। 

3

Motto- An intuitive and attractive desktop for users

आदर्श वाक्य- उपयोगकर्ताओं के लिए एक सहज और आकर्षक डेस्कटॉप

Motto- Experience Freedom!

आदर्श वाक्य- स्वतंत्रता का अनुभव करें! 

 

4

A top-to-bottom free desktop environment designed for simplicity, accessibility, and ease of internationalization and localization.

एक टॉप-टू-बॉटम मुक्त डेस्कटॉप वातावरण जो  सरलता,पहुँच और अंतर्राष्ट्रीयकरण और स्थानीयकरण में आसानी के लिए डिज़ाइन किया गया है।

A one-stop, integrated desktop environment; carrying out day-to-day tasks without reliance on command-line interface.

एक-स्टॉपएकीकृत डेस्कटॉप वातावरणकमांड-लाइन इंटरफेस पर निर्भर हुए बिना दिन-प्रतिदिन के कार्यों को पूरा करना। 

5

Introduced in 1999 by Miguel de Icaza and Federico Mena and Developed by The GNOME Project

1999 में मिगुएल डे इकाज़ा और फेडेरिको मेना द्वारा प्रस्तुत किया गया और जीनोम प्रोजेक्ट द्वारा विकसित किया गया

Introduced in 1996 by Matthias Ettrich and Developed by KDE Community

मैथियास एट्रिच द्वारा 1996 में प्रस्तुत किया गया और केडीई समुदाय द्वारा विकसित किया गया 

 

6

Minimum System Requirements   -

700 Mhz CPU, 768 MB RAM         

न्यूनतम सिस्टम आवश्यकताएँ-

700 मेगाहर्ट्ज सीपीयू, 768 एमबी रैम

Minimum System Requirements-

1 Ghz CPU, 615 MB RAM

न्यूनतम सिस्टम आवश्यकताएँ-

1 गीगाहर्ट्ज सीपीयू, 615 एमबी रैम 

7

Its Current Stable Release is         

3.10 (September 26, 2013)

इसका वर्तमान स्थिर संस्करण-

3.10 (26 सितंबर, 2013) है 

Its Current Stable Release is

4.11 (August 14, 2013)

इसका वर्तमान स्थिर संस्करण-

4.11 (अगस्त 14, 2013) है 

8

It uses GTK+ Toolkit

यह जीटीके+ टूलकिट का उपयोग करता है

It uses QT Toolkit

यह क्यूटी टूलकिट का उपयोग करता है 

9

Products - GTK Apps

उत्पाद - जीटीके ऐप्स

Products - KDE Software Compilation, Calligra Suite, KDevelop, Amarok, etc

उत्पाद - केडीई सॉफ्टवेयर संकलनकैलीग्रा सूटकेडेवलपअमरोक इत्यादि 

10 Reference:-                       

Website - GNOME.org   

Website- kde.org

Wikipedia- kde, gnome , diffen.com, GNOME.org , kde.org