प्रौद्योगिकी साझेदारी

OS_Synchronization तथा परस्पर बहिष्कार

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

2024-07-04: ऑपरेटिंग सिस्टम् समन्वयनम् तथा परस्परं बहिष्कारस्य अध्ययनस्य टिप्पण्याः

खण्डः ९ समन्वयः परस्परं बहिष्कारः च


समवर्ती प्रक्रियाः अथवा कार्यक्रमाः निष्पादिते सति स्वस्य समापनं नष्टं करिष्यन्ति अर्थात् यदि द्वौ कार्यक्रमौ पृथक् पृथक् क्षेत्रेषु साझासंसाधनस्य उपयोगं कुर्वन्ति तर्हि प्रत्येकस्य चालनस्य परिणामाः भिन्नाः भवितुम् अर्हन्ति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
कारणं यत् वयं साझासंसाधनस्य x रक्षणं न कृतवन्तः यत् प्रोग्राम् a तथा प्रोग्राम् b इत्येतयोः अभिगमनं कर्तव्यम् अस्ति ।


९.१ समन्वयस्य परस्परबहिष्कारस्य च मूलभूताः अवधारणाः

९.१.१ समन्वयसम्बन्धः

परस्परं प्रतिबन्धकः सम्बन्धः समन्वयनम् अस्ति समन्वयस्य सरलः अवगमनः अस्ति यत् प्रक्रियाणां निष्पादने क्रमः भवितुमर्हति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु


९.१.२ परस्परविरोधी सम्बन्धः

यः सम्बन्धः परोक्षरूपेण परस्परं प्रतिबन्धयति सः परस्परविरोधी सम्बन्धः इति उच्यते यथा मुद्रकः
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु


९.१.३ समीक्षात्मकसंसाधनम्

  • येषां संसाधनानाम् एकेन एव प्रक्रियायाः कालान्तरे प्रवेशः अनुमतः भवति, ते गम्भीरसंसाधनाः (अथवा अनन्यसंसाधनाः) इति उच्यन्ते ।
  • महत्त्वपूर्णसम्पदां साझेदारी कृते प्रक्रियाणां मध्ये परस्परं बहिष्कारस्य उपयोगः करणीयः

"निर्माता उपभोक्तृप्रतिरूपम्" ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तुप्रति+ +

首先把变量放到寄存器里面
register1 = counter;
接下来对寄存器进行一个自增
register1 = register1 + 1;
再把结果返回到counter里
counter = register1;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

गणित्र- -

首先把变量放到寄存器里面
register2 = counter;
接下来对寄存器进行一个自减
register2 = register2 - 1;
再把结果返回到counter里
counter = register2;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

समाधानम् : गणकं महत्त्वपूर्णसंसाधनरूपेण व्यवहरन्तु तथा च प्रक्रियां चरगणकं परस्परं अभिगन्तुं अनुमन्यताम् (भवन्तः पश्चात् समन्वयनतन्त्रं ज्ञास्यन्ति)


९.१.४ समीक्षात्मकः खण्डः

हार्डवेयर-महत्त्वपूर्णं संसाधनं वा सॉफ्टवेयर-महत्त्वपूर्णं संसाधनं वा, बहुविधाः प्रक्रियाः परस्परं तत् अभिगन्तुं अर्हन्ति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
एते क्षेत्राणि मूलतः संहिताः सन्ति

  • प्रवेशक्षेत्रम्
  • आलोचनात्मकः खण्डः
  • निर्गमनक्षेत्रम्
  • शेषः क्षेत्रः

९.१.५ समन्वयनतन्त्राणि नियमानाम् अनुसरणं कुर्वन्तु

  • प्रवेशं कर्तुं स्वतन्त्रः

यदा कोऽपि प्रक्रिया गम्भीरखण्डे नास्ति तदा तत् सूचयति यत् गम्भीरखण्डसंसाधनाः निष्क्रियाः सन्ति या प्रक्रिया गम्भीरखण्डे प्रवेशं कर्तुं अनुरोधं करोति तस्याः संसाधनानाम् प्रभावीरूपेण उपयोगाय तत्क्षणमेव स्वस्य गम्भीरखण्डे प्रवेशं कर्तुं अनुमतिः भवेत्

  • यदि भवान् व्यस्तः अस्ति तर्हि प्रतीक्ष्यताम्

यदा विद्यमानप्रक्रिया महत्त्वपूर्णखण्डे प्रविशति तदा सा सूचयति यत् महत्त्वपूर्णसंसाधनं अभिगम्यते अतः महत्त्वपूर्णविभागे प्रवेशं कर्तुं प्रयतमाना अन्यप्रक्रियाः महत्त्वपूर्णसंसाधनस्य परस्परविरोधी प्रवेशं सुनिश्चित्य प्रतीक्षां कुर्वन्ति

  • सीमित प्रतीक्षा

