بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

سيستم مديريت I/O
I/O Management System

 

سيستم مديريت I/O چيست ؟

 

مسيرI/O براي نوشتن داده روي ديسک چگونه است؟

چه استراتژي هايي براي مديريت بافرهاي I/O وجود دارد؟

ساختار سيستم مديريت I/O در Unix چگونه است؟

انواع سيستمهاي I/O در Unix  کدامند؟

اسلاید 2 :

سيستم مديريت I/O

 مسيرI/O براي نوشتن داده روي ديسک چگونه است؟

مثال:

يک برنامه C در نظر ميگيريم که درخواست نوشتن يک بايت داده را در يک فايل مينمايد.

براي انجام اين درخواست چه مراحلي در سيستم طي ميشود؟

 

مرحله (1): برنامه C:

درخواست I/O  : write (textfile, ch, 1)   

 

مرحله (2): سيستم مديريت فايلها (File Manager):

به جدول Opened File Table  مراجعه ميکند.

بافر I/O مربوط به سکتور مورد نظر را آماده ميکند. (Load)      (چگونه؟)

بايت را در محل مناسب در بافر مينويسد.

سپس I/0 Processor را صدا (in oke) ميکند.

اسلاید 3 :

 مسيرI/O براي نوشتن داده روي ديسک چگونه است؟

     مثال (ادامه...):

مرحله (3): پردازنده I/O  (I/O Processor ):

پردازنده I/O بطورمستقل از پردازنده اصلي (CPU) عمل ميبکند.        (چرا؟)

بافر I/O را به فرمت مناسب ديسک تبديل و آماده تحويل ميکند.

منتظر آمادگي کنترلر ديسک (Disk Controller) براي دريافت ميشود.

سپس محتواي بافر را براي کنترلر ديسک ارسال ميکند.

 

مرحله (4): سيستم کنترل ديسک (Disk Controller):

دستور  قرار گرفتن هد Read/Write روي شيار مربوطه را ميدهد.

روی شيار مربوطه، در انتظار رسيدن هد به سکتور مورد نظر ميماند.

سپس محتواي بافر را براي ديسک ارسال ميکند.

 

اسلاید 4 :


 
مديريت بافرهاي I/O

چه استراتژي هايي براي مديريت بافرهاي I/O وجود دارد؟

 

انواع بافرهاي I/O  کدامند و مديريت آنها با کيست؟

 

(1 بافرهاي I/O سيستم (System I/O Buffer)

مسووليت مديريت آن با سيستم است.

 

(2 بافرهاي I/O برنامه (Program I/O Buffer)

مسووليت مديريت آنها با خود برنامه است.

 

مديريت بافرهاي I/O چه اهميتي دارد؟

مديريت بافرهايI/O  در کارآيي Performance)) سيستم و برنامه ها نقش بسيارموثري دارد.

 

براي پايين آوردن تعداد مراجعات به ديسک ها بايستي سيستم تعدادي بافر I/O رزرو نمايد (Multiple Buffering).

اسلاید 5 :

  چه استراتژي هايي براي مديريت بافرهاي I/O وجود دارد؟

 روشهاي Multiple Buffering کدامند؟

(1روش Double Buffering:

حالتي است که سيستم دو بافر I/O به يک برنامه (Process يا Job ) اختصاص ميدهد.

اين تعداد ميتواند بيشتر نيز تعيين شود.                                          (کجا؟)

 

(2روش Buffer Pooling:

سيستم تعداد زيادي بافر I/O رزرو مي کند و سکتور هاي مورد استفاده برنامه ها را حتي الامکان در RAM حفظ مي کند.

 

در موقع احتياج به آزاد کردن يکي از بافرها از روش  Least Recently Used استفاده مي شود.

اسلاید 6 :

روش Double Buffering

مثال:

برنامه زير را در نظر بگيريد.

تعداد I/O را قبل و بعدازاستفاده از روش Double Buffering  محاسبه کنيد.

  While (1){

        infile>>ch;

        if ( file.fail() ) Break;

        outfile<<ch;

  }

حالت اول: بدون روش Double Buffering:

براي کپي کردن فقط يک سکتور 512 بايتي بايستي:

فايل ورودي (infile) تعداد 512 بار خوانده شود

فايل خروجي (outfile) 512 بار خوانده و 512 بار نوشته شود.

                                                            (چرا؟)

اسلاید 7 :

مثال:

برنامه زير را در نظر بگيريد.

تعداد I/O را قبل و بعدازاستفاده از روش Double Buffering  محاسبه کنيد.

  While (1){

        infile>>ch;

        if ( file.fail() ) Break;

        outfile<<ch;

  }

حالت دوم: با روش Double Buffering :

براي کپي کردن فقط يک سکتور 512 بايتي بايستي:

فايل ورودي (infile) فقط يک بار خوانده شود

فايل خروجي (outfile) فقط يک بار خوانده و فقط يک بار نوشته شود.

                                                                 (چرا؟)

اسلاید 8 :

مديريت بافرهاي I/O

 چه استراتژي هايي براي مديريت بافرهاي I/O وجود دارد؟

روشهاي Mo e Mode و Locate Mode کدامند؟

 

Mo e Mode حالتي است که در آن بافر I/O سيستم از بافر I/O برنامه مجزا ميباشد.

Locate Mode حالتي است که سيستم مستقيما از بافر I/O برنامه استفاده ميکند يا اينکه برنامه مستقيما به بافر I/O سيستم دسترسي دارد.

 

روشهاي Scatter I/O و  Gather I/Oکدامند؟

Scatter I/O حالتي است که سيستم بطور يکجا چندين بافر I/O را ا ز روي ديسک ميخواند.

Gather I/O حالتي است که سيستم چندين بافر I/O را يکجا روي ديسک مينويسد.

اسلاید 9 :

   ساختار سيستم مديريت I/O در Unix چگونه است؟

  جداولي که براي مديريت فايل ها استفاده ميشوند کدامند؟

(1جدول File Descriptor Table:

متعلق به هر برنامه (Process).

جدول فايلهاي يک برنامه.

 

(2جدول Open File Table:

متعلق به  .kernel

جدول فايلهاي باز شده در سطح سيستم.

(شکل 3.24 صفحه 90)

اسلاید 10 :

 ساختار سيستم مديريت I/O در Unix چگونه است؟

 جداولي که براي مديريت فايل ها استفاده ميشوند کدامند؟

(3جدول Tables of Index nodes:

متعلق به File System  ميباشد.

جدول کل فايلها در يک .File System

(براي هر فايل يک i-node وجود دارد.)

(4جدول File Allocation Table :

متعلق به Kernel و بخشي از Index Node ميباشد.

شامل آدرس extentهاي مربوط به هر فايل روي ديسک.

 

(شکل 3.25 صفحه 99)

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید