सीधे मुख्य सामग्री पर जाएं

thread in os in hindi

आज हम computer course in hindi मे हम thread in os in hindi के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं-

thread in os in hindi:-

इस कंट्रोल के flow को थ्रेड (thread) कहा जाता है और हम जानते हैं कि प्रोग्राम , instructions का एक set है । ये instruction single program के कई भागों का निर्माण करते हैं और प्रोग्राम के प्रत्येक Independent भाग को प्रोग्राम का थ्रेड (thread) कहा जाता है । 

Types of thread in hindi (थ्रेड) :-

( 1 ) single thread (सिंगल थ्रेड) 
( 2 ) multi thread (मल्टि थ्रेड) 
जिस प्रोसेस में कंट्रोल का केवल एक flow होता है हम उसे single thread ( लाइट वेट प्रोसेस ) कहते है । 
जिस प्रोसेस में कंट्रोल के कई flow होते हैं , उसे multi thread ( हेवी वेट प्रोसेस ) कहते है । 
एक thread , CPU उपयोग की मूलभूत इकाई है और इसमें एक thread ID , एक program counter , एक register set तथा एक steak होता हैं । दूसरे thread के साथ यह कोड सेक्शन एवं डाटा सेक्शन और दूसरे ऑपरेटिंग सिस्टम resource , जैसे ओपन फाइल और signal को share करता है । इसमें एक traditional single threaded process और एक मल्टिथ्रेडेड प्रोसेस के बीच के अंतर को किया गया है ।

इस समय में डेस्कटॉप PCs में use कई software package , multithreaded होते हैं । यह एक एप्लिकेशन को कंट्रोल के Different threads के साथ एक separate process के रूप में executed किया जाता है और जब तक एक अन्य thread नेटवर्क से पुनः डाटा प्राप्त करता है , वेब ब्राउसर के पास एक thread डिस्प्ले इमेज या टेक्स्ट हो सकता है और एक वर्ड प्रोसेसर के पास ग्राफिक्स को डिसप्ले करने के लिए एक thread और user से की स्ट्रोक पढ़ने के लिए एक अन्य thread हो सकता है तथा ब्रेकग्राउंड में spelling और ग्रामर चेकिंग के लिये एक तीसरा thread भी हो सकता है ।
thread और रीमोट प्रोसिजर कॉल ( RPC ) सिस्टम्स में महत्वपूर्ण  हैं और साधारण फंक्शन कॉल के समान RPC एक communication mechanism available करवा कर interprocess communication देता है । इसमें RPC server multithread होते हैं । जब किसी सर्वर को कोई संदेश प्राप्त होता है और तो separate thread का use कर उसके according कार्य किया जाता है । इससे सर्वर एक ही समय में कई कार्य कर सकता है। 

Advantage of Multithreaded Programming:-

1. Responsiveness:-

 इसमें प्रोग्राम के किसी भाग के block हो जाने पर अथवा उसके द्वारा बड़ा कार्य करने पर भी multithreading उसे निरंतर जारी रहने की अनुमति देती है और इससे user का responsibility बढ़ जाता है । 

2. resource sharing :-

इसमें सामान्य thread memory और associated process के resource को share करते हैं और code sharing का फायदा यह है कि यह एक एप्लिकेशन को समान address space में विभिन्न thread के activities करने की permission देता है । 

3. Economy:- 

इसमें प्रोसेस निर्माण के लिए मेमोरी और resource का एलोकेशन बहुत महँगा होता है और इसके विपरीत , switch thread को बनाना सस्ता है , क्योंकि thread संबंधित प्रोसेस के resource को share करते हैं जिससे सामान्य , प्रोसेस को बनाने और मेनेज करने में thread की तुलना में बहुत अधिक समय लगता है ।

4. Use of Multiprocessor Architecture :-

इसमें multithreading के फायदे multiprocessor architecture में बढ़ जाते हैं और जहाँ प्रत्येक thread अलग-अलग प्रोसेसर पर parallel run हो सकते हैं और कितने CPU उपलब्ध है , इससे प्रभावित हुए बिना single thread process केवल एक CPU पर ही रन की जाती सकती है । एक मल्टि- CPU मशीन पर multithreading से concurrency बढ़ती है । इसमें एक Single - Processor Architecture में , प्रत्येक thread के बीच CPU इतनी तेजी से गति करते हैं जिससे की Parallelism हो जाता है । परंतु reality में एक समय में एक ही thread रन होता है ।

user and Kernel threads:-

1. User threads:-