येषां प्रक्रियाणां कृते महत्त्वपूर्णसंसाधनानाम् अभिगमनस्य आवश्यकता भवति, तेषां कृते "मृत्युप्रतीक्षा" अवस्थायां न पतितुं ते सीमितसमये स्वस्य गम्भीरविभागे प्रवेशं कर्तुं शक्नुवन्ति इति सुनिश्चितं कर्तव्यम्

  • मार्गं दत्त्वा प्रतीक्ष्यताम्

यदा प्रक्रिया स्वस्य महत्त्वपूर्णविभागे प्रवेशं कर्तुं न शक्नोति तदा प्रक्रिया "व्यस्तप्रतीक्षा" अवस्थायां न पतति इति निवारयितुं प्रोसेसरः (CPU) तत्क्षणमेव मुक्तव्यः


९.२ सॉफ्टवेयर समन्वयनतन्त्रम्

९.२.१ एकचिह्नविधिः

  • यदि महत्त्वपूर्णखण्डे प्रक्रिया अस्ति वा इति सूचयितुं सार्वजनिकपूर्णाङ्कचरं सेट् कुर्वन्तु, तर्हि प्रक्रियायाः महत्त्वपूर्णविभागात् निर्गमनस्य अनन्तरं ध्वजः निर्गमनक्षेत्रे परिवर्तनं भविष्यति।
  • एकध्वजविधिः सार्वजनिकपूर्णाङ्कचरपरिवर्तनं सेट् करोति यत् प्रक्रियासङ्ख्यां सूचयति यत् यदा turn=0 भवति तदा प्रक्रिया P0 महत्त्वपूर्णखण्डे प्रवेशं कर्तुं शक्नोति ।
  • यदा turn=1 भवति तदा प्रक्रिया P1 इत्यस्य गम्भीरखण्डे प्रवेशः भवति, तथा च गम्भीरखण्डात् निर्गत्य गम्भीरखण्डस्य उपयोगस्य अधिकारः अन्यप्रक्रियायाः कृते दीयते (यदा Pi गम्भीरखण्डात् निर्गच्छति तदा turn=j भवतु)

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
两个进程必须交替进入临界区,若一个进程不再进入临界区,则另一个进程也无法进入临界区,违背了“空闲让进”准则


९.२.२ द्विगुणं चिह्नं प्रथमं जाँचविधिः

द्वि-ध्वज प्रथम-परीक्षण-विधिः प्रत्येकस्य प्रक्रियायाः महत्त्वपूर्ण-खण्डे प्रवेशस्य इच्छां चिह्नितुं बूलियन-सरणिका-ध्वजं[2] सेट् करोति flag[i]=true इत्यस्य अर्थः अस्ति यत् Pi महत्त्वपूर्ण-खण्डे प्रवेशं कर्तुम् इच्छति ।

  • Pi इत्यस्य समीक्षात्मकविभागे प्रवेशात् पूर्वं प्रथमं परीक्ष्यताम् यत् अन्यपक्षः गम्भीरविभागे प्रविष्टः अस्ति वा इति यदि अस्ति तर्हि प्रतीक्ष्यताम्
  • अन्यथा, गम्भीरखण्डे प्रवेशात् पूर्वं flag[i] इत्येतत् true इति सेट् कुर्वन्तु
  • यदा Pi महत्त्वपूर्णखण्डात् निर्गच्छति तदा flag[i] इत्येतत् false इति सेट् कुर्वन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • while पाशः यातायातप्रकाशतन्त्रस्य समकक्षः भवति
  • परपक्षस्य ध्वजं सेट् करणं परपक्षस्य यातायातप्रकाशं परिवर्तयितुं तुल्यम् अस्ति ।
  • परन्तु यतः द्वयोः प्रक्रियायोः प्रथमं ध्वजस्य परीक्षणं भवति [प्रथमं यातायातप्रकाशं पश्यन्तु], तथा च प्रारम्भे उभयम् अपि मिथ्या [उभौ हरितप्रकाशः] अस्ति, तस्मात् सम्भवति यत् प्रक्रियाद्वयं एकस्मिन् समये यातायातप्रकाशं गत्वा एकत्र महत्त्वपूर्णविभागे प्रविशति .

९.२.३ द्विगुणचिह्ननिरीक्षणोत्तरविधिः

