ऑपरेटिंग सिस्टम में, Directory एक container होता है जिसका प्रयोग folders और files को स्टोर करने के लिए किया जाता है। यह एक hierarchical तरीके से files और folders को organize (व्यवस्थित) करता है। दूसरे शब्दों में कहें तो, “directory एक disk में files का एक collection होता है।” बहुत सारें users एक file system में हजारों और लाखों files को create करते हैं। इन files को अच्छी तरह से organize करने के लिए file system के द्वारा directory structure का उपयोग किया जाता है।

आसान शब्दों में कहें तो, “Directory structure एक स्ट्रक्चर होता है जिसका प्रयोग file system के द्वारा files और folders को अच्छे तरीके से organize करने के लिए किया जाता है।

Types of Directory Structure – डायरेक्टरी स्ट्रक्चर के प्रकार

डायरेक्टरी स्ट्रक्चर के प्रकार निम्नलिखित होते हैं:-

1. Single Level Directory Structure 

single level directory structure के पास केवल एक directory होती है जिसे root directory कहते हैं. इसमें root directory के अंदर users को sub-directory बनाने की अनुमति नहीं होती । अलग-अलग users के द्वारा create की गयी files केवल root directory में स्टोर होती है ।

इसके लाभ (Advantage) –

  • यह सबसे सरल डायरेक्टरी स्ट्रक्चर है और इसे implement करना बहुत आसान होता है.
  • यदि files का size छोटा होता है तो इन्हें बहुत तेजी से search किया जा सकता है.
  • इस डायरेक्टरी स्ट्रक्चर में किसी file को create, update, delete और search करना आसान होता है.

इसकी हानियाँ (Disadvantage) –

  • इसमें दो files का एक समान name नहीं हो सकता. अगर किसी user ने पहले से मौजूद file के जैसा अपनी file का नाम रखा है. तो जो पुरानी file होगी वह delete हो जाएगी.
  • अगर directory बहुत बड़ी होती है तो फाइल को search करने में बहुत अधिक समय लगता है.
  • इसमें हम समान प्रकार की files को एक group में नहीं रख सकते.

2. Two-Level Directory Structure

इस डायरेक्टरी स्ट्रक्चर में, एक यूजर root directory के अंदर सीधे directory को create कर सकता है परन्तु यूजर उस create की गयी directory के अंदर sub-directory को create नहीं कर सकता। Two-level file directory structure के द्वारा प्रत्येक user अपनी खुद की directory को create करके files को स्टोर कर सकता है।

इसके लाभ (Advantage) –

  • इसमें हम पूरा path दे सकते हैं जैसे:- /user-name/directory-name.
  • हम इसमें file का same name दे सकते हैं परन्तु different directory में.
  • pathname और user-grouping के कारण इसमें फाइल को search करना आसान हो जाता है.

इसकी हानियाँ –

  • इसमें user दूसरे users के साथ file को share नहीं कर सकता.
  • यह बहुत ज्यादा scalable नहीं है क्योंकि एक ही प्रकार की files को एक group में नहीं रख सकते.

3. Tree Directory Structure

इसमें root directory को छोड़कर प्रत्येक directory या file के पास केवल एक parent directory होती है. यह two-level directory की कमियों को दूर करता है. हम इसमें एक समान प्रकार की files को एक group में रख सकते हैं। एक tree structure सबसे ज्यादा प्रयोग किया जाना वाला directory structure है. Tree के पास root directory होती है और system में प्रत्येक file के पास एक यूनिक path होता है ।

Advantage (इसके फायदे) –

  • इसमें हम पूरे pathname को दे सकते हैं.
  • यह बहुत जयादा scalable होता है क्योंकि हम इसमें समान प्रकार के files को एक group में रख सकते हैं.
  • इसमें name collision बहुत कम होता है.
  • इसमें searching बहुत आसान है क्योंकि हम absolute path के अलावा relative path का भी उपयोग कर सकते हैं.

इसके नुकसान –

  • इसमें हम files को share नहीं कर सकते.
  • यह efficient नहीं होती है क्योंकि किसी file को access करने के लिए हमें बहुत सारीं directories में जाना पड़ता है.
  • इसमें प्रत्येक फाइल hierarchical model में fit नहीं बैठती है इसलिए हमें files को बहुत सारीं directories में save करना पड़ता है.

4. Acyclic-Graph Directory Structure

एक acyclic-graph एक graph होता है जिसमें cycle नहीं होती है और इसमें sub-directories और files को share किया जा सकता है। इस डायरेक्टरी स्ट्रक्चर में एक file या directory की बहुत सारीं parent directories होती हैं। इसका उपयोग उस स्थिति में किया जाता है जब दो programmer एक ही project पर काम कर रहे होते हैं और उन्हें files की आवश्यकता होती है। तो programmers अपनी files को अलग-अलग directory में save कर सकते हैं और share कर सकते हैं ।

इसके लाभ –

  • इसके द्वारा हम files को share कर सकते हैं.
  • अलग-अलग paths होने के कारण इसमें files को search करना आसान होता है.

इसकी हानियाँ –

  • हम files को linking के माध्यम से share करते है इसलिए delete करते वक्त हमें परेशानी का सामना करना पड़ सकता है.
  • यदि link जो है वह softlink होता है तो file को delete करने बाद वहां केवल एक dangling pointer बच जाता है.
  • यदि लिंक hardlink होता है तो file को delete करने पर हमें उससे जुड़े references को भी delete करना होगा.

5. General Graph Directory Structure

इस डायरेक्टरी स्ट्रक्चर में, हम directory के अंदर directory के cycle को create कर सकते हैं जहाँ हम बहुत सारीं directories को derive कर सकते हैं। इस प्रकार की डायरेक्टरी स्ट्रक्चर की मुख्य परेशानी यह है कि इसमें files और directories के द्वारा लिया गया memory size या space को calculate करना बहुत मुश्किल होता है।

इसका लाभ –

  • इसमें cycles को create किया जा सकता है.
  • यह अन्य directory structure की तुलना में ज्यादा flexible होती है.

इसकी हानियाँ –

  • यह दूसरों की तुलना में जयादा महँगी होती है.
  • इसे garbage collection की जरूरत होती है.

Leave a Reply