इस user thread को kernel thread की तुलना में अधिक सपोर्ट किया जाता है और user पर एक thread library द्वारा ये implement किये जाते हैं । इसके library बिना kernel  की सहायता के thread निर्माण , शेडयूलिंग और Management की सुविधाएँ उपलब्ध करवाती है । इसमें चूंकि kernel user - level thread से Unaware होता है । और इसलिये thread के निर्माण और शेडयूलिंग का कार्य बिना kernel intervention की आवश्यकता के user space में किया जाता है और इसी कारण , यूजर - लेवल थ्रेड को बनाना और मेनेज करना तीव्र गति से होता है , लेकिन इसकी कुछ कमजोरियाँ भी है । 

2. kernel thread:-

kernel thread सीधे ऑपरेटिंग सिस्टम द्वारा support किये जाते हैं । kernel , kernel space में thread निर्माण , शेड्यूलिंग और management का कार्य करता है । thread management ऑपरेटिंग सिस्टम द्वारा किया जाता है , इसलिए kernel thread का निर्माण और management , User threads की तुलना में धीमी गति से होता है । kernel , thread management करते हैं , इसलिये यदि एक thread blocking system call को करता है तो kernel Execution के लिए app में दूसरे thread को schedule कर सकता है । एक multiprocessor environment में , kernel विभिन्न प्रोसेसर पर thread को schedule कर सकता है । ऑपरेटिंग सिस्टम , जैसे विन्डोज NT , विन्डोज 2000 , Solaries 2 , BeOS और Tru4 UNIX ( डिजिटल यूनिक्स ) kernel thread को support करते हैं । जावा लैंग्वेज में भी thread के लिये support दिया गया है । परंतु , चूंकि जावा thread का निर्माण और management जावा virtual machine ( JVM ) द्वारा किया जाता है , इसीलिये ये आसानी से न तो यूजर thread और न ही kernel thread में आते हैं ।

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Recovery technique in dbms । रिकवरी। recovery in hindi

 आज हम Recovery facilities in DBMS (रिकवरी)   के बारे मे जानेगे रिकवरी क्या होता है? और ये रिकवरी कितने प्रकार की होती है? तो चलिए शुरु करतेे हैं- Recovery in hindi( रिकवरी) :- यदि किसी सिस्टम का Data Base क्रैश हो जाये तो उस Data को पुनः उसी रूप में वापस लाने अर्थात् उसे restore करने को ही रिकवरी कहा जाता है ।  recovery technique(रिकवरी तकनीक):- यदि Data Base पुनः पुरानी स्थिति में ना आए तो आखिर में जिस स्थिति में भी आए उसे उसी स्थिति में restore किया जाता है । अतः रिकवरी का प्रयोग Data Base को पुनः पूर्व की स्थिति में लाने के लिये किया जाता है ताकि Data Base की सामान्य कार्यविधि बनी रहे ।  डेटा की रिकवरी करने के लिये यह आवश्यक है कि DBA के द्वारा समूह समय पर नया Data आने पर तुरन्त उसका Backup लेना चाहिए , तथा अपने Backup को समय - समय पर update करते रहना चाहिए । यह बैकअप DBA ( database administrator ) के द्वारा लगातार लिया जाना चाहिए तथा Data Base क्रैश होने पर इसे क्रमानुसार पुनः रिस्टोर कर देना चाहिए Types of recovery (  रिकवरी के प्रकार ):- 1. Log Based Recovery 2. Shadow pag

Query Optimization in hindi - computers in hindi 

 आज  हम  computers  in hindi  मे query optimization in dbms ( क्वैरी ऑप्टीमाइजेशन) के बारे में जानेगे क्या होता है और क्वैरी ऑप्टीमाइजेशन (query optimization in dbms) मे query processing in dbms और query optimization in dbms in hindi और  Measures of Query Cost    के बारे मे जानेगे  तो चलिए शुरु करते हैं-  Query Optimization in dbms (क्वैरी ऑप्टीमाइजेशन):- Optimization से मतलब है क्वैरी की cost को न्यूनतम करने से है । किसी क्वैरी की cost कई factors पर निर्भर करती है । query optimization के लिए optimizer का प्रयोग किया जाता है । क्वैरी ऑप्टीमाइज़र को क्वैरी के प्रत्येक operation की cos जानना जरूरी होता है । क्वैरी की cost को ज्ञात करना कठिन है । क्वैरी की cost कई parameters जैसे कि ऑपरेशन के लिए उपलब्ध memory , disk size आदि पर निर्भर करती है । query optimization के अन्दर क्वैरी की cost का मूल्यांकन ( evaluate ) करने का वह प्रभावी तरीका चुना जाता है जिसकी cost सबसे कम हो । अतः query optimization एक ऐसी प्रक्रिया है , जिसमें क्वैरी अर्थात् प्रश्न को हल करने का सबसे उपयुक्त तरीका चुना