द्वि-ध्वज-पश्चात्-परीक्षण-विधिः परपक्षस्य ध्वजस्य जाँचं करिष्यति ततः स्वकीयं सेट् करिष्यति, एतौ द्वौ कार्यौ एकस्मिन् समये कर्तुं न शक्यते, अतः प्रक्रियाद्वयं एकस्मिन् समये महत्त्वपूर्णविभागे प्रवेशं कर्तुं शक्नोति विधिः कल्पितः आसीत्, यः प्रथमं स्वस्य ध्वजं सेट् करोति ततः परपक्षस्य ध्वजं परीक्षते , यदि परपक्षस्य ध्वजः सत्यः अस्ति तर्हि प्रतीक्ष्यताम्

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु


९.२.४ पीटरसन एल्गोरिदम्

पीटरसनस्य एल्गोरिदम् संयोजयतिएकल चिह्न विधितथाडबल मार्क पोस्ट-चेक विधिविचारः अस्ति यत् परस्परविरोधी अभिगमसमस्यायाः समाधानार्थं flag[] इत्यस्य उपयोगः करणीयः, बुभुक्षायाः समस्यायाः समाधानार्थं च turn इत्यस्य उपयोगः करणीयः ।

यदि पक्षद्वयं समीक्षात्मकखण्डे प्रवेशार्थं स्पर्धां करोति तर्हि प्रक्रियायाः अनुमतिः दत्ता यत् परपक्षं गम्भीरखण्डे प्रवेशस्य अवसरं दातुं शक्यते ।
प्रत्येकं प्रक्रियां महत्त्वपूर्णखण्डे प्रवेशात् पूर्वं स्वकीयं ध्वजं सेट् करोति तथा च यत् वारं ध्वजं सेट् करोति यस्य प्रवेशः अनुमतः अस्ति तदनन्तरं परपक्षस्य ध्वजं ज्ञायते तथा च एकस्मिन् समये भ्रमणं करोति यत् केवलं एकस्याः प्रक्रियायाः प्रवेशः कदा भवति इति सुनिश्चितं करोति पक्षद्वयं एकस्मिन् समये गम्भीरखण्डे प्रवेशं कर्तुं अनुरोधं करोति।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
प्रतीक्षाधिकारं त्यक्तुं असफलता
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु


९.३ हार्डवेयर समन्वयनतन्त्रम्

सॉफ्टवेयरस्य कृते प्रत्येकस्य प्रक्रियायाः परस्परं बहिष्कारस्य समस्यायाः समाधानं कठिनं भवति, अतः तस्य महतीः सीमाः सन्ति, अतः समस्यायाः समाधानार्थं सङ्गणकेन केचन विशेषाः हार्डवेयर-निर्देशाः प्राप्यन्ते

९.३.१ व्यत्ययान् निष्क्रियं कुर्वन्तु

(1) व्यवधानं निष्क्रियं कर्तुं परिभाषा

  • सङ्गणकसंरचनायाः सिद्धान्तेषु व्यत्ययस्य निष्क्रियीकरणस्य चर्चा अस्ति अमास्केबल व्यत्ययाः निवारयितुं न शक्यन्ते
  • प्रचालनतन्त्रे प्रक्रियाणां समयनिर्धारणं घण्टाविच्छेदादिषु व्यत्ययेषु अवलम्बते ।
  • गम्भीरखण्डे प्रक्रियायाः निष्पादनस्य समये सङ्गणकतन्त्रं व्यत्ययान् निरुद्धं करोति, येन समयनिर्धारणं न प्रवर्तते तथा च प्रक्रिया वा थ्रेड् स्विचिंग् वा न भविष्यति

(2) व्यत्ययस्य निष्क्रियीकरणस्य दोषाः

  • टर्मिनल्-दुरुपयोगेन गम्भीराः परिणामाः भवितुम् अर्हन्ति
  • यदि बन्दसमयः अतिदीर्घः भवति तर्हि तस्य प्रभावः प्रणाल्याः कार्यक्षमतां करिष्यति ।
  • बहु-CPU-प्रणालीषु व्यत्ययान् निष्क्रियं कर्तुं पद्धतिः न प्रवर्तते एकस्मिन् प्रोसेसर-मध्ये व्यत्ययान् निष्क्रियं कृत्वा अन्येषु प्रोसेसरेषु समानं महत्त्वपूर्णं कोडं निष्पादयितुं प्रक्रियां न निवारयति ।

९.३.२ परीक्षण-सेट्-आदेशः (TS आदेशः) ९.

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

TS निर्देशं कार्यप्रक्रिया (आदिम) इति गणयितुं शक्यते यस्याः निष्पादनप्रक्रिया अविभाज्यः भवति ।

  • lock इत्यस्य द्वौ अवस्थाः सन्ति : १.
    • *lock=FALSE इति सूचयति यत् संसाधनं मुक्तम् अस्ति
    • *lock=TRUE संसाधनस्य उपयोगः क्रियते इति सूचयति

