پاورپوینت سيستم عامل بخش ورودی و خروجی (pptx) 29 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 29 اسلاید
قسمتی از متن PowerPoint (.pptx) :
Operating systemسيستم عامل
ورودی و خروجی
سيستم عامل برای کنترل دستگاههای ورودی و خروجی (I/O) ، دستوراتي به دستگاههای مي فرستد ، Interrupt هايي را دريافت مي کند و به Error هايي که رخ مي دهد. ميپردازد.
اصول سخت افزار I/O
کلیات نرم افزار I/O
بن بستها Dead Locks
اصول سخت افزار I/O
در اين پنجره از ديدگاه برنامه نويس به سخت افزار I/O نگاه مي کنيم .
يعني :
واسط (Interface) که در اختيار نرم افزار قرارداده مي شود. دستوراتي که سخت افزار قبول مي کند ، کارهايي را که انجام مي دهد ، Error هايي که
در اين بخش توجه ما بر اين خواهد بود که که دستگاههای ورودی / خروجي چگونه Program مي شوند . (Programming I/O Devices)
دستگاههای ورودی /خروجي I/O
به 2 دسته کلي تقسيم مي شوند :
Block Devices
Character Devices
دستگاههای بلوکي Block Devices
دستگاهي است که اطلاعات را در بلوکهايي با سايز ثابت مي ريزد که هر بلوک آدرس خودش را دارد. سايزهای معمول برای بلوک از 512 بايت تا 32768 Byte يعني 32k مي باشد.
خصوصيات اصلي يک دستگاه بلوکي اين است که در اين دستگاه هر بلوک مجزا از بلوکهای ديگر قابل خواندن و نوشتن است . ديسکها معمول ترین دستگاههای بلوکي هستند.
دستگاههای کاراکتری Character Devices
يک دستگاه کاراکتری يک Stream (جويباری) از کاراکترها را مي پذیرد يا ارائه مي کند، بدون توجه به هر گونه ساختار بلوکي . يک دستگاه کاراکتری قابل آدرس دهی نيست و عمل Seek را ندارد.
پرينترها ، واسط های شبکه (کارتهای شبکه) ، Mouse ها و بيشتر دسنتگاههایی که ديسک مانند نيستند ، دستگاههای کاراکتری هستند.
البته هر دستگاه در اين طبقه بندی نمي گنجد مثلآ Clock ( ساعت کامپيوتر) نه قابل آدرس دهي بلوکي است و نه Stream های کاراکتری مي گيرد يا توليد مي کند. Clock تنها کاری که مي کند ايجاد Interrupt يا سيگنال وقفه در بازه های زماني تعريف شده است .
اما اين تقسيم بندی دستگاههای ورودی / خروجی آنقدر کلي هست که بتوان از آن به عنوان پايه ای برای ايجاد نرم افزار سيستم عامل مربوط به دستگاههای I/O به طور مستقل از دستگاه (Device Independent)
استفاده کرد.
به عنوان مثال :
سيستم فايل (File System) ، فقط به دستگاههای بلوکي انتزاعي مي پردازد و بخش وابسته به دستگاه (Device Dependent) را به نرم افزار سطح پايينی به نام Device Driver واگذار مي کند .
Device Controllers (کنترل کننده های دستگاه)
يک دستگاه I/O بطور معمول از دو قسمت تشکيل شده ، يکي جزء مکانيکي و يکي جزء الکترونيکي .
جزء الکترونيکي Device Controller يا Adaptor ناميده ميشود.
جزء مکانيکي که خود دستگاه (Device) است
برخي کنترلرها Hard-Wired روی Mainboard هستد (on-board)
برخي کنترلرها از طريق Slot ها روی Mainboard ، Plug ميشوند
برخي کنترلرها مي توانند دو، چهار يا حتي هشت دستگاه عين هم را کنترل کنند. مثل کنترلر ديسکهای SCSI (Small Computer System Interface)
اگر استانداردهایی برای Interface ميان Controller و Device وجود داشته باشد .کمپانیها مي توانند Controller ها و Device هايي توليد کنند که آن استاندارد را رعایت نماید.
بطور مثال :
استانداردهای IDE (Integrated Device Electronics)
استاندارد های SCSI (Small Computer System Interface)
سيستم عامل هميشه با کنترلر سروکار دارد نه با خود Device
اکثر کامپیوترهای کوچک برای ارتباط ميان CPU و Controller ها از مدل دارای Bus مطابق شکل زير استفاده مي کند.
CPU
Other Controllers
Printer Controller
Disk Controller
Memory
System Bus
Disk Drives
Printer
اما Mainframe ها چندين Bus دارند و از کامپيوترهای ورودی/ خروجی مخصوصی به نام Channels I/O ( کانالهای ( I/Oاستفاده مي کنند که اين I/O Channel ها بخشي از بار CPU را کم ميکند .
Cartridge Channel
CPU
Memory
Disks
Disk Channel
Cartridge
Interface ميان Controller و Disk چگونه است :
اين Interface اغلب خيلي سطح پايين (Very low-level)است
آنچه که معمولآ از Device خارج مي شود یک جویباری از بیتهای سریال است .
وظيفه Controller تبديل Stream بیتهای سریال به بلوکهای از بایتها و تصحیح خطا مي باشد.
Controller
Disks
هر کنترلر چند تا (تعدادکمی ) Register دارد که برای تبادل اطلاعات با CPU بکار می رود که به آنها در برخی کامپیوتر ها I/O Ports گویند ، این Register ها بخشی از فضای آدرس حافظه اصلی کامپیوتر هستند که به این scheme ، Memory mapped I/O می گویند .
مثلا : Motorola 680X0 از این روش استفاده می کنند .
برخی کامپیوترها از یک فضای آدرس دهی مخصوص برای I/O استفاده می کنند که در آن به هر Controller بخش بخصوصی از آن فضا تخصیص داده مي شود. که به این scheme ،
Isolated I/O می گویند .
منطق تبدیل کد میان Bus و Controller تخصیص آدرسهای I/O به دستگاه را مشخص می کند .
بیشتر کنترلرها از اینتراپتها Interrupt ها استفاده می کنند تا به CPU بگویند کی آماده اند تا CPU ، رجیسترهایشان را بخواند یا در آنها بنویسد.
Interrupt Controller Chip
.
.
.
.
.
.
IRQ 0
IRQ15
.
.
.
.
Interrupt Vector
Interrupt Service
Software
Routine
or