महत्त्वपूर्णखण्डानां प्रबन्धनार्थं TS इत्यस्य उपयोगं कुर्वन्तु तथा च प्रत्येकस्य महत्त्वपूर्णसंसाधनस्य कृते तालं सेट् कुर्वन्तु ।

  • प्रारम्भिकं मूल्यं FALSE अस्ति, यत् सूचयति यत् महत्त्वपूर्णाः संसाधनाः निष्क्रियाः सन्ति ।
  • प्रक्रिया महत्त्वपूर्णखण्डे प्रवेशात् पूर्वं प्रथमं तालस्य परीक्षणार्थं TS इत्यस्य उपयोगं करोति यदि तत् FALSE अस्ति तर्हि महत्त्वपूर्णसंसाधनं बन्दं कृत्वा ताले TRUE मूल्यं प्रविश्य नियुक्तुं शक्नोति ।

९.३.३ स्वैप आदेशः

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
स्वैप निर्देशः इति उच्यते, शब्दद्वयस्य विषयवस्तुनः आदानप्रदानार्थं च उपयुज्यते ।

  • प्रत्येकस्य महत्त्वपूर्णसंसाधनस्य कृते वैश्विकं बूलियनचरलॉक् सेट् कुर्वन्तु, FALSE इत्यस्य प्रारम्भिकमूल्येन सह ।
  • प्रक्रिया परस्परं बहिष्कारं पूर्णं कर्तुं उपर्युक्तहार्डवेयरनिर्देशानां उपयोगं कुर्वन्तु
  • परन्तु एषा पद्धतिः अभिगमप्रक्रियायाः निरन्तरं परीक्षणं अपि करिष्यति तथा च "व्यस्तप्रतीक्षा" अवस्थायां, यत् "समीचीन-प्रतीक्षा" सिद्धान्तस्य अनुपालनं न करोति

९.४ सेमाफोर तन्त्रम्

९.४.१ पूर्णाङ्कः सेमाफोर

इदं संसाधनसङ्ख्यां प्रतिनिधितुं प्रयुक्तः पूर्णाङ्कः S इति परिभाषितः अस्ति अस्य पूर्णाङ्कस्य सेमाफोरस्य कृते केवलं त्रीणि क्रियाणि सन्ति : आरम्भीकरणं (प्रारम्भिकमूल्यं नियुक्तं), प्रतीक्षा (क्षयः), संकेतः (वृद्धिः) ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • प्रतीक्षा, संकेतः च परमाणुक्रियाः सन्ति, निष्पादनकाले बाधितुं न शक्यन्ते ।
  • यदा प्रक्रिया सेमाफोरं परिवर्तयति तदा अन्यः कोऽपि प्रक्रिया एकस्मिन् समये सेमाफोर् परिवर्तयितुं न शक्नोति ।

९.४.२ सेमाफोरस्य अभिलेखः

"व्यस्त प्रतीक्षा" घटनां विना प्रक्रिया समन्वयनतन्त्रम्

  • संसाधनसङ्ख्यां प्रतिनिधितुं प्रयुक्तस्य पूर्णाङ्कचरमूल्यस्य अतिरिक्तम्
  • संसाधनं प्रतीक्षमाणाः सर्वाः प्रक्रियाः लिङ्क् कर्तुं प्रक्रियालिङ्क्ड् सूची L योजयितुं अपि आवश्यकम् अस्ति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • प्रतीक्षाक्रिया P क्रियायाः समकक्षं भवति
  • संकेतक्रिया V क्रियायाः समकक्षं भवति
  • केवलं द्वौ भिन्नौ नामौ, कार्याणि सम्यक् समानानि सन्ति
  • प्रतीक्षा(क) = प(क) २.
  • संकेत(B) = V(A) 1.1.

(1) प्रक्रिया परस्पर बहिष्कारस्य साक्षात्कारार्थं सेमाफोरस्य उपयोगं कुर्वन्तु

परस्परं विरुद्धं सेमाफोर mutex=1 सेट् कुर्वन्तु, ततः wait(mutex) तथा signal(mutex) इत्येतयोः मध्ये महत्त्वपूर्णसंसाधनं प्राप्तुं प्रत्येकस्य प्रक्रियायाः कृते महत्त्वपूर्णं विभागं स्थापयन्तु ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु


(2) प्रक्रियासमन्वयनं प्राप्तुं सेमाफोरस्य उपयोगं कुर्वन्तु

एकं समन्वयन सेमाफोर S=0 सेट् कुर्वन्तु, येन प्रथमं निष्पादनीयं कथनं संकेतं(S), ततः wait(S)
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु